Screen stuck at suboptimal resolution due to virtual size
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
screen-resolution-extra (Ubuntu) |
Fix Released
|
Low
|
Alberto Milone |
Bug Description
This bug report is based on anectodal evidence gathered when helping
someone else get back to his proper resolution on his laptop, but I
belive it's accurate.
He'd been playing around with the TV-Out port, and now his screen was
stuck at a resolution of 1360x768, so it didn't fill the screen (which
has a physical resolution of 1440x900). It turned out that his xorg.conf
specified a virtual resolution of 2048 by 768, so apparantly XRANDR
couldn't offer resolutions with a height of more than 768 pixels.
I imagine this happened because he at some point had the laptop and the
TV-Out both at 1024x768, side by side, and tried to apply it, at which
point this setting would get written to xorg.conf.
The core problem here, I think, is that there's no obvious way to revert
the setting in xorg.conf, and xrandr doesn't even list the resolutions
that exceed the virtual resolution, so gnome-display-
even know that there's a higher resolution that is not being shown.
affects ubuntu/
Related branches
Changed in gnome-control-center (Ubuntu): | |
assignee: | nobody → Alberto Milone (albertomilone) |
importance: | Undecided → Low |
affects: | gnome-control-center (Ubuntu) → screen-resolution-extra (Ubuntu) |
Changed in screen-resolution-extra (Ubuntu): | |
status: | New → In Progress |
The attached debdiff should reduce the problem.
When a virtual resolution smaller than 2048x2048 is required, 2048x2048 is set instead of the required virtual resolution. Usually 2048x2048 is the highest virtual resolution which doesn't break direct rendering.
If a bigger virtual resolution is required (say 3000x3000) this resolution will be set.
Here's how you can test the new behaviour:
:~$ python /usr/share/ screen- resolution- extra/policyui. py 2024x768
:~$ grep Virtual /etc/X11/xorg.conf
Virtual 2048 2048
:~$ python /usr/share/ screen- resolution- extra/policyui. py 3000x3000
:~$ grep Virtual /etc/X11/xorg.conf
Virtual 3000 3000