Plasma session goes blackout after leaving it AFK (workaround exists)

I got this bug where if I leave system AFK, then display always says that it doesn’t receive any signal from my PC. So I use this combination Ctrl+Alt+F4 and then instantly after, Ctrl+Alt+F3 and screen wakes up normally (some apps like fullscreen CounterStrike2 bugs out, but whatever).

Are there any easy fix for that, or should I hope for Plasma6.1 improvements?

1 Like

I am a newbie and I think I have the same issue. Is your bug occurring when your PC goes to sleep? i.e. when your screen turns off?

2 Likes

Hi there,

Yea I have bigger problem with sleeping as well; I have simply disabled it for now. When PC waking up, Plasma enters glitched state which can be different every wake up. Either blinking, white wallpaper, imprintments, etc. So I simply disabled sleeping entirely.

Currently settings are:

On this post what I’m talking about are basically leaving PC as is, coming back after an hour or so, and seeing that HDMI monitor says that No Signal. Ctrl+Alt+F4 and Ctrl+Alt+F3 and it works again.

Weird. I think ball are onto nvidia drivers. Plasma6.1 will have explicit sync with nvidia and other nvidia graphics improvements, so I’m betting on it. Should arrive on Arch around June 19.


nVidia 3090 + HDMI 2.1 + LG C2 4K@120Hz VRR G-Sync enabled, gaming mode and low latency mode enabled on LG.

2 Likes

For sleep issues on nVidia:
https://wiki.archlinux.org/title/NVIDIA/Tips_and_tricks

Point 10.

1 Like

Didn’t work, at least for me.

Shame, worked perfectly for me on an RTX3070.

systemctl enable nvidia-suspend.service
systemctl enable nvidia-hibernate.service
systemctl enable nvidia-resume.service
systemctl enable nvidia-persistenced.service

(i’m using systemd-boot)

sudo nano /etc/kernel/cmdline and appended to end: nvidia.NVreg_PreserveVideoMemoryAllocations=1 nvidia.NVreg_TemporaryFilePath=/var/tmp

LUKS+BTRFS. Reboot, then sleep and wake up, result:

All menus works, if you know where to blindly press them.

:joy:

Ah alright. A bit different from my issue. Mine is definitely sleep related. After waking it up, my main monitor would go black. Only resolution was to turn the monitor off and on. Even rebooting to windows or removing cables didn’t work. I updated nvidia drivers (running a 3070) and it is slightly better and looks more like what you have in your last post but still borked. So no sleep for pc for now.

Will give this a shot. thanks

Yeh, systemd boot here - but I have some of this in a file not my cmdline - the method must of changed, at work so not near my machine. I wonder if LUKS is the issue? Have you a non-luks partition bigger than the vram to use instead?

Repartitioned via GParted to get unencrypted EXT4 100GiB at the end of my root drive and mounted it via fstab and tested it.

/dev/disk/by-uuid/REDACTED-REDACTED-REDACTED-REDACTED /var/nvibia ext4 rw,user,exec,nofail,noauto,x-systemd.automount 0 0

Changed /etc/kernel/cmdline :
..... nvidia_drm.modeset=1 nvidia.NVreg_PreserveVideoMemoryAllocations=1 nvidia.NVreg_TemporaryFilePath=/var/nvibia

Reboot, tested, and nothing changed.


RTX3090 has 24GiB of VRAM.

How can I check what module parameters are currently live on the system?

At least this one: https://serverfault.com/a/389965 doesn’t show my parameters applied for nvidia module (while it shows for other modules).

Unsure not at home, does lsmod work?

Could it be a monitor related issue? I have two monitors and only one of my monitors is giving me issues

It does, but doesn’t show what parameters are applied in live system.

[v1n1@ttt ~]$ lsmod
Module                  Size  Used by
ext4                 1146880  1
mbcache                16384  1 ext4
jbd2                  204800  1 ext4
snd_seq_dummy          12288  0
snd_hrtimer            12288  1
snd_seq               131072  7 snd_seq_dummy
nf_conntrack_netbios_ns    12288  1
nf_conntrack_broadcast    12288  1 nf_conntrack_netbios_ns
nf_conntrack_netlink    61440  0
nfnetlink_acct         16384  0
wireguard             118784  0
curve25519_x86_64      36864  1 wireguard
libchacha20poly1305    16384  1 wireguard
chacha_x86_64          28672  1 libchacha20poly1305
poly1305_x86_64        28672  1 libchacha20poly1305
libcurve25519_generic    45056  2 curve25519_x86_64,wireguard
libchacha              12288  1 chacha_x86_64
ip6_udp_tunnel         16384  1 wireguard
udp_tunnel             28672  1 wireguard
nft_fib_inet           12288  1
nft_fib_ipv4           12288  1 nft_fib_inet
nft_fib_ipv6           12288  1 nft_fib_inet
nft_fib                12288  3 nft_fib_ipv6,nft_fib_ipv4,nft_fib_inet
nft_reject_inet        12288  12
nf_reject_ipv4         12288  1 nft_reject_inet
nf_reject_ipv6         20480  1 nft_reject_inet
nft_reject             12288  1 nft_reject_inet
nft_ct                 28672  8
nft_chain_nat          12288  3
nf_nat                 61440  1 nft_chain_nat
nf_conntrack          200704  5 nf_nat,nft_ct,nf_conntrack_netbios_ns,nf_conntrack_broadcast,nf_conntrack_netlink
nf_defrag_ipv6         24576  1 nf_conntrack
nf_defrag_ipv4         12288  1 nf_conntrack
si2157                 32768  4
si2168                 28672  4
nf_tables             376832  535 nft_ct,nft_reject_inet,nft_fib_ipv6,nft_fib_ipv4,nft_chain_nat,nft_reject,nft_fib,nft_fib_inet
vfat                   24576  1
fat                   106496  1 vfat
cx25840               106496  2
cx23885               303104  40
altera_ci              24576  1 cx23885
iwlmvm                720896  0
tda18271               61440  1 cx23885
altera_stapl           36864  1 cx23885
m88ds3103              49152  1 cx23885
cx2341x                32768  1 cx23885
mac80211             1597440  1 iwlmvm
tveeprom               28672  1 cx23885
snd_hda_codec_realtek   204800  1
videobuf2_dvb          16384  1 cx23885
snd_hda_codec_generic   110592  1 snd_hda_codec_realtek
dvb_core              217088  3 altera_ci,cx23885,videobuf2_dvb
snd_hda_scodec_component    20480  1 snd_hda_codec_realtek
snd_hda_codec_hdmi     98304  1
videobuf2_vmalloc      20480  1 dvb_core
libarc4                12288  1 mac80211
intel_rapl_msr         20480  0
amd_atl                40960  1
ptp                    45056  1 iwlmvm
videobuf2_dma_sg       20480  1 cx23885
intel_rapl_common      40960  1 intel_rapl_msr
snd_usb_audio         512000  2
snd_hda_intel          65536  2
pps_core               32768  1 ptp
videobuf2_memops       16384  2 videobuf2_vmalloc,videobuf2_dma_sg
snd_intel_dspcfg       40960  1 snd_hda_intel
videobuf2_v4l2         40960  1 cx23885
snd_usbmidi_lib        49152  1 snd_usb_audio
snd_intel_sdw_acpi     16384  1 snd_intel_dspcfg
snd_ump                36864  1 snd_usb_audio
videodev              385024  4 cx2341x,videobuf2_v4l2,cx23885,cx25840
snd_hda_codec         212992  4 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec_realtek
eeepc_wmi              12288  0
btusb                  86016  0
snd_rawmidi            57344  2 snd_usbmidi_lib,snd_ump
ledtrig_netdev         20480  0
videobuf2_common       90112  7 videobuf2_vmalloc,videobuf2_v4l2,dvb_core,videobuf2_dma_sg,cx23885,videobuf2_dvb,videobuf2_memops
snd_hda_core          143360  5 snd_hda_codec_generic,snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec,snd_hda_codec_realtek
btrtl                  32768  1 btusb
snd_seq_device         16384  3 snd_seq,snd_ump,snd_rawmidi
asus_wmi               98304  1 eeepc_wmi
btintel                65536  1 btusb
mc                     90112  7 videodev,si2157,snd_usb_audio,videobuf2_v4l2,dvb_core,videobuf2_common,cx25840
i2c_mux                16384  6 m88ds3103,si2168
iwlwifi               589824  1 iwlmvm
platform_profile       12288  1 asus_wmi
snd_hwdep              20480  2 snd_usb_audio,snd_hda_codec
i8042                  57344  1 asus_wmi
btbcm                  24576  1 btusb
snd_pcm               200704  7 snd_hda_codec_hdmi,snd_hda_intel,snd_usb_audio,snd_hda_codec,cx23885,snd_hda_core
btmtk                  12288  1 btusb
sparse_keymap          12288  1 asus_wmi
ftdi_sio               77824  0
r8169                 126976  0
serio                  28672  1 i8042
rapl                   20480  0
wmi_bmof               12288  0
bluetooth            1097728  6 btrtl,btmtk,btintel,btbcm,btusb
snd_timer              53248  3 snd_seq,snd_hrtimer,snd_pcm
pcspkr                 12288  0
cfg80211             1363968  3 iwlmvm,iwlwifi,mac80211
realtek                40960  1
snd                   155648  28 snd_hda_codec_generic,snd_seq,snd_seq_device,snd_hda_codec_hdmi,snd_hwdep,snd_hda_intel,snd_usb_audio,snd_usbmidi_lib,snd_hda_codec,snd_hda_codec_realtek,snd_timer,cx23885,snd_ump,snd_pcm,snd_rawmidi
k10temp                16384  0
ecdh_generic           16384  1 bluetooth
i2c_piix4              36864  3
mdio_devres            12288  1 r8169
soundcore              16384  1 snd
crc16                  12288  2 bluetooth,ext4
mousedev               24576  0
joydev                 24576  0
libphy                221184  3 r8169,mdio_devres,realtek
rfkill                 40960  8 iwlmvm,asus_wmi,bluetooth,cfg80211
mac_hid                12288  0
loop                   45056  0
nfnetlink              20480  7 nfnetlink_acct,nf_conntrack_netlink,nf_tables
ip_tables              36864  0
x_tables               65536  1 ip_tables
dm_crypt               65536  1
cbc                    12288  0
encrypted_keys         28672  1 dm_crypt
trusted                53248  2 encrypted_keys,dm_crypt
asn1_encoder           12288  1 trusted
tee                    45056  1 trusted
hid_logitech_hidpp     81920  0
uinput                 20480  0
pkcs8_key_parser       12288  0
hid_logitech_dj        40960  0
hid_generic            12288  0
usbhid                 81920  2 hid_logitech_dj,hid_logitech_hidpp
crct10dif_pclmul       12288  1
crc32_pclmul           12288  0
polyval_clmulni        12288  0
polyval_generic        12288  1 polyval_clmulni
nvidia_drm            122880  126
nvidia_uvm           6643712  0
gf128mul               16384  1 polyval_generic
nvidia_modeset       1605632  28 nvidia_drm
ghash_clmulni_intel    16384  0
sha512_ssse3           53248  0
sha256_ssse3           36864  1
nvme                   65536  3
sha1_ssse3             32768  2
aesni_intel           360448  2
nvme_core             253952  4 nvme
video                  77824  2 asus_wmi,nvidia_modeset
crypto_simd            16384  1 aesni_intel
xhci_pci               24576  0
ccp                   180224  0
cryptd                 28672  3 crypto_simd,ghash_clmulni_intel
sp5100_tco             20480  0
xhci_pci_renesas       24576  1 xhci_pci
nvme_auth              24576  1 nvme_core
wmi                    36864  3 video,asus_wmi,wmi_bmof
nvidia              60497920  1189 nvidia_uvm,nvidia_modeset
btrfs                2129920  1
blake2b_generic        24576  0
libcrc32c              12288  4 nf_conntrack,nf_nat,btrfs,nf_tables
crc32c_generic         12288  0
crc32c_intel           16384  4
xor                    20480  1 btrfs
raid6_pq              122880  1 btrfs
dm_mod                225280  3 dm_crypt
i2c_dev                28672  38
crypto_user            20480  0

Anyways, it’s kinda clear that nvidia drivers are writting something to this drive:


So after that I tried this:
Created /etc/modprobe.d/nvidia.conf

[v1n1@ttt modprobe.d]$ cat /etc/modprobe.d/nvidia.conf
options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/nvibia

Rebooted. Tried to suspend. It worked for the first time. Woke it up and then suspended again. Now it kinda tried to suspend, display no signal (preparing to suspend), but fans didn’t stopped and after 20s, screen lit again like it would have woke up automatically (without fully finishing entering suspend state). Said wired network reconnected.

Rebooted again. Now it doesn’t manage to suspend at all (same thing as above), screen goes NoSignal for 20s and goes back up. :joy:

Not sure what about original issue of this post, will have to leave PC AFK to test it out. Maybe at least that, solved up.



cat /proc/modules | grep nvidia -i | cut -f 1 -d " " | while read module; do  echo "Module: $module";  if [ -d "/sys/module/$module/parameters" ]; then   ls /sys/module/$module/parameters/ | while read parameter; do    echo -n "Parameter: $parameter --> ";    cat /sys/module/$module/parameters/$parameter;   done;  fi;  echo; done
[root@ttt modprobe.d]# cat /proc/modules | grep nvidia -i | cut -f 1 -d " " | while read module; do  echo "Module: $module";  if [ -d "/sys/module/$module/parameters" ]; then   ls /sys/module/$module/parameters/ | while read parameter; do    echo -n "Parameter: $parameter --> ";    cat /sys/module/$module/parameters/$parameter;   done;  fi;  echo; done

Module: nvidia_drm
Parameter: fbdev --> N
Parameter: modeset --> Y

Module: nvidia_uvm
Parameter: uvm_ats_mode --> 1
Parameter: uvm_block_cpu_to_cpu_copy_with_ce --> 0
Parameter: uvm_channel_gpfifo_loc --> auto
Parameter: uvm_channel_gpput_loc --> auto
Parameter: uvm_channel_num_gpfifo_entries --> 1024
Parameter: uvm_channel_pushbuffer_loc --> auto
Parameter: uvm_conf_computing_channel_iv_rotation_limit --> 2147483648
Parameter: uvm_cpu_chunk_allocation_sizes --> 2166784
Parameter: uvm_debug_enable_push_acquire_info --> 0
Parameter: uvm_debug_enable_push_desc --> 0
Parameter: uvm_debug_prints --> 0
Parameter: uvm_disable_hmm --> N
Parameter: uvm_downgrade_force_membar_sys --> 1
Parameter: uvm_enable_builtin_tests --> 0
Parameter: uvm_enable_debug_procfs --> 0
Parameter: uvm_enable_va_space_mm --> 1
Parameter: uvm_exp_gpu_cache_peermem --> 0
Parameter: uvm_exp_gpu_cache_sysmem --> 0
Parameter: uvm_fault_force_sysmem --> 0
Parameter: uvm_force_prefetch_fault_support --> 0
Parameter: uvm_global_oversubscription --> 1
Parameter: uvm_leak_checker --> 0
Parameter: uvm_page_table_location --> (null)
Parameter: uvm_peer_copy --> phys
Parameter: uvm_perf_access_counter_batch_count --> 256
Parameter: uvm_perf_access_counter_mimc_migration_enable --> -1
Parameter: uvm_perf_access_counter_momc_migration_enable --> -1
Parameter: uvm_perf_access_counter_threshold --> 256
Parameter: uvm_perf_fault_batch_count --> 256
Parameter: uvm_perf_fault_coalesce --> 1
Parameter: uvm_perf_fault_max_batches_per_service --> 20
Parameter: uvm_perf_fault_max_throttle_per_service --> 5
Parameter: uvm_perf_fault_replay_policy --> 2
Parameter: uvm_perf_fault_replay_update_put_ratio --> 50
Parameter: uvm_perf_map_remote_on_eviction --> 1
Parameter: uvm_perf_map_remote_on_native_atomics_fault --> 0
Parameter: uvm_perf_migrate_cpu_preunmap_block_order --> 2
Parameter: uvm_perf_migrate_cpu_preunmap_enable --> 1
Parameter: uvm_perf_pma_batch_nonpinned_order --> 6
Parameter: uvm_perf_prefetch_enable --> 1
Parameter: uvm_perf_prefetch_min_faults --> 1
Parameter: uvm_perf_prefetch_threshold --> 51
Parameter: uvm_perf_reenable_prefetch_faults_lapse_msec --> 1000
Parameter: uvm_perf_thrashing_enable --> 1
Parameter: uvm_perf_thrashing_epoch --> 2000
Parameter: uvm_perf_thrashing_lapse_usec --> 500
Parameter: uvm_perf_thrashing_max_resets --> 4
Parameter: uvm_perf_thrashing_nap --> 1
Parameter: uvm_perf_thrashing_pin --> 300
Parameter: uvm_perf_thrashing_pin_threshold --> 10
Parameter: uvm_perf_thrashing_threshold --> 3
Parameter: uvm_release_asserts --> 1
Parameter: uvm_release_asserts_dump_stack --> 0
Parameter: uvm_release_asserts_set_global_error --> 0

Module: nvidia_modeset
Parameter: config_file --> (null)
Parameter: disable_hdmi_frl --> N
Parameter: disable_vrr_memclk_switch --> N
Parameter: fail_malloc --> -1
Parameter: hdmi_deepcolor --> N
Parameter: malloc_verbose --> N
Parameter: opportunistic_display_sync --> Y
Parameter: output_rounding_fix --> Y
Parameter: vblank_sem_control --> N

Module: video
Parameter: allow_duplicates --> N
Parameter: brightness_switch_enabled --> Y
Parameter: device_id_scheme --> N
Parameter: hw_changes_brightness --> -1
Parameter: only_lcd --> 0
Parameter: report_key_events --> -1

Module: nvidia

[root@ttt modprobe.d]#

This still doesn’t show my parameters applied for nvidia module (while it shows for other modules).


It strange that setting the same module parameters via /etc/kernel/cmdline works differently than creating /etc/modprobe.d/nvidia.conf.

So I tried the

systemctl enable nvidia-suspend.service
systemctl enable nvidia-hibernate.service
systemctl enable nvidia-resume.service
systemctl enable nvidia-persistenced.service

and I think I got a result but

I am not sure if I inputted or understood
sudo nano /etc/kernel/cmdline and appended to end: nvidia.NVreg_PreserveVideoMemoryAllocations=1 nvidia.NVreg_TemporaryFilePath=/var/tmp

Is that done on the terminal? I typed nvidia.NVreg_PreserveVideoMemoryAllocations=1 but got command not found.

Thanks for your patience. This is pretty new to me.

Yes.
If you have Kate program, you can type in terminal kate /etc/kernel/cmdline. Kate will open this file and when you save, admin (sudoers user) password will be asked.

/etc/kernel/cmdline file should be one liner.

1 Like

Ok so I did this on kate and added

nvidia.NVreg_PreserveVideoMemoryAllocations=1 nvidia.NVreg_TemporaryFilePath=/var/tmp

underneath the line that appeared on Kate and saved. I restarted my pc tried to put it to sleep and hibernate but am still getting monitor issues on both my monitors. Am I missing any step?

Try

sudo touch /etc/modprobe.d/nvidia.conf
kate /etc/modprobe.d/nvidia.conf

This creates that file if it doesn’t exist and then opens it with kate.

and paste

options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp

save it and then terminal sudo dracut-rebuild and reboot.

Works?

1 Like

Yes! thank you very much! Where would be a good place to learn how you did what you just told me? Discovery? Archlinux wiki? Just want to understand what just happened better.

1 Like