type in console
man man
man touch
man nano
man ls
man cd
man grep
man less
man more
man <command_name>
or <command_name> --help
or <command_name> -h
archlinux wiki
youtube: linux terminal basics
linux web courses. linux server administration courses.
PDF books of linux systems
https://discovery.endeavouros.com/
etc
It gets easier over time.
1 Like
xircon
June 5, 2024, 5:55pm
22
Back home:
cat /etc/kernel/cmdline
nvme_load=YES quiet nvidia_drm.modeset=1 nvidia-drm.fbdev=1 pci=nommconf nowatchdog rw root=UUID=1fe53a1a-6f4f-47df-a8cd-2f3d78155d7c resume=UUID=0942ac91-77f1-46a0-b31e-e10933c7b1bb
I have nvidia-drm.fbdev=1
in mine, don’t know if it will make a difference.
Edit:
options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp
Is exactly what I have in modprobe.d.
1 Like
Are there any importance of the order of parameters in kernel launch parameters cmdline ?
xircon
June 5, 2024, 6:00pm
24
No, don’t think so, I tend to add stuff at the beginning.
Think the fbdev was added by me in a vain attempt to solve the hard freezes caused by the newer drivers and I forgot to remove it
I have
nvme_load=YES nowatchdog rw root=UUID=19afa6e1-261c-4fa6-86ac-0c03a48a88c6 nvidia-drm.modeset=1
1 Like
sudo dmesg
show a bit of interesting things (kernel exception callstack) while trying to suspend unsuccesfully (and restoring itself back again):
[ 128.727239] PM: suspend entry (s2idle)
[ 128.728451] thermal thermal_zone0: failed to read out thermal zone (-61)
[ 128.788937] Filesystems sync: 0.061 seconds
[ 128.841412] Freezing user space processes
[ 128.850580] Freezing user space processes completed (elapsed 0.009 seconds)
[ 128.850584] OOM killer disabled.
[ 128.850585] Freezing remaining freezable tasks
[ 148.851926] Freezing remaining freezable tasks failed after 20.001 seconds (4 tasks refusing to freeze, wq_busy=0):
[ 148.851948] task:vb2-cx23885[1] state:S stack:0 pid:2844 tgid:2844 ppid:2 flags:0x00004000
[ 148.851955] Call Trace:
[ 148.851956] <TASK>
[ 148.851962] __schedule+0x3c7/0x1510
[ 148.851970] ? srso_alias_return_thunk+0x5/0xfbef5
[ 148.851973] ? asm_sysvec_apic_timer_interrupt+0x1a/0x20
[ 148.851978] schedule+0x27/0xf0
[ 148.851984] vb2_core_dqbuf+0x192/0x540 [videobuf2_common 63ea423c190be02e88c64bf59cbf5b1f810596ab]
[ 148.851992] ? srso_alias_return_thunk+0x5/0xfbef5
[ 148.851995] ? cx23885_buf_queue+0x6a/0x150 [cx23885 6384c0f43bc88785a3dc17c27c364134623fb4d7]
[ 148.852006] ? __pfx_autoremove_wake_function+0x10/0x10
[ 148.852012] vb2_thread+0x25b/0x2b0 [videobuf2_common 63ea423c190be02e88c64bf59cbf5b1f810596ab]
[ 148.852018] ? __pfx_vb2_thread+0x10/0x10 [videobuf2_common 63ea423c190be02e88c64bf59cbf5b1f810596ab]
[ 148.852023] kthread+0xd2/0x100
[ 148.852027] ? __pfx_kthread+0x10/0x10
[ 148.852030] ret_from_fork+0x34/0x50
[ 148.852033] ? __pfx_kthread+0x10/0x10
[ 148.852035] ret_from_fork_asm+0x1a/0x30
[ 148.852041] </TASK>
[ 148.852043] task:vb2-cx23885[0] state:S stack:0 pid:2846 tgid:2846 ppid:2 flags:0x00004000
[ 148.852046] Call Trace:
[ 148.852047] <TASK>
[ 148.852049] __schedule+0x3c7/0x1510
[ 148.852052] ? srso_alias_return_thunk+0x5/0xfbef5
[ 148.852056] schedule+0x27/0xf0
[ 148.852059] vb2_core_dqbuf+0x192/0x540 [videobuf2_common 63ea423c190be02e88c64bf59cbf5b1f810596ab]
[ 148.852064] ? srso_alias_return_thunk+0x5/0xfbef5
[ 148.852066] ? cx23885_buf_queue+0x6a/0x150 [cx23885 6384c0f43bc88785a3dc17c27c364134623fb4d7]
[ 148.852074] ? __pfx_autoremove_wake_function+0x10/0x10
[ 148.852078] vb2_thread+0x25b/0x2b0 [videobuf2_common 63ea423c190be02e88c64bf59cbf5b1f810596ab]
[ 148.852084] ? __pfx_vb2_thread+0x10/0x10 [videobuf2_common 63ea423c190be02e88c64bf59cbf5b1f810596ab]
[ 148.852089] kthread+0xd2/0x100
[ 148.852092] ? __pfx_kthread+0x10/0x10
[ 148.852094] ret_from_fork+0x34/0x50
[ 148.852097] ? __pfx_kthread+0x10/0x10
[ 148.852099] ret_from_fork_asm+0x1a/0x30
[ 148.852104] </TASK>
[ 148.852105] task:vb2-cx23885[1] state:S stack:0 pid:2848 tgid:2848 ppid:2 flags:0x00004000
[ 148.852108] Call Trace:
[ 148.852109] <TASK>
[ 148.852111] __schedule+0x3c7/0x1510
[ 148.852113] ? sysvec_apic_timer_interrupt+0xe/0x90
[ 148.852119] schedule+0x27/0xf0
[ 148.852122] vb2_core_dqbuf+0x192/0x540 [videobuf2_common 63ea423c190be02e88c64bf59cbf5b1f810596ab]
[ 148.852127] ? srso_alias_return_thunk+0x5/0xfbef5
[ 148.852129] ? cx23885_buf_queue+0x6a/0x150 [cx23885 6384c0f43bc88785a3dc17c27c364134623fb4d7]
[ 148.852137] ? __pfx_autoremove_wake_function+0x10/0x10
[ 148.852141] vb2_thread+0x25b/0x2b0 [videobuf2_common 63ea423c190be02e88c64bf59cbf5b1f810596ab]
[ 148.852147] ? __pfx_vb2_thread+0x10/0x10 [videobuf2_common 63ea423c190be02e88c64bf59cbf5b1f810596ab]
[ 148.852152] kthread+0xd2/0x100
[ 148.852154] ? __pfx_kthread+0x10/0x10
[ 148.852157] ret_from_fork+0x34/0x50
[ 148.852159] ? __pfx_kthread+0x10/0x10
[ 148.852162] ret_from_fork_asm+0x1a/0x30
[ 148.852166] </TASK>
[ 148.852168] task:vb2-cx23885[0] state:S stack:0 pid:2850 tgid:2850 ppid:2 flags:0x00004000
[ 148.852170] Call Trace:
[ 148.852171] <TASK>
[ 148.852173] __schedule+0x3c7/0x1510
[ 148.852175] ? sysvec_apic_timer_interrupt+0xe/0x90
[ 148.852180] schedule+0x27/0xf0
[ 148.852183] vb2_core_dqbuf+0x192/0x540 [videobuf2_common 63ea423c190be02e88c64bf59cbf5b1f810596ab]
[ 148.852188] ? srso_alias_return_thunk+0x5/0xfbef5
[ 148.852190] ? cx23885_buf_queue+0x6a/0x150 [cx23885 6384c0f43bc88785a3dc17c27c364134623fb4d7]
[ 148.852198] ? __pfx_autoremove_wake_function+0x10/0x10
[ 148.852202] vb2_thread+0x25b/0x2b0 [videobuf2_common 63ea423c190be02e88c64bf59cbf5b1f810596ab]
[ 148.852208] ? __pfx_vb2_thread+0x10/0x10 [videobuf2_common 63ea423c190be02e88c64bf59cbf5b1f810596ab]
[ 148.852213] kthread+0xd2/0x100
[ 148.852216] ? __pfx_kthread+0x10/0x10
[ 148.852218] ret_from_fork+0x34/0x50
[ 148.852221] ? __pfx_kthread+0x10/0x10
[ 148.852223] ret_from_fork_asm+0x1a/0x30
[ 148.852228] </TASK>
[ 148.852241] Restarting kernel threads ... done.
[ 148.852588] OOM killer enabled.
[ 148.852589] Restarting tasks ... done.
[ 148.854303] random: crng reseeded on system resumption
[ 148.854315] PM: suspend exit
fbdev
option had no difference. I’m on Wayland.
Hol’up… Could it be that, it takes long time (>20s) for 24GB VRAM blob to get written to SSD, and that’s why some tasks in kernel says that they didn’t finished yet, and then cancels the system suspension ?
If it actually a bug, then it will be even more interesting if upcomming nvidia’s graphics driver update will fix that. When it comes out of beta.
Ok so seems like I was right.
https://www.kernel.org/doc/html/latest/power/freezing-of-tasks.html#v-miscellaneous
As a root user typed:
# echo 60000 > /sys/power/pm_freeze_timeout
default value are 20’000ms, so I increased it to 60’000ms (maybe could be less, but it doesn’t hurt). Now first time PC gets to sleep fast like you would expect. But when I you sleep the second time (sometimes third time), it takes several minutes; but in the end it gets to sleep just fine. Kernel log doesn’t show any error while at it. If anyone know how to get it to persist between restart, would be good to know. Or how to make it get to sleep faster.
Also
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 no…
and
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?
was needed.