LG Monitor Invalid edid - Fails to switch to HDR - LG 32GN60 - Fixed

Heyo,

I’m not sure where to put this, but I’ve went on a tear last night trying to figure out why I couldn’t use my LG 32GN600 in HDR mode in Linux when it worked perfectly well in Windows. Every-time I would attempt to enable it, either in KDE or Hyprland the screen would blank out, and stay blanked out, or the screen would ‘freeze’ until you reverted the change and restarted the monitor.

From steam/gamescope I would get:

vulkan: vkGetPhysicalDeviceFormatProperties2 returned zero modifiers for DRM format

From KDE I would get:

“Couldn’t apply display configuration: The driver rejected the output configuration”

Hyprland didn’t really complain, it just crashed… :rofl:

I tried a variety of things, older NVIDIA drivers, older kernels, different distros, live-cd’s, I couldn’t get HDR to work anywhere but Windows. I honestly thought that HDR support was broken on Nvidia and everyone was being quiet about it for some reason. That was until I got a new Secondary monitor, another LG, and it worked fine with HDR in Linux, it was only the 32GN600 that didn’t work.

After googling for an hour or so I came across this post about hacking ‘edid’ configs, and how LG had futzed up another model. In this case it was incorrect refresh rates that was the issue. So I downloaded edid-decode and starting poking.

Looking at my result from edid-decode didn’t really help, all the refresh rates were correct unlike kj800x, so I rebooted into Windows, to see what it’s edid looked like. I first attempted to read the edid information using two programs. MonitorInfoView and EDID/DisplayID Writer. Both of these programs produce truncated edid bins, this lead to a rather wasteful few hours trying to figure out why a truncated edid file worked in Windows and the full one in Linux didn’t, stupid red herring. I did eventually manage to get a full edid out of Windows via the registry and it confirmed to me that the edid information was the same on both Windows and Linux. So a lot of running around for nothing.

DO NOT USE EITHER OF THESE TOOLS:

EDID/DisplayID

MonitorInfoView

INSTEAD CHECK THE REGISTRY:

HKLM\SYSTEM\CurrentControlSet\Enum\DISPLAY

HKLM\SYSTEM\ControlSet001\Control\GraphicsDrivers\Configuration

So, at this point I was kinda stumped except for the fact that my newer Secondary monitor worked fine. So I dumped it’s edid information, and started plugging all of 32GN600’s information into it, hit a couple of things that the newer monitor had turned on, so I was just flipped those on too. Did all of this in AW EDID editor (it does the Checksum stuff automatically, had to run in Wine, but worth the trouble).

I then took my edid.bin and followed Arch wiki’s instructions to get in place and overriding the firmware one, edited mkinit.conf and bootloader, mkinit’d, rebooted, toggled on HDR, and it worked! Okay, so now I have a functional HDR monitor, but I still didn’t know exactly what was wrong with the original edid, so many edid-decodes, and vimdiff’s later I found ONE byte difference between a working HDR monitor and not, that bit toggled on, “Static metadata type 1”. Okay, not an edid expert, but if I had to guess this tells the OS to use ‘Traditional Gamma’ and ‘SMPTE ST2084’, those sound fairly important to me.

Went back to the original edid, flipped the bit, redid checksum, mkinit’d, reboot, worked!

So I’m writing this to ask, is there anywhere I can report a screwy edid information that it could be added into… I dunno, distro-patches or similar in the future? It’s one freaking wrong byte stopping people using HDR in Linux for this monitor model, and I suspect more looking at older reports of LG monitors not having HDR working in Linux.

Thanks in advance! Go find your happy!

You’re a legend! I have the same monitor and this hack worked on Arch as well. Maybe need to add to the wiki.

I have an HP Omen OLED 4K 240Hz as external display via HDMI to my NVIDIA laptop and in Win11, 4K 240Hz HDR works flawlessly via HDMI. However I experienced what you described on my OpenSUSE tumbleweed and Win11 results rule out cable/hardware issues. I moved to CachyOS and same problem. Just wanted to thank you for documenting your fix and will try going that route on my setup as I’ve exhausted RTX/Radeon igpu driver/firmware fixes without success

(post deleted by author)

(post deleted by author)

I have been looking for a fix for this for ages. It was the one thing holding me back from switching to Cachyos as my daily driver, because HDR worked fine on the windows partition. I really appreciate it.

If anyone else needs correct edid’s for the LG 32GN60, you can find em here…

TL;DR my longer post:

Copy the fixed file to /usr/lib/firmware/edid/

Edit /etc/mkinitcpio.conf to include:

FILES=(/usr/lib/firmware/edid/GSM7766-fixed.bin)

Edit your bootloader to include the following on the Kernel Command-line:

drm.edid_firmware=DP-1:edid/GSM7766-fixed.bin video=DP-1:e

Might need to change DP-1 to another Display-port depending where you got it plugged in…

Then mkinit for your bootloader/initramfs and you should be golden.

Hi,

I have a LG 32GN650-B that also has a EDID problem, but mine its “Failures:

Block 1, CTA-861 Extension Block:

Video Capability Data Block: IT video formats are always underscanned, but bit 7 of Byte 3 of the CTA-861 Extension header is set to overscanned.

EDID conformity: FAIL”.

I dunno how to fix this, emailed LG asking for help and since I said I was using Linux, they said that the fix must come from the distro :confused: . Can you help out or the solution you wrote will fix my issue?

Thank you

Hello,

Sorry, bad about checking my e-mail. Can you post a copy of you edid for that monitor here?

You can grab a copy with something similar to this, just adjust the pathing for your display-port if your using something different than #1:

~/Desktop
❯ cp /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/drm/card1/card1-DP-1/edid ~/Desktop

~/Desktop
❯ ls -lah edid
-r–r–r-- 1 krube-sauce krube-sauce 384 May  7 12:49 edid

I used CRU to get the EDID in windows.

Here’s the link:

I used your method and AW EDID Editor to enable HDR metadata which is off by default.

No problem with the timming mate, we all have lives to live :slight_smile: