Custom kernel options/parameters not used

I am using a Framework laptop, so I want to add the kernel parameters i915.enable_psr=0 and mem_sleep_default=deep to fix screen glitchyness and turn suspension from completely broken to slightly broken.
I tried the instructions here, but after rebooting neither are applied. Opening a dom0 terminal and checking /proc/cmdline shows neither, /sys/power/mem_sleep still shows s2idle, and I still get erratic screen glitches. I checked /boot/grub2/grub.cfg just to make sure and it does show up, so I’m at a loss.
What am I missing?

I noticed that there’s another grub.cfg, located at /boot/efi/EFI/qubes/grub.cfg, but I don’t know how to properly rebuild for UEFI. Would running grub2-mkconfig and then dracut as the link in the OP said to do still work for EFI?
I’ve broken a system before trying to mess with GRUB, so I don’t want to blindly test it myself.

How does the file in the efi folder look?

You would need to change the output path to the cfg file in the efi subfolder with the “-o” option.
Backup the file first if you are worried about breaking your system (and maybe create some rescue CD). You can also check if the file does anything at all by manually editing it, appending some parameter and see if it occurs in /proc/cmdline on next reboot.

https://fedoraproject.org/wiki/GRUB_2#Create_a_GRUB_2_configuration

I ran a diff on the two grub.cfg files, and it showed that the efi grub.cfg was the same as the one I modified aside from the efi one not having the custom parameters.
I’ll make a backup of my qubes and try to modify it later today, will update with my process and results.

I managed to get it working.
Here’s how to change the kernel parameters on a UEFI install (everything in a dom0 terminal):

  1. Modify /etc/default/grub however you want
  2. sudo grub2-mkconfig -o /boot/efi/EFI/qubes/grub.cfg
  3. sudo dracut -f
  4. Reboot

Your new kernel parameters should be applied. Run cat /proc/cmdline to verify.
Thanks to @bored for the hint!

2 Likes