Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 1093310

Summary: fails to resize primary surface
Product: Red Hat Enterprise Linux 6 Reporter: Evgheni Dereveanchin <ederevea>
Component: xorg-x11-drv-qxlAssignee: Søren Sandmann Pedersen <sandmann>
Status: CLOSED DUPLICATE QA Contact: Desktop QE <desktop-qa-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.5CC: acathrow, cfergeau, ederevea, kem, marcandre.lureau, sandmann, yeylon
Target Milestone: pre-dev-freeze   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-20 18:15:35 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:
Attachments:
Description Flags
RHEL VM with dual monitors
none
Windows VM with dual monitors
none
RHEL VM with dual monitors on RHEL client
none
Xorg log from affected RHEL VM none

Description Evgheni Dereveanchin 2014-05-01 10:46:27 UTC
Description of problem:
When a secondary screen is configured into "Portrait" orientation, and virt-viewer is opened on it with a RHEL guest, the screen of the guest is still displayed in "landscape" mode.

Version-Release number of selected component (if applicable):
virt viewer 0.5.6-20-el6_5

Steps to Reproduce:
1. Install a Windows 7 physical machine
2. Connect a secondary monitor and set its orientation to Portrait (for example, actual resolution will become 1080x1920)
3. Open a SPICE console to a RHEL VM running in RHEV with spice-vdagent installed

Actual results:
VM screen displayed in landscape mode (1920x1080)

Expected results:
VM screen displayed in portrait mode (1080x1920)

Comment 2 Marc-Andre Lureau 2014-05-01 11:17:20 UTC
What happen when you go from window mode to fullscreen? or when you maximize the window? Is it correctly display in portrait mode then?

Comment 3 Evgheni Dereveanchin 2014-05-01 14:11:18 UTC
Created attachment 891538 [details]
RHEL VM with dual monitors

Screenshot displaying how RHEL looks with a dual-monitor configuration and the screen resolution that is detected by the guest.

Comment 4 Evgheni Dereveanchin 2014-05-01 14:12:49 UTC
Created attachment 891540 [details]
Windows VM with dual monitors

Screenshot displaying how Windows 7 looks with a dual-monitor configuration and the correct screen resolution which is detected by the guest.

Comment 5 Evgheni Dereveanchin 2014-05-01 14:22:39 UTC
I reproduced the issue, and it seems to only affect RHEL. A Windows 7 guest that I tested works fine.

Please check out the attached screenshots.

My setup is as follows:
* A computer running Win 8 x64
* Primary monitor - 1680x1050 (16:10 landscape)
* Secondary monitor - 1080x1920 (9:16 portrait)
* IE10
* virt-viewer 0.5.618.el6_5
* VM with RHEL 6.5 and latest qxl drivers
* VM with Windows 7 and spice drivers

When a Windows 7 guest with two SPICE displays is accessed on the Win8 client, it works OK

When a RHEL 6.5 guest with two SPICE displays is accessed, the secondary display does not stretch to the full height.

I also noticed, that if I make the primary display of the VM smaller, I am able to expand the secondary to 1080x1920. However then the primary one does not resize. Seems as if only one display is allowed to bee 1000+ pixels in height.

What additional information can I provide from this test system?

Comment 6 Marc-Andre Lureau 2014-05-01 22:33:26 UTC
(In reply to Evgheni Dereveanchin from comment #5)
> When a RHEL 6.5 guest with two SPICE displays is accessed, the secondary
> display does not stretch to the full height.
> 
> I also noticed, that if I make the primary display of the VM smaller, I am
> able to expand the secondary to 1080x1920. However then the primary one does
> not resize. Seems as if only one display is allowed to bee 1000+ pixels in
> height.
> 
> What additional information can I provide from this test system?

most probably this is a x11 qxl driver or qxl memory configuration issue.

What is the xorg-x11-drv-qxl version in the guest?

Comment 7 Evgheni Dereveanchin 2014-05-02 08:07:18 UTC
Created attachment 891733 [details]
RHEL VM with dual monitors on RHEL client

Screenshot displaying how RHEL looks with a dual-monitor configuration and the screen resolution that is detected by the guest. It is being run on a RHEL6.5 client this time.

Comment 8 Evgheni Dereveanchin 2014-05-02 08:13:06 UTC
Marc-Andre, here's the guest info in my case. It's an up-to-date RHEL6.5 machine:

$ uname -a
$ rpm -qa | grep -e qxl -e spice 
xorg-x11-drv-qxl-0.1.0-7.el6.x86_64
spice-vdagent-0.14.0-3.el6_5.x86_64

I performed some more tests, this time using a RHEL client. I can reproduce it there too:

Primary 1680x1050 + Secondary 1920x1080 = Works
Primary 1680x1050 + Secondary 1080x1920 = Does not work (screenshot attached)

This indeed looks like an issue in the qxl driver itself. Which logs can I provide from the VM to move this forward? You should be able to test this yourself, since it works with the linux virt-viewer too.

Comment 9 Marc-Andre Lureau 2014-05-02 11:07:53 UTC
You can probably get some log from /var/log/Xorg.0.log

Try with more qxl ram/vram (I am still confused about which value does what, but you can play with large values:  -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=32)

Comment 10 Evgheni Dereveanchin 2014-05-02 12:06:14 UTC
The VM is running in RHEV so I have no way to easily tune VGA memory.
Default commandline used by RHEV is something like this:
-vga qxl -global qxl-vga.ram_size=67108864 -global qxl-vga.vram_size=67108864

Here are some xorg.0.log snippets:

386s: successful resize from 888x635 to 952x1191:

[   386.302] (II) qxl(0): EDID vendor "QXL", prod id 0
[   386.302] (II) qxl(0): DDCModeFromDetailedTiming: 952x1191 Warning: We only handle separate sync.
[   386.302] (II) qxl(0): Using hsync ranges from config file
[   386.302] (II) qxl(0): Using vrefresh ranges from config file
[   386.302] (II) qxl(0): Printing DDC gathered Modelines:
[   386.302] (II) qxl(0): Modeline "952x1191"x0.0    0.08  952 1000 1032 1112  1191 1194 1204 1225 -hsync -vsync (0.1 kHz eP)
[   386.311] (II) qxl(0): qxl_xf86crtc_resize: Placeholder resize 2632x1191
[   386.311] resizing primary to 2632x1191
[   386.318] primary is 0x1cefc60
[   386.435] AUDIT: Fri May  2 13:45:26 2014: 1727: client 30 connected from local host ( uid=500 gid=500 pid=1895 )
  Auth name: MIT-MAGIC-COOKIE-1 ID: 117
[   386.452] (II) config/hal: removing device spice vdagent tablet
[   386.452] (II) evdev: spice vdagent tablet: Close
[   386.452] (II) UnloadModule: "evdev"
[   386.480] (II) config/hal: Adding input device spice vdagent tablet
[   386.481] (II) Using input driver 'evdev' for 'spice vdagent tablet'
[   386.481] (**) spice vdagent tablet: always reports core events
[   386.481] (**) evdev: spice vdagent tablet: Device: "/dev/input/event4"
[   386.481] (--) evdev: spice vdagent tablet: Vendor 0 Product 0
[   386.481] (--) evdev: spice vdagent tablet: Found 3 mouse buttons
[   386.481] (--) evdev: spice vdagent tablet: Found scroll wheel(s)
[   386.481] (--) evdev: spice vdagent tablet: Found relative axes
[   386.481] (--) evdev: spice vdagent tablet: Found absolute axes
[   386.481] (--) evdev: spice vdagent tablet: Found x and y absolute axes
[   386.481] (--) evdev: spice vdagent tablet: Found absolute touchscreen
[   386.481] (II) evdev: spice vdagent tablet: Configuring as touchscreen
[   386.481] (II) evdev: spice vdagent tablet: Adding scrollwheel support
[   386.481] (**) evdev: spice vdagent tablet: YAxisMapping: buttons 4 and 5
[   386.481] (**) evdev: spice vdagent tablet: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[   386.481] (**) Option "config_info" "hal:/org/freedesktop/Hal/devices/computer_logicaldev_input_1"
[   386.481] (II) XINPUT: Adding extended input device "spice vdagent tablet" (type: TOUCHSCREEN, id 10)
[   386.481] (WW) evdev: spice vdagent tablet: touchpads, tablets and touchscreens ignore relative axes.
[   386.481] (II) evdev: spice vdagent tablet: initialized for absolute axes.
[   386.481] (**) spice vdagent tablet: (accel) keeping acceleration scheme 1
[   386.481] (**) spice vdagent tablet: (accel) acceleration profile 0
[   386.481] (**) spice vdagent tablet: (accel) acceleration factor: 2.000
[   386.481] (**) spice vdagent tablet: (accel) acceleration threshold: 4
[   386.518] AUDIT: Fri May  2 13:45:26 2014: 1727: client 30 disconnected
1080x1920

485s: unsuccessful attempt to switch to full screen (1080x1920):

[   485.303] (II) qxl(0): EDID vendor "QXL", prod id 0
[   485.303] (II) qxl(0): DDCModeFromDetailedTiming: 1080x1920 Warning: We only handle separate sync.
[   485.303] (II) qxl(0): Using hsync ranges from config file
[   485.303] (II) qxl(0): Using vrefresh ranges from config file
[   485.303] (II) qxl(0): Printing DDC gathered Modelines:
[   485.303] (II) qxl(0): Modeline "1080x1920"x0.0    0.14  1080 1128 1160 1240  1920 1923 1933 1975 -hsync -vsync (0.1 kHz eP)
[   485.312] (II) qxl(0): qxl_xf86crtc_resize: Placeholder resize 2760x1920
[   485.312] resizing primary to 2760x1920
[   485.312] resizing surface0 to 21196800
[   485.312] resizing surface0 compiled out
[   485.312] not resizing primary to virtual, leaving old virtual
[   485.426] AUDIT: Fri May  2 13:47:05 2014: 1727: client 22 connected from local host ( uid=500 gid=500 pid=1895 )
  Auth name: MIT-MAGIC-COOKIE-1 ID: 117
[   485.454] AUDIT: Fri May  2 13:47:05 2014: 1727: client 22 disconnected
[   485.455] (II) qxl(0): EDID vendor "QXL", prod id 0
[   485.455] (II) qxl(0): DDCModeFromDetailedTiming: 952x1191 Warning: We only handle separate sync.
[   485.455] (II) qxl(0): Using hsync ranges from config file
[   485.455] (II) qxl(0): Using vrefresh ranges from config file
[   485.455] (II) qxl(0): Printing DDC gathered Modelines:
[   485.455] (II) qxl(0): Modeline "952x1191"x0.0    0.08  952 1000 1032 1112  1191 1194 1204 1225 -hsync -vsync (0.1 kHz eP)
[   485.842] AUDIT: Fri May  2 13:47:06 2014: 1727: client 30 connected from local host ( uid=500 gid=500 pid=1895 )
  Auth name: MIT-MAGIC-COOKIE-1 ID: 117
[   485.853] AUDIT: Fri May  2 13:47:06 2014: 1727: client 30 disconnected

I will attach the full log to this BZ.

Comment 12 Evgheni Dereveanchin 2014-05-02 12:45:20 UTC
Created attachment 891793 [details]
Xorg log from affected RHEL VM

Comment 13 Evgheni Dereveanchin 2014-05-05 14:03:17 UTC
I checked the parameters that qemu-kvm from RHEV takes and vgamem_mb is not there:

#rpm -q qemu-kvm-rhev
qemu-kvm-rhev-0.12.1.2-2.415.el6_5.8.x86_64
# /usr/libexec/qemu-kvm -device qxl-vga,? 2>&1
qxl-vga.ram_size=uint32
qxl-vga.vram_size=uint32
qxl-vga.revision=uint32
qxl-vga.debug=uint32
qxl-vga.guestdebug=uint32
qxl-vga.cmdlog=uint32
qxl-vga.addr=pci-devfn
qxl-vga.romfile=string
qxl-vga.rombar=uint32
qxl-vga.multifunction=on/off

I tried with qxl-vga.ram_size=1000000000 and qxl-vga.vram_size=1000000000 instead of the default 67108864 and still no change . Same error about "resizing surface0 compiled out" is displayed when attempting to resize (could not assign the maximum uint32 value of 4294967295 since I don't have that much RAM on my host, 1GB should be enough to prove a point that it's not hardware but the driver).

What other information is needed to move this further? As I tested before, this does not happen on Windows VMs with same virtual hardware.

Comment 14 Søren Sandmann Pedersen 2014-05-14 15:38:11 UTC
Please try this driver build and let me know if it fixes the problem:

    http://brewweb.devel.redhat.com/brew/taskinfo?taskID=7444793

Comment 15 Evgheni Dereveanchin 2014-05-14 16:43:59 UTC
I tried to install it on a VM but got this ABI incompatibility:

# rpm -Uvh xorg-x11-drv-qxl-0.1.1-11.el6.x86_64.rpm 
error: Failed dependencies:
	xserver-abi(videodrv-15) >= 0 is needed by xorg-x11-drv-qxl-0.1.1-11.el6.x86_64

Comment 16 Søren Sandmann Pedersen 2014-05-15 14:53:06 UTC
Here is a RHEL 6.5 version:

    http://brewweb.devel.redhat.com/brew/taskinfo?taskID=7457635

Comment 17 Evgheni Dereveanchin 2014-05-15 15:31:48 UTC
Yes, this build resizes the screen correctly for me on 6.5!

[ 83283.764] (II) qxl(0): EDID vendor "QXL", prod id 0
[ 83283.764] (II) qxl(0): DDCModeFromDetailedTiming: 1080x1920 Warning: We only handle separate sync.
[ 83283.764] (II) qxl(0): Using hsync ranges from config file
[ 83283.764] (II) qxl(0): Using vrefresh ranges from config file
[ 83283.764] (II) qxl(0): Printing DDC gathered Modelines:
[ 83283.764] (II) qxl(0): Modeline "1080x1920"x0.0    0.14  1080 1128 1160 1240  1920 1923 1933 1975 -hsync -vsync (0.1 kHz eP)
[ 83283.811] (II) qxl(0): qxl_xf86crtc_resize: Placeholder resize 2760x1920
[ 83283.811] resizing primary to 2760x1920
[ 83283.822] primary is 0x16e46b0

Comment 19 Søren Sandmann Pedersen 2014-05-16 23:30:55 UTC
I don't know if this build will work on RHEL 6.4. It may or may not.

Comment 20 Søren Sandmann Pedersen 2014-05-20 18:15:35 UTC

*** This bug has been marked as a duplicate of bug 1076728 ***