Mirror mode doesn't work when panel only supports one refresh rate with reduced blanking
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
HWE Next |
New
|
Undecided
|
Unassigned | ||
OEM Priority Project |
New
|
Undecided
|
Unassigned | ||
mutter (Ubuntu) |
Fix Released
|
Undecided
|
Kai-Heng Feng | ||
Jammy |
Fix Released
|
Undecided
|
Kai-Heng Feng | ||
Mantic |
Fix Released
|
Undecided
|
Kai-Heng Feng | ||
Noble |
Fix Released
|
Undecided
|
Kai-Heng Feng |
Bug Description
[Impact]
On systems equipped with reduced blanking panel, mirror mode can result to no image on external monitor.
The reason is due to current fallback modes don't have pixelclock for reduced blanking, so inadequate refresh rate is used to mode set, and result with atomic commit failure.
[Fix]
https:/
Add reduced blanking (RB) to fallback modes, so mutter can use RB mode to meet pixelclock requirement in order to pick the right refresh rate.
[Test]
Connect an external monitor to affected system. Use the monitor hotkey to switch to mirror mode or use GNOME control center to choose mirror mode. With the patch included, the issue is no longer observed.
[Where problems could occur]
The modelines of reduced blanking have reversed Hsync and Vsync flags, so if the driver doesn't handle those flags correctly, the atomic modeset/commit may fail.
I haven't observe any issue on Intel/AMD/Nvidia GPU so far.
no longer affects: | mutter (Ubuntu Lunar) |
tags: | added: originate-from-2054408 |
Changed in mutter (Ubuntu Jammy): | |
status: | New → In Progress |
Changed in mutter (Ubuntu Mantic): | |
status: | New → In Progress |
Changed in mutter (Ubuntu Jammy): | |
assignee: | nobody → Kai-Heng Feng (kaihengfeng) |
Changed in mutter (Ubuntu Mantic): | |
assignee: | nobody → Kai-Heng Feng (kaihengfeng) |
Changed in mutter (Ubuntu Noble): | |
assignee: | nobody → Kai-Heng Feng (kaihengfeng) |
tags: | added: originate-from-2048179 stella |
tags: | added: originate-from-2047204 sutton |
Changed in mutter (Ubuntu Noble): | |
status: | Fix Committed → Fix Released |
Thanks, I was looking for this LP bug a couple of days ago :)