Roberto De Ioris released a new alpha driver that replaces udlfb and so I tested it on my laptop machine from my previous DisplayLink on Linux blog post and it seems to work just the same.

The steps I took – and assuming you’ve done everything from the previous blog – were:

  1. Boot up laptop with no DisplayLink device plugged in
  2. Open a terminal and change directory to where I had the source code for udlfb
  3. sudo modprobe -r udlfb
  4. make clean
  5. Find any lingering udlfb.ko files (like ones in /usr/lib/modules/`uname -r`/extra) and delete them
  6. Download new alpha package and extract it then change directory to where the source for the alpha was extracted
  7. make && sudo make install && sudo depmod -a
  8. Reboot and plug in DisplayLink device

Results (using a different monitor this time and going through a different DVI -> VGA converter):

  1. DisplayLink device is attached to top monitor

I also tested it with the monitor from the previous DisplayLink blog post (and without a DVI -> VGA adapter) and everything was the same as last time. Also, I didn’t change any xorg.conf settings or anything like that.

10 Comments

  1. termx says:

    Yo mulchman. I followed your instructions to get yy Samsung LD190 working in Jaunty.

    I did this:

    1. the latest displaylink-mod kernel module from http://lists.freedesktop.org/archives/libdlo/2009-July/000258.html

    2. the xorg video driver for displaylink from http://lists.freedesktop.org/archives/libdlo/2009-June/000171.html

    Compile the kernel module and xorg driver – http://mulchman.org/blog/?p=21 and http://mulchman.org/blog/?p=34 have reasonable directions.

    Reboot your machine WITHOUT the LD190 plugged in. Once the machine has finished booting plug the monitor in via USB. Make sure the kernel module loads. Now activate the monitor by setting /sys/bus/usb/devices/…/bConfigurationValue to “1″ – details here – http://lists.freedesktop.org/archives/libdlo/2009-July/000280.html

    The monitor should go green if you have done everything right.

    Now configure xorg.conf – I followed http://mulchman.org/blog/?p=21 . The LD190 resolution is 1360 x 768 – remember to set the “Mode” line to this or it won’t work. Now logout of X then log back in. You should now have 2 separate X instances running, one on each monitor.

    Haven’t figured out how to get seamless windowing between both monitors (ala Xinerama) but looks like xrandr might be the easier way to go (Xinerama is broken in Jaunty ?)

    Hopefully this helps someone else out there. Thanks again !

    termx

  2. Mulchman says:

    I too would love to have seamless windowing between both monitors (or 3 monitors in the case of my desktop machine).

    Thanks for the comment!

  3. nodge says:

    no luck using a Samsung U70 Display and the new display 0.3 module. I just got the frambuffer running showing commandline… I changed xorg.conf but I only get a frozen screen on the USB Display and the 24 nvidia powered display works.

    http://twitpic.com/b0wcc

    any suggestions?

    thanks! nodge

  4. termx says:

    Did you compile the xorg driver ? Also, post your xorg.conf so I can have a look

    termx

  5. Jason says:

    Does anyone know if xorg is implicity required to make this work?

    I downloaded the latest & greatest driver. It compiled and installed flawlessly. My device is connected, and I have a beautiful green screen. lsusb -vvv show’s me my sewell direct card, and even bConfigurationValue is already set to 1.

    I’m using Ubuntu 9.10, and it seems editing xorg files isn’t really the future. I have spent hours with this file in the past, and just don’t have the heart to go down that road agagin.

    When I run xrandr, I see my other two monitors, plus the laptop display ( it’s in a dock, and the lid is closed ) but there is no sign of my green monitor. Is there a way to make xrandr “detect” it?

  6. Linux Video Card says:

    That looks very impressive.. Does it come in full HD? Its great that I can use both the displays together.. I was just wondering whether the end user would be able to do the xorg things that you’ve asked to do??

  7. Mulchman says:

    It’s still quite limited but others have had varying degrees of success (beyond what is written here) on different distros – subscribing to or searching the libdlo mailing list is probably your best bet for finding more information.

  8. Ryan Becker says:

    Hey, when I try to compile the new one I get this:
    ryan@RYAN-DESKTOP:~/displaylink$ make
    make -C /lib/modules/`uname -r`/build SUBDIRS=/home/ryan/displaylink modules
    make[1]: Entering directory `/usr/src/linux-headers-2.6.32-22-generic’
    CC [M] /home/ryan/displaylink/displaylink-main.o
    CC [M] /home/ryan/displaylink/displaylink-usb.o
    /home/ryan/displaylink/displaylink-usb.c: In function ‘displaylink_edid_to_reg’:
    /home/ryan/displaylink/displaylink-usb.c:85: error: ‘struct detailed_pixel_timing’ has no member named ‘hactive_hi’
    /home/ryan/displaylink/displaylink-usb.c:91: error: ‘struct detailed_pixel_timing’ has no member named ‘vactive_hi’
    /home/ryan/displaylink/displaylink-usb.c:97: error: ‘struct detailed_pixel_timing’ has no member named ‘hblank_hi’
    /home/ryan/displaylink/displaylink-usb.c:97: error: ‘struct detailed_pixel_timing’ has no member named ‘hsync_offset_hi’
    /home/ryan/displaylink/displaylink-usb.c:101: error: ‘struct detailed_pixel_timing’ has no member named ‘vblank_hi’
    /home/ryan/displaylink/displaylink-usb.c:101: error: ‘struct detailed_pixel_timing’ has no member named ‘vsync_offset_hi’
    /home/ryan/displaylink/displaylink-usb.c:101: error: ‘struct detailed_pixel_timing’ has no member named ‘vsync_offset_lo’
    /home/ryan/displaylink/displaylink-usb.c:105: error: ‘struct detailed_pixel_timing’ has no member named ‘hblank_hi’
    /home/ryan/displaylink/displaylink-usb.c:106: error: ‘struct detailed_pixel_timing’ has no member named ‘hsync_pulse_width_hi’
    /home/ryan/displaylink/displaylink-usb.c:109: error: ‘struct detailed_pixel_timing’ has no member named ‘vblank_hi’
    /home/ryan/displaylink/displaylink-usb.c:110: error: ‘struct detailed_pixel_timing’ has no member named ‘vsync_pulse_width_hi’
    /home/ryan/displaylink/displaylink-usb.c:110: error: ‘struct detailed_pixel_timing’ has no member named ‘vsync_pulse_width_lo’
    /home/ryan/displaylink/displaylink-usb.c: In function ‘displaylink_set_video_mode’:
    /home/ryan/displaylink/displaylink-usb.c:249: error: ‘struct detailed_pixel_timing’ has no member named ‘hactive_hi’
    /home/ryan/displaylink/displaylink-usb.c: In function ‘displaylink_setup’:
    /home/ryan/displaylink/displaylink-usb.c:308: error: ‘struct detailed_pixel_timing’ has no member named ‘hactive_hi’
    /home/ryan/displaylink/displaylink-usb.c:311: error: ‘struct detailed_pixel_timing’ has no member named ‘hactive_hi’
    /home/ryan/displaylink/displaylink-usb.c:312: error: ‘struct detailed_pixel_timing’ has no member named ‘vactive_hi’
    make[2]: *** [/home/ryan/displaylink/displaylink-usb.o] Error 1
    make[1]: *** [_module_/home/ryan/displaylink] Error 2
    make[1]: Leaving directory `/usr/src/linux-headers-2.6.32-22-generic’
    make: *** [all] Error 2

  9. Sam Liddicott says:

    I got the latest udf module from http://git.plugable.com/webdav/udlfb/ and latest X driver from http://git.plugable.com/webdav/xf-video-udlfb and built on Ubuntu lucid.

    It Works fine for me as a 3 screen setup. Displaylink at 1680×1050 as one X screen, and my ati card with two outputs.

    Sadly displaylink crashes X in 24 bit colour mode and ati won’t do 16 bit mode so I can’t have xinerama; so I have two have two desktops – one for displaylink and one for ati.

    I attach my xorg.conf in case it helps anyone else:

    1. Boot up
    2. insert USB displaylink
    3. echo -n 1 | sudo tee /sys/bus/usb/devices/1-1.3/bConfigurationValue
    4. sudo restart gdm

    Section “ServerLayout”
    Identifier “m123″
    Screen 0 “screen0″ 0 0
    Screen 1 “ATI Screen” RightOf “screen0″
    EndSection

    Section “ServerLayout”
    Identifier “m23″
    Screen 0 “ATI Screen” 0 0
    # Option “Xinerama” “off”
    EndSection

    Section “ServerLayout”
    Identifier “m1″
    Screen 0 “screen0″ 0 0
    Option “Xinerama” “off”
    EndSection

    Section “Screen”
    Identifier “ATI Screen”
    Device “ATI Device”
    Monitor “ATI Monitor”
    DefaultDepth 24
    # DefaultFbBpp 16
    SubSection “Display”
    Depth 24
    Viewport 0 0
    Virtual 3360 1050
    EndSubSection

    EndSection

    Section “Device”
    Identifier “ATI Device”
    Driver “ati”
    BusID “PCI:1:5:0″
    Option “Monitor-DVI-0″ “DVI-0″
    # Option “Monitor-VGA-0″ “VGA-0″
    Option “Monitor-LVDS” “LVDS”

    EndSection

    Section “Monitor”
    Identifier “ATI Monitor”
    Option “VendorName” “ATI Proprietary Driver”
    Option “ModelName” “Generic Autodetecting Monitor”
    Option “DPMS” “true”
    Option “PreferredMode” “1680×1050″
    Option “TargetRefresh” “60″
    # Option “Position” “1680 0″
    Option “Rotate” “normal”
    Option “Disable” “false”
    EndSection

    Section “Monitor”
    Identifier “DVI-0″
    Option “VendorName” “ATI Proprietary Driver”
    Option “ModelName” “Generic Autodetecting Monitor”
    Option “DPMS” “true”
    Option “PreferredMode” “1680×1050″
    Option “TargetRefresh” “60″
    Option “RightOf” “VGA-0″
    Option “Rotate” “normal”
    Option “Disable” “false”
    EndSection

    Section “Monitor”
    Identifier “LVDS”
    Option “Disable” “true”
    # Option “Ignore” “true”
    EndSection

    Section “Monitor”
    Identifier “VGA-0″
    Option “VendorName” “ATI Proprietary Driver”
    Option “ModelName” “Generic Autodetecting Monitor”
    Option “DPMS” “true”
    Option “PreferredMode” “1680×1050″
    Option “TargetRefresh” “60″
    Option “Position” “0 0″
    Option “Rotate” “normal”
    Option “Disable” “false”
    Option “Primary” “true”
    EndSection

    Section “Screen”
    Identifier “screen0″
    Device “dl0″
    Monitor “monitor0″
    DefaultDepth 16
    SubSection “Display”
    Depth 16
    Modes “1680×1050″
    EndSubSection
    Option “NoInt10″ “true”
    EndSection

    Section “Device”
    Identifier “dl0″
    driver “displaylink”
    Option “fbdev” “/dev/fb1″
    EndSection

    Section “Monitor”
    Identifier “monitor0″
    Mode “1680×1050″
    # D: 146.263 MHz, H: 65.296 kHz, V: 59.960 Hz
    DotClock 146.264
    HTimings 1680 1784 1960 2240
    VTimings 1050 1053 1059 1089
    Flags “+HSync” “-VSync”
    EndMode
    Mode “1024×768″
    # D: 64.998 MHz, H: 48.362 kHz, V: 60.002 Hz
    DotClock 64.999
    HTimings 1024 1048 1184 1344
    VTimings 768 771 777 806
    Flags “-HSync” “-VSync” # Warning: XFree86 doesn’t support accel
    EndMode
    EndSection

  10. Anita says:

    I am trying to execute the “make && sudo make install && sudo depmod -a” but it fails. I receive the following error.

    [root@localhost displaylink]# make && sudo make install && sudo depmod -a
    make -C /lib/modules/`uname -r`/build SUBDIRS=/home/anita/Installs/displaylink modules
    make: *** /lib/modules/3.2.9-1.fc16.x86_64/build: No such file or directory. Stop.
    make: *** [all] Error 2
    [root@localhost displaylink]#

    I followed your steps above. what am I missing?

    I am on Fedora 16

Leave a Reply