Bug 1269292
Summary: | Auto re-size only works with > 1 display. No auto resizing of single display. | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 6 | Reporter: | Bill Sanford <bsanford> |
Component: | virt-viewer | Assignee: | Virt Viewer Maint <virt-viewer-maint> |
Status: | CLOSED CURRENTRELEASE | QA Contact: | Virtualization Bugs <virt-bugs> |
Severity: | medium | Docs Contact: | |
Priority: | unspecified | ||
Version: | 6.7 | CC: | astepano, bsanford, cfergeau, dblechte, jjongsma, pgrunt, rbalakri, tpelka |
Target Milestone: | rc | Keywords: | Regression |
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2015-10-08 15:04:32 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Bill Sanford
2015-10-06 21:38:42 UTC
It looks more like a guest problem (e.g. bug 1242847) rather than the regression on the client side. Can you tell the version of virt-viewer & spice-gtk in which it was working? The reason I say it is virt-viewer, is that I have 1440 x 900 set with System Tools -> Settings -> Displays. With one display window re-sized smaller or bigger, the correct resolution is being noticed and NOT set by virt-viewer. This is NOT a problem with more than one display. As you can see, I re-sized the display to 1760x966: [root@localhost log]# xrandr Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192 Virtual-0 connected primary 1440x900+0+0 0mm x 0mm 1760x966 59.9 + 1920x1200 59.9 1920x1080 60.0 1600x1200 59.9 1680x1050 60.0 1400x1050 60.0 1280x1024 59.9 1440x900 59.9* 1280x960 59.9 1280x854 59.9 1280x800 59.8 1280x720 59.9 1152x768 59.8 1024x768 59.9 800x600 59.9 848x480 59.7 720x480 59.7 640x480 59.4 Virtual-1 disconnected Virtual-2 disconnected Virtual-3 disconnected [root@localhost log]# As you can see, I re-sized the display to 1368x565: [root@localhost log]# xrandr Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192 Virtual-0 connected primary 1440x900+0+0 0mm x 0mm 1368x565 59.8 + 1920x1200 59.9 1920x1080 60.0 1600x1200 59.9 1680x1050 60.0 1400x1050 60.0 1280x1024 59.9 1440x900 59.9* 1280x960 59.9 1280x854 59.9 1280x800 59.8 1280x720 59.9 1152x768 59.8 1024x768 59.9 800x600 59.9 848x480 59.7 720x480 59.7 640x480 59.4 Virtual-1 disconnected Virtual-2 disconnected Virtual-3 disconnected [root@localhost log]# I agree with Pavel. I'm almost certain this is a guest bug. It doesn't happen on rhel6 guests because spice-vdagent removes the ~/.config/monitors.xml file when we send a new configuration (see bug 1086657). It also should not happen in rhel-7.2 because I changed mutter to ignore the monitors.xml file when we receive a hotplug event. But rhel 7.0 and 7.1 are likely susceptible. Can you verify whether this works on a rhel-7.2 guest? Jonathon, why would this work if I have 2 or more displays? The way that the gnome display configuration works is that it looks in monitors.xml for an existing saved configuration that has the same displays as you currently have connected. Since you had used the guest display control panel to change your resolution to 1440 x 900, monitors.xml now has a saved configuration for a single display. So when you resize that display, mutter gets a hotplug event and knows that it should re-configure the displays. So it looks at the monitors.xml file and finds a configuration for one monitor, so it uses that. When you enable a second display, mutter gets another hotplug event, and tries to reconfigure the displays. It now looks in monitors.xml for a saved configuration with 2 displays and doesn't find one. Since there is no saved configuration to apply, it falls back to using the preferred resolution of both displays (which is what we want). The behavior in rhel-7.2 changes the behavior so that if you are using a QXL device (or really any drm driver that exposes the 'hotplug_mode_update' drm property), it will never try to load a saved configuration from monitors.xml. If you want to test my theory without trying a rhel-7.2 nightly build, you can simply rename ~/.config/monitors.xml to something else (or delete it) and try to resize the display. It should start working again. Works exactly how you said. I will test this on 7.2, shortly and then verify it. Thanks. |