Score:0

External Monitors are working on login screen but not detected after login

cn flag

The title describes my problem, and my question is what should do to fix it?

I have the same trouble no matter if I connect the monitors through a different types of cable or through a docker.

I have a dual boot system, one of them is Ubuntu 18.04. The login screen appears correct as I can choose the user and enter the password on the primary screen, the other screen(s) is also on. Then after successful entry, the external monitors go blank and are not detected.

I have tried many forum posts or issues that seem to be relevant, but none of them worked.

I deleted Nvidia drivers and install them back, I uninstalled DisplayLink drivers and install them back. I have tried few different Nvidia drivers, however, I was not able to solve it.

I hope somebody can direct me to a resource.

Score:0
ca flag

It used to be working fine, then I faced the same issue. But before facing this particular issue, the screens started not working AT ALL.

I switched to Xorg from Wayland because of the issue "Wayland: maximized windows extend under panels after screen blanking". I happened to have upgraded my Kernel at the same time. Hence, I am not sure what triggered what. It was working, then I installed the new Kernel, then I logged off and selected Xorg, and then it wouldn't work anymore. I tried rebooting and chosing Wayland again - wouldn't work. From experience, I presume the error started to occur after I upgraded the Kernel (I am on Debian bullseye - and I upgraded to 5.10.0.23-amd64), it probably has nothing to do with the switch to Xorg.

How did I solve it?

First I noticed that evdi did not build correctly. It said something like:

Building module:
cleaning build area...
make -j16 KERNELRELEASE=5.10.0-23-amd64 all INCLUDEDIR=/lib/modules/5.10.0-23-amd64/build/include KVERSION=5.10.0-23-amd64 DKMS_BUILD=1...(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.10.0-23-amd64 (x86_64)
Consult /var/lib/dkms/evdi/1.13.1/build/make.log for more information.
ERROR: Failed to install evdi/5.10.0.23 to the kernel tree.

Then /var/lib/dkms/evdi/1.13.1/build/make.log said:

ERROR: Kernel configuration is invalid.";   \
echo >&2 "         include/generated/autoconf.h or include/config/auto.conf are missing.";\
echo >&2 "         Run 'make oldconfig && make prepare' on kernel src to fix it.";  \
echo >&2 ;              \

I tried reinstalling the header using sudo apt install --reinstall linux-headers-$(uname -r) - but it didn't help at all.

I ended up doing:

# uninstall displaylink, dkms, evdi - keep linux-headers, then:
cd /usr/src/linux-headers-5.10.0-23-amd64
sudo make oldconfig
sudo make prepare

Then I reinstalled displaylink, using the displaylink-debian project because I use Debian (use the official Ubuntu method in case you use Ubuntu):

git clone https://github.com/AdnanHodzic/displaylink-debian.git
cd displaylink-debian
sudo ./displaylink-debian.sh --install

I didn't see any error related to evdi during installation, like before. And running sudo ./displaylink-debian.sh --debug showed that evdi was correctly installed correctly, and running!

But, I finally ran into the issue the OP experienced.

It turns out it was a configuration problem.

sudo ./displaylink-debian.sh --debug was showing that evdi was installed correclty, but only 1 screen was detected.

I decided to do the following:

sudo rm /etc/X11/xorg.conf.d/20-displaylink.conf
# reboot the system

Now, when doing sudo ./displaylink-debian.sh --debug it detected 5 screens! But it didn't show anything in the Displays settings of Gnome! And the screen only turned on at the login page, like the OP!

Finally, it was easy. I followed instructions from displaylink-debian project (be careful, follow the instructions adapted to your own needs, I only copy-paste the one I used for my own use-case):

# Personally, I have two screens!
xrandr --listproviders
xrandr --setprovideroutputsource 3 0
xrandr --setprovideroutputsource 4 0
xrandr --listproviders

After the last xrandr --listproviders, Provider 0 should show X associated providers with X > 0 (X = 2 in my case).

And then the Displays section in Gnome was showing the screens, I could just activate them!

When you reboot, the screens will not be detected and you will have to re-do the xrandr association. To do it on startup, create /etc/X11/Xsession.d/45custom_xrandr_settings with the following content (adapt to your specific needs):

xrandr --setprovideroutputsource 3 0
xrandr --setprovideroutputsource 4 0
Score:0
cn flag

After installing lubuntu-desktop by

sudo apt-get install lubuntu-desktop

Then in the login screen changing the desktop environment to lubuntu made the monitors work. Then I logged off and logged back in choosing the Ubuntu or Ubuntu Wayland works.

This solved the issue for me, so I am putting it as an answer, although it is not a solid solution.

mangohost

Post an answer

Most people don’t grasp that asking a lot of questions unlocks learning and improves interpersonal bonding. In Alison’s studies, for example, though people could accurately recall how many questions had been asked in their conversations, they didn’t intuit the link between questions and liking. Across four studies, in which participants were engaged in conversations themselves or read transcripts of others’ conversations, people tended not to realize that question asking would influence—or had influenced—the level of amity between the conversationalists.