Black screen on Lenovo D330 with Debian 10
Greetings,
I recently bought this convertible laptop, and I frequently get a black screen during boot or after login. I have Debian 10 installed, and I've tested three different kernels:
- Debian 10 default kernel 4.19 (almost usable with some xrandr tricks)
- Debian 10 backports kernel 5.4.0 (almost usable with some xrandr tricks)
- Self-compiled kernel 5.5.4 (almost unusable)
The problem resembles these bugs: https://bugs.freedesktop.org/show_bug.cgi?id=109267 #368 (closed) Possibly related to: https://bugs.freedesktop.org/show_bug.cgi?id=108826
My laptop is: Lenovo D330 (convertible laptop) Touch screen 1280x800 00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 605 (rev 03) Disk 64 Gt, RAM 4 Gt, WLAN, SIM card slot for LTE
Detailed description of boot process and problem:
Grub screen always shows up correctly. Linux loading starts correctly. After that, display turns sideways so that text rows flow from left to right (when machine is in laptop mode, keyboard attached). This seems to be the "native" or "normal" direction of the screen (also xrandr -o normal turns the display to this "non-laptop" orientation).
When Linux is starting, the first texts show several acpi errors, all saying that "object already exists". Soon after that, I get the luks password prompt. At this point, the display often goes black, with backlight on. It seems there a display mode change just before this prompt. Sometimes the display stays on, and I type the luks password.
Then I usually get the graphical login screen (lightdm, xorg). But sometimes I get black screen with backlight on. When I login at lightdm, I sometimes get a normal desktop, and sometimes the black screen.
I made several keyboard shortcuts for rotating the screen (xrandr) and changing to different graphics modes. If I manage to manage to log in and get a black screen, I can always get a working screen by rotating the screen a few times IF I'm using the Debian backports kernel: 5.4.0-0.bpo.2-amd64 #1 (moved) SMP Debian 5.4.8-1~bpo10+1 (2020-01-07) x86_64 GNU/Linux
I also tried to compile the kernel 5.5.4 for Debian 10. With 5.5.4, I almost never get a graphical desktop display. I sometimes (maybe 10% of the time) I get the graphical login screen, but after that, I get the black screen, and the rotating tricks don't work.
So, with Debian 10 and backports kernel 5.4.0, the machine is usable (with tricks), but with 5.5.4, it is very hard to get a graphical desktop.
One interesting thing (is it a separate issue?): If brightness is 0 and I rotate screen, backlight goes to maximum. If brightness is 1 and I rotate, backlight stays at 1. As a workaround, I set the brightness to 1.
Even more details: This sequence often gives me a working screen (with backports kernel): xrandr --output DSI-1 --off xrandr --output DSI-1 --mode 800x600 xrandr --output DSI-1 --mode 800x1280
If I change to 800x600 and I get a visible screen, changing to 1280x800 practically always works.
Thanks a lot for reading this :)
Here is how I compiled the 5.5.4 kernel:
- Downloaded linux-5.5.4.tar.xz
- Removed a couple options from default .config (without this step I got an error that kernel can't be signed)
- Compiled it for debian (make deb-pkg)
- Installed to a Debian 10 system: dpkg -i linux-image-5.5.4_5.5.4-1_amd64.deb
- I got some warnings about missing firmware. I downloaded the firmware files and installed them.
- Turned secure boot off
- Booted with kernel 5.5.4
With best regards, Tomi K.