Font issue on fedora gnome+wayland+550.67 after suspend

I’m using fedora with wayland and gnome and have 550.67 driver installed.
I’ve noticed that after suspend nvidia clears all fonts. Am I missing some setup?

My nvidia-powerd service crashes as follows:

Apr 09 10:48:47 fedora systemd[1]: Started nvidia-powerd.service - nvidia-powerd service.
Apr 09 10:48:47 fedora /usr/bin/nvidia-powerd[1143]: nvidia-powerd version:1.0(build 1)
Apr 09 10:48:47 fedora /usr/bin/nvidia-powerd[1143]: SBIOS support not found for NVPCF GET_SUPPORTED function
Apr 09 10:48:47 fedora /usr/bin/nvidia-powerd[1143]: No matching GPU found
Apr 09 10:48:47 fedora /usr/bin/nvidia-powerd[1143]: Failed to initialize Dynamic Boost
Apr 09 10:48:47 fedora /usr/bin/nvidia-powerd[1143]: Failed to detach GPU id 256
Apr 09 10:48:47 fedora /usr/bin/nvidia-powerd[1143]: Failed to initialize Dynamic Boost
Apr 09 10:48:47 fedora /usr/bin/nvidia-powerd[1143]: Failed to detach GPU id 256
Apr 09 10:48:47 fedora systemd[1]: nvidia-powerd.service: Main process exited, code=exited, status=1/FAILURE
Apr 09 10:48:47 fedora systemd[1]: nvidia-powerd.service: Failed with result 'exit-code'.

But from what I have read it is expected to use pm on fedora


nvidia-bug-report.log.gz (793.7 KB)
^ here is my output

Please see this:
You should rather use a packaged driver which installs the needed files.

thank you for your reply and sorry for delay.
What do you mean by “using packaged version”?

My system seems to use s2idle suspend mode so it seems it will not work correctly until kernel fix, right?

ok, I’ve lookded into this a bit closer.
I think I need to enable something in kernel module, but I’m not sure how to do that…
I tried to put the following in /etc/modprobe.d

options nvidia.ko NVreg_EnableS0ixPowerManagement=1

but it didn’t help

I’ve just switched to use RPMFusion-nonfree-nvidia-drivers repository but it still doens’t work correctly.
both nvidia-suspend.service and nvidia-resume.service are enabled and running.
I don’t know how to edit kernel parameters but I suppose it shouldn’t be necessery, should it?
What am I doing wrong?

I gues you should try to additionally set
options nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp NVreg_DynamicPowerManagement=0x02
Afterwards, please recreate the initramfs and reboot, then create a new nvidia-bug-report.log.

could you explain to me how to set these parameters? I was searching in modprobe docs for syntax (I think it should be like options <module> <option>) but I’m not sure what module name should I use there.

The module name is nvidia.
You will have to create/modify a .conf file in /etc/modprobe.d and run sudo dracut -f afterwards to update the initrd.
cat /proc/driver/nvidia/params
should then show the correct settings after reboot.

I ran this: sudo dracut --force --kver 6.8.5-201.fc39.x86_64 but I ran into a problem that now my kernel doesn’t load nvidia module at all (lsmod |grep nvidia shows nothing) maybe dracut needs some more parameters on fedora?

No, if the modules don’t load at all, there’s something else wrong. Please create a new nvidia-bug-report.log.

Ok, here is my file:
nvidia-bug-report.log.gz (131.1 KB)

just to note: module was loaded previously. it disappeared after runing dracut. It doesn’t matter if /etc/modprobe.d/nvidia.conf exists

The driver is there but doesn’t load so I suspect you have a syntax error in the modprobe file you created. Please attach it to your post, the remove it from /etc/modprobe.d and run dracut -f again to get the driver running again.

at the moment, my nvidia.conf in /etc/modprobe.d looks as follows

# added manually by xxx.
# ref:
#options nvidia  NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp NVreg_DynamicPowerManagement=0x02
# but I've decided to use the default tmp location as my tmp is btrfs
#options nvidia  NVreg_PreserveVideoMemoryAllocations=1 NVreg_DynamicPowerManagement=0x02
# the above crashed
#options nvidia  NVreg_PreserveVideoMemoryAllocations=1

SO I don’t think it has no syntax errors…

interessting, I’ve just tried this and got the following result

[~ (1) ]$ sudo modprobe nvidia NVreg_PreserveVideoMemoryAllocations=1 NVreg_TemporaryFilePath=/var/tmp NVreg_DynamicPowerManagement=0x02
modprobe: ERROR: could not insert 'nvidia': Key was rejected by service

I tought I had the key already registered but there is some issue with it. Where can I find this key? should I add it to mok?

You likely didn’t make it available for akmods?

that worked! Thank you so much for help!

Turns out that I had to add this key and now it works even without editing /etc/modprobe.d.
Generally I am not sure why it worked before. some of nvidia kernel modules got loaded without that key?