Sounds a bit like this:
[url]https://devtalk.nvidia.com/default/topic/1054978/linux/ubuntu-boot-delayed-by-30s-due-to-non-functional-rtx2060-usb-controller/post/5347888/#5347888[/url]
Does that model have an usb-c connector?
Thanks, it works for me.
PopOS have the same kludge: https://github.com/pop-os/distinst/blob/master/crates/hardware/src/blacklist.rs
Hi guys, I’ve been looking at this issue for a while and am wondering whether the solution to our problem might be simpler than we even realize. I’ve been reading some documentation from NVIDIA in regards to install their GPU driver from scratch (rather than using the automated installation procedures available in many distributions) and noticed this little gem:
Each of these files needs to be installed to their intended target location as root, e.g.:
sudo install /usr/share/doc/NVIDIA_GLX-1.0/samples/systemd/nvidia-suspend.service /etc/systemd/system
sudo install /usr/share/doc/NVIDIA_GLX-1.0/samples/systemd/nvidia-hibernate.service /etc/systemd/system
sudo install /usr/share/doc/NVIDIA_GLX-1.0/samples/systemd/nvidia-resume.service /etc/systemd/system
sudo install /usr/share/doc/NVIDIA_GLX-1.0/samples/systemd/nvidia /lib/systemd/system-sleep
sudo install /usr/share/doc/NVIDIA_GLX-1.0/samples/systemd/nvidia-sleep.sh /usr/bin
The NVIDIA systemd services then need to be enabled:
sudo systemctl enable nvidia-suspend.service
sudo systemctl enable nvidia-hibernate.service
sudo systemctl enable nvidia-resume.service
The reason I found this interesting is because in my disgust with the way the NVIDIA chip handles sleep, I decided to completely disable sleep using the “sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target” command. As ridiculous as this might sound, I get the impression that NVIDIA doesn’t automatically enable these services for us and that we have to first mask Linux’s own sleep, suspend, hibernate and hybrid features and then enable the NVIDIA ones using the command above. From what I read, the NVIDIA chip has some sort of a delay which Windows handles properly but Linux doesn’t. As such, forcing the system to go through NVIDIA’s hoops might solve everything.
I don’t have my Linux machine in front of me at the moment but what I was planning to do was to keep the suspend features masked with the command I pasted above, enable the NVIDIA features I pasted in the code block, restart and see whether the option to “sleep” is suddenly restored (it should be hidden considering how I never unmasked the function). If it is, that would indicate to me that suspend.target and nvidia-suspend.service don’t refer to the same thing and the functionality should theoretically work but I’m only operating on a hunch here.
hi thanks for sharing that information, did you have the chance to test eventually?
It seems that my theory was incorrect. It turns out that enabling the services is something you can do if you install the driver manually but the software itself is simply unavailable if the driver is installed automatically by the operating system. This leads me to believe that there is a possibility that if every one of us who has a problem decided to install the driver manually rather than rely on Ubuntu or a PPA, we might actually solve the issue once and for all.
I’ll have to try it eventually.
I found a solution which should work for everyone: https://devtalk.nvidia.com/default/topic/1070352/linux/solution-for-nvidia-sleep-wake-issue/post/5422587/#5422587
with that one, it won’t boot for me
nvidia: module license ‘NVIDIA’ taints kernel.
nvidia behaves so horrible on Linux i’ve to switch to Windows, and next time, take CPU with integrated graphics and simply accept slower speeds of gaming and rendering, rather than running an expensive monster with unbelievable consumption (where will they stop? 500watts? 1000watts? no efficiency whatsoever?)
Here are the issues on Linux:
- blackscreen on boot or even screen turn off before suspend takes place
- blackscreen on resume
- firefox framerate drop on resume → ugly scrolling
- kwin broken on resume, particular windows empty (settings and firefox, on any DE)
- IRQ, spurious, i2c disgusting errors making boot and shutdown look ugly
- difficult to reach sensors
- stutters in kwin desktop animations
- system freeze on Wayland session
- system freeze with famous Xid 61 error
in Windows:
- enable GSync makes particular Windows blink fast
thanks a lot.
I went back to Windows as well. It bugs me not to be able to sleep my computer, but it was particularly annoying to discover that my framerate in Civ 6 drops by 2/3 if I choose to stick to Linux. Until I get a computer which either uses an AMD GPU or an integrated one, I won’t touch it again. NVIDIA clearly doesn’t care to resolve this issue as I’ve had it since at least 2010.
I’m having same issue. MSI Laptop, When it suspends using NVIDIA either 450 or 440 it opens up to a blank screen. I have to hard reboot.
I just switched back to using the nouveau driver which works fine, albeit slower. I sure wish NVIDIA would look into these problems and at least provide workaround. Future laptop will be a consideration. Going to look into AMD.
Operating System: Kubuntu 20.04
KDE Plasma Version: 5.18.5
KDE Frameworks Version: 5.68.0
Qt Version: 5.12.8
Kernel Version: 5.4.0-48-generic
OS Type: 64-bit
Processors: 8 × Intel® Core™ i7-4810MQ CPU @ 2.80GHz
Memory: 15.6 GiB of RAM
~$ hwinfo --gfxcard --short
graphics card:
nVidia GK104M [GeForce GTX 870M]
Intel 4th Gen Core Processor Integrated Graphics Controller
Primary display adapter: #12
Encountered this as well on Ubuntu 20.04 kernel 5.8.0 with an RTX 3600 TI straight from a fresh install.
Tried most solutions here, but none seemed to work.
However, I found that if you unplug and plug back in again the HDMI cable when you wake your system from suspend makes it recover properly. I will be using this as a workaround, but I must admit it’s rather inconvenient.
Looking forward to a driver update.
here’s my update after halfa year:
Linux still has all issues, despite patches e.g. Firefox becomes blank after resume. Black screen after resume, need to turn off/on monitor and pray. Audio sometimes delayed by 30sec (great for gaming). This OS is just unusable and it’s fascinating to watch the slow progress there. You get tons of package updates daily, and see literally nothing changes.
Since I moved to Windows, guess what secretly followed me. This freezing issue. By the end of previous year, the freezing terror escalated and been getting even 10 freezes per day with any driver. During teleconferences, lovely. Having forgot about “Linux XID” completely and thanks to zero transparency of Microsoft (almost nonexistant logs or events generally), I was desperately trying fixes related to CPU or MOBO. Before switching from AMD to Intel for a loss, as a last effort, I did make a long checklist of tweaks to replay. All those CPU c-states, link state power management, various BIOS tweaks from the internet. Then I recalled the nvidia-smi tweak, and added it as the last item. Only this tweak stopped the permanent freezefest. To confirm, i switched it off, and a freeze hit within hour. So this is cool. I assume to still get freezes, but more rare.
After such long period of time since your post, there are still zero GPUs available on market, so there’s no definite escape! No "x"idding, freezes are here to stay:)
I have the same problem and find SOLUTION.
Short answer, whats happens - in resume process Linux (+systemd) forget to turn on monitor. So to solve problem only just need to turn on monitor.
Short solution (fast test is it helps for you or not)
Ctrl+Alt+F1, you see login prompt, login as normal user (not root) and do (one line command):
chvt 7 ; sleep 3; xrandr --display :0.0 --auto
Long solution
Install 360 driver and install all nvidia-*.service & install /usr/bin/nvidia_sleep.sh
Install 470 driver (which does not contains this systemd services in /usr/share/doc/nvidia-* folders).
Edit /usr/bin/nvidia_sleep.sh
and in resume section after chvt command add under your xserver user:
sleep 3; xrandr --display :0.0 --auto
Also need to add root (may be other) as XServer user, so under your working XSession you need to allow root to execute xrandr:
edit /etc/X11/xinit/xinitrc and add:
xhost +localhost
or
xhost +root@localhost
check it works:
sudo su -l xrandr
should work.
Long explanation (for NVidia)
Asus N550JK, NVIDIA GeForce GTX 850M, XUbuntu 20.04, NVidia card in performance mode. No special keys in kernel boot parameters (except resume, for hibernation)
I have few years installed XUbuntu 16 & 18 WITHOUT such kind problems (but with complex suspend/resume process which avoid in this case systemd usage, but sometimes just enter my password to blank screen and system successful wakeup, as for me looks like buggy screensaver).
I install XUbuntu 20.04 and got a annoying problem, after suspend I have blank screen and helps only reboot.
I can switch to chvt 1 console (Ctrl+Alt+F1) see login prompt, can login, see X processes works fine (ps aux | grep X), cry.
As I already do with XUbuntu 18 I just Ctrl+Alt+F7 and enter password into plank screen and nothing happens (but actually I unlock my screen lock program and see working screen without image). I good know difference between no backlight problem and no any image problem for my notebook (I replace old LCD and have a lot of fun with Analog/Digital backlight control in BIOS level). When backlight is missing - you can use powerful light source and can see image image on screen, but in this case I see no any image. So NVidia driver does not display GRAPHICAL picture at all (but text mode on chvt 1 works fine and reboot splash screen works fine (O^O)). journalctl does not show any problems.
I choice 360 or 470 driver (performance mode). Both have problem with resume from suspend.
So I got idea what happens:
- systemd get command to suspend
- systemd run xflock4
- user close lid
- systemd understands that user go out, remove xflock4 and turn off monitor
- actual system suspend happens
- notebook remember that display is turned off
- successful wakeup process
- but systemd forget to turn on display, but NVidia driver remember that display is turned off, so just show noting to this DISPLAY=:0.0
- manual (using chvt 1) display turn on using xrandr solve problem
P.S. NVidia driver control program can create /etc/X11/xorg.conf file - do not do that, if you create it - remove it.
Good Luck :)
