Category Archives: Programming

Google Summer of Code – USB Multiseat

Plugable is offering mentoring and donated hardware for USB graphics projects that are funded as part of Google Summer of Code 2010. Plugable is working through X.Org as a sponsoring organization. The main focus is USB multiseat, and the details are on the xorg wiki for SoC 2010 With all the pieces that are just […]

Read More

xorg-server 1.8.0 released

xorg-server 1.8.0 has been released. There will still be some bugs and issues to resolve — but this release has most of the features, specifically related to input handling and udev-based dynamic configuration, of a more solid USB multiseat solution. In short: udev rules, which already can detect a grouping of USB devices that constitute […]

Read More

X.Org Server 1.8 Release Candidate 2

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 […]

Read More

Update on DisplayLink Linux support (udlfb in 2.6.34)

[Update Jan 2011: Udlfb was promoted from the staging tree to the main kernel (in drivers/video/udlfb.c) in 2.6.38. See documentation in the kernel tree at Documentation/fb/udlfb.txt] A 10-part udlfb patch series with several enhancements were recently accepted into the Linux kernel staging tree of 2.6.34. Greg’s maintainer patch series passing them on starts here. This […]

Read More

Emacs macro to ease the pain of checkpatchitis

In order to submit patches to the Linux kernel — as I’ve been doing lately to help improve Linux’s DisplayLink driver udlfb — the changed code has to pass a script called checkpatch.pl, which flags violations of the Linux kernel style guidelines. Style wars (e.g. “tabs vs. spaces”) are a never-ending source of tension on […]

Read More

Preparing more udlfb patches for linux-next

There are limits on how much a small device company can and should do in contributing to open source driver support. But with a historical connection to DisplayLink and more products coming with the technology included, contributing what we can to the generic DisplayLink driver on Linux makes some sense. Also note this driver is […]

Read More

Linux kernel framebuffer rendering APIs

The Linux framebuffer interface has at least four different sets of APIs for rendering to the screen. Here they are mapped against the some important fbdev client “applications”. Description Linux console fbdev X server mplayer, fbi, some others fb_write and fb_read passes a buffer to copy to/from user no no no image_blit, fillrect, copyarea blit […]

Read More

9 USB displays illuminate energy security

Here’s a great application for USB displays. Hal Glenn from 2G Engineering has created an information display (on energy security and alternative methods of energy generation) with 9 USB touch screens, all running off a single Mac Mini running Ubuntu 9.10. And all using the available open source DisplayLink drivers and scripts and info at […]

Read More

Linux USB multiseat audio support

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 […]

Read More

DisplayLink Linux Rotation

[updated 8/14/2011 with latest udlfb info] The xorg generic fbdev driver (xf86-video-fbdev) supports rotation with a custom option (note it disables DGA and xrandr when it rotated mode). DisplayLink devices can use this driver two ways: With the udlfb fb_defio option enabled to detect framebuffer writes based on page faults With the fbdev xorg server […]

Read More