How to run Weston on specific devices?

Peter Hutterer peter.hutterer at
Tue Jan 5 17:11:31 PST 2016

On Tue, Jan 05, 2016 at 06:10:23PM +0200, me at wrote:
> Thank you for your answer.
> On 05.01.16 10:07, Pekka Paalanen wrote:
> >On Tue, 5 Jan 2016 00:08:56 +0200
> >me at wrote:
> >
> >>Hello. My computer has 2 seats. By seat I mean a set containing a
> >>monitor, a videocard, a mouse, and a keyboard. I can drive them with 2
> >>Xorg server, and I am looking for how to replicate this configuration
> >>with Wayland.
> >>
> >>AFAIK, Weston uses "libinput", so I assigned "WL_SEAT" of input devices
> >
> >Hi,
> >
> >should that not be ID_SEAT?
> >
> >Also remember to set it for the DRM device you want to use with the
> >seat.
> >
> >ID_SEAT is for physical seats which is what you are setting up. WL_SEAT
> >is for "seats" inside a single Weston session so that you can group
> >input devices to different wl_seat Wayland objects. Particularly, two
> >mouse devices in the same wl_seat move the same pointer, while two
> >mouse devices in different wl_seats gets you two independent pointers
> >in the same session.
> In fact, this is the thing I don't quite understand. In what situations
> having 2 logical seats inside 1 physical seat is useful? 

Multi-pointer scenarios, i.e. you want multiple sets of devices
to interact independently on the same display. google for multi-pointer X
for some more info.

> And what seats the
> event "wl_registry::global" announces--logical or physical?

logical. any device not on the same physical seat won't be visible at all.
so in the example below, if the input devices are all assigned
ID_SEAT=seat1, you won't have any input devices for the seat 0 instance.


> Anyway, I set WL_SEAT and ID_SEAT to "seat1" before writing to this list.
> For example. {{{
> $ udevadm info /sys/devices/pci0000:00/0000:00:0d.0/drm/renderD129
> calling: info
> P: /devices/pci0000:00/0000:00:0d.0/drm/renderD129
> N: dri/renderD129
> E: DEVNAME=/dev/dri/renderD129
> E: DEVPATH=/devices/pci0000:00/0000:00:0d.0/drm/renderD129
> E: DEVTYPE=drm_minor
> E: ID_FOR_SEAT=drm-pci-0000_00_0d_0
> E: ID_PATH=pci-0000:00:0d.0
> E: ID_PATH_TAG=pci-0000_00_0d_0
> E: ID_SEAT=seat1
> E: MAJOR=226
> E: MINOR=129
> E: TAGS=:seat:seat1:uaccess:
> E: WL_SEAT=seat1
> }}}
> >Have you tried using the --seat command line argument to make Weston's
> >DRM-backend pick a seat other than the default "seat0"?
> Okay, Weston drives "seat1" if given the option "--seat=seat1" and no
> configuration file. But "seat0" where I start Weston freezes until Weston
> terminates.
> Why should I run "weston-launch" from a virtual terminal? I would like to
> run it from "gnome-terminal".
> BTW, the option "--connectorid=card1-VGA-2" gives the "unhandled option"
> error.
> >You would be running an instance of Weston per each seat / gfx card.
> It is an old dream of mine to attach all seats to 1 videocard. Is it
> possible? If not, is this a limitation of Weston, Wayland, or Linux? I mean,
> may 2 processes drive 1 videocard?
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at

More information about the wayland-devel mailing list