Hi everyone,
I have a Lenovo IdeaPad Gaming 3 15ACH6 (82K200TERA) laptop with:
-
AMD Ryzen 5 5600H (integrated Radeon Vega graphics)
-
NVIDIA GeForce RTX 3060 Mobile (6 GB)
-
32 GB RAM
-
15.6" 120Hz display (BOE NV156FHM-NX1 panel)
I’m running EndeavourOS (fully updated), kernel 6.18.13-arch1-1, and KDE Plasma (Wayland session). I noticed that FreeSync does not work, even though it works perfectly in Windows (dual boot confirmed).
Problem Description
The built-in display is connected to the AMD iGPU. The panel’s EDID contains Display supports continuous frequencies, so VRR should be supported. However, the amdgpu driver does not create /sys/class/drm/card*/eDP-*/vrr_capable. Visual tests (VRRTest) show that FreeSync is not active – frame rates drop and stuttering appears when lowering FPS.
The main issue: the driver ignores my custom EDID and always uses the ACPI-provided version, as seen in dmesg:
text
amdgpu 0000:06:00.0: amdgpu: [drm] Using ACPI provided EDID for eDP-1
What I’ve Tried (Detailed Steps)
-
Extracted the original EDID using
get-edid | edid-decode– it’s valid and shows VRR capability. -
Converted the EDID to binary and placed it in
/lib/firmware/edid/boe-nv156fhm-nx1.bin(permissions 644). -
Added kernel parameters in
/etc/default/grub:text
drm.edid_firmware=eDP-1:edid/boe-nv156fhm-nx1.bin drm_kms_helper.edid_firmware=eDP-1:edid/boe-nv156fhm-nx1.bin video=eDP-1:e amdgpu.dc=1 amdgpu.ignore_acpi=1(I kept existing parameters unchanged.)
-
Configured amdgpu module in
/etc/modprobe.d/amdgpu.conf:text
options amdgpu freesync_video=1 dc=1 -
Included the EDID in initramfs using dracut (
/etc/dracut.conf.d/edid.confwithinstall_items+=" /lib/firmware/edid/boe-nv156fhm-nx1.bin "). Regenerated withsudo dracut --force, and verified the file is present (lsinitrd). -
Updated GRUB (
sudo grub-mkconfig -o /boot/grub/grub.cfg) and rebooted. -
Checked kernel command line – parameters are present, including
amdgpu.ignore_acpi=1. However, dmesg still shows the ACPI EDID message. No “Invalid firmware EDID” errors. -
Verified
freesync_videoparameter – it’s set to1(cat /sys/module/amdgpu/parameters/freesync_video), butvrr_capableremains absent. -
Tried different combinations (e.g., using only
drm_kms_helper.edid_firmware, different ordering), but the result is the same. -
Attempted to use
amdgpu.ignore_acpi=1– it appears in/proc/cmdlinebut does not prevent the ACPI EDID from being used.
Additional Information
-
FreeSync works in Windows, so hardware supports it.
-
Adaptive Sync is enabled in KDE System Settings (set to “Automatic”).
-
No error messages related to EDID or amdgpu in dmesg apart from the ACPI notice.
Questions
-
Is there any way to force the amdgpu driver to use my custom EDID instead of the ACPI one? Perhaps a way to disable ACPI EDID for a specific connector?
-
Could this be a kernel regression or a missing quirk for the BOE NV156FHM-NX1 panel in 6.18.13? I’ve seen patches for similar BOE panels in earlier kernels (Framework 13/16 fixes). Should I try the LTS kernel (
linux-lts) or a newer mainline kernel from AUR? -
How can I verify which EDID the driver is actually using, besides the log message? (e.g., through debugfs or another interface)
-
Are there alternative kernel/module parameters that can forcibly enable VRR without relying on the EDID?
Any help or ideas would be greatly appreciated! I can provide additional logs if needed. Thanks in advance.