I'd like to set up a series of workstations and Xorg multiseat sounds like the simplest approach from both a hardware and a software perspective. My needs are basic, no audio, no video (like YouTube video), no games, no plugging/unplugging of devices. Pretty much just basic web browsing. I considered an LTSP thin-client arrangement but Xorg multiseat sounds so much simpler.

How is it in practice? Is a basic setup like this easy to configure and maintain? Any hidden pitfalls or unforeseen consequences? Have regressions been a problem?

Is there particular hardware that works especially well with multiseat? Do multi-headed video cards work?

When I was using 1 multihead card with xephyr for multiseat I had problems with screensaver/monitor suspend, disconnected input devices wouldn't reconnect, couldn't change arrangement of input devices without fiddling, youtube slow sometimes.
Now I'm using 2 ati cards and I had problems with second seat suspending on its own.

I'm not using sound on 2nd seat.

You can make thin clients multiseat but throughput gets problematic for higher resolutions.
IMHO for a larger setup I'll go with multiseat thick clients (diskless) with 1 seat per card for beginning and then try to go multihead.

There's MDM live disk that helps you try the setup, you just plug in as many mouses/keyboards and monitors to the system as you can and it auto detects everything._________________ Reiser4 Gentoo FAQ [10Dec2014]

It's pretty easy if you have 2 cards or 1 card with multiple PCI id. It's hard to get things working if you want to have seats following the users, but if your users are fixed to the seats then it's pretty straight forward to get everything working.

For your case (no audio, no 3D) it's pretty straight forward if you have 2 cards/1 card with multiple PCI addresses, just have 2 kb/mice/monitor and configure the xorg.conf with proper serverlaouts and configure kdm/xdm/gdm to control multiple displays. If you just have one card with single PCI address, and you are using radeon and the OSS driver, you can stilll get things working by patching the kernel/libdrm/ddx_________________http://wojia.be

You can make thin clients multiseat but throughput gets problematic for higher resolutions.
IMHO for a larger setup I'll go with multiseat thick clients (diskless) with 1 seat per card for beginning and then try to go multihead.

I'm not sure what you mean here. I thought thin clients and multiseat were different and mutually exclusive?

Quote:

It's hard to get things working if you want to have seats following the users, but if your users are fixed to the seats then it's pretty straight forward to get everything working.

Could you elaborate on this? I'd like to be able to have someone sit down, log in, use, log out, and be able to come back later and sit at a different logged-out seat. Would that be a problem?

Quote:

If you just have one card with single PCI address, and you are using radeon and the OSS driver, you can stilll get things working by patching the kernel/libdrm/ddx

I'd like to use OSS drivers but I'd rather not patch anything. Is there a combination of hardware and drivers that would allow this?

With a single card with single PCI address you have to patch the kernel/libdrm/ddx, after that all things should work (including screensaver).

Are you saying if I want multiseat I have to patch the kernel, libdrm, and ddx no matter what?

if you want to use the same card, different outputs and no xyhper, you'll have to patch the kernel, I think I have a patch at home for that._________________Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
ProjectFootball

Only thing is, I would use a graphicscard with OSS drivers and proper xrandr support, rather than nvidia. For me it works with nvidia binary but there are some glitches. Worked flawless with an AMD card and radeon driver._________________Gentoo on Uptime Project - Larry is a cow

You can make thin clients multiseat but throughput gets problematic for higher resolutions.
IMHO for a larger setup I'll go with multiseat thick clients (diskless) with 1 seat per card for beginning and then try to go multihead.

I'm not sure what you mean here. I thought thin clients and multiseat were different and mutually exclusive?

if you want to use the same card, different outputs and no xyhper, you'll have to patch the kernel, I think I have a patch at home for that.

I'm sorry to beat this to death but I want to make sure I understand. Are you saying if I want to use the multi-headed ability of a multi-headed video card, I need to patch the kernel? Otherwise I can use multiple single-headed video cards without patching anything?

I did read about that and it sounds interesting but I can't figure out how it works. Is it a thin-client and if so, does it require the Userful Multiseat Linux server? Is it a USB video card and if so, why do you mention other video cards?

Is there a maximum number of devices that can be plugged into a single host/server? Do you run into bandwidth issues?

Are those instructions at plugable.com made obsolete by the wiki.gentoo.org instructions?

Quote:

You can have multiple Xservers on multiple displays on one thin client.

In a thin-client arrangement, I thought the Xservers ran on the server, not the client?

if you want to use the same card, different outputs and no xyhper, you'll have to patch the kernel, I think I have a patch at home for that.

I'm sorry to beat this to death but I want to make sure I understand. Are you saying if I want to use the multi-headed ability of a multi-headed video card, I need to patch the kernel? Otherwise I can use multiple single-headed video cards without patching anything?

If your multi output card use 1 PCI address for all outputs then you need to patch, just post the output of "lspci" of the system in question._________________http://wojia.be

I did read about that and it sounds interesting but I can't figure out how it works. Is it a thin-client and if so, does it require the Userful Multiseat Linux server? Is it a USB video card and if so, why do you mention other video cards?

Is there a maximum number of devices that can be plugged into a single host/server? Do you run into bandwidth issues?

Are those instructions at plugable.com made obsolete by the wiki.gentoo.org instructions?

The images are rendered with the local graphics card, compressed and send to the USB device, which decompresses it and displays the changes on the monitor.

You need are a quiet powerfull computer (it will run X for each client), USB mouse+keyboard and a DisplayLink device for each 'client' which is connected via USB to the 'mainframe'.

I mentioned the different cards, because I use it as a USB docking station for my laptop, the nvidia card detects the /dev/fb0 and runs it's secret configuration stuff. Then if I want to play something fullscreen on the laptopscreen it wants to span the window over both monitors and I cannot find a setting to change it. Whereas the AMD card has it's own /dev/fb0 and DisplayLink /dev/fb1 in this case, so I can use the monitors independent or span over both of them with xrandr._________________Gentoo on Uptime Project - Larry is a cow

With a single card with single PCI address you have to patch the kernel/libdrm/ddx, after that all things should work (including screensaver).

Are you saying if I want multiseat I have to patch the kernel, libdrm, and ddx no matter what?

if you want to use the same card, different outputs and no xyhper, you'll have to patch the kernel, I think I have a patch at home for that.

Can you please tell us how this is made to work, theres not many nvidia cards with multiple pci address that i have found - or those are too expensive for me.
I have a working multiseat configuration with intel and nvidia but third seat would be nice thing to have, if it could be made without buying a new motherboard.
So if you have time, please tell us how to patch the kernel please.

With a single card with single PCI address you have to patch the kernel/libdrm/ddx, after that all things should work (including screensaver).

Are you saying if I want multiseat I have to patch the kernel, libdrm, and ddx no matter what?

if you want to use the same card, different outputs and no xyhper, you'll have to patch the kernel, I think I have a patch at home for that.

Can you please tell us how this is made to work, theres not many nvidia cards with multiple pci address that i have found - or those are too expensive for me.
I have a working multiseat configuration with intel and nvidia but third seat would be nice thing to have, if it could be made without buying a new motherboard.
So if you have time, please tell us how to patch the kernel please.

will try to look for the patch when I get home later today, do note that there is 99% that the patch will not be applied cleanly as it is from before kernel 3.0 I think._________________Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
ProjectFootball

Note that you need open source driver for this and I have only tried this on radeon and not all kernel versions kernel, YMMV.

both of the links are bad, remove the , and . from the end.

the patch I have is for the kernel, it enables the usage of different feeds per connector._________________Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
ProjectFootball

the patch I have is for the kernel, it enables the usage of different feeds per connector.

Thanks. My patches forward ported from ailied's patch for the kernel to allow 1 Xwindow per connector instead of per PCI id, what do yu mean multiple feed per connector?_________________http://wojia.be

the patch I have is for the kernel, it enables the usage of different feeds per connector.

Thanks. My patches forward ported from ailied's patch for the kernel to allow 1 Xwindow per connector instead of per PCI id, what do yu mean multiple feed per connector?

one of my gpus have 2 dvis and one svout, I've thought of trying to send a different feed per connector, so I've went to the drm chatroom in freenode and asked there, Jerome Glisse answered me that it can be done and gave me a patch for the kernel that prepares it, the only missing thing to hardcode enumerate the connectors so it is possible to define a X session to it._________________Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
ProjectFootball

to simplify matters, feed means image, three connectors per card means three different feeds per card, or three different images per card._________________Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
ProjectFootball

Oh do you mean crtc->encoder->trasmitter->connector? That is provided by the patch from Airlied, one separate out put per connector (to the max. crtc/connectors) and those are enumerated as minors.

And you are contradicting yourself

Quote:

to simplify matters, feed means image, three connectors per card means three different feeds per card, or three different images per card.

Quote:

the patch I have is for the kernel, it enables the usage of different feeds per connector.

You are not simplifying things, you were saying that that you have a patch which does something different then the ones I've posted (different feeds per connector) and states yours is for the kernel, then you said it's giving to you and it's missing a feature (not enumerating connectors) so X won't run per connector, after that you try to patronized me by simplifying things and contradict yourself.

What the heck are you talking about? You've dance around and around and it turns out that patch you have doesn't do anything special or more than Airlied's, actually it doesn't even do anything useful to the end user so it does less then Arlied's patch.

Ailied's patches do these things

1. patch the kernel and enumerate the connectors as minors
2. patch the libdrm to open the minors instead of the root device
3. the result is that the end user can run separate X session simultaneously across multiple monitors.

Does your patch do any of this?

1.

Quote:

the only missing thing to hardcode enumerate the connectors

so no.

2.

Quote:

the patch I have is for the kernel

and no.

3. without 1 and 2 the end user can't achieve 3_________________http://wojia.be

Oh do you mean crtc->encoder->trasmitter->connector? That is provided by the patch from Airlied, one separate out put per connector (to the max. crtc/connectors) and those are enumerated as minors.

And you are contradicting yourself

Quote:

to simplify matters, feed means image, three connectors per card means three different feeds per card, or three different images per card.

Quote:

the patch I have is for the kernel, it enables the usage of different feeds per connector.

You are not simplifying things, you were saying that that you have a patch which does something different then the ones I've posted (different feeds per connector) and states yours is for the kernel, then you said it's giving to you and it's missing a feature (not enumerating connectors) so X won't run per connector, after that you try to patronized me by simplifying things and contradict yourself.

What the heck are you talking about? You've dance around and around and it turns out that patch you have doesn't do anything special or more than Airlied's, actually it doesn't even do anything useful to the end user so it does less then Arlied's patch.

Ailied's patches do these things

1. patch the kernel and enumerate the connectors as minors
2. patch the libdrm to open the minors instead of the root device
3. the result is that the end user can run separate X session simultaneously across multiple monitors.

Does your patch do any of this?
cur_column
1.

Quote:

the only missing thing to hardcode enumerate the connectors

so no.

2.

Quote:

the patch I have is for the kernel

and no.

3. without 1 and 2 the end user can't achieve 3

look, I've wanted to be able to plug 2 screens to one card and be able to work on each in a manner that won't affect the other, meaning I could run 2 distinct X sessions on the same card but on different screens (no nested), I went to the DRM channel and asked about that, one of the devs directed me to a kernel patch that needed to be modified to match my system as at the time's being there wasn't a adequate algo which will enumerate the connectors on a single card in an manner that will give me what I need.

that is all, it was a long time ago and I don't know if that patch is still relevant, and if it, it would require to be modified to recent kernels as it was made of pre 3.x kernel._________________Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
ProjectFootball