Lower resolution modes corrupt and unusable on laptop display (functional regression in v6.4-rc6-12-ge749dd10e5f2)
Before submitting your bug report:
Brief summary of the problem:
Running lower resolution modes on a hiDPI laptop screen is a common thing, either for combining both a hiDPI laptop screen and non-hiDPI external displays, or for running non-hiDPI desktops and other software, or to increase the frame rate for gaming. This has worked for a long time until the following recent commit:
commit e749dd10e5f292061ad63d2b030194bf7d7d452c
Author: Hersen Wu <hersenxs.wu@amd.com>
Date: Thu May 25 08:37:40 2023 -0400
drm/amd/display: edp do not add non-edid timings
[Why] most edp support only timings from edid. applying
non-edid timings, especially those timings out of edp
bandwidth, may damage edp.
[How] do not add non-edid timings for edp.
Running xrandr
before this commit gives output:
eDP connected primary 1280x800+0+0 (normal left inverted right x axis y axis) 286mm x 178mm
2560x1600 60.00 + 40.00
1920x1200 60.00
1920x1080 60.00
1600x1200 60.00
1680x1050 60.00
1280x1024 60.00
1440x900 60.00
1280x800 60.00*
1280x720 60.00
1024x768 60.00
800x600 60.00
640x480 60.00
Running xrandr
after this commit shows only the 2560x1600 mode available.
The commit doesn't appear to actually disable the low-res mode fully, so it is still possible to change to the mode (e.g. video=eDP-1:1280x800
in the kernel parameters), but after the change the display will be corrupt and unusable.
Hardware description: HP Pavilion Aero Laptop 13-be0xxx/8916, BIOS F.12 04/11/2023
- CPU: AMD Ryzen 7 5800U with Radeon Graphics
- GPU: [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c1)
- System Memory: 16GB
- Display(s): laptop screen 2560x1600
- Type of Display Connection: eDP
System information:
- Debian 12
- Custom kernel: v6.4-rc7-234-g547cc9be86f4
- AMD official driver version: N/A
How to reproduce the issue:
-
kernel console: add
video=eDP-1:1280x800
to kernel command line -
or xorg:
autorandr mobile
(where "mobile" is a pre-saved config for 1280x800)