You are not logged in.
I have a ThinkVision USB Monitor that I've been trying to use with a Thinkpad T420 for quite some time.
My first attempt was with the udlfb module and xf86-video-fbdev on the linux-lts kernel. Wasn't so hot. I then attempted to use xf86-video-fbdev-for-displaylink, which is a replacement for the X fbdev driver. That package installs the drivers to the wrong directory, however, so I had to fix that first.
I can't remember if I got it working on the LTS kernel or not, but either way, I switched back to linux to see if the 3.9 kernel might have a fix.
The initial boot wasn't too pleasing.
Turned out the monitor was hijacking my framebuffer at boot time, and it would display all the console text itself. Wasn't pretty. I encountered the scheduling while atomic bug, which is apparently in need of some kernel patching to fix. I'd take the leap, but it doesn't even seem worth it until I can get X to use the display properly.
I got a single X display working, mostly in accordance with the DisplayLink Wiki page. That was cool, but I'd have to run a separate X session. Xinerama, TwinView (I was on nVidia), were not an option. Here's the Xorg.log from the DisplayLink-only setup:
X.Org X Server 1.14.1
Release Date: 2013-04-17
[ 8138.751] X Protocol Version 11, Revision 0
[ 8138.752] Build Operating System: Linux 3.8.7-1-ARCH x86_64
[ 8138.752] Current Operating System: Linux beefmaster 3.9.4-1-ARCH #1 SMP PREEMPT Sat May 25 16:14:55 CEST 2013 x86_64
[ 8138.752] Kernel command line: root=/dev/sda8 rw acpi_backlight=vendor acpi_osi=Linux
[ 8138.754] Build Date: 17 April 2013 02:37:06PM
[ 8138.754]
[ 8138.755] Current version of pixman: 0.30.0
[ 8138.756] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 8138.756] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 8138.759] (==) Log file: "/var/log/Xorg.1.log", Time: Sat Jun 1 17:19:00 2013
[ 8138.759] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 8138.760] (==) ServerLayout "X.org Configured"
[ 8138.760] (**) |-->Screen "ThinkVision" (0)
[ 8138.760] (**) | |-->Monitor "ThinkVisionMonitor"
[ 8138.760] (**) | |-->Device "ThinkVisionDevice"
[ 8138.760] (==) Automatically adding devices
[ 8138.760] (==) Automatically enabling devices
[ 8138.760] (==) Automatically adding GPU devices
[ 8138.760] (==) FontPath set to:
/usr/share/fonts/misc/,
/usr/share/fonts/TTF/,
/usr/share/fonts/OTF/,
/usr/share/fonts/Type1/,
/usr/share/fonts/100dpi/,
/usr/share/fonts/75dpi/
[ 8138.760] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 8138.760] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 8138.760] (II) Loader magic: 0x7fcc20
[ 8138.760] (II) Module ABI versions:
[ 8138.760] X.Org ANSI C Emulation: 0.4
[ 8138.760] X.Org Video Driver: 14.1
[ 8138.760] X.Org XInput driver : 19.1
[ 8138.760] X.Org Server Extension : 7.0
[ 8138.760] (II) config/udev: Adding drm device (/dev/dri/card0)
[ 8138.761] (--) PCI:*(0:1:0:0) 10de:1057:17aa:21ce rev 161, Mem @ 0xf2000000/16777216, 0xe0000000/268435456, 0xf0000000/33554432, I/O @ 0x00004000/128, BIOS @ 0x????????/524288
[ 8138.761] Initializing built-in extension Generic Event Extension
[ 8138.762] Initializing built-in extension SHAPE
[ 8138.763] Initializing built-in extension MIT-SHM
[ 8138.763] Initializing built-in extension XInputExtension
[ 8138.764] Initializing built-in extension XTEST
[ 8138.765] Initializing built-in extension BIG-REQUESTS
[ 8138.765] Initializing built-in extension SYNC
[ 8138.766] Initializing built-in extension XKEYBOARD
[ 8138.767] Initializing built-in extension XC-MISC
[ 8138.767] Initializing built-in extension SECURITY
[ 8138.768] Initializing built-in extension XINERAMA
[ 8138.769] Initializing built-in extension XFIXES
[ 8138.769] Initializing built-in extension RENDER
[ 8138.770] Initializing built-in extension RANDR
[ 8138.771] Initializing built-in extension COMPOSITE
[ 8138.771] Initializing built-in extension DAMAGE
[ 8138.772] Initializing built-in extension MIT-SCREEN-SAVER
[ 8138.772] Initializing built-in extension DOUBLE-BUFFER
[ 8138.773] Initializing built-in extension RECORD
[ 8138.774] Initializing built-in extension DPMS
[ 8138.774] Initializing built-in extension X-Resource
[ 8138.775] Initializing built-in extension XVideo
[ 8138.775] Initializing built-in extension XVideo-MotionCompensation
[ 8138.776] Initializing built-in extension XFree86-VidModeExtension
[ 8138.777] Initializing built-in extension XFree86-DGA
[ 8138.777] Initializing built-in extension XFree86-DRI
[ 8138.778] Initializing built-in extension DRI2
[ 8138.778] (II) LoadModule: "glx"
[ 8138.778] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 8138.778] (II) Module glx: vendor="X.Org Foundation"
[ 8138.778] compiled for 1.14.1, module version = 1.0.0
[ 8138.778] ABI class: X.Org Server Extension, version 7.0
[ 8138.778] (==) AIGLX enabled
[ 8138.778] Loading extension GLX
[ 8138.778] (II) LoadModule: "fbdev"
[ 8138.778] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 8138.778] (II) Module fbdev: vendor="X.Org Foundation"
[ 8138.778] compiled for 1.14.1, module version = 0.4.3
[ 8138.778] Module class: X.Org Video Driver
[ 8138.778] ABI class: X.Org Video Driver, version 14.1
[ 8138.778] (II) FBDEV: driver for framebuffer: fbdev
[ 8138.778] (++) using VT number 2
[ 8138.779] (WW) Falling back to old probe method for fbdev
[ 8138.779] (II) Loading sub module "fbdevhw"
[ 8138.779] (II) LoadModule: "fbdevhw"
[ 8138.779] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 8138.779] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 8138.779] compiled for 1.14.1, module version = 0.0.2
[ 8138.779] ABI class: X.Org Video Driver, version 14.1
[ 8138.779] (II) FBDEV(0): using /dev/fb1
[ 8138.779] (II) FBDEV(0): Creating default Display subsection in Screen section
"ThinkVision" for depth/fbbpp 16/16
[ 8138.779] (==) FBDEV(0): Depth 16, (==) framebuffer bpp 16
[ 8138.779] (==) FBDEV(0): RGB weight 565
[ 8138.779] (==) FBDEV(0): Default visual is TrueColor
[ 8138.779] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[ 8138.779] (II) FBDEV(0): hardware: udlfb (video memory: 2052kB)
[ 8138.779] (**) FBDEV(0): Option "fbdev" "/dev/fb1"
[ 8138.779] (**) FBDEV(0): Option "ReportDamage" "True"
[ 8138.779] (**) FBDEV(0): Damage reporting enabled. Disabling shadow framebuffer
[ 8138.779] (II) FBDEV(0): checking modes against framebuffer device...
[ 8138.779] (II) FBDEV(0): checking modes against monitor...
[ 8138.779] (--) FBDEV(0): Virtual size is 1366x768 (pitch 1366)
[ 8138.779] (**) FBDEV(0): Built-in mode "current": 72.0 MHz, 48.0 kHz, 60.0 Hz
[ 8138.779] (II) FBDEV(0): Modeline "current"x0.0 72.00 1366 1380 1436 1500 768 769 772 800 +hsync +vsync -csync (48.0 kHz b)
[ 8138.779] (==) FBDEV(0): DPI set to (96, 96)
[ 8138.779] (II) Loading sub module "fb"
[ 8138.779] (II) LoadModule: "fb"
[ 8138.779] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 8138.779] (II) Module fb: vendor="X.Org Foundation"
[ 8138.779] compiled for 1.14.1, module version = 1.0.0
[ 8138.779] ABI class: X.Org ANSI C Emulation, version 0.4
[ 8138.779] (==) FBDEV(0): Backing store disabled
[ 8138.779] (==) FBDEV(0): DPMS enabled
[ 8138.779] (==) RandR enabled
[ 8138.783] (II) AIGLX: Screen 0 is not DRI2 capable
[ 8138.783] (II) AIGLX: Screen 0 is not DRI capable
[ 8138.789] (II) AIGLX: Loaded and initialized swrast
[ 8138.789] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[ 8138.817] (II) config/udev: Adding input device Power Button (/dev/input/event5)
[ 8138.817] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[ 8138.817] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[ 8138.817] (II) LoadModule: "evdev"
[ 8138.817] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 8138.817] (II) Module evdev: vendor="X.Org Foundation"
[ 8138.817] compiled for 1.14.0, module version = 2.8.0
[ 8138.817] Module class: X.Org XInput Driver
[ 8138.817] ABI class: X.Org XInput driver, version 19.1
[ 8138.817] (II) Using input driver 'evdev' for 'Power Button'
[ 8138.817] (**) Power Button: always reports core events
[ 8138.817] (**) evdev: Power Button: Device: "/dev/input/event5"
[ 8138.817] (--) evdev: Power Button: Vendor 0 Product 0x1
[ 8138.817] (--) evdev: Power Button: Found keys
[ 8138.817] (II) evdev: Power Button: Configuring as keyboard
[ 8138.817] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input5/event5"
[ 8138.817] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
[ 8138.817] (**) Option "xkb_rules" "evdev"
[ 8138.817] (**) Option "xkb_model" "evdev"
[ 8138.817] (**) Option "xkb_layout" "gb"
[ 8138.817] (**) Option "xkb_options" "ctrl:nocaps"
[ 8138.831] (II) config/udev: Adding input device Video Bus (/dev/input/event6)
[ 8138.831] (**) Video Bus: Applying InputClass "evdev keyboard catchall"
[ 8138.831] (**) Video Bus: Applying InputClass "evdev keyboard catchall"
[ 8138.831] (II) Using input driver 'evdev' for 'Video Bus'
[ 8138.831] (**) Video Bus: always reports core events
[ 8138.831] (**) evdev: Video Bus: Device: "/dev/input/event6"
[ 8138.831] (--) evdev: Video Bus: Vendor 0 Product 0x6
[ 8138.831] (--) evdev: Video Bus: Found keys
[ 8138.831] (II) evdev: Video Bus: Configuring as keyboard
[ 8138.831] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:09/LNXVIDEO:01/input/input6/event6"
[ 8138.831] (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD, id 7)
[ 8138.831] (**) Option "xkb_rules" "evdev"
[ 8138.831] (**) Option "xkb_model" "evdev"
[ 8138.831] (**) Option "xkb_layout" "gb"
[ 8138.831] (**) Option "xkb_options" "ctrl:nocaps"
[ 8138.831] (II) config/udev: Adding input device Lid Switch (/dev/input/event3)
[ 8138.831] (II) No input driver specified, ignoring this device.
[ 8138.831] (II) This device may have been added with another device file.
[ 8138.831] (II) config/udev: Adding input device Sleep Button (/dev/input/event4)
[ 8138.831] (**) Sleep Button: Applying InputClass "evdev keyboard catchall"
[ 8138.831] (**) Sleep Button: Applying InputClass "evdev keyboard catchall"
[ 8138.831] (II) Using input driver 'evdev' for 'Sleep Button'
[ 8138.831] (**) Sleep Button: always reports core events
[ 8138.831] (**) evdev: Sleep Button: Device: "/dev/input/event4"
[ 8138.831] (--) evdev: Sleep Button: Vendor 0 Product 0x3
[ 8138.831] (--) evdev: Sleep Button: Found keys
[ 8138.831] (II) evdev: Sleep Button: Configuring as keyboard
[ 8138.831] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input4/event4"
[ 8138.831] (II) XINPUT: Adding extended input device "Sleep Button" (type: KEYBOARD, id 8)
[ 8138.831] (**) Option "xkb_rules" "evdev"
[ 8138.831] (**) Option "xkb_model" "evdev"
[ 8138.831] (**) Option "xkb_layout" "gb"
[ 8138.831] (**) Option "xkb_options" "ctrl:nocaps"
[ 8138.831] (II) config/udev: Adding drm device (/dev/dri/card0)
[ 8138.832] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=8 (/dev/input/event12)
[ 8138.832] (II) No input driver specified, ignoring this device.
[ 8138.832] (II) This device may have been added with another device file.
[ 8138.832] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=7 (/dev/input/event13)
[ 8138.832] (II) No input driver specified, ignoring this device.
[ 8138.832] (II) This device may have been added with another device file.
[ 8138.832] (II) config/udev: Adding input device HDA NVidia HDMI/DP,pcm=3 (/dev/input/event14)
[ 8138.832] (II) No input driver specified, ignoring this device.
[ 8138.832] (II) This device may have been added with another device file.
[ 8138.832] (II) config/udev: Adding input device Integrated Camera (/dev/input/event16)
[ 8138.832] (**) Integrated Camera: Applying InputClass "evdev keyboard catchall"
[ 8138.832] (**) Integrated Camera: Applying InputClass "evdev keyboard catchall"
[ 8138.832] (II) Using input driver 'evdev' for 'Integrated Camera'
[ 8138.832] (**) Integrated Camera: always reports core events
[ 8138.832] (**) evdev: Integrated Camera: Device: "/dev/input/event16"
[ 8138.832] (--) evdev: Integrated Camera: Vendor 0x4f2 Product 0xb221
[ 8138.832] (--) evdev: Integrated Camera: Found keys
[ 8138.832] (II) evdev: Integrated Camera: Configuring as keyboard
[ 8138.832] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.6/1-1.6:1.0/input/input16/event16"
[ 8138.832] (II) XINPUT: Adding extended input device "Integrated Camera" (type: KEYBOARD, id 9)
[ 8138.832] (**) Option "xkb_rules" "evdev"
[ 8138.832] (**) Option "xkb_model" "evdev"
[ 8138.832] (**) Option "xkb_layout" "gb"
[ 8138.832] (**) Option "xkb_options" "ctrl:nocaps"
[ 8138.832] (II) config/udev: Adding input device HDA Digital PCBeep (/dev/input/event7)
[ 8138.832] (II) No input driver specified, ignoring this device.
[ 8138.832] (II) This device may have been added with another device file.
[ 8138.833] (II) config/udev: Adding input device HDA Intel PCH Headphone (/dev/input/event10)
[ 8138.833] (II) No input driver specified, ignoring this device.
[ 8138.833] (II) This device may have been added with another device file.
[ 8138.833] (II) config/udev: Adding input device HDA Intel PCH Dock Headphone (/dev/input/event11)
[ 8138.833] (II) No input driver specified, ignoring this device.
[ 8138.833] (II) This device may have been added with another device file.
[ 8138.833] (II) config/udev: Adding input device HDA Intel PCH Dock Mic (/dev/input/event8)
[ 8138.833] (II) No input driver specified, ignoring this device.
[ 8138.833] (II) This device may have been added with another device file.
[ 8138.833] (II) config/udev: Adding input device HDA Intel PCH Mic (/dev/input/event9)
[ 8138.833] (II) No input driver specified, ignoring this device.
[ 8138.833] (II) This device may have been added with another device file.
[ 8138.833] (II) config/udev: Adding input device Logitech Gaming Mouse G400 (/dev/input/event2)
[ 8138.833] (**) Logitech Gaming Mouse G400: Applying InputClass "evdev pointer catchall"
[ 8138.833] (II) Using input driver 'evdev' for 'Logitech Gaming Mouse G400'
[ 8138.833] (**) Logitech Gaming Mouse G400: always reports core events
[ 8138.833] (**) evdev: Logitech Gaming Mouse G400: Device: "/dev/input/event2"
[ 8138.833] (--) evdev: Logitech Gaming Mouse G400: Vendor 0x46d Product 0xc245
[ 8138.833] (--) evdev: Logitech Gaming Mouse G400: Found 12 mouse buttons
[ 8138.833] (--) evdev: Logitech Gaming Mouse G400: Found scroll wheel(s)
[ 8138.833] (--) evdev: Logitech Gaming Mouse G400: Found relative axes
[ 8138.833] (--) evdev: Logitech Gaming Mouse G400: Found x and y relative axes
[ 8138.833] (II) evdev: Logitech Gaming Mouse G400: Configuring as mouse
[ 8138.833] (II) evdev: Logitech Gaming Mouse G400: Adding scrollwheel support
[ 8138.833] (**) evdev: Logitech Gaming Mouse G400: YAxisMapping: buttons 4 and 5
[ 8138.833] (**) evdev: Logitech Gaming Mouse G400: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 8138.833] (**) Option "config_info" "udev:/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/input/input2/event2"
[ 8138.833] (II) XINPUT: Adding extended input device "Logitech Gaming Mouse G400" (type: MOUSE, id 10)
[ 8138.833] (II) evdev: Logitech Gaming Mouse G400: initialized for relative axes.
[ 8138.833] (**) Logitech Gaming Mouse G400: (accel) keeping acceleration scheme 1
[ 8138.833] (**) Logitech Gaming Mouse G400: (accel) acceleration profile 0
[ 8138.833] (**) Logitech Gaming Mouse G400: (accel) acceleration factor: 2.000
[ 8138.833] (**) Logitech Gaming Mouse G400: (accel) acceleration threshold: 4
[ 8138.834] (II) config/udev: Adding input device Logitech Gaming Mouse G400 (/dev/input/mouse0)
[ 8138.834] (II) No input driver specified, ignoring this device.
[ 8138.834] (II) This device may have been added with another device file.
[ 8138.834] (II) config/udev: Adding input device AT Translated Set 2 keyboard (/dev/input/event0)
[ 8138.834] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"
[ 8138.834] (**) AT Translated Set 2 keyboard: Applying InputClass "evdev keyboard catchall"
[ 8138.834] (II) Using input driver 'evdev' for 'AT Translated Set 2 keyboard'
[ 8138.834] (**) AT Translated Set 2 keyboard: always reports core events
[ 8138.834] (**) evdev: AT Translated Set 2 keyboard: Device: "/dev/input/event0"
[ 8138.834] (--) evdev: AT Translated Set 2 keyboard: Vendor 0x1 Product 0x1
[ 8138.834] (--) evdev: AT Translated Set 2 keyboard: Found keys
[ 8138.834] (II) evdev: AT Translated Set 2 keyboard: Configuring as keyboard
[ 8138.834] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio0/input/input0/event0"
[ 8138.834] (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD, id 11)
[ 8138.834] (**) Option "xkb_rules" "evdev"
[ 8138.834] (**) Option "xkb_model" "evdev"
[ 8138.834] (**) Option "xkb_layout" "gb"
[ 8138.834] (**) Option "xkb_options" "ctrl:nocaps"
[ 8138.834] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/event15)
[ 8138.834] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "touchpad catchall"
[ 8138.834] (**) SynPS/2 Synaptics TouchPad: Applying InputClass "two finger scrolling"
[ 8138.834] (II) LoadModule: "synaptics"
[ 8138.834] (II) Loading /usr/lib/xorg/modules/input/synaptics_drv.so
[ 8138.834] (II) Module synaptics: vendor="X.Org Foundation"
[ 8138.834] compiled for 1.14.1, module version = 1.7.1
[ 8138.834] Module class: X.Org XInput Driver
[ 8138.834] ABI class: X.Org XInput driver, version 19.1
[ 8138.834] (II) Using input driver 'synaptics' for 'SynPS/2 Synaptics TouchPad'
[ 8138.834] (**) SynPS/2 Synaptics TouchPad: always reports core events
[ 8138.834] (**) Option "Device" "/dev/input/event15"
[ 8138.846] (II) synaptics: SynPS/2 Synaptics TouchPad: ignoring touch events for semi-multitouch device
[ 8138.846] (--) synaptics: SynPS/2 Synaptics TouchPad: x-axis range 1472 - 5888 (res 75)
[ 8138.846] (--) synaptics: SynPS/2 Synaptics TouchPad: y-axis range 1408 - 4820 (res 105)
[ 8138.846] (--) synaptics: SynPS/2 Synaptics TouchPad: pressure range 0 - 255
[ 8138.846] (--) synaptics: SynPS/2 Synaptics TouchPad: finger width range 0 - 15
[ 8138.846] (--) synaptics: SynPS/2 Synaptics TouchPad: buttons: left right double triple
[ 8138.846] (--) synaptics: SynPS/2 Synaptics TouchPad: Vendor 0x2 Product 0x7
[ 8138.846] (**) Option "EmulateTwoFingerMinZ" "40"
[ 8138.846] (**) Option "EmulateTwoFingerMinW" "8"
[ 8138.846] (**) Option "VertTwoFingerScroll" "on"
[ 8138.846] (**) Option "HorizTwoFingerScroll" "on"
[ 8138.846] (**) Option "TapButton1" "1"
[ 8138.846] (**) Option "TapButton2" "2"
[ 8138.846] (**) Option "TapButton3" "3"
[ 8138.846] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[ 8138.846] (**) SynPS/2 Synaptics TouchPad: always reports core events
[ 8138.849] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/input/input15/event15"
[ 8138.849] (II) XINPUT: Adding extended input device "SynPS/2 Synaptics TouchPad" (type: TOUCHPAD, id 12)
[ 8138.849] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MinSpeed is now constant deceleration 2.5
[ 8138.849] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) MaxSpeed is now 1.75
[ 8138.849] (**) synaptics: SynPS/2 Synaptics TouchPad: (accel) AccelFactor is now 0.036
[ 8138.849] (**) SynPS/2 Synaptics TouchPad: (accel) keeping acceleration scheme 1
[ 8138.849] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration profile 1
[ 8138.849] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration factor: 2.000
[ 8138.849] (**) SynPS/2 Synaptics TouchPad: (accel) acceleration threshold: 4
[ 8138.849] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[ 8138.849] (II) config/udev: Adding input device SynPS/2 Synaptics TouchPad (/dev/input/mouse1)
[ 8138.849] (**) SynPS/2 Synaptics TouchPad: Ignoring device from InputClass "touchpad ignore duplicates"
[ 8138.849] (II) config/udev: Adding input device TPPS/2 IBM TrackPoint (/dev/input/event17)
[ 8138.849] (**) TPPS/2 IBM TrackPoint: Applying InputClass "evdev pointer catchall"
[ 8138.849] (**) TPPS/2 IBM TrackPoint: Applying InputClass "ThinkPad TrackPoint"
[ 8138.849] (II) Using input driver 'evdev' for 'TPPS/2 IBM TrackPoint'
[ 8138.850] (**) TPPS/2 IBM TrackPoint: always reports core events
[ 8138.850] (**) evdev: TPPS/2 IBM TrackPoint: Device: "/dev/input/event17"
[ 8138.850] (--) evdev: TPPS/2 IBM TrackPoint: Vendor 0x2 Product 0xa
[ 8138.850] (--) evdev: TPPS/2 IBM TrackPoint: Found 3 mouse buttons
[ 8138.850] (--) evdev: TPPS/2 IBM TrackPoint: Found relative axes
[ 8138.850] (--) evdev: TPPS/2 IBM TrackPoint: Found x and y relative axes
[ 8138.850] (II) evdev: TPPS/2 IBM TrackPoint: Configuring as mouse
[ 8138.850] (**) Option "EmulateWheel" "true"
[ 8138.850] (**) Option "EmulateWheelButton" "2"
[ 8138.850] (**) Option "YAxisMapping" "4 5"
[ 8138.850] (**) evdev: TPPS/2 IBM TrackPoint: YAxisMapping: buttons 4 and 5
[ 8138.850] (**) Option "XAxisMapping" "6 7"
[ 8138.850] (**) evdev: TPPS/2 IBM TrackPoint: XAxisMapping: buttons 6 and 7
[ 8138.850] (**) evdev: TPPS/2 IBM TrackPoint: EmulateWheelButton: 2, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 8138.850] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio1/serio2/input/input17/event17"
[ 8138.850] (II) XINPUT: Adding extended input device "TPPS/2 IBM TrackPoint" (type: MOUSE, id 13)
[ 8138.850] (II) evdev: TPPS/2 IBM TrackPoint: initialized for relative axes.
[ 8138.850] (**) TPPS/2 IBM TrackPoint: (accel) keeping acceleration scheme 1
[ 8138.850] (**) TPPS/2 IBM TrackPoint: (accel) acceleration profile 0
[ 8138.850] (**) TPPS/2 IBM TrackPoint: (accel) acceleration factor: 2.000
[ 8138.850] (**) TPPS/2 IBM TrackPoint: (accel) acceleration threshold: 4
[ 8138.850] (II) config/udev: Adding input device TPPS/2 IBM TrackPoint (/dev/input/mouse2)
[ 8138.850] (II) No input driver specified, ignoring this device.
[ 8138.850] (II) This device may have been added with another device file.
[ 8138.850] (II) config/udev: Adding input device ThinkPad Extra Buttons (/dev/input/event1)
[ 8138.850] (**) ThinkPad Extra Buttons: Applying InputClass "evdev keyboard catchall"
[ 8138.850] (**) ThinkPad Extra Buttons: Applying InputClass "evdev keyboard catchall"
[ 8138.850] (II) Using input driver 'evdev' for 'ThinkPad Extra Buttons'
[ 8138.850] (**) ThinkPad Extra Buttons: always reports core events
[ 8138.850] (**) evdev: ThinkPad Extra Buttons: Device: "/dev/input/event1"
[ 8138.850] (--) evdev: ThinkPad Extra Buttons: Vendor 0x17aa Product 0x5054
[ 8138.850] (--) evdev: ThinkPad Extra Buttons: Found keys
[ 8138.850] (II) evdev: ThinkPad Extra Buttons: Configuring as keyboard
[ 8138.850] (**) Option "config_info" "udev:/sys/devices/platform/thinkpad_acpi/input/input1/event1"
[ 8138.850] (II) XINPUT: Adding extended input device "ThinkPad Extra Buttons" (type: KEYBOARD, id 14)
[ 8138.850] (**) Option "xkb_rules" "evdev"
[ 8138.850] (**) Option "xkb_model" "evdev"
[ 8138.850] (**) Option "xkb_layout" "gb"
[ 8138.850] (**) Option "xkb_options" "ctrl:nocaps"
[ 8147.677] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[ 8181.528] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[ 8189.334] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[ 8593.711] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[ 8597.651] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[ 8604.061] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[ 13947.442] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
[ 15638.705] (--) synaptics: SynPS/2 Synaptics TouchPad: touchpad found
I've since switched over to Nouveau, figuring I shouldn't at least taint my kernel if things might get to that level. This was nice, since KMS fixed the framebuffer hijack at boot and somewhere in the process solves the "Scheduling while atomic" bug. But it doesn't handle any better with the separate X displays thing.
This is when I say ok, great, let's set it up with Xinerama or something. Xorg isn't having it.
Here's my attempted dual-monitor xorg.conf, based on this forum thread:
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "DisplayLinkScreen"
Screen 1 "ThinkpadScreen" LeftOf "DisplayLinkScreen"
Option "Xinerama" "on"
EndSection
Section "Monitor"
# 1600x900 @ 60.00 Hz (GTF) hsync: 55.92 kHz; pclk: 119.00 MHz
Identifier "ThinkpadMonitor"
VendorName "Unknown"
ModelName "AU Optronics Corporation"
HorizSync 36.5 - 54.7
VertRefresh 40.0 - 60.0
ModeLine "1600x900_60.00" 119.00 1600 1696 1864 2128 900 901 904 932 -hsync +vsync
# Option "DPMS"
EndSection
Section "Device"
Identifier "nvidiaCard"
Driver "nouveau"
VendorName "NVIDIA Corporation"
BoardName "NVS 4200M"
EndSection
Section "Screen"
Identifier "ThinkpadScreen"
Device "nvidiaCard"
Monitor "ThinkpadMonitor"
DefaultDepth 16
Option "Stereo" "0"
Option "metamodes" "1600x900_60 +0+0"
Option "FlatPanelProperties" "Scaling=Native"
Option "RegistryDwords" "OGL_MaxFramesAllowed=0x0; EnableBrightnessControl=1; PerfLevelSrc=0x3333"
Option "OnDemandVBlankInterrupts" "1"
Option "TripleBuffer" "1"
SubSection "Display"
Depth 16
EndSubSection
EndSection
################ DisplayLink Stuff ###################
Section "Device"
Identifier "DisplayLinkDevice"
Driver "fbdev"
BusID "USB" # needed to use multiple DisplayLink devices
Option "fbdev" "/dev/fb1" # change to whatever device you want to use
# Option "rotate" "CCW" # uncomment for rotation
EndSection
Section "Monitor"
Identifier "DisplayLinkMonitor"
EndSection
Section "Screen"
Identifier "DisplayLinkScreen"
Device "DisplayLinkDevice"
Monitor "DisplayLinkMonitor"
DefaultDepth 16
EndSection
Section "Module"
Load "glx"
EndSection
And here's the crash log:
[ 3568.803]
X.Org X Server 1.14.1
Release Date: 2013-04-17
[ 3568.805] X Protocol Version 11, Revision 0
[ 3568.806] Build Operating System: Linux 3.8.7-1-ARCH x86_64
[ 3568.807] Current Operating System: Linux beefmaster 3.9.4-1-ARCH #1 SMP PREEMPT Sat May 25 16:14:55 CEST 2013 x86_64
[ 3568.807] Kernel command line: root=/dev/sda8 rw acpi_backlight=vendor acpi_osi=Linux
[ 3568.808] Build Date: 17 April 2013 02:37:06PM
[ 3568.809]
[ 3568.810] Current version of pixman: 0.30.0
[ 3568.811] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 3568.811] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 3568.814] (==) Log file: "/var/log/Xorg.1.log", Time: Sat Jun 1 22:26:36 2013
[ 3568.815] (==) Using config file: "/etc/X11/xorg.conf"
[ 3568.816] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 3568.816] (==) ServerLayout "Layout0"
[ 3568.816] (**) |-->Screen "DisplayLinkScreen" (0)
[ 3568.816] (**) | |-->Monitor "DisplayLinkMonitor"
[ 3568.816] (**) | |-->Device "DisplayLinkDevice"
[ 3568.816] (**) |-->Screen "ThinkpadScreen" (1)
[ 3568.816] (**) | |-->Monitor "<default monitor>"
[ 3568.816] (==) No device specified for screen "ThinkpadScreen".
Using the first device section listed.
[ 3568.816] (**) | |-->Device "nvidiaCard"
[ 3568.816] (==) No monitor specified for screen "ThinkpadScreen".
Using a default monitor configuration.
[ 3568.816] (**) Option "Xinerama" "on"
[ 3568.816] (==) Automatically adding devices
[ 3568.816] (==) Automatically enabling devices
[ 3568.816] (==) Automatically adding GPU devices
[ 3568.816] (**) Xinerama: enabled
[ 3568.816] (==) FontPath set to:
/usr/share/fonts/misc/,
/usr/share/fonts/TTF/,
/usr/share/fonts/OTF/,
/usr/share/fonts/Type1/,
/usr/share/fonts/100dpi/,
/usr/share/fonts/75dpi/
[ 3568.816] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 3568.816] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 3568.816] (II) Loader magic: 0x7fcc20
[ 3568.816] (II) Module ABI versions:
[ 3568.816] X.Org ANSI C Emulation: 0.4
[ 3568.816] X.Org Video Driver: 14.1
[ 3568.816] X.Org XInput driver : 19.1
[ 3568.816] X.Org Server Extension : 7.0
[ 3568.816] (II) config/udev: Adding drm device (/dev/dri/card0)
[ 3569.037] (--) PCI:*(0:1:0:0) 10de:1057:17aa:21ce rev 161, Mem @ 0xf2000000/16777216, 0xe0000000/268435456, 0xf0000000/33554432, I/O @ 0x00004000/128, BIOS @ 0x????????/524288
[ 3569.037] Initializing built-in extension Generic Event Extension
[ 3569.038] Initializing built-in extension SHAPE
[ 3569.038] Initializing built-in extension MIT-SHM
[ 3569.039] Initializing built-in extension XInputExtension
[ 3569.040] Initializing built-in extension XTEST
[ 3569.041] Initializing built-in extension BIG-REQUESTS
[ 3569.041] Initializing built-in extension SYNC
[ 3569.042] Initializing built-in extension XKEYBOARD
[ 3569.043] Initializing built-in extension XC-MISC
[ 3569.043] Initializing built-in extension SECURITY
[ 3569.044] Initializing built-in extension XINERAMA
[ 3569.045] Initializing built-in extension XFIXES
[ 3569.045] Initializing built-in extension RENDER
[ 3569.046] Initializing built-in extension RANDR
[ 3569.047] Initializing built-in extension COMPOSITE
[ 3569.047] Initializing built-in extension DAMAGE
[ 3569.048] Initializing built-in extension MIT-SCREEN-SAVER
[ 3569.049] Initializing built-in extension DOUBLE-BUFFER
[ 3569.049] Initializing built-in extension RECORD
[ 3569.050] Initializing built-in extension DPMS
[ 3569.050] Initializing built-in extension X-Resource
[ 3569.051] Initializing built-in extension XVideo
[ 3569.052] Initializing built-in extension XVideo-MotionCompensation
[ 3569.052] Initializing built-in extension XFree86-VidModeExtension
[ 3569.053] Initializing built-in extension XFree86-DGA
[ 3569.053] Initializing built-in extension XFree86-DRI
[ 3569.054] Initializing built-in extension DRI2
[ 3569.054] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[ 3569.054] (II) LoadModule: "glx"
[ 3569.054] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 3569.054] (II) Module glx: vendor="X.Org Foundation"
[ 3569.054] compiled for 1.14.1, module version = 1.0.0
[ 3569.054] ABI class: X.Org Server Extension, version 7.0
[ 3569.054] (==) AIGLX enabled
[ 3569.054] Loading extension GLX
[ 3569.054] (II) LoadModule: "fbdev"
[ 3569.055] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 3569.055] (II) Module fbdev: vendor="X.Org Foundation"
[ 3569.055] compiled for 1.14.1, module version = 0.4.3
[ 3569.055] Module class: X.Org Video Driver
[ 3569.055] ABI class: X.Org Video Driver, version 14.1
[ 3569.055] (II) LoadModule: "nouveau"
[ 3569.055] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[ 3569.055] (II) Module nouveau: vendor="X.Org Foundation"
[ 3569.055] compiled for 1.14.0, module version = 1.0.7
[ 3569.055] Module class: X.Org Video Driver
[ 3569.055] ABI class: X.Org Video Driver, version 14.1
[ 3569.055] (II) FBDEV: driver for framebuffer: fbdev
[ 3569.055] (II) NOUVEAU driver
[ 3569.055] (II) NOUVEAU driver for NVIDIA chipset families :
[ 3569.055] RIVA TNT (NV04)
[ 3569.055] RIVA TNT2 (NV05)
[ 3569.055] GeForce 256 (NV10)
[ 3569.055] GeForce 2 (NV11, NV15)
[ 3569.055] GeForce 4MX (NV17, NV18)
[ 3569.055] GeForce 3 (NV20)
[ 3569.055] GeForce 4Ti (NV25, NV28)
[ 3569.055] GeForce FX (NV3x)
[ 3569.055] GeForce 6 (NV4x)
[ 3569.055] GeForce 7 (G7x)
[ 3569.055] GeForce 8 (G8x)
[ 3569.055] GeForce GTX 200 (NVA0)
[ 3569.055] GeForce GTX 400 (NVC0)
[ 3569.055] (++) using VT number 2
[ 3569.055] (WW) Falling back to old probe method for fbdev
[ 3569.055] (II) Loading sub module "fbdevhw"
[ 3569.055] (II) LoadModule: "fbdevhw"
[ 3569.055] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 3569.055] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 3569.055] compiled for 1.14.1, module version = 0.0.2
[ 3569.055] ABI class: X.Org Video Driver, version 14.1
[ 3569.055] (II) FBDEV(0): using /dev/fb1
[ 3569.055] (II) [drm] nouveau interface version: 1.1.0
[ 3569.056]
Fatal server error:
[ 3569.056] Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices
[ 3569.056]
[ 3569.056] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 3569.056] (EE) Please also check the log file at "/var/log/Xorg.1.log" for additional information.
[ 3569.056] (EE)
[ 3569.058] Server terminated with error (1). Closing log file.
It's asking for busIDs for framebuffer devices. This problem has been around as far back as 2010, as seen in the Libdlo mailing list. I've been using the fix described there. It doesn't work.
I uninstall the custom xf86-video-fbdev from the AUR and install the standard Arch binary. Unlike the AUR version, it automatically places fbdev_drv.so in /usr/lib/xorg/modules/drivers as expected.
Same problem. Here's the log, mostly the same as earlier:
X.Org X Server 1.14.1
Release Date: 2013-04-17
[ 8754.488] X Protocol Version 11, Revision 0
[ 8754.489] Build Operating System: Linux 3.8.7-1-ARCH x86_64
[ 8754.490] Current Operating System: Linux beefmaster 3.9.4-1-ARCH #1 SMP PREEMPT Sat May 25 16:14:55 CEST 2013 x86_64
[ 8754.490] Kernel command line: root=/dev/sda8 rw acpi_backlight=vendor acpi_osi=Linux
[ 8754.492] Build Date: 17 April 2013 02:37:06PM
[ 8754.492]
[ 8754.493] Current version of pixman: 0.30.0
[ 8754.495] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 8754.495] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 8754.498] (==) Log file: "/var/log/Xorg.1.log", Time: Sat Jun 1 23:53:01 2013
[ 8754.499] (==) Using config file: "/etc/X11/xorg.conf"
[ 8754.499] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 8754.500] (==) ServerLayout "Layout0"
[ 8754.500] (**) |-->Screen "DisplayLinkScreen" (0)
[ 8754.500] (**) | |-->Monitor "DisplayLinkMonitor"
[ 8754.500] (**) | |-->Device "DisplayLinkDevice"
[ 8754.500] (**) |-->Screen "ThinkpadScreen" (1)
[ 8754.500] (**) | |-->Monitor "ThinkpadMonitor"
[ 8754.500] (**) | |-->Device "nvidiaCard"
[ 8754.500] (**) Option "Xinerama" "on"
[ 8754.500] (==) Automatically adding devices
[ 8754.500] (==) Automatically enabling devices
[ 8754.500] (==) Automatically adding GPU devices
[ 8754.500] (**) Xinerama: enabled
[ 8754.500] (==) FontPath set to:
/usr/share/fonts/misc/,
/usr/share/fonts/TTF/,
/usr/share/fonts/OTF/,
/usr/share/fonts/Type1/,
/usr/share/fonts/100dpi/,
/usr/share/fonts/75dpi/
[ 8754.500] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 8754.500] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 8754.500] (II) Loader magic: 0x7fcc20
[ 8754.500] (II) Module ABI versions:
[ 8754.500] X.Org ANSI C Emulation: 0.4
[ 8754.500] X.Org Video Driver: 14.1
[ 8754.500] X.Org XInput driver : 19.1
[ 8754.500] X.Org Server Extension : 7.0
[ 8754.500] (II) config/udev: Adding drm device (/dev/dri/card0)
[ 8754.720] (--) PCI:*(0:1:0:0) 10de:1057:17aa:21ce rev 161, Mem @ 0xf2000000/16777216, 0xe0000000/268435456, 0xf0000000/33554432, I/O @ 0x00004000/128, BIOS @ 0x????????/524288
[ 8754.720] Initializing built-in extension Generic Event Extension
[ 8754.721] Initializing built-in extension SHAPE
[ 8754.722] Initializing built-in extension MIT-SHM
[ 8754.722] Initializing built-in extension XInputExtension
[ 8754.723] Initializing built-in extension XTEST
[ 8754.724] Initializing built-in extension BIG-REQUESTS
[ 8754.725] Initializing built-in extension SYNC
[ 8754.725] Initializing built-in extension XKEYBOARD
[ 8754.726] Initializing built-in extension XC-MISC
[ 8754.727] Initializing built-in extension SECURITY
[ 8754.728] Initializing built-in extension XINERAMA
[ 8754.728] Initializing built-in extension XFIXES
[ 8754.729] Initializing built-in extension RENDER
[ 8754.730] Initializing built-in extension RANDR
[ 8754.730] Initializing built-in extension COMPOSITE
[ 8754.731] Initializing built-in extension DAMAGE
[ 8754.731] Initializing built-in extension MIT-SCREEN-SAVER
[ 8754.732] Initializing built-in extension DOUBLE-BUFFER
[ 8754.733] Initializing built-in extension RECORD
[ 8754.733] Initializing built-in extension DPMS
[ 8754.734] Initializing built-in extension X-Resource
[ 8754.735] Initializing built-in extension XVideo
[ 8754.735] Initializing built-in extension XVideo-MotionCompensation
[ 8754.736] Initializing built-in extension XFree86-VidModeExtension
[ 8754.736] Initializing built-in extension XFree86-DGA
[ 8754.737] Initializing built-in extension XFree86-DRI
[ 8754.737] Initializing built-in extension DRI2
[ 8754.737] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[ 8754.737] (II) LoadModule: "glx"
[ 8754.738] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 8754.738] (II) Module glx: vendor="X.Org Foundation"
[ 8754.738] compiled for 1.14.1, module version = 1.0.0
[ 8754.738] ABI class: X.Org Server Extension, version 7.0
[ 8754.738] (==) AIGLX enabled
[ 8754.738] Loading extension GLX
[ 8754.738] (II) LoadModule: "fbdev"
[ 8754.738] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 8754.738] (II) Module fbdev: vendor="X.Org Foundation"
[ 8754.738] compiled for 1.14.0, module version = 0.4.3
[ 8754.738] Module class: X.Org Video Driver
[ 8754.738] ABI class: X.Org Video Driver, version 14.1
[ 8754.738] (II) LoadModule: "nouveau"
[ 8754.738] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[ 8754.738] (II) Module nouveau: vendor="X.Org Foundation"
[ 8754.738] compiled for 1.14.0, module version = 1.0.7
[ 8754.738] Module class: X.Org Video Driver
[ 8754.738] ABI class: X.Org Video Driver, version 14.1
[ 8754.738] (II) FBDEV: driver for framebuffer: fbdev
[ 8754.738] (II) NOUVEAU driver
[ 8754.738] (II) NOUVEAU driver for NVIDIA chipset families :
[ 8754.738] RIVA TNT (NV04)
[ 8754.739] RIVA TNT2 (NV05)
[ 8754.739] GeForce 256 (NV10)
[ 8754.739] GeForce 2 (NV11, NV15)
[ 8754.739] GeForce 4MX (NV17, NV18)
[ 8754.739] GeForce 3 (NV20)
[ 8754.739] GeForce 4Ti (NV25, NV28)
[ 8754.739] GeForce FX (NV3x)
[ 8754.739] GeForce 6 (NV4x)
[ 8754.739] GeForce 7 (G7x)
[ 8754.739] GeForce 8 (G8x)
[ 8754.739] GeForce GTX 200 (NVA0)
[ 8754.739] GeForce GTX 400 (NVC0)
[ 8754.739] (++) using VT number 2
[ 8754.739] (WW) Falling back to old probe method for fbdev
[ 8754.739] (II) Loading sub module "fbdevhw"
[ 8754.739] (II) LoadModule: "fbdevhw"
[ 8754.739] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 8754.739] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 8754.739] compiled for 1.14.1, module version = 0.0.2
[ 8754.739] ABI class: X.Org Video Driver, version 14.1
[ 8754.739] (II) FBDEV(0): using /dev/fb1
[ 8754.739] (II) [drm] nouveau interface version: 1.1.0
[ 8754.739]
Fatal server error:
[ 8754.739] Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices
[ 8754.739]
[ 8754.739] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 8754.739] (EE) Please also check the log file at "/var/log/Xorg.1.log" for additional information.
[ 8754.739] (EE)
[ 8754.742] Server terminated with error (1). Closing log file.
One thing I attempted was using the udl kernel module. If I remember correctly, it would detect the display, but I could not get it to show any output. Not adequate, and I'd be moving backwards since I'm suspecting this is a bug in fbdev.c, not the udlfb.
One of the issues I have with a multiseat configuration (which, honestly, really is not optimal anyhow) is that whichever X display I'm not using freezes completely until it gets focus again. There's probably a workaround for this issue (I hope), but seeing as others seem to have paved the way for solutions to this problem, I can only assume the answer for true multi-monitor support lies somewhere.
Edit 1:43 AM Sunday, June 2, 2013 (EDT)
Trying this out with bumblebee and proprietary nvidia drivers (nouveau doesn't currently play well with bumblebee). For what it's worth, here's my dmesg output:
[ 2.410269] udlfb: DisplayLink Lenovo LT1421 wide - serial #6V9BBRM1
[ 2.410273] udlfb: vid_17e9&pid_03e0&rev_0108 driver's dlfb_data struct at ffff880230bb1800
[ 2.410274] udlfb: console enable=1
[ 2.410275] udlfb: fb_defio enable=1
[ 2.410275] udlfb: shadow enable=1
[ 2.410376] udlfb: vendor descriptor length:17 data:17 5f 01 0015 05 00 01 03 00 04
[ 2.410380] udlfb: DL chip limited to 1500000 pixel modes
[ 2.410436] udlfb: allocated 4 65024 byte urbs
[ 2.503239] udlfb: 1366x768 @ 60 Hz valid mode
[ 2.503245] udlfb: Reallocating framebuffer. Addresses will change!
[ 2.504482] udlfb: 1366x768 @ 60 Hz valid mode
[ 2.504488] udlfb: set_par mode 1366x768
[ 2.507644] udlfb: DisplayLink USB device /dev/fb1 attached. 1366x768 resolution. Using 4104K framebuffer memory
Here's a list of related information I've found that isn't mentioned above:
Getting Hotplugging working with a DisplayLink USB to DVI adapter, keithp, July 2012
DisplayLink on Linux, Mulchman's Blog (archive)
Dual Monitor (Multi seat) setup with Displaylink USB Montors, red
DisplayLink X server crashes, Libdlo mailing list
DisplayLink USB GPU Hot-Plugging On Linux, Phoronix, July 2012
Claims DisplayLink USB GPU hotplugging "now works properly under Linux." One year ago.
Mutli-monitor on the go, DisplayLink usb monitor, mitechie, November 2007
One of the only posts I've found where this actually is proven to work. It does not, however, work for me.
DisplayLink on Fedora Linux, nameq0, September 2011
Fedora 17 seems to have good support Pieaidie EINS!, May 2012
Somewhat relevant posts on Multiseat X:
Multiseat, X.org
MultiseatX, Ubuntu
Xorg Multiseat, Arch Wiki
Relevant Arch forum posts:
void7910 found a workaround with a separate X server and x2x
camerongray and wassy had the same problem as me, never found a solution
webdawg found a bunch of posts suggesting xrandr can detect DisplayLink. I haven't found this to be true.
gjasso got it working (linked above, no success for me)
pjoter claims he configured a DisplayLink monitor to serve as a second graphics card, but provides no details whatsoever
BurntSushi claims RandR has no multi-GPU support in January 2013 ...
Pyro2927 had success setting his USB monitor to Screen 0, which I've done myself with no success
Last edited by ndt (2013-06-02 05:46:37)
[~/.]
Offline
I've managed to get the ThinkVision to "work" with xrandr on my T431s. By work I mean I'm able to get a picture to display, but it will only redraw (update) around the cursor. I'm able to get better repaints if I mess around with the windows. Was even able to get HD video to play. This is without an xorg.conf file and without doing anything other than blacklisting udlfb and using udl.
Not sure yet if my issue is fixable.
Edit: Found this link that confirms the issue is operating system independent. http://www.displaylink.org/forum/showthread.php?t=1518 Sadly no answer yet.
Last edited by tbranyen (2013-07-10 00:47:30)
Offline
tbranyen—thanks a bunch for the post. I'm going to give that a shot, and update the wiki once I get my findings together on the matter.
Can you please tell me what kernel version you have gotten this working with, and the output of:
egrep -i " connected|card detect|primary dev" /var/log/Xorg.0.log
Also, the screen "garbage" you're seeing is an artifact of improper damage handling in the driver. I haven't discovered yet whether this is a problem with the kernel drivers or X, but the reason it occurs is this: DisplayLink manages to drive an entire display over USB by only updating pixels that are "damaged", or altered, each frame. When you initially load the screen, it spits garbage across the entire screen. On a normal display, this garbage is removed on the subsequently drawn frame. However, with DisplayLink, the graphics card does a bunch of calculations to see which frames specifically it has to change. It then sends to the USB screen data only for those particular pixels. A fairly ingenious solution, if you ask me, but when it goes wrong you see artifacts like you are describing.
In order to remove them, just maximize a window once. This will "damage" the entire screen and force it to redraw all pixels.
Edit:
I just got it working with your recommendations. It was funny, though - I had to use xrandr to offload my Intel card to the modesetting driver before I could get things functional.
$ xrandr --listproviders :(
Providers: number : 2
Provider 0: id: 0x66 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 2 associated providers: 0 name:Intel
Provider 1: id: 0x41 cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
$ xrandr --setprovideroutputsource 1 0
$ xrandr
Screen 0: minimum 320 x 200, current 1600 x 900, maximum 8192 x 8192
LVDS1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
1600x900 60.0*+ 40.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
DVI-4 connected (normal left inverted right x axis y axis)
1366x768 60.0 +
$ xrandr --auto --output DVI-4 --right-of LVDS1
That's the command list I had to use to get it working.
And then I experienced the mouse bug that you described. And maximizing a window doesn't fix it like I had hoped (as it did with udlfb). So my guess is that udl still isn't perfect.
Last edited by ndt (2013-07-10 04:14:24)
[~/.]
Offline
I've upgraded to the 3.10.0 kernel in testing which didn't change anything unfortunately. I also cloned down the latest Kernel source and inspected the log for the udl drivers and it appears they haven't been touched in some time. Are we thinking it's a faulty implementation? Should we file a bug?
Offline
Yeah I've been subscribed to the kernel dev mailing list since my original post, and I have posts with "udl" or "udlfb" in the name filtered into my regular inbox. I haven't seen anything.
I tested this out on Fedora 18, and encountered the same thing. Fedora has always been the best distro for DisplayLink because a lot of this video stuff is handled by people at Red Hat. David Airlie,, in particular, is one of the core developers. Based on his LCA 2013 presentation, it seems like he's not very focused on DisplayLink anymore!
I think the first step, before filing a bug report, would be to figure out where the bug is coming from. We need to know whether it's a kernel bug or an X bug, and if neither of us can track it down, perhaps emailing airlied or someone else who was involved in the work could help out.
[~/.]
Offline
I have a Lenovo T420 with builtin (Intel) graphics and an AOC e2251Fwu . I have tried with and without blacklisting udlfb and yet xrandr (tested both 1.4.0 and prime ) does not show up in xrandr --listproviders or xrandr -q. I am not too sure what to do with this If udlfb is not blacklisted the expected green screen appears. Regardless whether udlfb is blacklisted, there's a /dev/fb1 device, lsusb shows the device, dmesg says
[ 5.000393] udl 2-1.2:1.0: fb1: udldrmfb frame buffer device
[ 5.000403] [drm] Initialized udl 0.0.1 20120220 on minor 1
[ 5.001600] usbcore: registered new interface driver udl
but that's it.
Edit:
kernel /boot/vmlinuz26 root=/dev/sda1 init=/usr/lib/systemd/systemd ro elevator=noop i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1 acpi_backlight=vendor acpi_osi=Linux ipv6.disable=1
Linux 3.9. Would any of those cause a problem, I wonder.
Last edited by chx (2013-07-18 02:05:01)
Offline
I have a Lenovo T420 with builtin (Intel) graphics and an AOC e2251Fwu . I have tried with and without blacklisting udlfb and yet xrandr (tested both 1.4.0 and prime ) does not show up in xrandr --listproviders or xrandr -q. I am not too sure what to do with this If udlfb is not blacklisted the expected green screen appears. Regardless whether udlfb is blacklisted, there's a /dev/fb1 device, lsusb shows the device, dmesg says
[ 5.000393] udl 2-1.2:1.0: fb1: udldrmfb frame buffer device [ 5.000403] [drm] Initialized udl 0.0.1 20120220 on minor 1 [ 5.001600] usbcore: registered new interface driver udl
but that's it.
Edit:
kernel /boot/vmlinuz26 root=/dev/sda1 init=/usr/lib/systemd/systemd ro elevator=noop i915.i915_enable_rc6=1 i915.i915_enable_fbc=1 i915.lvds_downclock=1 i915.semaphores=1 acpi_backlight=vendor acpi_osi=Linux ipv6.disable=1
Linux 3.9. Would any of those cause a problem, I wonder.
Did you make any progress on this? I was thinking of purchasing the AOC E1649FWU, since *I think* people have it working with other distros. I don't think I'll bother though if it doesn't seem to do anything in Arch
Offline
I have a Lenovo T420 with builtin (Intel) graphics and an AOC e2251Fwu . I have tried with and without blacklisting udlfb and yet xrandr (tested both 1.4.0 and prime ) does not show up in xrandr --listproviders or xrandr -q. I am not too sure what to do with this If udlfb is not blacklisted the expected green screen appears. Regardless whether udlfb is blacklisted, there's a /dev/fb1 device, lsusb shows the device, dmesg says
...
but that's it.
Edit:
...
Linux 3.9. Would any of those cause a problem, I wonder.
Do you have an xorg.conf? I had to delete mine before xrandr would detect the USB monitor. Also, have you tried something like
$ xrandr --setprovideroutputsource 1 0
which, in my tests, somehow forced xrandr to detect the second display. Come to think of it, this is probably a bug as well, but (much like damage problem) I am not really sure how to report it.
Last edited by ndt (2013-07-25 21:58:45)
[~/.]
Offline
Nevermind, see next post.
Last edited by chx (2013-07-26 10:28:33)
Offline
tl;dr: Just
pacman -S xf86-video-modesetting
and it works out of the box.
SOLVED! I am watching /var/log/Xorg.0.log as I plug in and I see:
[ 916.948] (II) config/udev: Adding drm device (/dev/dri/card1)
[ 916.948] (II) xfree86: Adding drm device (/dev/dri/card1)
[ 916.948] (II) LoadModule: "modesetting"
[ 916.949] (WW) Warning, couldn't open module modesetting
[ 916.949] (II) UnloadModule: "modesetting"
[ 916.949] (II) Unloading modesetting
[ 916.949] (EE) Failed to load module "modesetting" (module does not exist, 0)
[ 916.949] xf86: found device 1
[ 916.950] removing GPU device /sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.1/2-1.1:1.0/drm/card1/card1-DVI-I-2 (null)
Installed xf86-video-modesetting and now providers contain the displaylink device!
➜ system git:(8.x) ✗ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x49 cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 2 outputs: 8 associated providers: 0 name:Intel
Provider 1: id: 0x13c cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 name:modesetting
➜ system git:(8.x) ✗ xrandr --setprovideroutputsource 1 0
➜ system git:(8.x) ✗ xrandr|grep -B1 1080
DVI-2 connected (normal left inverted right x axis y axis)
1920x1080 60.0 +
Now it works. There's a hint about this on http://www.h-online.com/open/features/K … tml?page=3
The recently unveiled X Server driver xf86-video-modesetting can be used with the udl KMS-driver;
Last edited by chx (2013-07-26 11:40:59)
Offline
Yeah I saw some redraw weirdness when started but switching windows solved it. Dragging windows is superb slow in KDE But, I never move my windows (most of them are full screen or half screen anyways).
The next step, now that the monitor weight is down (compared to my old Samsung LD220 which I used over VGA) is to get it inside a carry on bag. Stay tuned I will post that on flyertalk though and not here.
Last edited by chx (2013-07-27 18:00:01)
Offline
Cool, that's good to know that modesetting is required (I already had it, so that explains why it just worked for me). What do you mean by out-of-the-box? Do you still have to --list-providers and set the output source manually?
Offline
Well, in my haste at seeing all the success, I went and bought an AOC 16-inch DisplayLink monitor. Unfortunately, it's not working as smoothly as the 22-inch model.
This is what I see when I load the udl module and unload the udlfb module:
Interesting bands. I can execute all the commands as chx did, and get DVI-0 to appear in xrandr... but when I set it to be a second monitor using:
xrandr --output LVDS --mode 1366x768 --pos 0x0 --output DVI-0 --mode 1366x768 --pos 1366x0
Nothing happens on the AOC monitor
Interestingly enough though, if I start up the computer with the monitor plugged in, it will display some of the startup text on it, and then either switch to the other monitor (leaving everything intact on the AOC monitor) or just cause my primary monitor to not show anything at all (I'm guess it's defaulting to the AOC and then getting stuck...).
Any ideas on this one?
Last edited by Ownaginatious (2013-07-28 06:25:34)
Offline
Anyone? I find it hard to believe this was a hot topic, and then everyone involved ran away precisely when I posted my issue...
Offline
Unloading udlfb in my experience is not enough. I needed to blacklist the thing and reboot.
Offline
I got my DisplayLink-DVI working easily after following your instructions and the updated wiki. To summarize what I did:
$ sudo vim /etc/modprobe.d/displaylink.conf
$ cat /etc/modprobe.d/displaylink.conf
# Do not load the 'udlfb' module on boot.
blacklist udlfb
$ sudo pacman -S xf86-video-modesetting
$ sudo systemctl reboot
# Plug in my monitor, it shows up with a black screen
$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x4a cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs
Provider 1: id: 0xec cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 0 n
$ xrandr --setprovideroutputsource 1 0
$ xrandr --listproviders
Providers: number : 2
Provider 0: id: 0x4a cap: 0xb, Source Output, Sink Output, Sink Offload crtcs: 3 outputs: 8 associated providers: 1 name:Intel
Provider 1: id: 0xec cap: 0x2, Sink Output crtcs: 1 outputs: 1 associated providers: 1 name:modesetting
$ arandr # DVI-0 shows up and is usable
Offline
Yes! It works! Getting xf86-video-modesetting installed was the key here.
Last edited by lkraav (2013-08-04 22:13:59)
Offline
@lkraav and @mikemintz are you guys both getting the refresh issue where it doesn't repaint windows correctly? Or are your displaylink monitors working correctly?
Offline
@lkraav and @mikemintz are you guys both getting the refresh issue where it doesn't repaint windows correctly? Or are your displaylink monitors working correctly?
I've had the repaint issue happen twice in 4 days, and it was resolved each time by maximizing and restoring a window on that monitor.
Offline
Thanks for the hints. In addition to removing xorg.conf, I had to remove 20-intel.conf as well, for the second provider to show up.
Rotate is still broken though (same as before when using xorg.conf to set the display). After attempting to rotate the displaylink device, every xrandr command (that sets some options) results in
XRandR failed:
XRandR returned error code 1: X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 7 (RRSetScreenSize)
Value in failed request: 0x0
Serial number of failed request: 43
Current serial number in output stream: 44
Offline
Any updates on this? I tried waiting a few kernel versions to see if anything would change to make my AOC 1649Fwu monitor work, but I'm still experiencing pink and blue horizontal bars, and nothing else when I follow the steps listed above . My computer things there is a monitor at DVI-0, and I can set xrandr/arandr to use it... but it doesn't show anything
Offline
Ownaginatious: Personally I haven't had much luck with this thanks to the repaint problems. My windows are so corrupted that it's barely usable.
However, since xrandr is seeing your monitors, try using arandr and enabling the screen and placing them side-by-side. I find it's generally much harder to mess up positioning screens when you do it this way.
[~/.]
Offline
Hi guys,
I use OpenSuse myself but it took me several days to figure this out so I wanted to let you know:
To fix the redraw issue you have set a new mode for the DisplayLink device using xrandr (I have a thinkvision):
I used the following commands, I used 59.9 as a refresh rate because my main monitor uses this, but not sure if that's necessary:
gtf 1366 768 59.9
returns
Modeline "1368x768_59.90" 85.72 1368 1440 1584 1800 768 769 772 795 -HSync +Vsync
then to create the new mode using the output of gtf:
xrandr --newmode "1368x768_59.90" 85.72 1368 1440 1584 1800 768 769 772 795 -HSync +Vsync
Add mode to displaylink device (in my case DVI-0):
xrandr --addmode DVI-0 1368x768_59.90
Enable the displaylink device using your normal display manager, and use the newly created mode.
I have to put the displaylink device on the left side, position all monitors absolute, and keep a spacing of 100-200 pixels between the monitors, else the desktop is spanned across the screens. Now I can drag windows from and to every screen and it works perfect
That's it!
Regarding the colored bars: the above might also help, but maybe you first need to offload the DisplayLink to the main GPU and blacklist the udlfb module:
xrandr --setprovideroutputsource 1 0
Last edited by milans (2013-09-05 16:40:22)
Offline
Milans,
Thank you. You supplied me with the final piece of the puzzle, and I have gotten my ThinkVision monitor working 100% with settings as described.
I didn't have to do anything fancy with making the screens 100px apart or putting the ThinkVision on the left side - but the modeline did the trick. You have my fullest gratitude.
Last edited by ndt (2013-09-06 02:49:25)
[~/.]
Offline