On Thu, Oct 15, 2026 at 10:25:43PM +0100, Hugo Sales wrote: > On an ASUS ROG Flow X13 with a 3840x2400 eDP panel, booted with > video=eDP-1:1920x1200@60, an HDMI hotplug makes fbdev reprobe every > connector with its 1920x1200 framebuffer as the limit. connector->modes > loses the panel's 3840x2400 mode, and after suspend/resume amdgpu drives > the panel with the 1920x1200 timing. The image ends up squeezed into the > top-left corner. Details are in > https://gitlab.freedesktop.org/drm/amd/-/issues/5983
Sounds like an amdgpu bug. > > Patch 1 makes drm_client_modeset_probe() probe with the device's limits > and moves the framebuffer size check into the fbdev mode pickers. > Patch 2 adds KUnit tests for it > > fbdev's hotplug probe has passed the framebuffer size since 2010 > (4abe35204af8). The pickers didn't check mode sizes then, so leaving > larger modes out of the list was what kept fbdev from picking one. They > check the size themselves now, so the probe can use the device's limits > like initial setup, drm_log and GETCONNECTOR already do > > The HiBMC thread "[RFC] drm/client: Relax clone mode selection in > drm_client_target_cloned" runs into the same pruning: its 640x480 > framebuffer removes 1024x768 from both connectors' lists. With this > series userspace sees that mode again, but fbdev still can't use it, so > this doesn't replace that RFC: > https://lore.kernel.org/r/[email protected] > > I sent an amdgpu fix for the same symptom separately. It makes amdgpu > fall back to the encoder's native mode on eDP and LVDS: > https://lore.kernel.org/r/[email protected] > This series fixes the shared mode list for every driver instead. Either > one alone fixes the reported bug, from my testing > > On amd-staging-drm-next with only this series applied, with an HDMI > hotplug and suspend/resume (pm_test=platform) in a loop, 255 of 255 > resumes kept the native timing. Without it, 28 of 29 came back with the > wrong timing, and the same loop on unpatched v7.2.8 got it wrong in 103 > of 103. The drm KUnit tests pass, also under KASAN, which reports > nothing in the code this series touches > > Hugo Sales (2): > drm/client: Probe connectors with the device's mode size limits > drm/tests: Add KUnit tests for the client mode size limits > > drivers/gpu/drm/drm_client_modeset.c | 57 +++-- > .../gpu/drm/tests/drm_client_modeset_test.c | 222 +++++++++++++++++- > 2 files changed, 260 insertions(+), 19 deletions(-) > > -- > 2.55.0 -- Ville Syrjälä Intel
