After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 545118 - should give a clue about why the settings can't be applied sometimes
should give a clue about why the settings can't be applied sometimes
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: Display
2.23.x
Other Linux
: Normal normal
: ---
Assigned To: Soren Sandmann Pedersen
Control-Center Maintainers
Depends on:
Blocks: randr-tracker
 
 
Reported: 2008-07-28 10:00 UTC by Sebastien Bacher
Modified: 2009-02-26 01:24 UTC
See Also:
GNOME target: ---
GNOME version: 2.23/2.24


Attachments
patch for xrandr capplet (4.30 KB, patch)
2008-09-15 14:20 UTC, Alberto Milone
none Details | Review
patch for gnome-desktop (8.05 KB, patch)
2008-09-15 14:21 UTC, Alberto Milone
none Details | Review

Description Sebastien Bacher 2008-07-28 10:00:36 UTC
the issue has been described on https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/220563

enabling a second screen might not work if the resolution is higher than the virtual xorg value, in such cases nothing happens which is confusing for the user, the capplet should give an hint about the issue
Comment 1 Alberto Milone 2008-09-15 14:20:38 UTC
Created attachment 118754 [details] [review]
patch for xrandr capplet
Comment 2 Alberto Milone 2008-09-15 14:21:13 UTC
Created attachment 118755 [details] [review]
patch for gnome-desktop
Comment 3 Alberto Milone 2008-09-15 14:22:26 UTC
The 2 patches attached above should fix this bug.

Product: gnome-control-center
Affected files: xrandr-capplet.c:
Patch: xrandr_virtual_resolution_warning.patch
Explanation:
If the framebuffer is not enough then the settings are not applied and they are saved only to a temporary file named monitors.xml.desired. Then the user is notified through a warning dialog which explains what to do (e.g. set the virtual resolution to, say, 2050x1024, in the xorg.conf, log out and log back in again). See the following screenshot:
http://albertomilone.com/ubuntu/gnome/final/upstream/xrandr-capplet.png

The user will then add the Virtual resolution in the Display subsection of his/her Screen section to what the warning dialog suggested, log out and log back in and, if the connected outputs are the same and the framebuffer is big enough, the gnome-settings-daemon will apply the settings stored in the  monitors.xml.desired, delete the file (note: the file is deleted in either case) and the user won't have to set up the screens again in the capplet. This patch depends on the 2nd patch, see below.


Product: gnome-desktop
Affected files: gnome-rr-config.c, gnome-rr-config.h:
Patch: xrandr_virtual_resolution_warning.patch
Explanation:
The changes in this patch add features so that the gnome-settings daemon can check the virtual resolution and load/save/remove the desired settings. Note: compute_virtual_size_for_configuration() was moved from xrandr-capplet.c to gnome-rr-config.c so that it can be used by both the gnome-settings daemon and the xrandr capplet.


The following instead can't be adopted by upstream yet but distributions may find it interesting:
In addition to these patches, as Federico wrote in the wiki we have something to set the virtual resolution in the xorg.conf through PolicyKit and X-Kit which, however can't be proposed to upstream because X-Kit is not part of the GNOME project. GNU/Linux distributors/vendors are welcome to adopt them:
http://live.gnome.org/RandR1.2
Comment 4 Federico Mena Quintero 2009-02-26 01:24:34 UTC
The old subject of this bug was "should give a clue about why the settings can't be applied sometimes".  This is fixed in trunk now; gnome-settings-daemon passes error messages from libgnome-desktop on to the display capplet, and errors get shown as appropriate.

I'll close this bug for now.  We need another bug about needing to change the Virtual size on demand, or about X drivers being able to change it at runtime.