Using 5.17 kernel and did sudo dnf update , rebooting into 5.19 kernel and found out that screen starts to flash/lag and to show black/random patterns.
grubby works, though it sort of forces you to work “blind” (in the sense that you can’t examine the configs you’re changing) which I don’t love.
If you want a bit more direct control over the process, you can sudo dnf install blsctl to install the config tool for the BootLoader System. It allows you to examine and modify each entry’s configs directly. e.g. on my F36, Nvidia-using-nouveau system: (I’ve wrapped long lines for readability)
$ sudo blsctl entry list
0 5593b6f732944ad491ba36d3b37def31-5.19.6-200.fc36.x86_64.conf
1 5593b6f732944ad491ba36d3b37def31-5.18.19-200.fc36.x86_64.conf
2 5593b6f732944ad491ba36d3b37def31-5.18.18-200.fc36.x86_64.conf
3 5593b6f732944ad491ba36d3b37def31-0-rescue.conf
4 622bc38e3e154842b6a560ee125d842d-0-rescue.conf
$ # (Yes, I should get rid of that extra rescue config, must be a leftover)
$
$ sudo blsctl cmdline 0 show
root=/dev/mapper/vg00-lv_root ro resume=/dev/mapper/vg00-lv_swap
rd.lvm.lv=vg00/lv_root rd.lvm.lv=vg00/lv_swap rhgb quiet $tuned_params
sudo blsctl cmdline <num> set i915.enable_psr=0 would set that parameter on the specified entry, you can use sudo blsctl cmdline all set ... to modify all entries at once, and sudo blsctl cmdline all clear i915.enable_psr would remove it from all entries.
Prefer the set subcommand to sudo blsctl cmdline __ add, which will always add an additional parameter setting even if that parameter already exists on the given commandline, leaving you with redundant parameters. (But sometimes you need redundant parameters, like in my rd.lvm.lv entries. That’s what the add subcommand is for, along with the remove subcommand which is more surgical than clear.)
Thank you Frank! I tried sudo blsctl cmdline 0 set i915.enable_psr=0 for my case and it works.
I have also do grubby --update-kernel /boot/vmlinuz-5.19.8-200.fc36.x86_64 --remove-args='i915.enable_psr=0' on my system to prevent potential duplicated parameters.
If /boot/vmlinuz-5.19.8-200.fc36.x86_64 is entry 0 in blsctl entry list, you should check (sudo blsctl cmdline 0 show) that your parameter is still there.
blsctl and grubby operate on the same files (the bootloader entries in /boot/loader/entries/), so they can and will affect each other. In other words, doing something like this:
sudo blsctl cmdline all set i915.enable_psr=0
sudo grubby --update-kernel /boot/vmlinuz-5.19.8-200.fc36.x86_64 \
--remove-args="i915.enable_psr=0"
…would result in every commandline containing that parameter except the one corresponding to kernel 5.19.8, because the grubby command would remove the parameter that blsctl added.
Correct, the values are distinct, but they’re both set on the same parameter. And if you used the parameter-only commands like blsctl cmdline __ clear rd.lvm.lv or blsctl cmdline __ set rd.lvm.lv=value, it would overwrite/remove all of the existing entries. Hence the existence of blsctl cmdline __ add rd.lvm.lv=value and blsctl cmdline __ remove rd.lvm.lv=value, which will leave any other rd.lvm.lv parameters alone).
OK, maybe “repeated” is slightly more precise than “redundant”. (The parameter definitely is repeated, just with a different value each time. Thus making them not technically redundant — conceded.)
Edit, after enabling the blsctl command yesterday night, I am still getting flicker. I am not sure if there is different config I need to disable for an nvidia GPU?