120hz not working on Lenovo Slim 7i 14IRP8

Here is the relevant linuxmint discussion that previously worked to enable 120hz:

(SOLVED)120HZ not available laptop screen - Linux Mint Forums

I followed the steps similarly but wanted to use 120hz on clear linux running default gnome on wayland. Here are the steps I followed:

  • Download edid.zip file from the linuxmint discussion
  • extract edid.bin into the newly created /lib/firmware/edid directory
  • Created a file called edid.conf in /etc/kernel/cmdline.d/
  • Echoed the following into the edid.conf file: drm.edid_firmware=edid/edid.bin
  • Ran clr-boot-manager update

After restarting the laptop, 120hz was still not available so I ran sudo dmesg | grep edid:

[    0.932132] i915 0000:00:02.0: [drm] *ERROR* [CONNECTOR:241:eDP-1] Requesting EDID firmware "edid/edid.bin" failed (err=-2)

likely related to clr-boot-manager update stopped working · Issue #3321 · clearlinux/distribution · GitHub
if you find a /boot directory, delete it
check if your drm.edid arg has been added as a kernel argument using cat /proc/cmdline

I found the /boot directory and I deleted it.

I then ran clr-boot-manager update.

After restarting the computer, I noticed that 120hz was still not available so I ran sudo dmesg | grep edid:

[    0.871605] i915 0000:00:02.0: [drm] *ERROR* [CONNECTOR:241:eDP-1] Requesting EDID firmware "edid/edid.bin" failed (err=-2)

I ran cat /proc/cmdline:

initrd=\EFI\org.clearlinux\freestanding-00-early-ucode.cpio initrd=\EFI\org.clearlinux\freestanding-i915-firmware.cpio.zst root=PARTUUID=f8bb32f5-d46b-4736-992a-8e2a4ee4ba6f quiet console=tty0 console=ttyS0,115200n8 cryptomgr.notests init=/usr/bin/initra-desktop initcall_debug intel_iommu=igfx_off kvm-intel.nested=1 no_timer_check noreplace-smp page_alloc.shuffle=1 rcupdate.rcu_expedited=1 rootfstype=ext4,btrfs,xfs,f2fs tsc=reliable rw drm.edid_firmware=edid/edid.bin

I also noticed that the /boot directory was back even after I deleted it.

this probably has your solution, unless you’ve already checked it out
Copypasta from the issue

I'll write the detailed steps for anyone else facing the same issue :

    I created the following folders in my home directory :
    sudo mkdir -p ~/test/usr/lib/firmware/edid

    Copy the edid.bin file to the folder : cp ~/edid.bin ~/test/usr/lib/firmware/edid and to /usr/lib/firmware/edid/ : cp ~/edid.bin /usr/lib/firmware/edid

    CD into test directory : cd ~/test and run this : find . | cpio -H newc -o | gzip >> ../my-initrd.img
    The my-initrd.img file will be created in the home directory.

    Create initrd.d folder : sudo mkdir -p /etc/kernel/initrd.d

    Copy the initrd img file to initrd.d folder : sudo cp ~/my-initrd.img /etc/kernel/initrd.d and also add the kernel parameter drm.edid_firmware=eDP-1:edid/edid.bin to /etc/kernel/cmdline.d/edid.conf

    Update clr-boot-manager : sudo clr-boot-manager update and reboot.

It worked! I see higher refresh rate options in display settings now!