Where to start with a weird graphics card or monitor incompatibility?

Hi. I’m one of the folks that are playing with switching from Windows to Linux now that gaming has gotten to be feasible for so many major titles. I have used linux (including Fedora) on and off for years as part of my job. But I’m dealing with a problem well outside my area of expertise. My biggest issue is that I have no idea “where” the problem actually lies or where to start looking/asking for help. Do I talk to my monitor manufacturer? Graphics card vendor? Drm or Amd driver folks? So I’m starting here and hope someone can point me in the correct direction. I started my journey seeking advice on Reddit, and I’m now trying here.

The short version of my problem is that I have a Radeon 7800XT graphics card and a Samsung Odyssey G8 OLED (G80SD). Both the card and the monitor use and are connected via the DP2.1 cable that came with my monitor. But no matter what I do I can’t get the “Display Settings” in Linux to give me an option to select 240Hz on my monitor. The only options it presents are 30, 60, and 120 Hz. This exact same card, monitor, cable, port etc. has absolutely no issues if I boot to Windows. In the display settings for Windows 11 I immediately see 240Hz as an option, it works great in games as well.

Things I’ve Tried:

  1. Change DP ports on card: I’ve used every port no changes.
  2. Switch distro/DE: I’ve found the same issues with Mint, Ubuntu, Fedora, and Nobara. I’ve various Cinnamon, Gnome, and KDE versions of spins of different distros.
  3. Try a different graphics card. I borrowed an Radeon 7900 XTX after a redditor with the same monitor told me they didn’t have any issues on their 7900 XTX. Both cards have the same problem.
  4. Get “edid” from Windows and override the Linux edid. This recommendation came from a Arch Linux forum recommendation of a guy having a very similar issue with this same monitor. This was not an effective fix as the edids in both OSes were exactly the same.
  5. Make a modified edid that includes a 240Hz target. From the same user as #4 he ended up doing something to modify the edid to add a 240Hz target I got the file from him (found him on Reddit) and was not able to use it to give myself a similar option.

Thoughts and “clues”:

  1. edid-decode (pasted below) shows a “warning” that mentions 30-120Hz timings vs the monitor’s support of 48-240Hz. Seems like a massive hint. But I have no idea what to do with it. Maybe the Linux only looks for specific timing options from the edid but Windows reads the “monitor limits” and raises reasonable option within those limits?

Base EDID: Some timings are out of range of the Monitor Ranges:
Vertical Freq: 30.000 - 120.000 Hz (Monitor: 48.000 - 240.000 Hz)

  1. I am having this issue on DP2.1 but this sure looks like the exact problem that many have described as being related to HDMI 2.1. Is it possible that my graphic’s card DP2.1 port is actually somehow an HDMI signal that is being converted? And I’m hitting the known issue where AMD couldn’t release HDMI 2.1 support in the open source driver? If this is a thing is there a way to check this on cards? I’ve tried two graphics cards from two different manufacturers (Asrock and XFX).
  2. In a conversation with a Reddit user I was told “i discovered the root cause of the 240hz not working on linux btw. it was the displayid 2.0 section in the edid that had unknown data. it turns out that it was a displayid 2.1 block type that’s not implemented in the linux kernel, and that’s where the 240hz modes are stored (4k, 1440p, 1080p). i patched my kernel to implement the block type and the modes show up just fine without having to use modified edid firmware” the source of this quote was “another reddit user” so I have no idea if it’s real info or what the kernel patch for this would look like. I have not been able to find any public source that mentions this info so far.

System info:
7800x3d with x970e chipset
AsRock 7800 xt (and XFX 7900 xtx)
Fedora Linux 41 KDE Plasma (issue also present on Fedora 40)

“Debug” info:
xrandr out put does not show a 240Hz option

DP-3 connected primary 3840x2160+2880+0 (normal left inverted right x axis y axis) 697mm x 392mm
   3840x2160    119.98*+
   2048x1536    119.95  
   1920x1440    119.97  
   1600x1200    119.82  
   1440x1080    119.92  
   1400x1050    119.90  
   1280x1024    119.83  
   1280x960     119.89  
   1152x864     119.77  
   1024x768     119.80  
   800x600      119.85  
   640x480      119.52  
   320x240      117.34  
   2560x1600    119.93  
   1920x1200    119.90  
   1680x1050    119.89  
   1440x900     119.94  
   1280x800     119.85  
   1152x720     119.73  
   960x600      119.74  
   928x580      119.55  
   800x500      119.47  
   768x480      119.71  
   720x480      119.65  
   640x400      119.64  
   320x200      117.55  
   3200x1800    119.96  
   2880x1620    119.95  
   2560x1440    119.95  
   2048x1152    119.96  
   1920x1080    119.93  
   1600x900     119.95  
   1368x768     119.83  
   1280x720     119.86  
   1024x576     119.85  
   864x486      119.69  
   720x400      119.54  
   640x350      119.24  

edid-decode

edid-decode (hex):

00 ff ff ff ff ff ff 00 4c 2d 35 e0 00 00 00 00
01 22 01 04 b5 46 27 78 3b 34 95 af 4e 3a bb 25
0c 50 54 25 cf 00 71 4f 81 c0 81 00 81 80 95 00
a9 c0 b3 00 d1 c0 4d d0 00 a0 f0 70 3e 80 30 20
35 00 b9 88 21 00 00 1a 00 00 00 fd 0c 30 f0 ff
ff ea 01 0a 20 20 20 20 20 20 00 00 00 fc 00 4f
64 79 73 73 65 79 20 47 38 30 53 44 00 00 00 ff
00 48 31 41 4b 35 30 30 30 30 30 0a 20 20 02 b3

02 03 3a f0 47 61 5f 10 3f 04 03 76 23 09 07 07
83 01 00 00 e3 05 c3 00 e6 06 05 01 60 4b 03 e5
01 8b 84 90 39 74 1a 00 00 03 07 30 f0 00 a0 60
02 4b 02 f0 00 00 00 00 00 00 56 5e 00 a0 a0 a0
29 50 30 20 35 00 b9 88 21 00 00 1a 6f c2 00 a0
a0 a0 55 50 30 20 35 00 b9 88 21 00 00 1a 02 3a
80 18 71 38 2d 40 58 2c 45 00 b9 88 21 00 00 1e
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 48

70 20 79 05 00 2a 00 12 01 ff 0e 6f 08 ef 01 ff
09 9f 05 ef 01 7f 07 37 04 ef 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 65 90

----------------

Block 0, Base EDID:
  EDID Structure Version & Revision: 1.4
  Vendor & Product Identification:
    Manufacturer: SAM
    Model: 57397
    Made in: week 1 of 2024
  Basic Display Parameters & Features:
    Digital display
    Bits per primary color channel: 10
    DisplayPort interface
    Maximum image size: 70 cm x 39 cm
    Gamma: 2.20
    DPMS levels: Off
    Supported color formats: RGB 4:4:4, YCrCb 4:4:4, YCrCb 4:2:2
    First detailed timing includes the native pixel format and preferred refresh rate
    Display is continuous frequency
  Color Characteristics:
    Red  : 0.6835, 0.3076
    Green: 0.2275, 0.7304
    Blue : 0.1464, 0.0478
    White: 0.3134, 0.3291
  Established Timings I & II:
    DMT 0x04:   640x480    59.940476 Hz   4:3     31.469 kHz     25.175000 MHz
    DMT 0x06:   640x480    75.000000 Hz   4:3     37.500 kHz     31.500000 MHz
    DMT 0x09:   800x600    60.316541 Hz   4:3     37.879 kHz     40.000000 MHz
    DMT 0x0a:   800x600    72.187572 Hz   4:3     48.077 kHz     50.000000 MHz
    DMT 0x0b:   800x600    75.000000 Hz   4:3     46.875 kHz     49.500000 MHz
    DMT 0x10:  1024x768    60.003840 Hz   4:3     48.363 kHz     65.000000 MHz
    DMT 0x11:  1024x768    70.069359 Hz   4:3     56.476 kHz     75.000000 MHz
    DMT 0x12:  1024x768    75.028582 Hz   4:3     60.023 kHz     78.750000 MHz
    DMT 0x24:  1280x1024   75.024675 Hz   5:4     79.976 kHz    135.000000 MHz
  Standard Timings:
    DMT 0x15:  1152x864    75.000000 Hz   4:3     67.500 kHz    108.000000 MHz
    DMT 0x55:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    DMT 0x1c:  1280x800    59.810326 Hz  16:10    49.702 kHz     83.500000 MHz
    DMT 0x23:  1280x1024   60.019740 Hz   5:4     63.981 kHz    108.000000 MHz
    DMT 0x2f:  1440x900    59.887445 Hz  16:10    55.935 kHz    106.500000 MHz
    DMT 0x53:  1600x900    60.000000 Hz  16:9     60.000 kHz    108.000000 MHz (RB)
    DMT 0x3a:  1680x1050   59.954250 Hz  16:10    65.290 kHz    146.250000 MHz
    DMT 0x52:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz
  Detailed Timing Descriptors:
    DTD 1:  3840x2160   59.996625 Hz  16:9    133.312 kHz    533.250000 MHz (697 mm x 392 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   54 Vpol N
    Display Range Limits:
      Monitor ranges (Bare Limits): 48-240 Hz V, 510-510 kHz H, max dotclock 2340 MHz
    Display Product Name: 'Odyssey G80SD'
    Display Product Serial Number: 'H1AK500000'
  Extension blocks: 2
Checksum: 0xb3

----------------

Block 1, CTA-861 Extension Block:
  Revision: 3
  Underscans IT Video Formats by default
  Basic audio support
  Supports YCbCr 4:4:4
  Supports YCbCr 4:2:2
  Native detailed modes: 0
  Video Data Block:
    VIC  97:  3840x2160   60.000000 Hz  16:9    135.000 kHz    594.000000 MHz
    VIC  95:  3840x2160   30.000000 Hz  16:9     67.500 kHz    297.000000 MHz
    VIC  16:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz
    VIC  63:  1920x1080  120.000000 Hz  16:9    135.000 kHz    297.000000 MHz
    VIC   4:  1280x720    60.000000 Hz  16:9     45.000 kHz     74.250000 MHz
    VIC   3:   720x480    59.940060 Hz  16:9     31.469 kHz     27.000000 MHz
    VIC 118:  3840x2160  120.000000 Hz  16:9    270.000 kHz   1188.000000 MHz
  Audio Data Block:
    Linear PCM:
      Max channels: 2
      Supported sample rates (kHz): 48 44.1 32
      Supported sample sizes (bits): 24 20 16
  Speaker Allocation Data Block:
    FL/FR - Front Left/Right
  Colorimetry Data Block:
    xvYCC601
    xvYCC709
    BT2020YCC
    BT2020RGB
  HDR Static Metadata Data Block:
    Electro optical transfer functions:
      Traditional gamma - SDR luminance range
      SMPTE ST2084
    Supported static metadata descriptors:
      Static metadata type 1
    Desired content max luminance: 96 (400.000 cd/m^2)
    Desired content max frame-average luminance: 75 (253.810 cd/m^2)
    Desired content min luminance: 3 (0.001 cd/m^2)
  Vendor-Specific Video Data Block (HDR10+), OUI 90-84-8B:
    Application Version: 57
  Vendor-Specific Data Block (AMD), OUI 00-00-1A:
    Version: 3.7
    Minimum Refresh Rate: 48 Hz
    Maximum Refresh Rate: 240 Hz
    Flags 1.x: 0x00
    Flags 2.x: 0xa0
    Maximum luminance: 96 (400.000 cd/m^2)
    Minimum luminance: 2 (0.000 cd/m^2)
    Unknown: 0x4b 0x02
  Detailed Timing Descriptors:
    DTD 2:  2560x1440   59.950550 Hz  16:9     88.787 kHz    241.500000 MHz (697 mm x 392 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   33 Vpol N
    DTD 3:  2560x1440  119.997589 Hz  16:9    182.996 kHz    497.750000 MHz (697 mm x 392 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   77 Vpol N
    DTD 4:  1920x1080   60.000000 Hz  16:9     67.500 kHz    148.500000 MHz (697 mm x 392 mm)
                 Hfront   88 Hsync  44 Hback  148 Hpol P
                 Vfront    4 Vsync   5 Vback   36 Vpol P
Checksum: 0x48

----------------

Block 2, DisplayID Extension Block:
  Version: 2.0
  Extension Count: 0
  Display Product Primary Use Case: Desktop gaming display
  Unknown DisplayID Data Block (0x2a, length 18):
    01 ff 0e 6f 08 ef 01 ff 09 9f 05 ef 01 7f 07 37 '...o...........7'
    04 ef                                           '..'
  Checksum: 0x65
Checksum: 0x90

----------------

Preferred Video Timing if only Block 0 is parsed:
  DTD   1:  3840x2160   59.996625 Hz  16:9    133.312 kHz    533.250000 MHz (697 mm x 392 mm)
                 Hfront   48 Hsync  32 Hback   80 Hpol P
                 Vfront    3 Vsync   5 Vback   54 Vpol N

----------------

Preferred Video Timings if Block 0 and CTA-861 Blocks are parsed:
  VIC  97:  3840x2160   60.000000 Hz  16:9    135.000 kHz    594.000000 MHz
                 Hfront  176 Hsync  88 Hback  296 Hpol P
                 Vfront    8 Vsync  10 Vback   72 Vpol P
  DTD   1:  3840x2160   59.996625 Hz  16:9    133.312 kHz    533.250000 MHz (697 mm x 392 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

Warnings:

Block 1, CTA-861 Extension Block:
  Video Data Block: VIC 97 is the preferred timing, overriding the first detailed timings. Is this intended?
EDID:
  Base EDID: Some timings are out of range of the Monitor Ranges:
    Vertical Freq: 30.000 - 120.000 Hz (Monitor: 48.000 - 240.000 Hz)
    Horizontal Freq: 31.468 - 270.000 kHz (Monitor: 510.000 - 510.000 kHz)

Failures:

Block 1, CTA-861 Extension Block:
  Missing VCDB, needed for Set Selectable RGB Quantization to avoid interop issues.
EDID:
  DisplayID: Missing DisplayID Product Identification Data Block.
  DisplayID: Missing DisplayID Display Parameters Data Block.
  DisplayID: Missing DisplayID Display Interface Features Data Block.
  DisplayID: Missing DisplayID Type VII Detailed Timing Data Block.
  DisplayID: DisplayID expects at least one preferred timing.

EDID conformity: FAIL

So once again, I beseech you… what should be my next step here? Do I go try to talk to drm folks about this whole “display id 2.0” thing? Do I try to treat my monitor as defective with Samsung? Do I try a third graphics card from another vendor?

Try reporting the issue the amd here Issues · drm / amd · GitLab
Also would be worth seeing if someone else has already reported this.