I’ve made another test because I wasn’t shure if I did the first one on wayland or X11. On X11 same result. It seems like it doesn’t detect the X11 custom resokution. I’ll try to fix my mswindows and then we’ll see if the windows edit works
Ok so it seems like the only way is to add Kernel Parameters. I’ll try that again and then I’ll post my results
Ok, so this is fascinating. I tried to add Kernel Parameters and now, suddently, it works! I think this isn’t the best way to add a custom resolution, but it definetly works. But that doesn’t solve my questions about how to do it with an custom edid. So I would experiment with making a custom edit. If you’re interested in experimenting with that as well, you can say. Thank you for the help!
I have Intel UHD 630 (worked as-is also with a RX 580 and 6600 XT) and force a custom refresh rate through kernel option to take my screen from 1080p@60Hz to 74Hz and it works on GNOME on X and Wayland, and Plasma 6 Wayland: video=HDMI-A-1:1920x1080@74 and I’ve done it for a lower-than-native resolution on GNOME on Wayland: video=HDMI-A-1:1366x768@74
wl_output from wayland-info shows HDMI-A-1 for me and I guess it grabs it reputably, but I used to grab that port name some other way. If you got DP-2 from Xorg it’s possible it’s different for Wayland if you were forcing AMDGPU’s Xorg DDX driver. Are you certain it’s DP-2? Do you have more than one screen?
It was DP-2. I added the same Kernel Parameters as you (with my resolution and refresh rate of course), but I think this isn’t the best way to add a custom resolution because I am getting screen tearing and Bugs like that. So by now, the only way to get a resolution, which is working without tearing effects or other bugs, is to create a working edid for my monitor (correct me if I’m wrong here). Here’s the problem: I don’t really know how you can make an actuall custom edid, because the things I tried did’t work
Try this kernel option:
video='DP-2:2560x1080MR@60'
M
forces the resolution to be calculated instead of looked up, and R
reduce-blanks it to reduce bandwidth requirements: modedb default video mode support — The Linux Kernel documentation
In my case with a 1080p@60Hz screen I wasn’t using MR
initially and could only get 74Hz on my monitor because of it having too-high of bandwidth due to the non-reduced-blank calculation (on Windows I used CRU and did RB2 for 75Hz). R
on the kernel option successfully reduces it from like 213MHz to 170MHz, and M
just sounds like it should be there since I’m pretty sure it has to be calculated (the 74-75Hz was calculated fine without
M
before though)
Yes, that’s what I used and it works. But it isn’t perfect because I’m getting Screen Tearing when having the new resolution. So now, I try to add an custom edid to get it to work properly.
Oh wait, I’ve just reread your post, know I understand the difference. Ok, I’ll try this out
Ok, if it requires MSWindows, I’m having a problem. i think I broke MSWindows as I reinstalled Linux. Now, it doesn’t show up in grub anymore (I tried enabling it in grub customizer but did’t work). How to dump these files from windows?
Could you do it with a VM? If you can do it with a VM, I think it’s going to be easier. Else I have to find a device which can run windows (which is not that likely to happen). Another option would be to ask somenone who has MS windows. All my friends are using MS Windows, but they don’t really know anything about their computers, even less than me. So guiding them would take to long.
I’m getting the same output like you, so it seems like it didn’t work. If it was right, how would you save it to a file? I didn’t have to deal with .bin files in the past, so do I have to create one before saving the edid to it?
Ok, thanks for that explanation. I created the edid directory and now I have the .bin file. How can I add it to the Kernel command line? (Btw sry that I didn’t answer, I haven’t been on my PC for a while)
At first, I tried it as you said in post 23, but it didnt’t work so I wanted to know if I had done it right. I tried adding it to the GRUB_CMDLINE_LINUX_DEFAULT as well (the one that you edit with grub customizer) but it didn’t work. If it was right it would show up in my settings, right?
My output:
Block 0, Base EDID:
EDID Structure Version & Revision: 1.4
Vendor & Product Identification:
Manufacturer: RHT
Model: 4660
Serial Number: 1
Made in: week 42 of 2014
Basic Display Parameters & Features:
Digital display
Bits per primary color channel: 8
DisplayPort interface
Maximum image size: 67 cm x 28 cm
Gamma: 2.20
Supported color formats: RGB 4:4:4
Default (sRGB) color space is primary color space
First detailed timing includes the native pixel format and preferred refresh rate
Color Characteristics:
Red : 0.6396, 0.3300
Green: 0.2998, 0.5996
Blue : 0.1503, 0.0595
White: 0.3125, 0.3291
Established Timings I & II:
DMT 0x04: 640x480 59.940476 Hz 4:3 31.469 kHz 25.175000 MHz
DMT 0x09: 800x600 60.316541 Hz 4:3 37.879 kHz 40.000000 MHz
DMT 0x10: 1024x768 60.003840 Hz 4:3 48.363 kHz 65.000000 MHz
Standard Timings:
DMT 0x54: 2048x1152 60.000000 Hz 16:9 72.000 kHz 162.000000 MHz (RB)
DMT 0x52: 1920x1080 60.000000 Hz 16:9 67.500 kHz 148.500000 MHz
DMT 0x45: 1920x1200 59.884600 Hz 16:10 74.556 kHz 193.250000 MHz
DMT 0x33: 1600x1200 60.000000 Hz 4:3 75.000 kHz 162.000000 MHz
DMT 0x3a: 1680x1050 59.954250 Hz 16:10 65.290 kHz 146.250000 MHz
DMT 0x2f: 1440x900 59.887445 Hz 16:10 55.935 kHz 106.500000 MHz
DMT 0x23: 1280x1024 60.019740 Hz 5:4 63.981 kHz 108.000000 MHz
DMT 0x20: 1280x960 60.000000 Hz 4:3 60.000 kHz 108.000000 MHz
Detailed Timing Descriptors:
DTD 1: 2560x1080 74.998342 Hz 64:27 83.773 kHz 289.520000 MHz (677 mm x 285 mm)
Hfront 640 Hsync 76 Hback 180 Hpol N
Vfront 5 Vsync 5 Vback 27 Vpol N
Established timings III:
DMT 0x17: 1280x768 59.870228 Hz 5:3 47.776 kHz 79.500000 MHz
DMT 0x27: 1360x768 60.015162 Hz 85:48 47.712 kHz 85.500000 MHz
DMT 0x2a: 1400x1050 59.978442 Hz 4:3 65.317 kHz 121.750000 MHz
DMT 0x3e: 1792x1344 59.999789 Hz 4:3 83.640 kHz 204.750000 MHz
DMT 0x41: 1856x1392 59.995184 Hz 4:3 86.333 kHz 218.250000 MHz
DMT 0x49: 1920x1440 60.000000 Hz 4:3 90.000 kHz 234.000000 MHz
Display Range Limits:
Monitor ranges (Bare Limits): 50-125 Hz V, 30-160 kHz H, max dotclock -1744 MHz
Display Product Name: ‘Fix’
Extension blocks: 1
Checksum: 0xd4
Block 1, CTA-861 Extension Block:
Revision: 3
Native detailed modes: 0
Video Data Block:
VIC 89: 2560x1080 50.000000 Hz 64:27 56.250 kHz 185.625000 MHz
VIC 31: 1920x1080 50.000000 Hz 16:9 56.250 kHz 148.500000 MHz
Checksum: 0x50
Failures:
Block 1, CTA-861 Extension Block:
Padding: Contains non-zero bytes.
EDID conformity: FAIL
Did you mean sudo dmesg -H
First one (last Argument is because of corectrl):
BOOT_IMAGE=(hd2,gpt2)/vmlinuz-6.8.11-300.fc40.x86_64 root=UUID=a61897cb-df93-48f0-bf31-53b326f65db0 ro rootflags=subvol=root rhgb quiet drm.edid_firmware=DP-2:edid/2560x1080@75.bin amdgpu.ppfeaturemask=0xffffffff
I don’t know what you mean by
dmesh -H
but there isn’t anything that shows that the edid was used in
sudo dmesg -H
too. What does that command?
I get this.
-rw-r–r–. 1 root root unconfined_u:object_r:lib_t:s0 256 7. Jun 18:28 /lib/firmware/edid/2560x1080@75.bin
I follow
I couldn’t choose the resolution in the settings. But today, out of nowhere, it worked! I started my Computer and didn’t know what was going on. My resolution had changed. Then I realized that the edid worked. I don’t know why it suddently works, but I’m having a resolution of 2560x1080 with 75hz. Is there a way to have my old resolution (3440x1440) too and having 165hz?
I have a question: What does that command (#post 42) do
qemu-edid -v Custom -n Fix -s 1 -d 96 -x 2560 -y 1080 -X 3440 -Y 1440 | di-edid-decode