You are not logged in.
Hi,
I've been on this for many hours now, but I'm unable to progress any further.
A little Background:
Two weeks ago, my GTX1070 died, so I decided to buy a new PC and ordered all the parts. CPU, MB, GPU is all new, I'll just keep the peripherals and my two monitors (1080p Samsung, 4k Acer XB280HK).
I've been using my old Hardware for years with Arch for 4k Gaming (nvidia/Xorg) without any relevant issues.
So when my AMDGPU arrived early, I was eager to try it in my old PC until the other parts would arrive. That's were I first encountered the issue. I didn't think much of it, as I would do a clean install anyways and worked around it for the remaining days.
With my new AMDGPU, I also wanted to switch to wayland, bc of UI scaling issues on X with 4k/1080p displays and why wouldn't I do the switch now.
The Issue:
When using my new AMDGPU and Wayland/KDE, I can not select my 4k monitors native res. Only 640*480 is available.
The Workaround:
I can go back to X and use Xrandr to give it a new mode:
[ctms@ceetemus ~]$ xrandr --newmode "3840x2160_60" 533.250 3840 3888 3920 4000 2160 2163 2168 2222 +hsync -vsync
[ctms@ceetemus ~]$ xrandr --addmode DisplayPort-0 3840x2160_60
[ctms@ceetemus ~]$ xrandr --output DisplayPort-0 --mode 3840x2160_60
Here is what I've tried (not in that particular order):
1) [OK] boot into windows (second SSD) and confirm my GPU, DP-Cable and Monitor are working properly
2) tried another DP-Cable from my workplace
3) I tried get-edid, but only found my Samsung Syncmaster 1080p@HDMI and my Onkyo-TXNR727 AV-receiver 1080p@HDMI:
[root@Ceetemus edid]# get-edid
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
No EDID on bus 1
No EDID on bus 2
No EDID on bus 3
No EDID on bus 6
No EDID on bus 7
No EDID on bus 8
No EDID on bus 9
No EDID on bus 10
No EDID on bus 11
2 potential busses found: 4 5
Will scan through until the first EDID is found.
Pass a bus number as an option to this program to go only for that one.
256-byte EDID successfully retrieved from i2c bus 4
L-32FE" x*TL&PT@@:▒q8-@X,EZrQ n(UZ2<
SyncMaster
H# f
r ,%Z▒q X,%ZR (U@ZrQ n(UZ
Looks like i2c was successful. Have a good day.
А @1
@UZ▒w[root@Ceetemus edid]# get-edid -b 5
5
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
Only trying 5 as per your request.
256-byte EDID successfully retrieved from i2c bus 5
x=q
ɠWG'HL▒q X,%Ď!r ,%Ď!TX-NR727
~
r6rM8 P?MW_~gTOf
P
Њ ->Ď!▒
Looks like i2c was successful. Have a good day.
А @1
@UĎ!▒rQ n(UĎ!R (U@Ď![root@Ceetemus edid]#
So checked the edid file at /sys/class/drm/card1-DP-2/ --> empty (size:0B)
4) extracted my monitors EDID.bin from my windows instance and forced it on my DP-connection - as described here: https://www.reddit.com/r/archlinux/comm … e_monitor/
(I did not modify the edid, as there wasn't one on linux and the one from windows looked ok (I wouldn't know what to edit anyways..? It already showed the native res and all the other meta data)
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet drm.edid_firmware=DP-2:edid/XB280HK.bin video=DP-2:e"
with the edid in: /usr/lib/firmware/edid/XB280HK.bin
and
MODULES=(btrfs)
BINARIES=(/usr/bin/btrfs)
FILES=(/usr/lib/firmware/edid/XB280HK.bin)
HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block encrypt filesystems fsck)
as explained here: https://wiki.archlinux.org/title/Kernel … mkinitcpio
and here: https://bbs.archlinux.org/viewtopic.php?id=293528
reloaded mkinitcpio -P and reboot
This however makes the DP-Monitor disappear:
[ctms@Ceetemus ~]$ for p in /sys/class/drm/*/status; do con=${p%/status}; echo -n "${con#*/card?-}: "; cat $p; done
DP-1: disconnected
DP-2: disconnected
HDMI-A-1: connected
HDMI-A-2: connected
with dmesg shouting:
[ 2.653362] amdgpu 0000:03:00.0: amdgpu: Using BACO for runtime pm
[ 2.653593] [drm] Initialized amdgpu 3.54.0 20150101 for 0000:03:00.0 on minor 1
[ 2.655419] amdgpu 0000:03:00.0: [drm] *ERROR* Invalid firmware EDID "edid/XB280HK.bin"
[ 2.655422] [drm:amdgpu_dm_connector_mode_valid [amdgpu]] *ERROR* No EDID firmware found on connector: DP-2 ,forcing to OFF!
and
[ 2.450865] amdgpu 0000:03:00.0: [drm] *ERROR* Invalid firmware EDID "edid/XB280HK.bin"
[ 2.452894] usb 1-13.1: new full-speed USB device number 6 using xhci_hcd
[ 2.459155] [drm:detect_link_and_local_sink [amdgpu]] *ERROR* No EDID read.
This:
[ 2.655419] amdgpu 0000:03:00.0: [drm] *ERROR* Invalid firmware EDID "edid/XB280HK.bin"
doesn't make sense. It's the orginal edid from a tool used on my windows instance for the same monitor. "AW EDID Editor" (used with wine) shows key details confirming it's the correct edid for the monitor...
edid-decode ( https://people.freedesktop.org/~imirkin/edid-decode/ )
edid-decode (hex):
00 ff ff ff ff ff ff 00 04 72 07 04 ff ff ff ff
ff 17 01 04 a5 3e 22 78 06 ee 91 a3 54 4c 99 26
0f 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01
01 01 01 01 01 01 4d d0 00 a0 f0 70 3e 80 30 20
35 00 6d 55 21 00 00 1a 00 00 00 ff 00 23 41 53
4d 39 61 55 4d 4c 30 65 50 64 00 00 00 fd 00 1e
46 1e 8c 36 01 0a 20 20 20 20 20 20 00 00 00 fc
00 41 63 65 72 20 58 42 32 38 30 48 4b 0a 01 01
----------------
Block 0, Base EDID:
EDID Structure Version & Revision: 1.4
Vendor & Product Identification:
Manufacturer: ACR
Model: 1031
Serial Number: 4294967295
Model year: 2013
Basic Display Parameters & Features:
Digital display
Bits per primary color channel: 8
DisplayPort interface
Maximum image size: 62 cm x 34 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: none
Standard Timings: none
Detailed Timing Descriptors:
DTD 1: 3840x2160 59.996625 Hz 16:9 133.312 kHz 533.250000 MHz (621 mm x 341 mm)
Hfront 48 Hsync 32 Hback 80 Hpol P
Vfront 3 Vsync 5 Vback 54 Vpol N
Display Product Serial Number: '#ASM9aUML0ePd'
Display Range Limits:
Monitor ranges (Bare Limits): 30-70 Hz V, 30-140 kHz H, max dotclock 540 MHz
Display Product Name: 'Acer XB280HK'
Extension blocks: 1
Checksum: 0x01
----------------
Preferred Video Timing if only Block 0 is parsed:
DTD 1: 3840x2160 59.996625 Hz 16:9 133.312 kHz 533.250000 MHz (621 mm x 341 mm)
Hfront 48 Hsync 32 Hback 80 Hpol P
Vfront 3 Vsync 5 Vback 54 Vpol N
----------------
Native Video Resolution:
3840x2160
----------------
edid-decode SHA: 84ddf9155376 2021-10-03 10:37:45
Failures:
Block 0, Base EDID:
Base EDID: EDID specified 1 extension block(s), but found 0 extension block(s).
EDID conformity: FAIL
other outputs (before forcing edid on the connection):
[ctms@Ceetemus ~]$ xrandr -q
(expected: 1 Onkyo AVR, 1 Samsung1080p, 1 Acer 2160p)
Screen 0: minimum 16 x 16, current 3200 x 1080, maximum 32767 x 32767
HDMI-A-1 connected 1920x1080+1280+0 (normal left inverted right x axis y axis) 160mm x 90mm
1920x1080 59.96*+
1440x1080 59.99
1400x1050 59.98
1280x1024 59.89
1280x960 59.94
1152x864 59.96
1024x768 59.92
800x600 59.86
640x480 59.38
320x240 59.52
1680x1050 59.95
1440x900 59.89
1280x800 59.81
1152x720 59.97
960x600 59.63
928x580 59.88
800x500 59.50
768x480 59.90
720x480 59.71
640x400 59.95
320x200 58.96
1600x900 59.95
1368x768 59.88
1280x720 59.86
1024x576 59.90
864x486 59.92
720x400 59.55
640x350 59.77
HDMI-A-2 connected 1920x1080+1280+0 (normal left inverted right x axis y axis) 0mm x 0mm
1920x1080 59.96*+
1440x1080 59.99
1400x1050 59.98
1280x1024 59.89
1280x960 59.94
1152x864 59.96
1024x768 59.92
800x600 59.86
640x480 59.38
320x240 59.52
1680x1050 59.95
1440x900 59.89
1280x800 59.81
1152x720 59.97
960x600 59.63
928x580 59.88
800x500 59.50
768x480 59.90
720x480 59.71
640x400 59.95
320x200 58.96
1600x900 59.95
1368x768 59.88
1280x720 59.86
1024x576 59.90
864x486 59.92
720x400 59.55
640x350 59.77
DP-2 connected primary 1280x960+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1280x960 59.79*+
1152x864 59.78
1024x768 59.68
800x600 59.86
640x480 59.38
320x240 59.52
1280x800 59.81
1152x720 59.75
960x600 59.63
928x580 59.88
800x500 59.50
768x480 59.38
720x480 59.71
640x400 59.20
320x200 58.96
1280x720 59.86
1024x576 59.90
864x486 59.45
720x400 59.55
640x350 59.77
[ctms@Ceetemus ~]$ kscreen-doctor -o
(expected: 1 HDMI Onkyo AVR, 1 HDMI Samsung1080p, 1 DP Acer 2160p)
Output: 1 DP-2
enabled
connected
priority 1
DisplayPort
Modes: 0:640x480@60*!
Geometry: 0,0 1280x960
Scale: 0.5
Rotation: 1
Overscan: 0
Vrr: incapable
RgbRange: unknown
HDR: incapable
Wide Color Gamut: incapable
ICC profile: none
Color profile source: sRGB
Output: 2 HDMI-A-1
enabled
connected
priority 3
HDMI
Modes: 0:1920x1080@60*! 1:1920x1080@60 2:1920x1080@60 3:1920x1080@50 4:1600x1200@60 5:1680x1050@60 6:1280x1024@60 7:1440x900@60 8:1280x960@60 9:1280x800@60 10:1280x720@60 11:1280x720@60 12:1280x720@60 13:1280x720@50 14:1280x720@50 15:1024x768@60 16:800x600@60 17:800x600@56 18:720x576@50 19:720x576@50 20:720x480@60 21:720x480@60 22:640x480@60 23:640x480@60 24:1280x1024@60 25:1024x768@60 26:1280x800@60 27:1920x1080@60 28:1600x900@60 29:1368x768@60 30:1280x720@60
Geometry: 1280,0 1920x1080
Scale: 1
Rotation: 1
Overscan: 0
Vrr: incapable
RgbRange: unknown
HDR: incapable
Wide Color Gamut: incapable
ICC profile: none
Color profile source: sRGB
Output: 3 HDMI-A-2
enabled
connected
priority 2
HDMI
Modes: 0:1920x1080@60*! 1:1920x1080@60 2:1920x1080@50 3:1280x720@60 4:1280x720@60 5:1280x720@60 6:1280x720@50 7:1280x720@50 8:720x576@50 9:720x576@50 10:720x576@50 11:720x480@60 12:720x480@60 13:720x480@60 14:720x480@60 15:720x480@60 16:640x480@60 17:640x480@60 18:1280x1024@60 19:1024x768@60 20:1280x800@60 21:1920x1080@60 22:1600x900@60 23:1368x768@60 24:1280x720@60
Geometry: 1280,0 1920x1080
Scale: 1
Rotation: 1
Overscan: 0
Vrr: incapable
RgbRange: unknown
HDR: incapable
Wide Color Gamut: incapable
ICC profile: none
Color profile source: sRGB
Any ideas?
Last edited by vGVXd2zCaSj7uw4 (2024-07-28 16:05:55)
Offline
Oh wow..
I've found this great resource of EDIDs from users: https://github.com/linuxhw/EDID
I looked up my monitor and got the EDID.txt from the huge archive.
As it turns out, my edid was missing some info compared to the one from the archive -.-
With the command from the git readme
cat EDID.txt | grep -E '^([a-f0-9]{32}|[a-f0-9 ]{47})$' | tr -d '[:space:]' | xxd -r -p > EDID.bin
I made the new edid.bin and moved that to /usr/lib/firmare/edid/EDID.bin
mkinitcpio -P
restart
done
Fuck me...
Offline