Blank screen after resume if using Nvidia on Lenovo P53

54 views
Skip to first unread message

John Doe

unread,
Apr 14, 2020, 5:02:50 PM4/14/20
to qubes...@googlegroups.com
Hello,
I have Lenovo P53 with Nvidia+Intel GPU and I have various troubles depending on the configuration.

First, I need to use a more recent kernel than the default one in order to make touchpad and trackpoint working:

Linux dom0 5.5.9-1.qubes.x86_64 #1 SMP Sun Mar 15 05:53:26 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

With this kernel, I have some other issues that depend on the GPU I select in BIOS. With this kernel:

a. When I choose Intel+Nvidia combo, I get random freezes. Sometimes, the system works several hours, sometimes it freezes much sooner, even during the boot. If you have some idea how to resolve this, I am OK with using this option (i.e. probably just Intel all the time). But I do not want to much debug it, because it is pain, as the behaviour looks quite non-deterministic. Note that I need also HDMI to work, but I am not 100% sure about this combination.
b. When I choose just Nvidia, the system works with Nouveau driver quite well until I suspend it. When I resume, it deterministically (with rare exceptions) keeps the screen blank, even without any blacklight. HDMI-connected screen is also affected. It however seems that it is just the graphical output and the laptop works otherwise; For example, I can press Ctrl+Alt+F2 and then Ctrl+Alt+Del to reboot the machine.

Adding nouveau.modeset=0 to the kernel commandline changes nothing but the rendering performance. That is, I see a blank screen with this kernel option after resume. With this option, nouveau kernel module is loaded, but apparently not used, because I can rmmod nouveau. Anyway, running rmmod nouveau does not seem to change the resume behavior.

Do you have any idea how to fix that or what the cause is?


-----------------
Hardware info:

$ cat /proc/cpuinfo  | grep 'model name' | head -n1
model name : Intel(R) Core(TM) i7-9850H CPU @ 2.60GHz
$ sudo lshw -C display
  *-display                
       description: VGA compatible controller
       product: NVIDIA Corporation
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:01:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
       configuration: driver=nouveau latency=0
       resources: irq:184 memory:ed000000-edffffff memory:c0000000-cfffffff memory:d0000000-d1ffffff ioport:2000(size=128) memory:c0000-dffff



John Doe

unread,
Apr 19, 2020, 5:15:07 PM4/19/20
to qubes...@googlegroups.com
Hello,
my previous message does not seem to have appeared, maybe it has been flagged because of some links.

Anyway, I have successfully compiled kernel by notset, but it does not seem to change anything for NVIDIA.

John Doe

unread,
Apr 21, 2020, 6:07:57 AM4/21/20
to qubes...@googlegroups.com
Hello,
I would like to add few updates:

  1. I have created a simple script that simplifies entering some commands blindly from a TTY: https://pastebin.com/r0wszSLJ
  2. I have realized that rmmod and modprobe of nouveau can help, but it has to be done twice and there are some other dependencies (vtcon1 and X11):

    sudo systemctl stop lightdm
    echo 0 | sudo tee /sys/class/vtconsole/vtcon1/bind
    sudo rmmod nouveau
    sudo modprobe nouveau
    echo 1 | sudo tee /sys/class/vtconsole/vtcon1/bind
    sudo systemctl start lightdm
    # Do it once more

    Also, it has some other drawbacks than having to reboot X11. It requires me to restart the VMs in order to be able to interact with their GUI. (This looks like some X11 crash.)
  3. I have updated kernel to 5.6.4-1.qubes. When I use Nvidia, there seem to be no change. But when I use Intel, it does not seem to freeze now. (At least not yet.) But I am not sure if it really helps. It works mostly well if I don't need HDMI, which is probably handled by NVIDIA. There are two issues with HDMI. First is blank screen after resume from sleep. The second one is that it shows just part of the picture - cursor and sometimes bakcground are shown, but windows are not shown.

    I conclude that even if Intel can work well, it is the harder way, because HDMI seems to be connected through NVIDIA. So, using just NVIDIA is likely easier, because it is just a single card.
  4. I also have seen Frédéric Pierret resolving issues with Nvidia by some kernel patches: https://groups.google.com/for0um/#!topic/qubes-users/Z2S8Fhry8FU . Maybe using some of those kernels could help. I can either compile them myself or download binary releases. But how to prove that it comes from a member of Qubes Team?

    a. Compile from sources and verify the sources. The veritication is rather easy (well, except that some commit is not signed), but I am not sure about the compilation. I was able to get vmlinux file, but I don't feel like putting the file path in /boot and adjusting xen.cfg while keeping the initramfs...
    b. Download the binaries. Cool, but how do I check the signature? Frédéric seems to use a different key, so I cannot verify it.




Reply all
Reply to author
Forward
0 new messages