0

When using a freshly imaged uSD card with Raspbian in my Raspberry Pi 4, after initial splash screens for setup/autoconfigure, I'm left with a black screen, with the text cursor blinking in the top left.

I can access and view/use TTYs fine (e.g. ctrl+alt+F2). If I restart the display manager, sudo service lightdm restart, it takes me back to the aforementioned black screen.

Setup

  • Raspberry Pi 4b (2GB RAM)
  • running Raspbian (Debian Bullseye)
  • with a DisplayLink monitor (either UM1000 Mimo Magic Monster, or the newer UM-1080C-G-NB Mimo Vue Touch Monitor) (USB port on the Pi does not seem to matter)

Some of the testing done

On another SD card, I was able to load and try various flavors of Ubuntu. These "just work", albeit are extremely slow and not really usable on this 2GB model. So I know the hardware is good/compatible. I've also used both of these screen models extensively for years on "regular" computers running Ubuntu 14 and 20.

In addition to restarting lightdm, I also tried running startx from the TTY. No change there.

This round of testing... is a repeat of similar testing I did about 6 months ago with an RPi 3b+ and had the same issues, which prompted my ordering the RPi 4. So this issue probably also applies to Raspbian on the 3b+.

2 Answers 2

0

In my case, the credit goes to this blog post for putting me on the right path. It seems that Raspbian is missing something (that must exist in Ubuntu-likes) to auto-define to X11 to use (and how) the screen.

That led to me creating the file /etc/X11/xorg.conf with the contents below. I believe this should work for just about any DisplayLink screen + Raspbian, verbatim. The only thing that might need to be tweaked is the /dev/fb0 path. If it's a second screen, it might be /dev/fb1, for example. Just check the output of ls /dev/fb* before/after unplugging to figure out.

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

Section "Device"
  Identifier "DisplayLinkDevice"
  Driver "fbdev"
  Option "fbdev" "/dev/fb0"
EndSection

Section "Monitor"
  Identifier "DisplayLinkMonitor"
EndSection

Section "Screen"
  Identifier "DisplayLinkScreen"
  Device "DisplayLinkDevice"
  Monitor "DisplayLinkMonitor"
EndSection

Section "ServerLayout"
  Identifier "Server Layout"
  Screen 0 "DisplayLinkScreen" 0 0
EndSection

Upon rebooting, voila, I was at the login screen, and able to log in.

Miscellany

Contrary to the introudction in the blog post I linked above, my impression is that DisplayLink support has been baked into Linux for years, so the only thing needed, fortunately, is this xorg.conf file. No extra drivers need to be installed/enabled.

One thing I noted along the way: I tried enabling Wayland in raspi-config to see if that would help. I still had that enabled when I added the above solution. This led to the following symptom: I got to the login greeter, but logging would quickly fail and return me to login, repeatedly. Disabling Wayland fixed this.

Side note: While I've been aware of the concept of making a xorg.conf file manually, I thought it was an outdated approach from the past, and resisted learning to do it. In this case, it ended up being pretty trivial, thankfully. I've been spoiled by Linux displays mostly just working for the past several years.

0

I got USB DisplayLink display, and after using config by Gertlex I got green screen instead desktop...

Go to solution paragraph if you not interested in backstory :D

Backstory

I got for few dolars used display for POS systems, it have Powered USB connector but this is just a USB and additional pins with 5/12/24V (depends on key in socket/plug - fixing for me a normal USB cable+12V power adapter is easy-peasy), inside is DisplayLink DL125 chip connected directly to 7" 800x480px LCD panel...

After entering config in /etc/xorg.conf.d/20-displaylink.conf from https://raspberrypi.stackexchange.com/a/138090/112073 by Gertlex I got green screen instead of desktop...

After tinkering with config & google-fu for 2 days, I remembered that I read somewhere that one of udl kernel driver (for DisplayLink devices) should be blacklisted otherwise is used other one that don't work...

Solution

Use config https://raspberrypi.stackexchange.com/a/138090/112073 by Gertlex (e.g. create file /etc/xorg.conf.d/20-displaylink.conf with it)

Blacklist udlfb kernel module, create file: /etc/modprobe.d/udlfb.conf with content: blacklist udlfb (one line)

Change Wayland to disable in raspi-config like Gertlex mention in his post.

Reboot Pi. This should do the trick and display now should work.

I tested this on RPi4 with 2023-05-03-raspios-bullseye-arm64.img.

2
  • So you need to use X11 instead of Wayland, and ensure the udlfb driver does not take the device so it can be a simple frame buffer? This is probably quite slow to update. :-/ Commented Apr 6 at 9:27
  • depends on use, usually you don't use usb displays to play 4k 60fps ;-) movies. In my case I have 7" pos displays (with usb2.0) and with even 2-3fps I'm fine (it have more fps tho). In latest raspios with wayland it's plug-n-play but moving cursor around desktop leaves ghosts on display (on Rpi5 more, rp4 a much less).
    – saper_2
    Commented Apr 13 at 10:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.