Old amdgpu drivers ignoring Modeline?

I've spent the past week flailing at a project that by all means isn't supposed to work, but I'm actually almost there. To make a long, arduous story short, if you put amdgpu 6.3.x on kernel 5.10.x, it can't probe LVDS for display modes. Note that these are version locked - corporate projects have constraints, and if your only idea is to update anything, I appreciate the enthusiasm but there are others out there that need your help. Similarly, if you're relying on distro version... we're a bit deeper than that. I hate it a lot. Maybe consider it somewhere between Ubuntu 18.04 and 20.04 but that doesn't mean much when you're editing the source code.

With that out of the way, I do know the modes that will work with this display; earlier versions of the amdgpu driver can pull mode info but crash on boot because they're not technically supposed to work with this APU (AMD Z1), and the latest Ubuntu LiveUSB will happily just work but doesn't support the entire purpose of the project. A lot of very clever troubleshooting has gone into this... which means I've probably just done something stupid with the xorg config.

xorg.conf:

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        #Screen      1  "Screen1" RightOf "Screen0"
EndSection

Section "Monitor"
        Identifier   "eDP-1"
        VendorName "LEN"
        Modeline "1600x2560_144"  704.99  1600 1660 1690 1820  2560 2590 2594 2690 +hsync +vsync
        Modeline "1600x2560_60"  704.99  1600 1660 1690 1820  2560 6359 6363 6456 +hsync +vsync
        #Modeline "1600x2560"  363.53  1600 1822 1852 1968  2560 2590 2594 2850 +hsync +vsync
        Modeline "1600x1200"  704.99  1600 1660 1690 1820  1200 2590 2594 2690 +hsync +vsync
        Modeline "1280x1024"  704.99  1280 1660 1690 1820  1024 2590 2594 2690 +hsync +vsync
        Modeline "1440x900"  704.99  1440 1660 1690 1820  900 2590 2594 2690 +hsync +vsync
        Modeline "1280x800"  704.99  1280 1660 1690 1820  800 2590 2594 2690 +hsync +vsync
        Modeline "1280x720"  704.99  1280 1660 1690 1820  720 2590 2594 2690 +hsync +vsync
        Modeline "1024x768"  704.99  1024 1660 1690 1820  768 2590 2594 2690 +hsync +vsync
        Modeline "800x600"  704.99  800 1660 1690 1820  600 2590 2594 2690 +hsync +vsync
        Modeline "640x480"  704.99  640 1660 1690 1820  480 2590 2594 2690 +hsync +vsync
        Option "PreferredMode" "1600x2560_60"
        DisplaySize 120 190
        Gamma 2.20
        Option "DPMS" "false"
        Horizsync 20-60
        VertRefresh 50-150
        Option "Enable" "true
        Option "Rotate" "left"
EndSection

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "Accel"                     # [<bool>]
        #Option     "SWcursor"                  # [<bool>]
        #Option     "EnablePageFlip"            # [<bool>]
        #Option     "SubPixelOrder"             # [<str>]
        #Option     "ZaphodHeads"               # <str>
        #Option     "AccelMethod"               # <str>
        Option     "DRI3" "false"                       # [<bool>]
        #Option     "DRI"                       # <i>
        #Option     "ShadowPrimary"             # [<bool>]
        #Option     "TearFree"                  # [<bool>]
        #Option     "DeleteUnusedDP12Displays"  # [<bool>]
        #Option     "VariableRefresh"           # [<bool>]
        Identifier  "Card0"
        Driver      "amdgpu"
        BusID       "PCI:194:0:0"
        Screen 0
        Option "ReprobeOutputs" "true"
        Option "ConnectedMonitor" "eDP-1"
#       option "CustomEDID" "eDP-1:/usr/lego/Documents/LenovoGoEDID.bin"
        Option "IgnoreEDID" "true"
        Option "UseEDID" "false"
        Option "UseEDIDFreqs" "false"
        Option "ModeValidation" "AllowNonEdidModes,NoMaxPClkCheck,NoEdidMaxPClkCheck,NoHorizSyncCheck"
        Option "DDCMode" "false"
        Option "NoDDC" "true"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "eDP-1"
        DefaultDepth    24
        Option  "MetaModes" "1600x2560 +0+0"
        Option "ModeValidation" "AllowNonEdidModes,NoMaxPClkCheck,NoEdidMaxPClkCheck,NoHorizSyncCheck"
        SubSection "Display"
                Depth     24
        EndSubSection
EndSection

Xorg.0.log:

[    43.405] (--) Log file renamed from "/home/lego/.local/share/xorg/Xorg.pid-1146.log" to "/home/lego/.local/share/xorg/Xorg.0.log"
[    43.406] 
X.Org X Server 1.20.8
X Protocol Version 11, Revision 0
[    43.406] Build Operating System: Linux 5.4.0-139-generic x86_64 Ubuntu
[    43.406] Current Operating System: Linux lego-dev 5.10.30-051030-generic #202104140332 SMP Wed Apr 14 08:14:21 UTC 2021 x86_64
[    43.406] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.10.30-051030-generic root=UUID=d456aa8c-0536-40ec-bd88-60a50499097a ro drm.edid_firmware=edid/LenovoGoEDID.bin
[    43.406] Build Date: 29 March 2023  01:26:59PM
[    43.406] xorg-server-hwe-18.04 2:1.20.8-2ubuntu2.2~18.04.11 (For technical support please see http://www.ubuntu.com/support) 
[    43.406] Current version of pixman: 0.34.0
[    43.406] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[    43.406] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    43.406] (==) Log file: "/home/lego/.local/share/xorg/Xorg.0.log", Time: Tue Oct 28 11:10:47 2025
[    43.407] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    43.409] (==) ServerLayout "X.org Configured"
[    43.409] (**) |-->Screen "Screen0" (0)
[    43.409] (**) |   |-->Monitor "eDP-1"
[    43.409] (**) |   |-->Device "Card0"
[    43.409] (==) Automatically adding devices
[    43.409] (==) Automatically enabling devices
[    43.409] (==) Automatically adding GPU devices
[    43.409] (==) Automatically binding GPU devices
[    43.409] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    43.410] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[    43.411] Entry deleted from font path.
[    43.411] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    43.411] Entry deleted from font path.
[    43.411] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[    43.411] Entry deleted from font path.
[    43.411] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[    43.411] Entry deleted from font path.
[    43.411] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[    43.411] Entry deleted from font path.
[    43.411] (==) FontPath set to:
/usr/share/fonts/X11/misc,
/usr/share/fonts/X11/Type1,
built-ins
[    43.411] (==) ModulePath set to "/usr/lib/xorg/modules"
[    43.411] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[    43.411] (II) Loader magic: 0x55673b645020
[    43.411] (II) Module ABI versions:
[    43.411] X.Org ANSI C Emulation: 0.4
[    43.411] X.Org Video Driver: 24.1
[    43.411] X.Org XInput driver : 24.1
[    43.411] X.Org Server Extension : 10.0
[    43.411] (++) using VT number 1

[    43.412] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_31
[    43.413] (II) xfree86: Adding drm device (/dev/dri/card0)
[    43.413] (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 12 paused 0
[    43.415] (--) PCI:*(194@0:0:0) 1002:15bf:17aa:3812 rev 4, Mem @ 0x7c00000000/268435456, 0x90000000/2097152, 0x90600000/524288, I/O @ 0x00001000/256
[    43.415] (II) LoadModule: "glx"
[    43.415] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    43.419] (II) Module glx: vendor="X.Org Foundation"
[    43.419] compiled for 1.20.8, module version = 1.0.0
[    43.419] ABI class: X.Org Server Extension, version 10.0
[    43.419] (II) LoadModule: "amdgpu"
[    43.419] (II) Loading /usr/lib/xorg/modules/drivers/amdgpu_drv.so
[    43.420] (II) Module amdgpu: vendor="X.Org Foundation"
[    43.420] compiled for 1.20.5, module version = 19.1.0
[    43.420] Module class: X.Org Video Driver
[    43.420] ABI class: X.Org Video Driver, version 24.0
[    43.420] (II) AMDGPU: Driver for AMD Radeon:
All GPUs supported by the amdgpu kernel driver
[    43.421] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[    43.421] (**) AMDGPU(0): Depth 24, (--) framebuffer bpp 32
[    43.421] (II) AMDGPU(0): Pixel depth = 24 bits stored in 4 bytes (32 bpp pixmaps)
[    43.421] (==) AMDGPU(0): Default visual is TrueColor
[    43.421] (**) AMDGPU(0): Option "DRI3" "false"
[    43.421] (==) AMDGPU(0): RGB weight 888
[    43.421] (II) AMDGPU(0): Using 8 bits per RGB (8 bit DAC)
[    43.421] (--) AMDGPU(0): Chipset: "AMD Radeon Graphics" (ChipID = 0x15bf)
[    43.421] (II) Loading sub module "fb"
[    43.421] (II) LoadModule: "fb"
[    43.421] (II) Loading /usr/lib/xorg/modules/libfb.so
[    43.422] (II) Module fb: vendor="X.Org Foundation"
[    43.422] compiled for 1.20.8, module version = 1.0.0
[    43.422] ABI class: X.Org ANSI C Emulation, version 0.4
[    43.422] (II) Loading sub module "dri2"
[    43.422] (II) LoadModule: "dri2"
[    43.422] (II) Module "dri2" already built-in
[    43.546] (II) Loading sub module "glamoregl"
[    43.546] (II) LoadModule: "glamoregl"
[    43.546] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[    43.550] (II) Module glamoregl: vendor="X.Org Foundation"
[    43.550] compiled for 1.20.8, module version = 1.0.1
[    43.550] ABI class: X.Org ANSI C Emulation, version 0.4
[    43.562] (II) AMDGPU(0): glamor X acceleration enabled on AMD Radeon Graphics (radeonsi, gfx1103_r1, LLVM 19.1.2, DRM 3.59, 5.10.30-051030-generic)
[    43.562] (II) AMDGPU(0): glamor detected, initialising EGL layer.
[    43.562] (==) AMDGPU(0): TearFree property default: auto
[    43.562] (==) AMDGPU(0): VariableRefresh: disabled
[    43.562] (II) AMDGPU(0): KMS Pageflipping: enabled
[    43.564] (WW) AMDGPU(0): No outputs definitely connected, trying again...
[    43.564] (WW) AMDGPU(0): Unable to find connected outputs - setting 1024x768 initial framebuffer
[    43.564] (II) AMDGPU(0): mem size init: gart size :18cdeb000 vram size: s:b9989000 visible:8b326c00
[    43.564] (**) AMDGPU(0): Display dimensions: (120, 190) mm
[    43.564] (**) AMDGPU(0): DPI set to (216, 102)
[    43.564] (**) AMDGPU(0): Using gamma correction (2.2, 2.2, 2.2)
[    43.564] (II) Loading sub module "ramdac"
[    43.564] (II) LoadModule: "ramdac"
[    43.564] (II) Module "ramdac" already built-in
[    43.564] (EE) AMDGPU(0): No modes.
[    43.565] (II) UnloadModule: "amdgpu"
[    43.565] (II) UnloadSubModule: "glamoregl"
[    43.565] (II) Unloading glamoregl
[    43.565] (II) UnloadSubModule: "fb"
[    43.565] (II) Unloading fb
[    43.565] (EE) Screen(s) found, but none have a usable configuration.
[    43.565] (EE) 
Fatal server error:
[    43.565] (EE) no screens found(EE) 
[    43.565] (EE) 
Please consult the The X.Org Foundation support 
 at http://wiki.x.org
 for help. 
[    43.565] (EE) Please also check the log file at "/home/lego/.local/share/xorg/Xorg.0.log" for additional information.
[    43.565] (EE) 
[    43.576] (EE) Server terminated with error (1). Closing log file.

Notably, and contrasting with every other instance of this issue that I've seen, it's not rejecting the modelines for a particular reason, it just... doesn't seem to be registering their existence at all. The system is aware that the display is connected, and reads the EDID without issue, but I need either Modeline or LVDS probing to work for X to start.

Posted Oct 28, 2025, 4:52 PM UTC

20
Loading comments…