How to enable custom kernel parameter via bin file in Silverblue

I am currently trying to enable 120Hz on my Lenovo 14AHP8 as my current Kinoite install doesn’t allow me to set the refresh rate more than 60Hz even though it is supported. I found out that some users where successful in enabling it by passing additional kernel parameters as described here:

I am stuck at the step of writing the edid.bin file to /usr/lib/firmware/edid as this is read-only and by doing some further research I found out that there seem to be several ways to approach this but I am unsure on what would be the best practice here.
Here are the ways I found:

Can somebody provide me a clear way to solve this?

Definitely only use rpm-ostree with the kargs option on all atomic fedora variants. As noted by the third link you posted.

2 Likes
rpm-ostree kargs --append="your_kernel_argument_here"

Try something like video=eDP-1:1920x1080@120

  • eDP-1: internal display
  • resolution
  • @Hz rate

Thank you that seems to have done the trick!

Unfortunately this seems to bring up a small issue at the bottom of my screen. There seems to be a 1 pixel wide strip of pixels which are behaving strangely by just being white. It is not a continuous but more of a patchy strip.

Reverting back to 60Hz resolves this issue. In the computer base link I have posted the people found out that the edid checksum reported by the display are not correct and that’s why a custom edid.bin needs to be moved to /usr/lib/firmware/edid which then has to be loaded via grub by adding the following line to /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash drm.edid_firmware=eDP-1:edid/edid.bin"

Additionally the following has to be added to /etc/initramfs-tools/hooks/edid

#!/bin/sh
if [ -d /lib/firmware/edid ]; then
  cp -r --parents /lib/firmware/edid ${DESTDIR}
fi

and finally running:
sudo update-initramfs -u

Can somebody help me how to approach this with these pieces of information?

1 Like

I am not gonna ask if you really need more than 60Hz which is basically the max refresh rate of most eyes

That solution sounds very hacky and I am overasked, I would assume this is a plasma problem?

Well I would like to use it - after all I payed for it and its nice eye candy. On the other side it isn’t a deal breaker.
Further digging around I stumbled upon a Fedora Specific guide here which is similar to the guide from ComputerBase but does it via dracut and then rebuilding the initramfs.
Does this maybe provide more info on how to do it on Kinoite?

So, you can write to /etc but that firmware patch needs to be an RPM to be possible to layer.

Creating an RPM is really useful knowledge, search for .spec files for other packages like this, and there are docs too.

If you have the .spec file you can build it on COPR