Get DisplayLink to work on Lenovo Y700 after upgrade to Debian Buster

Hardware

Laptop:
  • Lenovo Ideapad Y700
Graphics cards (in my system, they are configured to work in hybrid mode):
  • GeForce GTX 960M – NVIDIA Corporation GM107M (rev ff)
  • Intel Corporation HD Graphics 530 (rev 06)
Docking station with DisplayLink support:
  • ThinkPad Basic USB 3.0 Dock, Model No. DL3700-ESS
    It is connected to the laptop via an USB3 port and has its own power supply.

Using the NVIDIA graphics card

The following point is probably irrelevant to DisplayLink usage and problems. However it is part of my environment and I mention it for completeness sake.

The laptop is configured, as instructed by https://wiki.debian.org/Bumblebee, to work with the Intel graphics card. The NVIDIA card is used by applications running under optirun. I had to modify /etc/bumblebee/bumblebee.conf to use KernelDriver=nvidia-current rather than KernelDriver=nvidia.

Connecting two additional displays to the laptop

To install the appropriate driver:

  • git clone https://github.com/AdnanHodzic/displaylink-debian.git
  • Follow the instructions in README.md

When everything works properly, three displays are identified by xrandr -q | egrep axis as follows:

  • eDP-1 – laptop’s display
  • HDMI-1 – external display connected via laptop’s HDMI port
  • DVI-I-1-1 – external display connected via DisplayLink on docking port

Note that those displays could have different identifiers (such as DP1 or eDP1) in your system.

After starting the X-Window, configure the displays using:

  1. xrandr –output HDMI-1 –primary
  2. xrandr –output eDP-1 –mode 1360×768 –right-of HDMI-1
  3. sleep 1     # without it, the following display was not properly configured.
  4. xrandr –output DVI-I-1-1 –left-of HDMI-1

You probably want to add those commands to your ~/.xinitrc.
I chose the 1360×768 mode to have the same DPI in all attached displays.

Problems when upgrading from Debian 9 (Stretch) to Debian 10 (Buster)

The above setup worked under Debian 9 (Stretch).
However, after upgrade to Debian 10 (Buster) following the instructions in Release Notes for Debian 10 (buster), 64-bit PC, chapter 4, either the X-Window server did not work or the display connected via the docking station exhibited misconfiguration.

I got it to work as follows:

  1. Update your displaylink-debian clone to the most recent commit using
    git pull
  2. If the most recent commit did not work for you, try:
    git checkout fcb6ce5bc36c774af2d7f792842bcd2ede9c7483
    as this commit worked for me after performing the following steps.
  3. Reinstall the driver by running displaylink-debian.sh and following the instructions in README.md.
  4. Finally, replace the contents of the file /etc/X11/xorg.conf.d/20-displaylink.conf, installed by the above instructions by the following:
    Section "ServerLayout"
        Identifier "layout"
        Screen 0 "Intel Graphics"
        Inactive "nvidia"
    EndSection
    
    Section "Device"
        Identifier "intel"
        Driver "modesetting"
        Option "PageFlip" "false"
        Option "AccelMethod" "None"
    EndSection
    
    Section "Screen"
        Identifier "intel"
        Device "intel"
    EndSection
    
    Section "Device"
        Identifier "nvidia"
        Driver "nvidia"
        Option "ConstrainCursor" "off"
    EndSection
    
    Section "Screen"
        Identifier "nvidia"
        Device "nvidia"
        Option "AllowEmptyInitialConfiguration" "on"
        Option "IgnoreDisplayDevices" "CRT"
    EndSection
    
    Section "Device"
        Identifier "Intel Graphics"
        Driver "modesetting"
        Option "VSync" "false"
    EndSection
    
    Section "Screen"
        Identifier "Intel Graphics"
        Device "Intel Graphics"
    EndSection
  5. You need to restart the X-Server (I restarted the entire laptop to be on the safe side).

See GitHub issue: AdnanHodzic/displaylink-debian, Debian buster #308 for a similar bug report.

Credits

I wish to thank Boris Shtrasman for reviewing a draft of this post and providing a lot of feedback. Of course, any remaining inaccuracies in this post are my sole responsibility.

Author: Omer Zak

I am deaf since birth. I played with big computers which eat punched cards and spew out printouts since age 12. Ever since they became available, I work and play with desktop size computers which eat keyboard keypresses and spew out display pixels. Among other things, I developed software which helped the deaf in Israel use the telephone network, by means of home computers equipped with modems. Several years later, I developed Hebrew localizations for some cellular phones, which helped the deaf in Israel utilize the cellular phone networks. I am interested in entrepreneurship, Science Fiction and making the world more accessible to people with disabilities.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.