OpenSuse 12.3 NVIDIA GeForce 610M Using Bumblebee with DisplayLink

I have setup bumblebee / dkms / bbswitch and all the other necessary packages to run optirun graphics applications. I run my KDE session using the native intel graphics card. I have installed all of the appropriate optimus-related packages from the home:/Overman79: repository and everything seems to work fine. However, I am now trying to add on a DisplayLink USB/DVI/VGA device to push an extra monitor and running into some issues. My understanding is that the latest NVIDIA drivers support RandR 1.4 as well as DisplayLink devices, however my output from xrandr --version shows that I have RandR 1.3 version. I cannot use the advanced xrandr commands that I believe will help me configure the displaylink device since my RandR is 1.3. I am using NVIDIA driver 319.32-1-1 (latest). Does anyone know what might be needed to get my RandR to be version 1.4? I have checked all of the packages and can’t find any deficiencies that are not installed. In short, I am trying to setup my optimus laptop to run the optimus technology along with the DisplayLink capabilities (i.e. run optirun for high graphics performance needs and run an additional monitor with the DisplayLink device). A screen connected to the DisplayLink device is green, indicating it is loading to some degree. Thanks for any help that can be provided.

  • you’ll have to update your graphics stack; use the appropriate repo from here: Index of /repositories/X11:/XOrg
  • IIRC, the green screen is indicative of the udlfb driver being used … whereas a black screen would be expected with the newer udl
  • and lastly, see this very recent post

Thanks for the links and the information. I have reviewed the linked thread, but there is not any mention of specific packages that were updated using the Xorg X11 repo. I updated the xrandr packages to the latest in the repo but the xrandr --version still shows 1.3. I also tried installing additional packages such as libxrandr2 from that repo, but some of the repos they offer there break the kde login where an error box pops up after login saying “Could not start
kdeinit4. Check your installation.” Any ideas on the specific packages I need. On my first go around with yast, I updated the xrandr and installed the xrandr-debug packages. This didn’t break the system, but it didn’t show randr 1.4 using the xrandr version command. Any ideas?

Ok… finally got everything sorted out here. Just wanted to post a recap of how I made it all work. Once I figured out the necessary steps it was pretty easy. Add the repository that points to Index of /repositories/X11:/XOrg/openSUSE_12.3 . Then install the xorg-x11-server package and choose to update all appropriate packages to resolve the dependency error that comes up. Then I installed the latest xrandr, xrandr-debuginfo and xrandr-debugsource from the aforementioned X11 Xorg repo. I also had to add “blacklist udlfb” to the /etc/modprobe/50-blacklist.conf file. The x package updates ensure that RandR version 1.4 is installed which supports the displaylink enabling. The blacklist ensures that the old udlfb driver doesn’t load. If the udlfb loads, you get a green screen from the USB displaylink monitor. After blacklisted, the screen comes up black. After reboot you run “xrandr --setprovideroutputsource 1 0” (I added an alias for this to my .bashrc since I know I’ll forget the command) to enable the displaylink monitor. Then run the KDE monitor setup tool from Configure Desktop to set the monitor however you like. I installed the appropriate packages to get bumblebee working before making these x changes by following one of the many tutorials out there and pulling the packages from the Overman79 home repository. Optirun works across all monitors and I can now enjoy 3 monitors on one laptop in Linux (I was thrilled). The third monitor over USB is not as fast as the direct HDMI and VGA connections since it is over USB, but for me it is still very reasonable pushing almost 30 fps and 30 Mpix / sec over USB when running the glxspheres demo. It runs most graphics great unless trying to push some really high resource demanding video to that monitor. I use it to push more static windows and even videos from the web but use the other direct connections for the high end graphics needs. Thanks again for all the help and I hope my additional instructions might help someone else trying to implement a similar setup.

Nice to see that its worked out for you.

Yeah, it is slower and less capable because of the bandwidth limitation that the USB2 interface presents … as it is, in order to get the video bitstream across, the trick that is employed is to only send those pixels that change within the screen and to also use compression for doing just that … the bandwidth for a raw 1080p/60Hz stream is just nutty, so it quickly becomes obvious why a very dynamic screen (such as in a fast paced and detailed video game) is, even despite the use of compression, just too overbearing for the piddly USB2’s capabilities. On the other hand, office work and other typical desktop scenarios which have a fairly static screen display (i.e. low incidence of changes to pixels) are quite fine.

USB3 has a much greater pipe width then its predecessor, though compression is still used in its case too, but it offers up a much more favourable experience all around (see this for example) … however, and sadly, not even a modicum of support for the USB3 chips under Linux has materialized so far.

I hope my additional instructions might help someone else trying to implement a similar setup.
Thanks for the feedback