HP USB Graphics Adapter (Displaylink) shows green screen

Bug #812594 reported by Damiön la Bagh
274
This bug affects 58 people
Affects Status Importance Assigned to Milestone
disper
New
Undecided
Unassigned
xserver-xorg-video-displaylink (CentOS)
New
Undecided
Unassigned
xserver-xorg-video-displaylink (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

kat@tabbykat:~$ lsb_release -rd
Description: Ubuntu 11.04
Release: 11.04
kat@tabbykat:~$ apt-cache policy xserver-xorg-video-displaylink
xserver-xorg-video-displaylink:
  Geïnstalleerd: 0.3-0ubuntu9
  Kandidaat: 0.3-0ubuntu9
  Versietabel:
 *** 0.3-0ubuntu9 0
        500 http://nl.archive.ubuntu.com/ubuntu/ natty/universe amd64 Packages
        100 /var/lib/dpkg/status

I have a HP USB Graphics Adapter using the Displaylink technology Model NL571AA
When plugging in the adapter to Ubuntu Natty 11.04
The display link drivers are in the kernel and I loaded xserver-xorg-video-displaylink
As the idea behind Ubuntu is plug it in and it 'just works', this bug. All the pieces are there to have this 'just work' but it doesn't.

the kernel recognizes the device and reports it capabilities correctly:
[ 1299.776038] udlfb: DisplayLink HP USB Graphics Adap - serial #111687
[ 1299.776055] udlfb: vid_17e9&pid_01d7&rev_0101 driver's dlfb_data struct at ffff8800a3c36000
[ 1299.776065] udlfb: console enable=0
[ 1299.776071] udlfb: fb_defio enable=0
[ 1299.776994] udlfb: vendor descriptor length:22 data:22 5f 01 0020 05 00 01 03 04 02
[ 1299.777003] udlfb: DL chip limited to 2080000 pixel modes
[ 1299.777387] udlfb: allocated 4 65024 byte urbs
[ 1299.860991] udlfb: 1280x1024 valid mode
[ 1299.861006] udlfb: 720x400 valid mode
[ 1299.861015] udlfb: 640x480 valid mode
[ 1299.861023] udlfb: 640x480 valid mode
[ 1299.861030] udlfb: 800x600 valid mode
[ 1299.861038] udlfb: 800x600 valid mode
[ 1299.861045] udlfb: 1024x768 valid mode
[ 1299.861053] udlfb: 1024x768 valid mode
[ 1299.861061] udlfb: 1280x1024 valid mode
[ 1299.861069] udlfb: 1152x864 valid mode
[ 1299.861077] udlfb: 1280x1024 valid mode
[ 1299.861086] udlfb: Reallocating framebuffer. Addresses will change!
[ 1299.867486] udlfb: 1280x1024 valid mode
[ 1299.867497] udlfb: set_par mode 1280x1024
[ 1299.893239] udlfb: DisplayLink USB device /dev/fb0 attached. 1280x1024 resolution. Using 5120K framebuffer memory

Unfortunatly the screen just shows green when plugged in. I have experimented with custom Xorg.conf's without success. Although the new Ubuntu without Xorg.conf, this should not be necessary.

#################################################

Section "Files"
        ModulePath "/usr/lib/xorg/modules"
        ModulePath "/usr/lib/xorg/modules/drivers"
EndSection

############### DisplayLink Stuff ###############

Section "Device"
        Identifier "DisplayLinkDevice"
        driver "displaylink"
        Option "fbdev" "/dev/fb0"
EndSection

Section "Monitor"
        Identifier "DisplayLinkMonitor"
EndSection

Section "Screen"
        Identifier "DisplayLinkScreen"
        Device "DisplayLinkDevice"
        Monitor "DisplayLinkMonitor"
        SubSection "Display"
                Depth 24
                Modes "1280x1024"
        EndSubSection
EndSection

What I expected to happen:
Plug in the HP USB Graphics Adapter (Displaylink)
Extra screen turns on showing an Ubuntu Desktop

What really happend:
Plugged in the HP USB Graphics Adapter (Displaylink)
Screen shows green, no desktop.

(Adapter is functional, works on Windows 7)

ProblemType: Bug
DistroRelease: Ubuntu 11.04
Package: xserver-xorg-video-displaylink 0.3-0ubuntu9
ProcVersionSignature: Ubuntu 2.6.38-10.46-generic 2.6.38.7
Uname: Linux 2.6.38-10-generic x86_64
NonfreeKernelModules: wl
Architecture: amd64
Date: Tue Jul 19 01:09:05 2011
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release amd64 (20110427.1)
ProcEnviron:
 LANGUAGE=nl_NL:en
 LANG=nl_NL.UTF-8
 SHELL=/bin/bash
SourcePackage: xserver-xorg-video-displaylink
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
Damiön la Bagh (kat-amsterdam) wrote :
Changed in xserver-xorg-video-displaylink (Ubuntu):
status: New → Confirmed
Revision history for this message
Damiön la Bagh (kat-amsterdam) wrote :

This is true for all Display Link Devices under Ubuntu. Bought a Lilliput UM-70 (Displaylink) USB Monitor because I saw someone else in the community got it working. The Liliput also showed a green screen when plugged in, instead of the display, so the bug is larger than only the HP USB Graphics Adapter.
With some xorg.conf hacking I was able to get the Lilliput UM-70 started (GDM shows up, but xorg (xinerama) crashes when the desktop loads).

Revision history for this message
Bryce Harrington (bryce) wrote :

Hey kat-amsterdam,

You filed this bug report against natty, but I see it's still open and
doesn't appear to have much activity recently. So, now that oneiric
is released and stable, this may be a good point for you to upgrade
and re-test if this issue is still present there.

If it's solved in the new release and you think it's worth backporting
the fix, please indicate that. Or if having the fix in the new release
is good enough, feel free to close out the bug (or let us know and we'll
close it.)

If it's not solved, leave the bug report open. I can't promise we'll
get to it (we get way more bugs filed than we can usually get to), but
your testing and feedback can help out if and when we do.

Changed in xserver-xorg-video-displaylink (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Damiön la Bagh (kat-amsterdam) wrote :

I did upgrade to Oneric, and yes the issue still occurs with Oneric, I still get the green screen when I plug it in, and tweaking of Xorg.conf is to no avail.

This bug is also reported to Canonical Paid Support under my company
globeone
case: 00019304

I even went to the great lengths of sending a physical HP USB Display Link adapter to the Canonical London office so they could have the actual hardware to fix the bug with.

This, as the project that my company is working on is dependent on getting a USB->VGA adapter working under Ubuntu.

You would think with paid support (2 licences, one for Lucid and one for Natty) and actually sending the physical hardware Canonical/Ubuntu Community could come up with something better than:

"I can't promise we'll
get to it (we get way more bugs filed than we can usually get to), but
your testing and feedback can help out if and when we do."

I am starting to understand why Businesses use RedHat, SuSe or even Microsoft.

Revision history for this message
Damiön la Bagh (kat-amsterdam) wrote :

Warning the DisplayLink driver is dependent on reading the EDID (Extended display identification data) from the Monitor. If the monitor does not supply this, then (as in my case) everything you try will fail.

This a partial workaround works for a single display:

1. make sure the displaylink driver is installed

sudo apt-get install xserver-xorg-video-displaylink

2. Put the following into the file /usr/share/X11/xorg.conf.d/52-displaylink.conf (please have a look at the Notes below as well)

Section "Device"
Identifier "DisplayLinkDevice"
driver "displaylink"
Option "fbdev" "/dev/fb0" # or /dev/fb1 depending on the results of dmesg | grep DisplayLink
EndSection

###
Section "Monitor"
Identifier "DisplayLinkMonitor"
EndSection

Section "Screen"
Identifier "DisplayLinkScreen"
Device "DisplayLinkDevice"
Monitor "DisplayLinkMonitor"
SubSection "Display"
Depth 16
Modes "1024x768"
EndSubSection
EndSection

3. Add the following to /etc/gdm/Init/Default above the "exit 0" at the end of the file:

### set display for attached USB devices

XRANDR=`gdmwhich xrandr`
if [ "x$XRANDR" != "x" ] ; then
$XRANDR -o 0
fi

4. stop X

sudo stop gdm

5. Test out before restarting gdm:

sudo startx

At this point, you should see at least a mouse cursor that you can move around, and possibly the Unity 2D fallback interface, in case you're using Natty.

6. If the desktop apepars and is usable, you should be able to now start gdm and have a login screen:

sudo start gdm

Revision history for this message
Damiön la Bagh (kat-amsterdam) wrote :

thanks to Eric Williams of Canonical for the code above.

Revision history for this message
Pavel Enti (tenti) wrote :

tried the partial work around using a Samsung n102 running Ubuntu 11.10, but it did not work.

Revision history for this message
Sean Neilan (seanneilan) wrote :

The partial workaround from Damiön works as expected on a Macbook Air 4,2, Ubuntu 11.10. Unfortunately, it also turns off the laptop monitor.

Is there any way to enable the laptop monitor too and use xinerama?

I would spend a weekend working on this but I do not have the time. I'm all out of weekends to blow for the next month or two.

Revision history for this message
Tim D. Hammer (tdhammer) wrote :

Experienced same results as Sean Neilan on my Dell Inspiron 1501 (AMD cpu).

Really would like to have both monitors! (Actually, want all 3- second DisplayLink monitor not yet active/working either!)

Revision history for this message
Tim D. Hammer (tdhammer) wrote :

(Oops, apologies- that post was incomplete...)

Results of partial workaround on Dell Inspiron 1501 (AMD cpu):

  - running 10.04: DisplayLink monitor active, laptop monitor has flashing cursor only
  - running 11.10: no active monitors (login screen not shown anywhere...)

Tim D. Hammer (tdhammer)
Changed in xserver-xorg-video-displaylink (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
Damiön la Bagh (kat-amsterdam) wrote :

The guys over at Canonical Paid support did a great job of helping me solve this issue (at least for Lucid).
We would appreciate the communities help for getting this working in Oneric or Preceis

The zip file contains a
udev file (70-persistant-displaylink.rules)
readme
xorg.conf

please read the readme carefully. If you follow the instructions it will work.
With one exception
There is one small bug in the udev.
ATTR{name}=="udlfb"

is not always the same so you will need to
use this command as specified in the readme

udevadm info --attribute-walk --path=$(udevadm info --query=path --name=/dev/fb0)

to discover an attribute that is correct for your device.
my device Liliput UM-70 USB monitor is for example ATTR{name}=="Display Link Mon"

Again the Readme is very complete. So please read it several times and follow the instructions.

Thanks again to the great guys at Canonical Support for getting this working.

Revision history for this message
JOSE ALFREDO FLORES PRECIADO (haaaquinquin) wrote :

Good day, thank you very much for sharing your knowledge, finally with Damion file sharing could make it work with my monitor display Link. I have a lap top samsung, and I want to use 3 monitors simultaneously and independently (VGA, LapTop, USB). At this point I can see the 3 at the same time, but the problem is that they work just like a mirror mode, the mouse pointer respects the order of left and right monitor behaving as if it were not mirroring, but when I drag a window to the VGA monitor I can only see the mouse pointer and the window is as if it were behind the desk. In summary, the mouse pointer if it works independently in each of the monitors but the windows behave in a way mirror. Anyone know, what can I do to make it work properly?
I hope you understand what I meant

Revision history for this message
Jonathancnewcomb (jonathancnewcomb) wrote :

I noticed this bug has not had much activity in the last few months, and I wanted to see if anyone has made any headway in coming to a resolution

Revision history for this message
Damiön la Bagh (kat-amsterdam) wrote :

For me it's resolved for 10.04 Lucid using solution #11 that I posted earlier from Canonical Paid Support.
I have two Point of Sale machines in a live production environment that use the HP USB Display adapter daily with the code from #11 and it has been stable and worked flawlessly for the last 5 months.

I have not tested this displaylink code for Preceis 12.04 yet as I am waiting for it to become more stable (huge problems with multiarch and broken packages in 12.04).

What is the qualifier for closing this bug?

Revision history for this message
Sergey (ksi) wrote :

At 12.04 It`s not working out of the box. Same green screen .
I mean not stable.

Revision history for this message
Richard Crossley (richardcrossley) wrote :

Hi,

This works with Linux Mint 13 too, which is based on 12.04 although gdm is replaced by mdm

The file /etc/gdm/Init/Default is replaced by /etc/mdm/Init/Default, so the xwit command is added in there.

Revision history for this message
Marek Huras (marek-huras) wrote :

Spent some time testing openSuse, Ubuntu, Kubuntu based on 12.04 release and openSuse 11.4.
Unfortunately I couldn't get Fedora 17 working as described in this article http://www.phoronix.com/scan.php?page=news_item&px=MTA5NjY
None of them was able to display more than green screen.
Using hints from this topic I made one of diplaylink screens to get xlogin and xdesktop, though size was limited to 320x240.
IMO source of problem is located in X sever, which is unable to handle screen coordinates split between different kernel drivers. Xinerama in this case seems to not work.
Seems also that xrandr ignores existence of udflb devices.
That's why manual edit of xorg.conf or files in /etc/X11/xorg.conf.d gives partial success, sometimes.
Newer distributions are more difficult to handle, as thought to be "automatic" thanks to xrandr. BTW: on Kubuntu12.04 nVidia Xserver writes its own xorg.conf making xrandr for "read only".

I'm waiting for Ubuntu 12.10 having xserver-xorg-video-displaylink removed from distro. Maybe problem is solved there?
In the meantime I'm going to test Linux Mint 13 with KDE.

Greetings

Revision history for this message
Damiön la Bagh (kat-amsterdam) wrote :

@Marek Huras
From what I understood from Canonical xorg server does not look at the USB bus for video devices. It does not understand that there could ever be a video device at that location. This is why it greenscreens and why you need to tell udev that this usb device needs to be coupled to a framebuffer device.
If xorg could just get a patch to look to the usb bus as well as the pci bus then these display devices might work better.

The problem I'm having with 12.04.1LTS are:
1) the displaylink device only works with the Intel integrated graphics. Both nVidia and AMD proprietary drivers ignore the displaylink device
2) with the displaylink Intel graphics combination you must set the vgascreen to LeftOf the displaylink device in xorg.conf otherwise Unity goes completely wonky splitting the screen into 3 inequal parts then opening windows off screen not under the mouse.
3) lightdm surprisingly doesn't have too much trouble with the DisplayLink device.

Revision history for this message
Marek Huras (marek-huras) wrote :

@Damion
All my tests were performed on Dell Vostro laptop with dual graphics (nVidia Geforce + Intel) and 2 displaylink devices. My aim is to get 4 screens: main (built in) + 1 on VGA output + 2 via displaylink.
Under Win XP stuff works perfectly, screen layout in whatever configuration and depth of colors up to 32 bit. Therefore I believe there are no limitations coming from hardware. I want to reproduce quality and layout in Linux. As far as I know my laptop will not use VGA nor HDI output if using Intel graphics only, so I'd rather keep nVidia working.

In openSuse I was using nouveau drivers for nvidia (open source), but also unable to get it working both with displaylink devices via framebuffer, but VGA output was also addressed via framebuffer, and displaylink screens stay green. From this I would conclude that kernel drivers are OK, system hardware parameters polling and reporting goes properly (checked via dmesg, udevadm, etc.) and only Xorg is unable to use this information.

Might be intresting, that Ubuntu 12.04.1 with Unity displayed xlogin screen onto dispalylink without any prior xorg.conf modification. Unfortunately it happened only once, probably by accident and later I couldn't reproduce this effect, except manual edit of xorg.conf, however I switched from Unity to KDE in the meantime.

Next tests: Linux Mint 13 and Ubutu 12.10 beta.

Revision history for this message
Marek Huras (hl-mh-fs) wrote :

@Damion
Hello, sorry for a silence. I made few another tests with newly released distros and some researches.
Actually I found something interesting in this subject, you can read about it here:

http://www.google.pl/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&cad=rja&ved=0CDsQFjAC&url=http%3A%2F%2Fsuperuser.com%2Fquestions%2F502359%2Fis-it-possible-to-have-displaylink-usb-display-hotplugging-with-xorg-1-13-on-ker&ei=LLqvUMb5J5PU4QTz04HoCw&usg=AFQjCNHNIoEnRbkBXBrZyRP5HxzvQUStoQ

Follow discussion and links, especially those from article on Phoronix.

Shortly summarizing the subject:
To get several, different video drivers working together under 1 instance of Xorg, there's a need to have PRIME implemented in kernel, Xorg, randr / xrandr.
However my tests performed on kernel 3.6.x and Xorg 1.13 showed that, there's a need to introduce improvements, because things are not working completely like P'n'P - there's too many bugs as for now.

I'm waiting for final release of Fedora 18, becasue probably it may have PRIME implemented and working.
Most likely its only a question of time to get DL devices fully supported in Linux and personally I'm expecting this to happen in the year 2013.

Revision history for this message
Bryce Nesbitt (bryce2) wrote :

Here is a really good tutorial for Intel users. Again it would be great if this were "out of the box" on Ubuntu... but until then:

http://how-to.cc/get-a-displaylink-video-adapter-working-with-ubuntu-12-04

Revision history for this message
Bryce Nesbitt (bryce2) wrote :

And here is some more really good information on Ubunto 12.04 and DisplayLink
http://www.phoronix.com/scan.php?page=news_item&px=MTA5NjY

Revision history for this message
ML (0cs935kb517wwmwa7m9428daadkye-m9u2-wz6bkyhu4uqpfausw0ege9b0y33eg) wrote :

The lenovo thinkvision lt1421 won't work to. Noone who is able to find a solution?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Related blueprints

Remote bug watches

Bug watches keep track of this bug in other bug trackers.