pop-os / pop

A project for managing all Pop!_OS sources
https://system76.com/pop
2.43k stars 84 forks source link

Black screen after suspend #1368

Open dewijones92 opened 3 years ago

dewijones92 commented 3 years ago

Distribution (run cat /etc/os-release): NAME="Pop!_OS" VERSION="20.10" ID=pop ID_LIKE="ubuntu debian" PRETTY_NAME="Pop!_OS 20.10" VERSION_ID="20.10" HOME_URL="https://pop.system76.com" SUPPORT_URL="https://support.system76.com" BUG_REPORT_URL="https://github.com/pop-os/pop/issues" PRIVACY_POLICY_URL="https://system76.com/privacy" VERSION_CODENAME=groovy UBUNTU_CODENAME=groovy LOGO=distributor-logo-pop-os

uname -a Linux pop-os 5.8.0-7625-generic #26~1603126178~20.10~210fe73-Ubuntu SMP Tue Oct 20 01:12:15 UTC x86_64 x86_64 x86_64 GNU/Linux

Issue/Bug Description: May display is black (no signal) after waking from suspend

Steps to reproduce (if you know): Can't reproduce this faulty behaviour reliably. Put computer to sleep. Then wake it up by clicking the mouse

Expected behavior: The display should show the login screen - as it often does

Other Notes: Logs: I put my computer to sleep Nov 4 22:30:39 I resume it at Nov 5 07:27:40 After a few minutes of waiting with a display continuously blank I restart my computer

Any help will be greatly appreciated. Many thanks 😊😊😊😊😊😊

lspci.txt kern.log systemdLogs.log

tbeason commented 3 years ago

For what it's worth, I have had this happen as well, but on both 20.04 and 20.10. I found no other way out of it other than to restart. I am currently on the same build as OP.

dewijones92 commented 3 years ago

@tbeason
KDE seems to be behaving better then gnome 😊

dewijones92 commented 3 years ago

after googling amdgpu_dm_irq_schedule_work it looks like maybe a kernel bug https://bugs.freedesktop.org/show_bug.cgi?id=108781 Looks like a kernel bug :( @tbeason

crispy-cat commented 3 years ago

Same thing happening to me, I shut my lid and when I open it the fans come on but nothing shows on the screen and the system is unresponsive as far as I can tell. Using graphics drivers v455.38.

Aero 15 XB (2020); i7-10875H, RTX 2070 Super MaxQ

NAME="Pop!_OS"
VERSION="20.10"
ID=pop
ID_LIKE="ubuntu debian"
PRETTY_NAME="Pop!_OS 20.10"
VERSION_ID="20.10"
HOME_URL="https://pop.system76.com"
SUPPORT_URL="https://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=groovy
UBUNTU_CODENAME=groovy
LOGO=distributor-logo-pop-os
dewijones92 commented 3 years ago

@crispy-cat what do your kernel logs show? In my case I am pretty sure it is a AMD gpu driver issue. So I logged it here: https://gitlab.freedesktop.org/drm/amd/-/issues/1367

dewijones92 commented 3 years ago

hmmm it seems to be behaving better under wayland :P

crispy-cat commented 3 years ago

@dewijones92 How do I view the logs? The whole machine becomes completely unresponsive

dewijones92 commented 3 years ago

@crispy-cat on the next boot look at /var/log/kern.log

alexphelps commented 3 years ago

I'm having this issue with 5.8 kernel and 20.10 getting a blank screen when wake up from suspend. I've tried the mem_sleep_default=deep and rcutree.rcu_idle_gp_delay=1 with no luck. I just changed from an AMD RX580 to a Nvidia Quadro P620, no issues at the start but I believe a recent update broke my ability to wake up from suspend. System looks active just no display.

System info

Gigabyte Z390 
Intel i9 9900k
Nvida Quadro P620
Dual monitors

Any Suggestions on what to try or where else to look or what to try?

alexphelps commented 3 years ago

I fixed my issue by installing the nvida drivers package and within the package go to X Server Display Configuration and "Save to X Configuration File"

alexphelps commented 3 years ago

I fixed my issue by installing the nvida drivers package and within the package go to X Server Display Configuration and "Save to X Configuration File"

Well... I was wrong, still getting the issue sometimes, back to the drawing board.

dewijones92 commented 3 years ago

@alexphelps I know you are running nvidia but there are tons of similar issues here https://gitlab.freedesktop.org/drm/amd/-/issues I don't think it is a POPOS issue but a kernel issue maybe. I don't know tbh To mitigate this bug I reduce the amount I suspend my PC or switch my monitor off. Annoying but ah well

dewijones92 commented 3 years ago

weirdly this problem goes away if I disable gdm3, put xfce in my xinitrc and start the ui on boot using startx. yay 😊

alexphelps commented 3 years ago

I'm not having this issue anymore, latest updates seem to have fixed it.

Benzer1406 commented 3 years ago

Having the same issue with popOS 20.10 and a brand new Lenovo X1 Extreme Gen 3, the only way out is to hold the power button 10 seconds and restart.

TheRealBluesun commented 3 years ago

Same issue, Pop_OS 20.10, Gnome 3.38.3, X11, Lemur Pro.

Really bumming me out, because the laptop is so good otherwise.

Benzer1406 commented 3 years ago

@TheRealBluesun I just got it to work. I changed 2 settings in the BIOS. I set the sleep state to "Linux" (was Windows 10). And the graphics from "Hybrid Graphics) to "Discrete Graphics". I think what happened is that when woken up from sleep state, the laptop somehow used Intel Graphics instead of NVidia, but popOS does not support changing graphics without a reboot. At least my theory, but now it works.

ydhnwb commented 3 years ago

Have same problem on Pop OS 20.04 LTS with Ryzen 5 4500u device. Dual boot with windows.

added mem_sleep_default=deep and rcutree.rcu_idle_gp_delay=1

but the problem still exists

mliudev commented 3 years ago

I have the same problem but with Arch Linux on a serw11 servalWS. One observation that I have is that when it wakes up successfully I hear clicks that possibly indicate the powering on of the video card. I can predict when it will fail if the clicks don't occur after a couple of seconds of waking up from suspend.

molen89 commented 3 years ago

Same problem here, i am guessing it's the card that doesn't know to wake up. is there any good way to force a reboot of the gpu? without rebooting the whole system.

ydhnwb commented 3 years ago

Yeah, still no solution about it. May I ask you? I can wakeup from suspend if I didnt login to desktop. I mean, just power it on, then it will stay on login screen, leave until it suspend, it works.

But once I logged in, it doesnt work anymore. Basically, the first time suspend is work, the 2nd time isnt

is this happens to you also?

Same problem here, i am guessing it's the card that doesn't know to wake up. is there any good way to force a reboot of the gpu? without rebooting the whole system.

TheRealBluesun commented 3 years ago

Some other things I've noticed:

I've had such a great experience with my laptop until now. This is starting to become a pretty frustrating issue. Every day I need to hard-reset my laptop to use it.

piotr-bujnowski commented 2 years ago

I solved this problem by unplugging CD ROM :P. I've never suspected this would work. None of the answers above did help.

ydhnwb commented 2 years ago

I solved this problem by unplugging CD ROM :P. I've never suspected this would work. None of the answers above did help.

My laptop doesnt even have a cd rom

raiblaze commented 2 years ago

My MSI laptop have GTX960M. Meet same issue.

_- After the suspension & wakeup, I wake up laptop display by reduce brightness of laptop a little and increase it again ( Use shortcut keys to reduce/increase brightness of laptop display, in my case is FN+arrow_down/arrow_up), somehow it trigger that laptop display back to normal._

nverchev commented 2 years ago

Hi All, I have been having this issue for a long time, with different operative systems. After countless forums and unsuccessful tries, I have found a solution that works for me here. If you have a Lenovo Yoga Slim 7, you can try this directly. If you have another PC, maybe this can still help you find a solution.

Basically, you need to make a change in the bios to allow S3 support. BIOS -> Amd pbs -> S3/modernstandby support -> enable This option might need to be unblocked.

Try-Try-Again commented 2 years ago

On System 76 Oryx I get this all the time. I close the lid and re-open it. I also mash escape button. Pretty lame but it beats a reboot.

iAmG-r00t commented 2 years ago

mash escape button??

Try-Try-Again commented 2 years ago

scratch that. Esc doesn't seem to do anything now. I just gotta close and re-open the lid. when I get a black screen.

PrajwalS1234 commented 2 years ago

Just installed pop!os today and still having this issue. Wow! look at the time it has gone unfixed. Yesterday I installed ubuntu and that didn't have any problems like this.

Also, before installing pop I made sure that I suspended the screen while I was trying pop os. No black screen then! But now pop has suddenly decided to protest my existence again.

schmts commented 2 years ago

I found that the solution to the same problem some users experience in Ubuntu...and there seems to be way more discussion on that topic. Turns out it works on Pop OS as well, at least for now. What worked for me was this:

https://askubuntu.com/questions/1405262/how-to-solve-black-screen-after-suspension-with-ubuntu-22-04-lts

Disable NVIDIA systemd services

sudo systemctl stop nvidia-suspend.service sudo systemctl stop nvidia-hibernate.service sudo systemctl stop nvidia-resume.service

sudo systemctl disable nvidia-suspend.service sudo systemctl disable nvidia-hibernate.service sudo systemctl disable nvidia-resume.service

Remove NVIDIA systemd script

sudo rm /lib/systemd/system-sleep/nvidia

Reboot and you should be able to suspend and resume properly with driver 510.

PrajwalS1234 commented 2 years ago

@schmts Thank you. That worked well

jvitorfrancisco commented 2 years ago

Hi. I'm having this issue on POP OS 22.04, i tryied all the fixes tha i found on the internet. kenelstub configs, disabling nvidia systemd services, i also tryied to add SWAP UUID to grub resume=, and nothing resolved for me.

My desktop specs are: B660M PRO Aorus Intel i5-12400F GeForce RTX 2060 Kingston NVME SSD 16gb RAM

I have a SWAP partition with 16GB.

image

Please, im trying to fix this for 1 week, someone can help me?

justanotherbody commented 1 year ago

I started getting this only after a recent update.

Haven't found a solution yet but hitting CTRL+ALT+F1 gets me to the login screen. Better than a restart

amarkovits commented 1 year ago

Same for me on a Lenovo Legion 5i Pro

Screenshot from 2022-11-08 14-42-08

CookieCr2nk commented 1 year ago

I think the problem comes from the TLP package (https://linrunner.de/tlp/). I disabled TLP (systemctl disable tlp) and rebooted the machine. After the reboot, it works like a charm. I use Pop!_OS on a Thinkpad E590.

Is there anything that solves the issue so I can use TLP on my system? TLP is a good option for me because it lets me set the charge limit of my battery.

Solution from: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1977977

n3m0-22 commented 1 year ago

@CookieCr2nk You can use system76-power charge-thresholds for example system76-power charge-thresholds 20 80 or use system76-power charge-thresholds --help to see how.

CookieCr2nk commented 1 year ago

@CookieCr2nk You can use system76-power charge-thresholds for example system76-power charge-thresholds 20 80 or use system76-power charge-thresholds --help to see how.

Thx for you answer, but i running on a Lenovo Thinkpad E590.

daemon returned an error message: "Not running System76 firmware with charge threshold support"

n3m0-22 commented 1 year ago

Oh right sorry about that. I think this should solve your problem. https://smarttech101.com/how-to-set-battery-charging-threshold-limit-the-charging-in-thinkpad-and-other-laptops-in-linux-unix/

justanotherbody commented 1 year ago

I think the problem comes from the TLP package (https://linrunner.de/tlp/). I disabled TLP (systemctl disable tlp) and rebooted the machine. After the reboot, it works like a charm. I use Pop!_OS on a Thinkpad E590.

I'm running a desktop and TLP isn't installed, so I don't think this is always the cause

BigApeWhat commented 1 year ago

I am also getting this issue, running on a desktop, sometimes suspending the PC wakes up on the login, but most of the time its just a black screen. i unplugged all my external peripherals even the HDMI cable and wifi antennas. still gets auto wake into black screen

prabinrath commented 1 year ago

I am also facing the same issue Pop 22.04 (Ryzen 6800H, RTX 3060). If it is a kernel bug then I hope it to be fixed soon. If not then it is a big setback for Pop OS.

securityopa commented 1 year ago

I am experiencing the same issue. I even reinstalled my POP_OS but still the same. CPU: Intel 13700K GPU: AMD Radeon 6800 XT

I wonder why no one from System76 is giving us any feedback!

Thinking of switching to an another distrio :(

leviport commented 1 year ago

I wonder why no one from System76 is giving us any feedback!

System76 employees have commented in this very thread, so I'm not sure where that's coming from. I believe this is one of those issues that can have a multitude of causes. It's not like we would just let something like that go unsolved for 3 years. The hardware mentioned in this thread varies widely, so these could all be different bugs that just look similar.

Trying a live disk might be useful, system logs might contain clues, and hardware diagnosis is never a bad idea. You might also want to check your BIOS for any settings related to suspend and see what they're set to, and if you can set them to any other values. Also, if you dual-boot Windows, make sure their hybrid sleep thing is turned off.

why-not-try-calmer commented 1 year ago

I am experiencing the same issue. I even reinstalled my POP_OS but still the same. CPU: Intel 13700K GPU: AMD Radeon 6800 XT

I wonder why no one from System76 is giving us any feedback!

Thinking of switching to an another distrio :(

What did the trick for me was to use this kernel parameter:

intel_idle.max_cstate=3

In a nutshell it prevents the Intel integrated CPU from going below a certain power level, see here for more information.

bgrgv commented 11 months ago

This usually happens when you don't have a functional iGPU (like my G751) or when there's an issue switching between iGPU and the dedicated one. Nevertheless, the following fixed it for me:

Set the default memory sleep state to "deep" using the following:

sudo kernelstub -a mem_sleep_default=deep

Then, perform a clean and complete package upgrade using: sudo apt update sudo apt upgrade

Reboot

Also, running cat /sys/power/mem_sleep should give you s2idle [deep] as the output, which means deep is the preferred sleep mode.

hatemjaber commented 11 months ago

@CookieCr2nk I was running TLP for a long time and didn't know until recently that it was not recommended to be used with system76 power... anyhow, take a look at this service script that sets the thresholds. If you have more than one battery you have to modify the set_battery_threshold.sh file to account for your other batteries. This will only work with ThinkPads and computers that support thresholds.

Distr0hopper commented 8 months ago

Hey, so i am Running PopOs 22.04 and have had the same Problems. What worked for me is kinda weird:

  1. Using Wayland On wayland the suspend mode works just fine.

  2. Using X11 When using X11 i have to use TLP that it works.

All of the above works if i enable S3 in my BIOS to control she sleep state and make sure that cat /sys/power/mem_sleep is in deep mode. Maybe this works for some of you too, but i cant really tell why it should work on Wayland or when using TLP..

kindofabuzz commented 7 months ago

I have this issue, workaround is hit ctl-alt-f4( or any other tty I assume), don't login, then crtl-alt-f2 for default tty

the-rich-piana commented 5 months ago

Disable NVIDIA systemd services

You are a godsend.