Bug 728463

Summary: rhel5 guest can't load the correct video driver for vga
Product: Red Hat Enterprise Linux 6 Reporter: yanbing du <ydu>
Component: libvirtAssignee: Libvirt Maintainers <libvirt-maint>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.2CC: berrange
Target Milestone: rc   
Target Release: 6.2   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-08-05 08:44:41 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description yanbing du 2011-08-05 08:31:26 UTC
Description of problem:
Change a rhel5 guest's video model from cirrus to vga, the guest can not enter the graphic interface. 
  In fact, the video driver in /etc/X11/xorg.conf don't change(still "cirrus"), and if we change the driver to "vesa" manually, it will work. 
  In another way, if we change the video model from vga to cirrus, everything goes well, and the driver in /etc/X11/xorg.conf changed to 'cirrus' automatically.

Version-Release number of selected component (if applicable):
kernel-2.6.32-171.el6.x86_64
qemu-kvm-0.12.1.2-2.172.el6.x86_64
libvirt-0.9.4-1.el6.x86_64

How reproducible:
always

Steps to Reproduce:
1. Prepare a RHEL5 guest.
2. Change the video model to vga by editing the guest's XML or via virt-manager.
3. Strart the guest.
  
Actual results:
When change a rhel5 guest's video model from cirrus to vga, the guest can not enter the graphic interface. 

Expected results:
Change the video model from cirrus to vga, the guest can still enter graphic interface. 


Additional info:
We reproduce this issue both with libvirt-0.9.4-1.el6 and libvirt 0.9.3-8.el6.

If we set the video model to vga when install rhel5 guest, the default driver in  /etc/X11/xorg.conf is "vesa", and everything goes well.

Comment 2 Daniel Berrangé 2011-08-05 08:44:41 UTC
If you have an xorg.conf in the guest OS which is sets the video driver to 'cirrus', then it is really no surprise that it won't work if you change the guest hardware to 'qxl'.

Before changing the guest hardware to QXL, either:

 - Remove any xorg.conf from the guest OS and let Xorg automatically detect the correct driver.
 - Manually change the xorg.conf to reference 'qxl'.

In any case, mis-configurations of the guest OS are never libvirt bugs.

Comment 3 Daniel Berrangé 2011-08-05 08:45:33 UTC
Opps, i meant 'vesa' rather than 'qxl' in the previous comment.

Comment 4 yanbing du 2011-08-05 09:26:18 UTC
Hi Daniel,
  I get what you mean, but i still have a small question:
  If the xorg.conf in the guest OS which is sets the video driver to 'vesa', then i change the guest hardware to 'cirrus', it can work, and the driver in  xorg.xonf also change to 'cirrus', is that normal? if true, i think maybe 'vga' should support it in the same way. Thanks!


(In reply to comment #2)
> If you have an xorg.conf in the guest OS which is sets the video driver to
> 'cirrus', then it is really no surprise that it won't work if you change the
> guest hardware to 'qxl'.
> 
> Before changing the guest hardware to QXL, either:
> 
>  - Remove any xorg.conf from the guest OS and let Xorg automatically detect the
> correct driver.
>  - Manually change the xorg.conf to reference 'qxl'.
> 
> In any case, mis-configurations of the guest OS are never libvirt bugs.

Comment 5 Daniel Berrangé 2011-08-08 09:35:46 UTC
>  If the xorg.conf in the guest OS which is sets the video driver to 'vesa',
> then i change the guest hardware to 'cirrus', it can work, and the driver in 
> xorg.xonf also change to 'cirrus', is that normal?

IIRC, the Xorg 'vesa' driver should work with pretty much any guest hardware. So I'd have expected it to work with cirrus. There could be a QEMU cirrus bug preventing it though.

Comment 6 yanbing du 2011-08-09 10:35:56 UTC
> IIRC, the Xorg 'vesa' driver should work with pretty much any guest hardware.
> So I'd have expected it to work with cirrus. There could be a QEMU cirrus bug
> preventing it though.

Thanks for your reply. :-)
Yes, as a general driver, 'vesa' driver support all these guest hardware, including 'cirrus'. But, as i wrote in the last comment, when i changed the guest video device to 'cirrus', the driver in xorg.conf changed to 'cirrus' automatically, just like:

Section "Device"
        Identifier  "Videocard0"
        Driver      "cirrus"

So, i'm not sure why the driver can't change to 'vesa' automatically when we change 'cirrus' device to 'vga' device.