Category Archives: Planet Freedesktop

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

Upgraded Plugable Universal Docking Station

The Plugable Universal Docking Station is getting some minor but nice upgrades to the latest chips for each function. All new units shipped from March 1, 2010 forward have these new features: Upgraded the DisplayLink DL-160 to the newer DL-165 Previous maximum resolution was 1680×1050, now 1920×1080 Moved from two 4-port NEC USB hubs internally […]

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

Linux USB quirks on 2.6.32

Doing development on udlfb on Linux 2.6.32, crossed paths with these two quirks. The usb_skeleton.c sample driver appears to run afoul of this problem, resulting in a warn_on during bulk transfer completion, if done the way the sample recommends. Because completion routines can be called with irqs disabled, usb_buffer_free on dma-ready buffers can’t be called […]

Read More