You are not logged in.
For some reason I am unable to change the resolution or refresh rate of my main monitor. When I try to modify the display settings in gnome, it doesn't give any other resolution or refresh rate, and just says "unknown display". I have recently changed from nvidia to amd, and on nvidia it worked just fine. this is what I'm seeing on my monitor.
- Gnome Wayland on Arch Linux
- Monitor: Asus ROG Swift PG278Q 1440p 144Hz Gsync monitor
- GPU: AMD Radeon RX 6600
lspci | grep -i VGA`outputs:
03:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 23 [Radeon RX 6600/6600 XT/6600M] (rev c7)Drivers installed:
- `mesa`
- `xf86-video-amd`
- `vulkan-radeon`
- `libva-mesa-driver`
My secondary monitor which is a generic Asus 1080p monitor works fine, and I tried an Ubuntu live USB and it had the exact same problem
EDIT1: It is worth mentioning that I have tested the monitor and graphics card on windows and everything works fine. No resolution or refresh rate issues. No unknown display. Drivers are downloaded properly. The issue is with the Linux Kernel.
Last edited by K4LCIFER (2022-01-08 21:44:29)
Offline
Please post your xorg log, https://wiki.archlinux.org/title/Xorg#General and the output of "xrandr -q"
Offline
Please post your xorg log, https://wiki.archlinux.org/title/Xorg#General and the output of "xrandr -q"
I’m on Wayland so no xrandr nor Xorg log I don’t think.
Offline
Well, you mentioned xf86-video-amd and (I kinda overread "Gnome Wayland"…)
Please try the behavior on gnome/xorg so we can gather some information.
You might have to go for https://wiki.archlinux.org/title/Kernel … s_and_EDID if no edid can be obtained from the output (is there any dock/adapter involved?)
Offline
Well, you mentioned xf86-video-amd and (I kinda overread "Gnome Wayland"…)
Please try the behavior on gnome/xorg so we can gather some information.
You might have to go for https://wiki.archlinux.org/title/Kernel … s_and_EDID if no edid can be obtained from the output (is there any dock/adapter involved?)
After you mentioned EDID, I did some digging, and it looks like my issue is a bug... a bug that has been unsolved for 3 years. And for whatever reason, it seems that its commonly only the PG278Q which is the exact monitor that I have.
Last edited by K4LCIFER (2022-01-08 21:42:35)
Offline
For xrandr (thus X11) you could try
% cvt12 2560 1440 144 -b
# 2560x1440 @ 144.000 Hz Reduced Blank (CVT) field rate 144.000 Hz; hsync: 222.192 kHz; pclk: 586.59 MHz
Modeline "2560x1440_144.00_rb2" 586.59 2560 2568 2600 2640 1440 1529 1537 1543 +hsync -vsynchttps://wiki.archlinux.org/title/Xrandr … esolutions
For the console (and wayland) see https://raw.githubusercontent.com/torva … modedb.rst
"2560x1440@120R" might work, but I assume cvt1.2 calculations aren't supported, so "2560x1440@144R" would be invalid.
Offline
After you mentioned EDID, I did some digging, and it looks like my issue is a bug... a bug that has been unsolved for 3 years. And for whatever reason, it seems that its commonly only the PG278Q which is the exact monitor that I have.
Can you try to extract the edid with get-edid from the read-edid package and then setting it as a kernel parameter? It looks like nobody tried that yet.
https://wiki.archlinux.org/title/Kernel … s_and_EDID
Edit: ddcutil detect --verbose could also be an option
Or extract it on windows with Monitor Asset Manager (suggested by Dell) or DumpEDID by nirsoft. (though that seemed to fail for one of the reporters). Maybe you can extract the ID and try to repair it with wxedid.
Last edited by progandy (2022-01-08 22:33:14)
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |
Offline
K4LCIFER wrote:After you mentioned EDID, I did some digging, and it looks like my issue is a bug... a bug that has been unsolved for 3 years. And for whatever reason, it seems that its commonly only the PG278Q which is the exact monitor that I have.
Can you try to extract the edid with get-edid from the read-edid package and then setting it as a kernel parameter? It looks like nobody tried that yet.
https://wiki.archlinux.org/title/Kernel … s_and_EDID
Edit: ddcutil detect --verbose could also be an optionOr extract it on windows with Monitor Asset Manager (suggested by Dell) or DumpEDID by nirsoft.
Okay so I tried get-edid from read-edid, and it output the following:
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Looks like no busses have an EDID. Sorry!
Attempting to use the classical VBE interface
Performing real mode VBE call
Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
Function supported
Call successful
VBE version 300
VBE string at 0xc0384 "AMD ATOMBIOS"
VBE/DDC service about to be called
Report DDC capabilities
Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
Function supported
Call successful
Monitor and video card combination does not support DDC1 transfers
Monitor and video card combination supports DDC2 transfers
0 seconds per 128 byte EDID block transfer
Screen is not blanked during DDC transfer
Reading next EDID block
VBE/DDC service about to be called
Read EDID
Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
Function supported
Call failed
The EDID data should not be trusted as the VBE call failed
Error: output block unchanged
I'm sorry nothing was successful. Maybe try some other arguments
if you played with them, or send an email to Matthew Kern <pyrophobicman@gmail.com>.It appears to have encountered an error.
Offline
So that runs into the same error as the detection through the graphics card. If you can connect it to a different graphics card with the same ports, maybe that can help to extract the edid.
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |
Offline
So that runs into the same error as the detection through the graphics card. If you can connect it to a different graphics card with the same ports, maybe that can help to extract the edid.
Alright I swapped out the AMD RX6600 for a GTX 1080 (which works perfectly fine with my monitor) and got the following output:
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Looks like no busses have an EDID. Sorry!
Attempting to use the classical VBE interface
Performing real mode VBE call
Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
Function supported
Call successful
VBE version 300
VBE string at 0x11100 "NVIDIA"
VBE/DDC service about to be called
Report DDC capabilities
Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x0 cx=0x0
Function supported
Call successful
Monitor and video card combination does not support DDC1 transfers
Monitor and video card combination does not support DDC2 transfers
0 seconds per 128 byte EDID block transfer
Screen is not blanked during DDC transfer
Reading next EDID block
VBE/DDC service about to be called
Read EDID
Performing real mode VBE call
Interrupt 0x10 ax=0x4f15 bx=0x1 cx=0x0
Function supported
Call failed
The EDID data should not be trusted as the VBE call failed
Error: output block unchanged
I'm sorry nothing was successful. Maybe try some other arguments
if you played with them, or send an email to Matthew Kern <pyrophobicman@gmail.com>.Offline
If you start an X11 server on that card, do you have the edid in the log?
Offline
If you start an X11 server on that card, do you have the edid in the log?
Using the GTX 1080 with an nvidia driver running X11:
I searched for logs containing edid and found the following:
14:46:49 sudo: <username> : TTY=pts/0 ; PWD=/home/<username> ; USER=root ; COMMAND=/usr/bin/get-edid
14:46:47 dbus-daemon: [system] Activating via systemd: service name='org.freedesktop.home1' unit='dbus-org.freedesktop.home1.service' requested by ':1.74' (uid=0 pid=1055 comm="sudo get-edid ")
14:46:24 gsd-color: failed to set xrandr-Ancor Communications Inc-ROG PG278Q-#ASMfYkLjO7/d color transform matrix: failed to load file: Error opening file /var/lib/gdm/.local/share/icc/edid-252b8cd111d1b3b641c7db217eec7c36.icc: Permission denied
14:46:24 gsd-color: failed to set xrandr-Ancor Communications Inc-ROG PG278Q-#ASMfYkLjO7/d color transform matrix: failed to load file: Error opening file /var/lib/gdm/.local/share/icc/edid-252b8cd111d1b3b641c7db217eec7c36.icc: Permission denied
14:46:24 gsd-color: failed to set xrandr-Ancor Communications Inc-ROG PG278Q-#ASMfYkLjO7/d color transform matrix: failed to load file: Error opening file /home/<username>/.local/share/icc/edid-252b8cd111d1b3b641c7db217eec7c36.icc: Permission denied
14:46:24 gsd-color: failed to set xrandr-Ancor Communications Inc-ASUS VS247-EALMTF112264 color transform matrix: failed to load file: Error opening file /home/<username>/.local/share/icc/edid-4b4344b3bc0a6cf4809519faad73d54e.icc: Permission denied
14:46:24 gsd-color: failed to set xrandr-Ancor Communications Inc-ASUS VS247-EALMTF112264 color transform matrix: failed to load file: Error opening file /home/<username>/.local/share/icc/edid-4b4344b3bc0a6cf4809519faad73d54e.icc: Permission denied
14:46:22 Xorg: (--) NVIDIA(0): DPI set to (108, 107); computed from "UseEdidDpi" X config
14:46:22 Xorg: (--) NVIDIA(0): DPI set to (108, 107); computed from "UseEdidDpi" X config
14:46:16 Xorg: (--) NVIDIA(0): DPI set to (108, 107); computed from "UseEdidDpi" X configLast edited by K4LCIFER (2022-01-08 23:03:13)
Offline
I found an extracted EDID here: https://3dvision-blog.com/forum/viewtop … 698#p22698
Converted to modeline and edid file:
Modeline "2560x1440" 538.76 2560 2564 2580 2582 1440 1441 1442 1449 +hsync +vsyncprintf "%s" "00ffffffffffff000469b127758201002b180104a53c2278064ce1a55850
a0230b505400000001010101010101010101010101010101565e00a0a0a0
29503020350056502100001a000000ff002341534e536230494c30655064
000000fd001e961ed236010a202020202020000000fc00524f4720504732
3738510a2020015002030a01654b040001015a8700a0a0a03b5030203500
56502100001a5aa000a0a0a046503020350056502100001a6fc200a0a0a0
55503020350056502100001a74d20016a0a009500410110056502100001e
1c2500a0a0a011503020350056502100001a000000000000000000000000
000000000000000000000000000000af" | xxd -r -p >/tmp/rogswift.edidparse-edid does not show everything, but wxedid or edid-decode-git do.
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |
Offline
I found an extracted EDID here: https://3dvision-blog.com/forum/viewtop … 698#p22698
Converted to modeline and edid file:Modeline "2560x1440" 538.76 2560 2564 2580 2582 1440 1441 1442 1449 +hsync +vsyncprintf "%s" "00ffffffffffff000469b127758201002b180104a53c2278064ce1a55850 a0230b505400000001010101010101010101010101010101565e00a0a0a0 29503020350056502100001a000000ff002341534e536230494c30655064 000000fd001e961ed236010a202020202020000000fc00524f4720504732 3738510a2020015002030a01654b040001015a8700a0a0a03b5030203500 56502100001a5aa000a0a0a046503020350056502100001a6fc200a0a0a0 55503020350056502100001a74d20016a0a009500410110056502100001e 1c2500a0a0a011503020350056502100001a000000000000000000000000 000000000000000000000000000000af" | xxd -r -p >/tmp/rogswift.edidparse-edid does not show everything, but wxedid or edid-decode-git do.
Do I paste both of those into the terminal?
Offline
The first one is a modeline for an xorg configuration file. https://wiki.archlinux.org/title/Xrandr … esolutions
The second one is a terminal command that uses xxd (part of vim) to convert the hex data to a binary file.
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |
Offline
The first one is a modeline for an xorg configuration file. https://wiki.archlinux.org/title/Xrandr … esolutions
The second one is a terminal command that uses xxd (part of vim) to convert the hex data to a binary file.
Where is said binary file supposed to go?
Offline
progandy wrote:The first one is a modeline for an xorg configuration file. https://wiki.archlinux.org/title/Xrandr … esolutions
The second one is a terminal command that uses xxd (part of vim) to convert the hex data to a binary file.
Where is said binary file supposed to go?
That is covered here:
https://wiki.archlinux.org/title/Kernel … _KMS_start
https://wiki.archlinux.org/title/Kernel … s_and_EDID
For testing by writing to paths in /sys as described there, the location is not important. For permanent usage see the paths in the early kms section.
| alias CUTF='LANG=en_XX.UTF-8@POSIX ' | alias ENGLISH='LANG=C.UTF-8 ' |
Offline
K4LCIFER wrote:progandy wrote:The first one is a modeline for an xorg configuration file. https://wiki.archlinux.org/title/Xrandr … esolutions
The second one is a terminal command that uses xxd (part of vim) to convert the hex data to a binary file.
Where is said binary file supposed to go?
That is covered here:
https://wiki.archlinux.org/title/Kernel … _KMS_start
https://wiki.archlinux.org/title/Kernel … s_and_EDIDFor testing by writing to paths in /sys as described there, the location is not important. For permanent usage see the paths in the early kms section.
Okay, so, I tried following the guide you posted here, by doing the following:
1. I ran the command that generated rogswift.bin
2. I created a folder in /usr/lib/firmware called edid
3. I placed rogswift.bin in /usr/lib/firmware/edid
4. In /etc/default/grub, I added GRUB_CMDLINE_LINUX="drm.edid_firmware=edid/rogswift.bin"
5. I ran grub-mkconfig -o /boot/grub/grub.cfg
6. reboot
after doing all that the problem was still unsolved.
Offline
You didn't add the file to the initramfs? - https://wiki.archlinux.org/title/Kernel … mkinitcpio
Can you post an updated system journal as well as your xorg log, https://wiki.archlinux.org/title/Xorg#General
Offline