You are not logged in.
I’m trying to force a 1920x1080@96Hz mode on my laptop’s internal display (eDP-1) using a custom EDID override. The EDID binary is extracted from Windows with CRU and includes 96Hz mode. Here's what I've done so far:
Running Arch Linux with linux-zen kernel (latest) on an Intel UHD Graphics (CML GT2).
Added the EDID binary 96hz_edid.bin to /usr/lib/firmware/edid/.
Kernel parameter in linux-zen.preset set as:
drm.edid_firmware=card1-eDP-1:edid/96hz_edid.bin
(also tried global override drm.edid_firmware=edid/96hz_edid.bin)
Verified the EDID override is included in the initramfs (via FILES=(/usr/lib/firmware/edid/96hz_edid.bin) in /etc/mkinitcpio.conf).
Rebuilt initramfs and rebooted multiple times.
EDID override seems to load (confirmed via debugfs live override test).
Tried manually adding the 96Hz mode with xrandr on Xorg:
xrandr --newmode "1920x1080_96.00" 288.00 1920 2064 2272 2624 1080 1083 1088 1144 -hsync +vsync
xrandr --addmode eDP-1 "1920x1080_96.00"
xrandr --output eDP-1 --mode "1920x1080_96.00"
But get xrandr: Configure crtc 0 failed.
On Wayland, xrandr has no effect (expected).
Kernel parameter i915.enable_psr=0 tested with no change.
Display stays locked at 60Hz even after all attempts.
Kernel logs and DRM debug don’t show obvious errors.
Has anyone successfully forced a higher refresh rate like 96Hz on internal eDP Intel displays with a custom EDID on Arch Linux? Any ideas on:
Kernel/i915 quirks that might block this?
Alternative ways to patch EDID or force modes?
Debugging tips for DRM mode-setting failures?
Last edited by KyleDaCow (2025-08-03 10:31:34)
Offline
https://wiki.archlinux.org/title/Kernel … s_and_EDID
Can you load the edid at runtime? (Before starting any display server)
Tried manually adding the 96Hz mode with xrandr on Xorg:
loading an edid that provides the desired mode means that you'll exactly NOT have to do that.
The drivers filter "invalid" (out of spec) modes after some sub-par panels apparently broke from being fed invalid edids. (I can't find the commit atm, sorry)
Offline
Hi! Thanks for the reply, I have found a solution (after almost a year of trying to fix this):
# 1. Create firmware directory & copy your EDID binary there
sudo mkdir -p /usr/lib/firmware/edid
sudo cp ~/Downloads/96hz_edid.bin /usr/lib/firmware/edid/1920x1080_96hz.bin
# 2. Edit mkinitcpio.conf to load i915 module and include EDID file in initramfs
sudo nano /etc/mkinitcpio.conf
# Add or confirm these lines:
MODULES=(i915)
FILES=(/usr/lib/firmware/edid/1920x1080_96hz.bin)
# 3. Edit the mkinitcpio preset for your kernel (linux-zen) to add the kernel parameter
sudo nano /etc/mkinitcpio.d/linux-zen.preset
# Add or edit the line:
ALL_kcmdline="drm.edid_firmware=eDP-1:edid/1920x1080_96hz.bin"
# 4. Regenerate initramfs and unified kernel image (UKI) with new settings
sudo mkinitcpio -p linux-zen
# 5. Edit /etc/kernel/cmdline (used by systemd-boot UKI) to include the EDID param
sudo nano /etc/kernel/cmdline
# Add drm.edid_firmware param here as well, e.g.:
root=PARTUUID=XXXX zswap.enabled=0 rw rootfstype=ext4 drm.edid_firmware=eDP-1:edid/1920x1080_96hz.bin
# 6. Regenerate initramfs & UKI again to apply the new cmdline
sudo mkinitcpio -p linux-zen
# 7. Reboot and Apply The New Refresh Rate
Offline