X.Org Server 1.8 Release Candidate 2

Posted on 22. Mar, 2010 by in UGA-2K-A

X.Org has announced RC2 of the 1.8 server release for Linux and other *nix operating systems. 1.8 contains several new features and configuration capabilities that will form the foundation of future USB multiseat work. In effect, USB multiseat has been waiting for this work to stabilize and get into the distros (of which Fedora 13 will be one of the first).

You can read more about the new 1.8 configuration features which multiseat will use at Peter Hutterer’s blog.

And read more about the RC itself at Phoronix

Linux USB multiseat audio support

Posted on 20. Jan, 2010 by in udlfb

Here’s how to add audio support on top of the previous instructions for getting USB multiseat running on Linux, with a Plugable UD-160-A type device.

Add the following line to the bottom of the /lib/udev/rules.d/50-usbseat.rules file created per the previous instructions.

KERNEL=="control*", SUBSYSTEM=="sound", SUBSYSTEMS=="usb", PROGRAM="/bin/cat /sys/%p/../../../../../devnum", SYMLINK+="usbseat/%c/sound"

Then create a new /etc/X11/Xsession.d/50usbseat file which will be run at Xsession create time, with the following contents

oldIFS=$IFS
IFS=:
set $DISPLAY
IFS=.
set $2
SEAT_ID=$1
LN=`ls -al /dev/usbseat/$SEAT_ID/sound`
IFS=C
set $LN
CARD_ID=$2
export ALSA_CARD=$2
export ALSA_PCM_CARD=$2
IFS=$oldIFS

Each of the users who might need access to the USB devices needs to be added to the ‘audio’ group. On Ubuntu 9.04, this can be done with these commands to backup and then modify the groups (replace MY_USERNAME, of course) …

sudo cp /etc/group /etc/group_backup
sudo chmod a-wx /etc/group_backup
sudo adduser MY_USERNAME audio

See Ubuntu Sound TroubleShooting for details on that step.

Now, as you connect UD-160-A terminals, a new X instance and GDM login will pop up as before, but also each of them will have /dev/usbseat/%SEAT_ID%/sound linking to their sound device, and the ALSA_CARD environment variable for all processes off of that X session, set to the matching sound card ID. For apps which support ALSA/Pulse (like most browsers, flash, etc.), audio will now come out the correct terminal — all in a completely plug-and-play fashion.

If you’re wondering what the strange IFS stuff is in the above script, it’s bash’s built-in Internal Field Separator variable, which is an easy way to split strings without having to launch a separate sed or awk process.

Note, as before, these instructions are specific to and tested on an older version of Ubuntu: 9.04, and may need to be ported to other distros until the distros themselves integrate these scripts.

Thanks to Alexander Todorov’s earlier work on multiseat sound support, which demonstrated how to match the USB audio devices in udev, and which ALSA_ environment variables to set. Alexander reported some problems reliably matching the audio devices, but with these scripts (with limited testing so far), things are working as expected.

Explaining multiseat benefits

Posted on 19. Nov, 2009 by in Windows

Following on the announcement of Windows Multipoint Server 2010, HP has announced their first product to connect with it: The HP MultiSeat thin client T100. It’s a DisplayLink-based device with VGA, PS/2 keyboard and mouse ports, and audio. It’s a focused competitor to the product that Plugable sells here, and they do a great job of explaining the benefits in video form here and here.

DisplayLink’s new thin client materials also provide a bunch of additional detail, with good bullet points on why simple USB connectivity provides real value for this scenario.

Companies like Sun, nComputing, Miniframe, and Userful have sold products for Windows and Unix in this space for some time. The unix world has had various forms of multiseat capability forever — not to speak of traditional X terminals and all the thin client network protocols like RDP, ICA, and VNC on Windows and Unix, which people think of first when they think of terminals.

But when it comes to true multiseat (locally connected devices, treated as terminals), Linux has had it first, has lots of advantages in terms of licensing cost and performance, has gotten hundreds of thousands of seats in use — and yet hasn’t quite make it easy enough for end users for it to reach its full audience.

So these new product launches, now with Microsoft on board, definitely have the ability to raise more awareness of the potential of this scenario. It’s a challenge to the Unix and Linux crowd to leverage their built in advantages — and continue working on the shortcomings of Linux as a client desktop — in order to continue to provide compelling competition in this market.

Either way, the additional exposure is great for communicating the potential of multiseat.

Page 3 of 512345