2.3 KiB
2.3 KiB
Modify EDID, so my screens work at 61Hz
Trying to fix some what high power draw of RX 7900XT(to make its memory run cooler).
XOrg
Put below config in /etc/X11/xorg.conf.d/09-displays.conf(also attached as file in /X11/09-displays.conf).
Section "Monitor"
Identifier "DisplayPort-0"
Modeline "1200p_61" 196.53 1920 2048 2256 2592 1200 1201 1204 1243 -HSync +Vsync
Option "PreferredMode" "1200p_61"
EndSection
Section "Monitor"
Identifier "DisplayPort-1"
Modeline "1440p_61" 317.24 2560 2744 3024 3488 1440 1441 1444 1491 -HSync +Vsync
Option "PreferredMode" "1440p_61"
EndSection
Section "Monitor"
Identifier "DisplayPort-2"
Modeline "1200p_61" 196.53 1920 2048 2256 2592 1200 1201 1204 1243 -HSync +Vsync
Option "PreferredMode" "1200p_61"
EndSection
Then restart X session and from system settings set new resolution.
Wayland(Gnome/KDE)
In this case, there are 2 options. First is to pass video kernel parameter(but it does not work for me) and other is to modify EDID so it contains addidional resolution data.
Modifying EDID
https://askubuntu.com/questions/973499/wayland-how-to-set-a-custom-resolution
# Install nessesary packages
sudo apt install zsh edid-decode automake dos2unix
# Clone tools
git clone https://gitea.wrzooz.pl/repaste/edid-generator.git
cd edid-generator
# Prepare new edid files
./modeline2edid ../RX7900XTPowerDrawFix/Wayland/displays.modelines
make
# Place EDID files in target location
sudo mkdir /usr/lib/firmware/edid
sudo cp 1200p_61.bin /usr/lib/firmware/edid/
sudo cp 1440p_61.bin /usr/lib/firmware/edid/
## Add those files to initramfs so driver can load them
# Ubuntu
cp ./Wayland/displays-edid /usr/share/initramfs-tools/hooks/displays-edid
sudo chmod +x /usr/share/initramfs-tools/hooks/displays-edid
sudo update-initramfs -u
# Arch
# Add file name to FILES in /etc/mkinitcpio.conf
# Ex. FILES=(/usr/lib/firmware/edid/1200p_61.bin)
# And rebuild them all
# mkinitcpio -P
## Make kernel use that files
sudo nano /etc/default/grub
#add drm.edid_firmware=DP-1:edid/1200p_61.bin,DP-3:edid/1200p_61.bin into GRUB_CMDLINE_LINUX_DEFAULT
sudo update-grub
Testing
https://wiki.archlinux.org/title/Kernel_mode_setting#Forcing_modes_and_EDID
Links
https://davejansen.com/add-custom-resolution-and-refresh-rate-when-using-wayland-gnome/