Category Archives: DC-125

DisplayLink USB 2.0 Graphics Adapters on Linux – 2014 Edition

IMG_20140306_164523A little over a year ago I wrote a blog post discussing the state of USB Graphics on Linux systems, specifically, Fedora 18. What follows is an update on the situation, looking at both Fedora 20 and Ubuntu 13.10, and examining how far we have come, and how far we still have to go.

The short story

Multi-monitor on Linux, especially with multiple graphics cards and USB graphics adapters, remains problematic. You can find many distros and configurations where it just won’t work. We’d recommend staying away unless you’re an advanced Linux user who is willing to play with different distros, install optional components and do hand configuration. Unfortunately, it’s just not plug and play yet today, as it is on Windows.

The long story

That said, it is possible to get things working in limited scenarios for USB 2.0 generation DisplayLink-based adapters. We used all Plugable products in the tests for this post. Our test systems included Intel, Nvidia, and AMD primary graphics adapters. For Nvidia and AMD, we tested both the open-source and proprietary drivers.

Intel is the most compatible, providing decent results under all configurations.
Nvidia graphics cards, when running the open source nouveau driver, only work in Multi-Seat mode. Attempting multi-monitor setup with a DisplayLink adapter and an Nvidia graphics card results in garbage graphics being displayed on your DisplayLink-attached monitor. The Nvidia proprietary drivers do not work under any scenario.
The AMD open-source drivers work under both multi-seat and multi-monitor setups, but the performance, at least in our tests, is significantly worse than with the Intel drivers.
The AMD proprietary drivers are unavailable in any easy to install package under Fedora 20, but we installed them in Ubuntu, and were unable to get any results, they simply do not work with DisplayLink graphics.

Fedora 20

Fedora has always provided the best support for DisplayLink graphics on Linux. We noticed some regressions on Fedora 19, but these have largely been resolved in Fedora 20. There isn’t much new to report.

You should be able to connect one of our docking stations and create a plug-and-play multi-seat setup, or connect one of our display adapters, and expand your desktop to an extra monitor using the Arandr utility, or something similar.

Ubuntu 13.10

Ubuntu still has several issues with DisplayLink graphics, and they do not work out of the box.

In order to enable DisplayLink adapters to work on Ubuntu, one must download the latest Mainline Kernel build from the Ubuntu Kernel PPA, install it, and then reboot with that kernel. Once this is done, DisplayLink graphics adapters will work in multi-monitor mode. Simply enable them from System Settings like you would enable any extra monitor attached to your PC.

A step-by-step guide to accomplish this will not be provided because switching away from your distro-provided kernel is something only expert users should attempt.

It should be noted that the reason this is necessary is due to the Ubuntu team making some changes to the kernel that they ship with Ubuntu, resulting in broken DisplayLink graphics support. A bug report has been submitted, here.

You can also keep track of the USB Graphics situation under Ubuntu in this blueprint.

Performance

Performance continues to be an issue with DisplayLink on Linux. Using a composited window manger(Gnome 3, Unity, Cinnamon, etc) will result in poor performance across all of your displays. Compositing re-renders far more pixels than non-compositing desktops. When you’re just going through a GPU, you’ll only notice battery loss. But when all those pixels have to get processed by the CPU and sent over USB, it’s a huge hit.

Switching to a lighter-weight window manager or desktop environment (XFCE, LMDE, Mate, etc) results in a quite usable setup, provided your main display adapter is a recent Intel chip.

Unfortunately, due to the discontinuation of Gnome 3′s fallback mode, that is no longer an option for improved performance.

Other Outstanding Bugs

Besides the issues I mentioned above, there’s still a few other problems.

When rebooting your Linux computer, or simply logging out and back in, your USB-attached displays will not always come back without having to disconnect and reconnect them.

Changing the location of your DisplayLink screens in your virtual desktop can sometimes cause strange issues (like only half of the monitor rendering). Toggling the screen on and off inside of your Display management UI usually solves this.

Nvidia’s and AMD’s proprietary drivers are still entirely incompatible with DisplayLink graphics on Linux.

Conclusion

We hope this background helps. We don’t recommend or support USB graphics on Linux yet, because of the problems above — but if you do have questions, please feel free to comment below. We want to get as much information out as possible about what works and doesn’t, so things can improve here. There’s no reason Linux can’t have the same or better multi-monitor support as any other platform in time!

If you are an Open Source Kernel or User-Space developer that would like to help improve this situation, we’d like to point you to our Plugable Open Source Hardware Samples Program where you may sign up to receive free sample hardware to help on your development efforts.

Before You Upgrade To Mac OS X 10.9 (“Mavericks”)

Update 10/22/14: With the release of 10.10 (Yosemite), unfortunately there’s not much improved USB graphics behavior to report, as the key issues outlined in this post still exist.

We’ve posted an update regarding USB graphics and other USB device behavior with Yosemite that can be found here.

DisplayLink has recently released an updated beta driver that contains some fixes, though the larger issues outlined in this post and elsewhere are still present. Beta driver v2.3 is compatible with OS X 10.8.5, 10.9.x, and 10.10.

Good news: Mac OS X 10.9 is available today and for the first time, it’s a free update, so app and hardware developers will be able to start counting on Mac hardware running the latest software in general (kinda like the iOS world).

Bad News: Mac OS X versions have historically broken some percentage of 3rd party hardware, and OS X 10.9 appears to have a particularly big impact. Many hardware devices will need updated drivers for 10.9, either because the older drivers simply don’t work at all, or because they work but with new problems.

If you can, it may be better to wait for the adventurous to forge ahead and report their findings on 10.9, before taking the upgrade.

DisplayLink Based USB Products

Users with DisplayLink-based USB Docking Stations and Graphics Adapters should avoid updating to 10.9, if at all possible. See here for details.

DisplayLink-based USB devices that work well on 10.8.5 (up to 4 additional USB displays) will be broken for most uses by the 10.9 update. In particular, 2+ USB displays or any HDMI-attached displays (even non-DisplayLink) don’t work reliably because of screen configuration issues.

We don’t know when this is going to be fixed — but evidence is it will require fixes both from Apple and DisplayLink, so that will take a significant amount of time.

If you are able to stay on 10.8.5, or if you only need a single USB attached DVI/VGA monitor on 10.9, use
DisplayLink’s latest 2.1 Beta drivers.

USB Network Adapters


Mac OS X 10.9 (and 10.8.5) includes support for both the AX88772 chipset and the AX88178 chipsets in our USB 2.0 USB Ethernet adapters, and UD-160-A docking station. For these chips, we recommend first uninstalling any ASIX drivers and repairing disk permissions before upgrade to 10.9 (relying on your built-in net connection), and just plugging in to use the Apple drivers after upgrade.


For our USB 3.0 Gigabit Ethernet adapter, an updated ASIX driver is required. In addition to Mavericks support, compatibility issues with Android File Transfer seem to be resolved. That said, we’re seeing reports of some new problems with 10.9 and would recommend caution. For those who have already updated to 10.9, the compatible driver is available at:
the latest ASIX driver version to get 10.9 compatibility. Note that this driver does not yet have the new 10.9 signature, so you’ll also need to click ok on installing the driver unsigned.

USB Serial Adapter

The latest driver version is required to work with 10.9.

Plugable USB to RS-232 DB9 Serial Adapter

Serial devices will be automatically created (“ls /dev | grep serial”" to see them), however the network control panel in 10.9 now no longer shows serial devices as connected, even when they’re in use.

Other Devices

For all of our other devices, we’re recommending in-box drivers, or they don’t require 3rd party driver installs (hubs, cables, etc).

If you have a question about a product we didn’t mention, please feel free to comment below. We’ll get it added.

And if you hit any 10.9 upgrade problems with Plugable products, we’ll work to help. Just email support@plugable.com anytime.

Thanks!

DisplayLink Releases New Windows Driver Version 7.1 M1

Today DisplayLink released their new Windows Driver Version 7.1 M1 (7.1.45135.0). We’re excited to have this new driver out, as it fixes a number of last issues that let us recommend the latest 7.X drivers over the earlier 5.X and 6.X series drivers, on all versions of Windows. All of Plugable’s current and past USB 2.0 and USB 3.0 devices with a USB graphics function will work with this new driver.

Download the latest version of DisplayLink driver here.

This release has fixes for these issues which have affected a significant number of our users:

  • DisplayLink driver versions starting with 7.0 could cause Flash to hang up and crash when running Chrome browser. Those problems are reported fixed in 7.1 M1
  • nVidia GPUs with drivers dated Oct, 2012 or later would experience flashing screens and crashes. These problems are reported fixed in 7.1 M1 for some users, but not yet all
  • Windows 8 Metro applications running on USB displays could come up with Window unpainted (Blue or black). Reported fixed in 7.1 M1

A number of significant issues on Windows remain:

  • Windows 8 Metro apps playing protected video content will not play while the DisplayLink driver is installed (will show message in Window to upgrade graphics drivers). This is a difficult issue to solve because Microsoft has tightened DRM policies in Windows 8, and expect it may remain for some time.
  • Some driver conflicts apparently remain between nVidia drivers from October 2012 and later, and DisplayLink. The new 7.1 M1 driver solves some of these issues, but not all. We’ve also seen examples where the very latest nVidia pre-release drivers resolve this issue. We’ll keep tracking this, and appreciate your problem reports and feedback.

In detail, DisplayLink lists these issues fixed in 7.1M1

  • Microphone is shown as ‘Not plugged in’ after replugging DisplayLink device. (14345, 14431, 14463)
  • In some cases uninstallation of DisplayLink Core Software doesn’t uninstall everything properly. (14617)
  • UDP streaming using DisplayLink ethernet device is unreliable. (14678)
  • Sometimes VGA monitor attached to already connected DisplayLink device is not recognized correctly. (14699)
  • Sometimes screens remain blank after DisplayLink monitors are resumed from suspend mode. (14703, 14743, 13669)
  • Some video players showing content only on half of the screen. (14790)
  • On some systems with nVidia GPU Desktop Window Manager is crashing causing Windows to drop to Basic Mode. (14942)
  • Some Metro apps on Windows8 show a blank blue screen. (14955)
  • Sometimes Chrome web browser is responding very slowly and Flash plug-in crashes. (15014)
  • Sometimes DisplayLink monitor shows white noise instead of content when changing mode to clone while playing video. (15030)

We welcome any experiences or questions below. If you have a Plugable product and have any problems at all, just email your Amazon order # to support@plugable.com and we’ll be happy to help. Thanks!

Fedora 18 and DisplayLink USB 2.0 Graphics Adapters

With the recent release of Fedora 18, we have been testing the many changes and improvements to the DisplayLink software stack that have landed for this latest version of the popular open-source distribution. A large amount of work has gone into improving functionality and ease of use with DisplayLink USB Graphics devices. Most of these changes are not Fedora-specific, but are present in all recent versions of the Linux kernel and Xorg display server. Unfortunately, DisplayLink support is still far from perfect under Linux, but it has come a long way in recent months. What follow is an account of what we saw while testing an assortment of our USB Display Adapters and docking stations under Fedora 18.

The system we used for testing is a custom-built PC with the following specifications:
Intel Core i5-3570 Ivy Bridge
ASUS P8Z77-V LK Motherboard
8GB DDR3 RAM

Additionally, we performed tests using both the built-in Intel Ivy Bridge Graphics(using Intel’s Open Source driver) and a Nvidia GeForce GT 430(using the Nouveau Open Source graphics driver).

Note: We have yet to perform any testing using the Nvidia proprietary driver, but results for those tests will be posted as soon as they are completed.

There are 2 primary use-cases for USB Graphics on Linux. The most common one is to connect a greater number of Monitors than your computer has ports for, the other use-case is to set-up a Multi-Seat environment in which multiple users each have access to their own, separate desktop session while sharing the same computer. Fedora currently decides automatically if the device that you have connected to your PC should work as a multi-monitor or multi-seat device. What this mean is that our docking stations are automatically assigned to a separate desktop session, and there is no easy way to make them operate in multi-monitor mode(a how-to on switching a docking station to multi-monitor mode will be added to this blog post at a later time). Likewise, our USB Display Adapters will automatically work as multi-monitor devices and manual configuration is required to change this behavior. With these limitations in mind, I have split the rest of this article into 2 categories.

Multi-Monitor (UGA-125, UGA-165, UGA-2K-A, USB2-HDMI, USB-VGA-165)

The Multi-Monitor user experience has improved in many ways from previous versions of Fedora, but there are also a number of bugs that can seriously hurt a user’s enjoyment of this technology. Using the Intel Ivy Bridge graphics, we were able to connect a UGA-165 and a UGA-2K-A to our system and to a DVI display, and the display was instantly recognized in System Settings->Monitors. We were then able to enable said display, and set-up its position in our virtual desktop, and just like that, we had a working secondary display running of USB.

Unfortunately, that’s where the good news ended, there are a number of bugs that still plague this setup. For starters, we were only able to do this on the Intel Ivy Bridge graphics, when we attempted to do the same thing on the Nvidia card running Nouveau, all we saw was corrupted graphics on the USB display along with a severe performance slow down on the main display. Additionally, booting the system with a DisplayLink device connected will result in the primary monitor never reaching the login manager, so the DisplayLink device needs to be connected once you have made it into the desktop session. Finally, if you log out of your desktop session with a DisplayLink device still connected, the login manager will also fail to re-appear on your primary display. On the GUI/Ease of use side of things, we ran into problems with selecting the proper resolution for our display, no matter what display we connected to our USB Display Adapters we only had the option to set it to 800×600 or 1024×768.

As far as performance goes, a non-composite desktop will obviously render the best results. A full gnome-shell session was certainly usable on our setup, but moving windows around was choppy. Switching to fallback mode provided a much smoother experience. Scrolling websites was also very smooth, and video playback is varied. YouTube video played at an acceptable frame-rate, even when going full-screen(at 360p or 480p), but VLC gave some odd issues in which new video frames would stop rendering if we expanded the window past a certain size.

Multi-Seat (UD-160-A, UD-160-M, DC-125)

Multi-seat has not changed much functionality-wise since Fedora 17, however, many bugs have been fixed. We were able to connect a few DC-125s and UD-160s to our Fedora 18 box and login managers spawned on their respective screens with no issues. A major issue we encountered on Fedora 17 has been resolved with these release.  We were able to boot our PC with multiple docking stations connected and they all initialized properly, none of them were sent to that dreaded green screen we sometimes saw before. Unlike the Mutli-Monitor scenario, Multi-seat worked with no issues on both the Intel and Nvidia graphics chipsets.

The performance of gnome-shell still leaves a lot to be desired when running on these USB Graphics chips, but switching to fallback mode fixes these issues. As a stress-test we even ran a Youtube video(at 480p) on each of our thin-clients and the experience was fairly smooth across the board, scaling this is obviously CPU-constrained.

With all of that said, it is pretty clear that there are still quite a few issues surrounding DisplayLink graphics under Linux, mostly in the Multi-Monitor use-case. If you are an Open Source Kernel or User-Space developer that would like to help improve this situation, we’d like to point you to our Plugable Open Source Hardware Samples Program where you may sign up to receive free sample hardware to help on your development efforts.

Windows Multipoint Server 2012 and Plugable USB Zero Clients

Windows Multipoint Server allows you to share a single PC among many users by connecting many USB zero clients (USB terminals). It’s a huge maintenance, power, and cost savings.

Microsoft’s newly released 2012 version has a greatly improved software interface for supporting USB clients. But this change meant that, until today, the most popular USB client technology (DisplayLink) was not supported.

Plugable Technologies is excited to announce that our full line of USB thin clients now fully supports Windows Multipoint Server 2012. We’ve partnered with OSBASE, experts in Windows driver and graphics technology, to provide a full solution for WMS 2012.

Every unit of our Plugable DC-125 low-cost thin client and Plugable UD-160-M mid-range thin client now includes a license to OSBASE’s high performance software driver for WMS 2012.

How do I get it?

Windows Multipoint Server 2012 is available for download, and the free evaluation period can be easily extended to 6 months. See Microsoft’s WMS2012 download page for details.

You’ll need one Plugable USB zero client terminal for each display, keyboard, and mouse you’re connecting to the PC. Plugable’s USB terminals are shipping in volume now, including the low-cost Plugable DC-125 ($64.95) and mid-range Plugable UD-160-M ($79).

We have a limited number of “trial kits” available for 90-day loans. They include up to four Plugable DC-125 and/or Plugable UD-160-M models, plus a powered USB hub (total around $300 value). Just email sales@plugable.com with a little detail on your organization and deployment goals.

And if you’re a non-profit, library or school, Techsoup and Microsoft have programs to donate their software for you.

How do I install drivers for it?

From the console mode of WMS 2012, download and install the new drivers for the Plugable hardware here:
WSM2012 software drivers for the Plugable DC-125 and UD-160-M.

Learn more

Read more about Windows Multipoint Server from Microsoft. And feel free to post below with any questions – we’re here to help!

OS X Mid-2012 MacBook USB and Graphics update

Good news Mac owners! Apple has released a graphics and USB focused update just for late model, Mid 2012 MacBook models including “all Mac notebooks released in June 2012.” This update “includes graphics performance and reliability enhancements and improves compatibility with some USB devices.”

As with any OS X update, simply choose updates in the App Store or choose Software Update from the Apple menu. Once all prerequisites are installed (which include 10.8.2), the update will appear.

Details on the update are rather sparse at the moment, however initial findings on the 11 inch Air I use as a primary work laptop are positive. After installing the update, some U3 Communicator HD docks which I had previously identified as defective actually worked consistently and at normal speeds.

I’ve also noticed better reliability on the arrangement of the quad display panel I use with the tiny Air and a set of our DisplayLink-based UGA-165 adapters. Previously I could virtually never reboot and have my display arrangement persist, but now that seems to have been corrected- however this probably has more to do with the unusual number of hubs and devices I go through in day to day equipment testing and the constant swapping of ports that comes with it.

One frustrating issue that persists is when an USB storage volume unexpectedly disconnects, finder will freeze- immediately if you instruct it to eject the improperly disconnected volume. Forcing a reboot corrects the issue, however the system is largely unresponsive until the reboot which of course could result in data loss.

We’d love to hear your input on how this update is affecting your Plugable devices on those shiny new MacBooks!

MacRumors of course has a thread on the topic with very active discussion: http://forums.macrumors.com/showthread.php?t=1486234

One Fedora 17 Box up to 16 USB Multiseat Terminals

Fedora 17, as shipped, supports only 7 or 8 plug-and-play USB terminals per machine. The cause is the kernel evdev driver’s limit of 32 input devices.

You can see how your 32 evdev slots are currently getting used on a system with the command

for i in {0..31..1}; do udevadm info -a -n /dev/input/event$i | grep name; done

On the Fedora 17 multiseat box I’m using now to write this post, I have 3 USB terminals sharing one box — while I’ve spent the afternoon figuring this stuff out on one of the USB terminals, at the same time the kids have been watching endless youtube videos with their headsets on the other two. On this box, the command above shows:

    ATTRS{name}=="Power Button"
    ATTRS{name}=="Power Button"
    ATTRS{name}=="Plantronics Plantronics .Audio 655 DSP"
    ATTRS{name}=="Dell Dell USB Keyboard"
    ATTRS{name}=="USB Optical Mouse"
    ATTRS{name}=="USB Optical Mouse"
    ATTRS{name}=="Dell Dell USB Keyboard"
    ATTRS{name}=="GASIA USB KB V11"
    ATTRS{name}=="GASIA USB KB V11"
    ATTRS{name}=="SIGMACHIP Usb Mouse"
    ATTRS{name}=="C-Media Electronics Inc. USB Multimedia Audio Device"
    ATTRS{name}=="CM109 USB driver"
    ATTRS{name}=="HDA Intel PCH HDMI/DP,pcm=3"
    ATTRS{name}=="HDA Intel PCH Line"
    ATTRS{name}=="HDA Intel PCH Rear Mic"
    ATTRS{name}=="HDA Intel PCH Front Mic"
    ATTRS{name}=="HDA Intel PCH Front Headphone"
    ATTRS{name}=="HDA Intel PCH Line Out"
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found

This shows I only have 14 evdev slots left (the “device node not found” ones are available slots). So I know I could only connect 7 terminals total to this machine (a USB terminal’s unused audio buttons + keyboard + mouse takes up 3, I could only get 14 / 3 = 4 more than the three I have).

We can lift the limit of USB terminals from 7 to 16 by disabling often unused input devices: hardware volume controls and system (power) buttons. The following udev rules script does that with 3 rules.

Note that this will mean you’ll have to power off / sleep from the UI, your mainboard audio will be disabled, and special keyboard multimedia keys will be disabled. Feel free to comment out the appropriate lines in the udev rules if you want to keep those.

To apply these optimizations, create a system file (as sudo) called /usr/lib/udev/rules.d/72-seat.rules
with the following contents and reboot.

#
# Bernie Thompson bernie@plugable.com
#
# These udev rules help alleviate the Linux kernel limit of 32 evdev devices.
# This file should be deleted once the kernel's 32 device limit is lifted.
#
# Background: Every input device on the system, including several for 
# power buttons, PCI audio, USB audio, keyboard multimedia keys, etc. 
# all count towards the 32 limit.  Many systems reserve at least 8 for
# these uses. So as shipped with Fedora 17, only 7 or so USB terminals 
# (like the Plugable DC-125 or Plugable UD-160-M) will work.
#
# Run this at a command line to see how your 32 event slots are being used:
#
# for i in {0..31..1}; do udevadm info -a -n /dev/input/event$i | grep name; done
#
# If you have any event slots free, you'll see a "device node not found" message for each
#
# USB terminals consume an extra event device with the USB HID device
# associated with the audio interface for volume control. The udev rule below
# frees it up. This will enable around 12 USB terminals per server.
#
SUBSYSTEMS=="usb", SUBSYSTEM=="input", ENV{ID_SEAT}!="seat0", ENV{ID_USB_INTERFACE_NUM}!="00", RUN="/bin/sh -c 'echo $id > /sys/$devpath/../../../driver/unbind'"

#
# Free up any input devices associated with audio on the PCI bus.
# *IMPORTANT* This will disable your PC's mainboard PCI audio
# (because we can only unbind the whole PCI device)
# This will enable 13 or so USB terminals per server
# Comment out the line with a "#" if you'd like PCI audio to work
#
SUBSYSTEM=="pci", ATTR{class}=="0x040300", RUN="/bin/sh -c 'echo $kernel > /sys/$devpath/driver/unbind'"

# 
# Free up any ACPI (system power) buttons. 
# *IMPORTANT* This will disable all built-in buttons on your PC (e.g. power)
# You will need to shut down, etc. from the Linux UI with administrative rights.
# This has the side-effect of making your PC slightly more secure against student tampering.
# Comment out the line with a "#" if you'd like these to work
# This will enable an extra USB terminal or so per server
# If you have no other event devices, other than the USB terminals, should get to 16 terminals.
#
SUBSYSTEM=="acpi", DRIVER=="button", RUN="/bin/sh -c 'echo $kernel > /sys/$devpath/driver/unbind'"

After creating that udev rule and rebooting, things look much more favorable in terms of evdev slots. Only the “real” USB keyboards and mice are left to consume slots:

    ATTRS{name}=="SIGMACHIP Usb Mouse"
device node not found
device node not found
    ATTRS{name}=="Dell Dell USB Keyboard"
    ATTRS{name}=="USB Optical Mouse"
    ATTRS{name}=="USB Optical Mouse"
    ATTRS{name}=="Dell Dell USB Keyboard"
    ATTRS{name}=="GASIA USB KB V11"
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found
device node not found

There are now enough free slots for 16 USB terminals (or, more specifically, their keyboards and mice).

Hopefully this is just a temporary workaround, until someone tackles the task of lifting the kernel’s limit of 32 evdev devices. That’s a very constraining limit for a whole host of reasons.

Note that one of the remaining bugs in Fedora 17 is that random USB terminals often come up to a green screen, requiring an unplug/replug to get a login. These scripts may increase the frequency of that if you have a lot of terminals, as the system bounces against the 32 device limit, then returns below it as the udev rules execute.

Hopefully in future versions of Fedora / systemd, those race conditions will be closed.

Hope you enjoy turning your one Fedora 17 PC into many. Please comment if you have any problems applying, we’ll try to help. See also our post on some huge Fedora 17 performance optimizations for USB multiseat which greatly improve the default experience.

And if you’re running more than 8 terminals with Fedora 17, please post a comment – we’d love to hear about it!
[ud-160-m-post]

Dconf configuration: GNOME 3 Fallback Mode

The Linux GNOME 3 UI assumes you have a beefy 3D GPU and capable driver, which can cause problems when that isn’t the case.

Individual GNOME 3 users can fix this by setting their desktop experience to GNOME 3 “fallback mode” which can avoid the 3D compute burden. Fallback mode is an essential setting for older PCs, VMs, USB graphics, remote desktop, etc. It also provides the (arguably) more familiar GNOME 2 like experience (Applications / Places menus, desktop icons, etc.)

It’s possible to configure fallback mode for all users, plus the login screens, centrally by changing some dconf settings. Here’s how:

First, if you don’t already have a “user” profile, then we create one — specifying a new settings database we’ll call “fallback”. Create a file /etc/dconf/profile/user (as su / sudo) which contains these two lines:

user
fallback

Then we’ll create the settings directories for that new database

sudo mkdir /etc/dconf/db/fallback.d
sudo mkdir /etc/dconf/db/fallback.d/locks

Create a settings file to also use fallback once users are logged in. Create a file called /etc/dconf/db/fallback.d/60-user-fallback with:

[org/gnome/desktop/session]
session-name='gnome-fallback'

[org/gnome/desktop/background]
show-desktop-icons = true

# This one is useful more for automatic USB multiseat
[org/gnome/desktop/lockdown]
disable-user-switching = true

And, finally, create a settings file to have login screens themselves use fallback mode. Create a file /etc/dconf/db/gdm.d/60-login-fallback with:

[org/gnome/desktop/session]
session-name='gdm-fallback'

dconf is a binary settings database (very un-unix like), so for any of these changes to take effect, you must run

sudo dconf update

Which will update the binary blobs which are then queried by GNOME to apply these settings. See the dconf admin guide for more.

And that should do it. You should see the fallback look and feel (more like GNOME 2). And if you’re running in a VM, with USB multiseat, or anywhere you don’t access to a beefy 3D processor — you should see a big drop in CPU usage.

Again, these directions have only been tested on Fedora 17. Please feel free to comment on changes (if any) to apply them for other distros.

Plugable USB 2.0 Multiseat Zero Client for Windows Multipoint Server and Fedora Linux (DisplayLink D... Product Details
$79.00

New Distros and Linux Automatic USB Multiseat Support

OpenSUSE and ArchLinux appear to be making good progress on integrating the latest version of systemd, which is a central element of Linux’s new Automatic USB multiseat support — letting you turn one machine into many with plug and play USB terminals.

Since this is all open source, we expect the porting process will happen in time.

For now, the best bet is the distro under which support was first developed — Fedora 17 and later. On Fedora, any supported USB terminal (like those on the right), will automatically pop up a fresh login when plugged in, no software install or licenses needed.

Plugable DC-125 USB 2.0 Multiseat Zero Client for Windows Multipoint Server and Fedora Linux (VGA up... Product Details
$64.95

DisplayLink USB Devices on Linux Kernel 3.4.0

Linux kernel 3.4.0 is the first to include a new driver for DisplayLink-based USB 2.0 devices, called “udl”. udl is a port of the udlfb driver to Linux’s DRM architecture. David Airlie is doing this work, and the potential is very exciting. Eventually, this architecture will lead to a host of advantages, including GPU-accelerated 3D rendering to USB graphics adapters.

Both the new “udl”, and older “udlfb” framebuffer driver that we maintain are present in 3.4.0. Unfortunately, the new udl DRM driver is still maturing, and can cause kernel panics. With USB graphics devices present, you can determine which driver (“udlfb” or “udl”) is getting loaded with lsmod:

lsmod | grep "udl"

This change has a particular impact with Fedora 17 — the first open source distro to have automatic USB multiseat support — which shipped with Linux kernel 3.3.

Post-ship, Fedora 17 now offers a software update to kernel 3.4.0, which unfortunately causes problems: udl may be loaded for DisplayLink-based devices, and kernel panics are common and terminals often won’t come up. To the user, it appears to break multiseat.

So to fix the issues you’ll see with 3.4.0, we recommend disabling udl for the time being. The stable udlfb driver is still present in the kernel, and will get matched against your hardware automatically once udl is no longer loaded. The easiest way to do this is to run the following commands and reboot:

echo "blacklist udl" | sudo tee --append /etc/modprobe.d/udlfb.conf
sudo depmod -a
sudo dracut -f /boot/initramfs-$(uname -r).img $(uname -r)

One the server reboots, udlfb should match all USB graphics devices and be fully stable. Please let us know if you have any trouble. And in coming Linux kernel versions, udl will continue to improve and at some point udlfb will be able to be retired in favor of it.

Plugable DC-125 USB 2.0 Multiseat Zero Client for Windows Multipoint Server and Fedora Linux (VGA up... Product Details
$64.95