Black screen after keeping the laptop on for long time

so first disable this:
kate /etc/modprobe.d/nvidia-power-management.conf
and add there this symbol at the beginning #:

#options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp

save the file, run this:
sudo mkinitcpio -P


now add the cstate parameter:
kate /etc/default/grub
and replace the acpi parameters: acpi_osi=! acpi_osi='Windows 2015'
with this one:
intel_idle.max_cstate=4
save the file, update grub:
sudo update-grub
reboot and test…

now check if you have any issues, if you have noticable overheating, or fan spinning …
if you still have the same issue, change the parameter to state 3:
intel_idle.max_cstate=3
save and update grub, reboot and test again…
and if you have again the same issue, change it to number 2…
if you still have the same issue, dont change it lower, we then try modifying the power states of the nvidia…

So, the intel_idle.max_cstate=4 did not work, I’ll try again with changing the parameter to 3.
What is interesting is that I tried booting into windows-10 (dual boot) instead of linux and screen was black again but everything was actually working. I know this cause my keyboard lights went green (this doesn’t work in linux). I was able to login and then use Alt+F4 to shutdown windows normally. The only thing not working was the screen. I don’t know if Windows has any logging features otherwise I should be able to see logs which should tell something.

so if windows have similar issue, it could be a hardware thing, or some bios setting…
yes windows have logs, in the event viewer select windows logs, and check…
and if the cstate 3 doesnt work, change it to 2 and test with it…

So, finally things worked this time. I went barebones removing any extra peripherals including the cpu cooler, removed silent from boot (which did nothing), turned the fans to maximum to avoid potential heating and used linux-lts 5.15 fallback. This created some log warnings, which for the most part are usual except for the last two which are reproducible only on fallback boot images.

Jul 12 09:23:45 exigov2 kernel: ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
Jul 12 09:23:45 exigov2 kernel: pci 0000:6e:00.0: [Firmware Bug]: disabling VPD access (can't determine size of non-standard VPD format)
Jul 12 09:23:45 exigov2 kernel: tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover the entire command/response buffer. [mem 0xfed40000-0xfed4087f flags 0x200] vs fed40080 f80
Jul 12 09:23:45 exigov2 kernel: tpm_crb MSFT0101:00: [Firmware Bug]: ACPI region does not cover the entire command/response buffer. [mem 0xfed40000-0xfed4087f flags 0x200] vs fed40080 f80
Jul 12 09:23:45 exigov2 kernel: ACPI Warning: \_SB.PCI0.PEG0.PEGP._DSM: Argument #4 type mismatch - Found [Buffer], ACPI requires [Package] (20210730/nsarguments-61)
Jul 12 09:23:45 exigov2 kernel: [Firmware Bug]: TSC_DEADLINE disabled due to Errata; please update microcode to version: 0x52 (or later)
Jul 12 09:23:45 exigov2 kernel: RETBleed: WARNING: Spectre v2 mitigation leaves CPU vulnerable to RETBleed attacks, data leaks possible!

Since using the intel_idle.max_cstate parameter, i’ve been getting this new ACPI Warning (third last entry above). Also, the grub entry has itself added a new parameter called DEEPIN_GFXMODE= which probably does nothing as seen below.

Jul 12 09:23:45 exigov2 kernel: Unknown kernel command line parameters "BOOT_IMAGE=/boot/vmlinuz-6.4-x86_64 DEEPIN_GFXMODE=", will be passed to user space.

I’ll see if I can consistently open my laptop without a black screen.

you should not changed anything else, except adding the cstate parameter… now we dont know what exactly helped…


did you noticed overheating when changing the cstates?


dont use the fallback one kernel… revert to normal one and test…


this was definitely not added because of the cstate parameter…
it looks like its from deepin… do you have deepin or some deepin apps installed?
pacman -Qs deepin

No, changing the cstate did cause any overheating at least none that’s noticeable.

It works fine with normal kernel also at least now.

Yes, I didn’t like the kde system monitor so I am using deepin system monitor. It’s kinda weird cause I have that since long but DEEPIN_GFXMODE= is showing after a reinstall of deepin apps.

Not too much of an issue, I’ll test it today and let you know.
What about the ACPI warning though? I hope it’s not a big issue.

it probably also installed the deepin desktop with it, and thats why you have the deepin kernel parameter…


you mean this one?:

thats probably because of nvidia, and is harmless…

Alright so everything seems to be working fine till now at least. I booted normally with 6.4 kernel and the boot is slightly slow at 10 sec but it works fine. Although, I did wait for like 2 min (cause I had some work) after the kernel select menu before logging in. That shouldn’t make any difference right?
Also, removing the deepin stuff did reduce the load times by 2 sec so that’s nice. If everything works fine in the next boot also, I’ll mark the intel_idle.max_cstate=3 comment as answer.
Thank you for being patient with me :grin:

glad that it works, but you have 9 states available:

the lower the state, the less power save available when idle…


maybe we can try modify the nvidia power saving and test with it, and see if it works, and if there is not increased overheating and etc… and maybe it will work better with nvidia, than with your cpu… but its up to you

Seems like that didn’t fix it, if anything the issue is even more frequent now. It happened twice while booting when I had to reisub. There’s definitely no heating issue, in the worst case, I think my GPU might be dying. I’ll get my laptop cleaned and cpu paste changed to see if that helps.
There are some kinda newish errors when the screen goes black -

Jul 13 17:34:22 exigov2 kernel: nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:3:0:0x0000000f
Jul 13 17:34:22 exigov2 kernel: nvidia-modeset: ERROR: GPU:0: Failed detecting connected display devices
Jul 13 17:34:22 exigov2 kernel: nvidia-modeset: ERROR: GPU:0: Failed detecting connected display devices
Jul 13 17:34:22 exigov2 kernel: nvidia-modeset: WARNING: GPU:0: Failure processing EDID for display device LG Display (DP-0).
Jul 13 17:34:22 exigov2 kernel: nvidia-modeset: WARNING: GPU:0: Unable to read EDID for display device LG Display (DP-0)
Jul 13 17:34:22 exigov2 kernel: nvidia-modeset: ERROR: GPU:0: Failure reading maximum pixel clock value for display device DP-0.
Jul 13 17:34:22 exigov2 kernel: nvidia-modeset: ERROR: GPU:0: Failed detecting connected display devices
Jul 13 17:34:22 exigov2 kernel: nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000987d:0:0:0x0000000f
Jul 13 17:34:22 exigov2 systemd[1]: Started Process Core Dump (PID 13290/UID 0).
Jul 13 17:34:23 exigov2 systemd-coredump[13291]: Process 828 (Xorg) of user 0 dumped core.
                                                         
                                                         Stack trace of thread 828:
                                                         #0  0x00007fcba5c8826c n/a (libc.so.6 + 0x8926c)
                                                         #1  0x00007fcba5c38a08 raise (libc.so.6 + 0x39a08)
                                                         #2  0x00007fcba5c21538 abort (libc.so.6 + 0x22538)
                                                         #3  0x00005616e7dd3cb0 OsAbort (Xorg + 0x153cb0)
                                                         #4  0x00005616e7dd5113 FatalError (Xorg + 0x155113)
                                                         #5  0x00005616e7ddba79 n/a (Xorg + 0x15ba79)
                                                         #6  0x00007fcba5c38ab0 n/a (libc.so.6 + 0x39ab0)
                                                         #7  0x00007fcba46da650 n/a (nvidia_drv.so + 0xda650)
                                                         #8  0x00007fcba46db1a6 n/a (nvidia_drv.so + 0xdb1a6)
                                                         #9  0x00007fcba46de939 n/a (nvidia_drv.so + 0xde939)
                                                         #10 0x00007fcba46deab9 n/a (nvidia_drv.so + 0xdeab9)
                                                         #11 0x00007fcba46d6583 n/a (nvidia_drv.so + 0xd6583)
                                                         #12 0x00007fcba46d9778 n/a (nvidia_drv.so + 0xd9778)
                                                         #13 0x00007fcba46d5ee9 n/a (nvidia_drv.so + 0xd5ee9)
                                                         #14 0x00007fcba46da9cb n/a (nvidia_drv.so + 0xda9cb)
                                                         #15 0x00007fcba46db1a6 n/a (nvidia_drv.so + 0xdb1a6)
                                                         #16 0x00007fcba46ec57f n/a (nvidia_drv.so + 0xec57f)
                                                         #17 0x00007fcba46d4216 n/a (nvidia_drv.so + 0xd4216)
                                                         #18 0x00007fcba4ab4d0f n/a (nvidia_drv.so + 0x4b4d0f)
                                                         ELF object binary architecture: AMD x86-64
Jul 13 17:34:23 exigov2 at-spi-bus-launcher[1575]: X connection to :0 broken (explicit kill or server shutdown).
Jul 13 17:34:23 exigov2 systemd[1]: systemd-coredump@1-13290-0.service: Deactivated successfully.

This happened during the reboot when the screen had gone black

Jul 13 19:37:25 exigov2 kernel: NVRM: GPU at PCI:0000:01:00: GPU-1aa7808c-552f-4ea5-a0c5-ab4878dacd7c
Jul 13 19:37:25 exigov2 kernel: NVRM: Xid (PCI:0000:01:00): 79, pid='<unknown>', name=<unknown>, GPU has fallen off the bus.
Jul 13 19:37:25 exigov2 kernel: NVRM: GPU 0000:01:00.0: GPU has fallen off the bus.
Jul 13 19:37:42 exigov2 kernel: nvidia-modeset: ERROR: GPU:0: Failed to query display engine channel state: 0x0000927c:3:0:0x0000000f

Is there some way to check the condition of my GPU, I’ll try playing a game as a bare minimum check.

yes these are related to nvidia, and could be a hardware issue…
and the last black sceens also happened after the pc was idle? or when in use?
if it still happens when idle, we can try changing the nvidia power save options… maybe that will help…

The first time it happened was around 17:30 after I had left the laptop unused for half an hour. The screen had gone to login screen (NO suspend/sleep). It didn’t immediately crash, instead I normally closed the browser, dolphin and pressed Ctrl+Alt+Del which starts the 30 sec countdown to shutdown. The screen went black in around 7 seconds after which the fans became pretty loud. After that I sent SIGTERM which reduced fan speed to normal but didn’t fix the screen. Then Sync and finally the reboot.

This thing happened again when I tried booting at 19:30 but this time with the grub entry changed to intel_idle.max_cstate=2 which immediately led to black screen. I again had to reboot again but intel_idle.max_cstate=2 cause yet another black screen after which I just tried going normally and it worked fine.

So, far the screen black outs have never been during normal usage, happening exclusively when the laptop is not in usage. Light gaming also works fine.

ok, so change it to 1:
intel_idle.max_cstate=1
save and update grub; reboot and test…


if it happens again, remove the cstate parameter, save and update grub;
then open this file:
kate /etc/modprobe.d/nvidia-power-management.conf
and add there this line:
options nvidia NVreg_DynamicPowerManagement=0x01
save the file and run:
sudo mkinitcpio -P
reboot and test…

if it happens again, change the line to 00:
options nvidia NVreg_DynamicPowerManagement=0x00
save the file and run:
sudo mkinitcpio -P
reboot and test…

Using both cstate and nvidia-power-management crashed my PC to the point GPU was not even detected across reboots (I had forgot to update mkinitcpio)
The later ONLY seems to be working fine, I left my laptop on for an hour without any work with no issues. The only bigger test will be the future boot. I really hope this goes well. Thanks again for the help.

ok, so if the nvidia 01 gives you issues, switch to the 00, and dont forget to update mkinitcpio…

After some testing it seems that using the NVreg_DynamicPowerManagement has made things a bit worse. Now I get the new errors/warnings that -

Jul 17 09:25:09 exigov2 kernel: NVRM: GPU 0000:01:00.0: RmInitAdapter failed! (0x25:0xf:1470)
Jul 17 09:25:09 exigov2 kernel: NVRM: GPU 0000:01:00.0: rm_init_adapter failed, device minor number 0
Jul 17 09:25:09 exigov2 kernel: [drm:nv_drm_load [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to allocate NvKmsKapiDevice
Jul 17 09:25:09 exigov2 kernel: [drm:nv_drm_probe_devices [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00000100] Failed to register device

More importantly, now the normal Alt+Sysrq+b reboot doesn’t work as kernel fails to detect the GPU -

kernel: NVRM: No NVIDIA GPU found.

I am not sure what to do.

so remove the NVreg_DynamicPowerManagement option from:
kate /etc/modprobe.d/nvidia-power-management.conf
save it, and dont forget to update it:
sudo mkinitcpio -P


maybe its really some nvidia hardware issue, since in windows you have also the black screen…

Go to Settings
Settings Manager
power manager
go to system tab
in system power saver at sleep mode system
change to standby.

I don’t think I even have the option for standby.
There’s Dim screen, Screen Energy Saving, Suspend session, hibernate after some time sub-option in suspend screen, that’s all.
Everything except dim screen is already turned off. Also more importantly the bigger issue is black screen at first boot so this is a bit pointless.

Currently using rcutree.gp_init_delay=1 and waiting some time before selecting the kernel seems to work fine but I have no idea if this is a proper solution or I’m just being lucky. Will let you know if this behaviour is consistent.