Bug 1123734

Summary: "-vga std" doesn't support >= 1280x1024x16 resolution
Product: Red Hat Enterprise Linux 6 Reporter: mazhang <mazhang>
Component: vgabiosAssignee: Gerd Hoffmann <kraxel>
Status: CLOSED NOTABUG QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.5CC: chayang, juzhang, kraxel, michen, qzhang, virt-maint
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-08-28 14:39:42 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 mazhang 2014-07-28 07:10:03 UTC
Description of problem:
std vga doesn't support >= 1280x1024x16 resolution

Version-Release number of selected component (if applicable):

Host:
qemu-kvm-tools-0.12.1.2-2.430.el6.x86_64
qemu-img-0.12.1.2-2.430.el6.x86_64
qemu-kvm-debuginfo-0.12.1.2-2.430.el6.x86_64
gpxe-roms-qemu-0.9.7-6.11.el6.noarch
qemu-kvm-0.12.1.2-2.430.el6.x86_64
kernel-2.6.32-492.el6.x86_64
vgabios-0.6b-3.7.el6.noarch

Guest:
kernel-2.6.32-492.el6.x86_64

How reproducible:
always

Steps to Reproduce:
1.Boot guest with "-vga std"
/usr/libexec/qemu-kvm \
-M rhel6.6.0 \
-cpu SandyBridge \
-m 4G \
-smp 4,sockets=1,cores=2,threads=2,maxcpus=160 \
-enable-kvm \
-name rhel6.6 \
-uuid 990ea161-6b67-47b2-b803-19fb01d30d12 \
-smbios type=1,manufacturer='Red Hat',product='RHEV Hypervisor',version=el6,serial=koTUXQrb,uuid=feebc8fd-f8b0-4e75-abc3-e63fcdb67170 \
-k en-us \
-rtc base=localtime,clock=host,driftfix=slew \
-nodefaults \
-monitor stdio \
-qmp tcp:0:6666,server,nowait \
-boot menu=on \
-bios /usr/share/seabios/bios.bin \
-chardev socket,id=seabios,path=/tmp/seabios0,server,nowait \
-device isa-debugcon,chardev=seabios,iobase=0x402 \
-monitor unix:/tmp/socket0,server,nowait -device sga \
-vga std \
-spice port=5900,disable-ticketing \
-drive file=/home/images/rhel6.6-64.qcow2,if=none,id=drive-scsi-disk,format=qcow2,cache=none,werror=stop,rerror=stop \
-device virtio-scsi-pci,id=scsi0 \
-device scsi-disk,drive=drive-scsi-disk,bus=scsi0.0,scsi-id=0,lun=0,id=scsi-disk,bootindex=1 \
-usb \
-device usb-tablet,id=tablet0 \
-netdev tap,id=hostnet0,vhost=on \
-device virtio-net-pci,netdev=hostnet0,id=net0 \


2.Try change guest resolution.

3.

Actual results:
Can not found high resolution(>= 1280x1024x16) by run xrandr.

Screen 0: minimum 640 x 480, current 1024 x 768, maximum 1024 x 768
default connected 1024x768+0+0 0mm x 0mm
   1024x768       61.0*
   800x600        61.0
   640x480        60.0

Expected results:
Support high resolution.

       -vga type
           Select type of VGA card to emulate. Valid values for type are

           cirrus
               Cirrus Logic GD5446 Video card. All Windows versions starting from Windows 95 should
               recognize and use this graphic card. For optimal performances, use 16 bit color depth in
               the guest and the host OS.  (This one is the default)

           std Standard VGA card with Bochs VBE extensions.  If your guest OS supports the VESA 2.0 VBE
               extensions (e.g. Windows XP) and if you want to use high resolution modes (>= 1280x1024x16)
               then you should use this option.


Additional info:
windows server 2012r2 also hit this problem, win7-64 guest not hit this problem.

Comment 2 Gerd Hoffmann 2014-08-28 14:39:42 UTC
Guest configuration issue.  The Xorg server uses very conservative
defaults for the monitor capabilities, you need to change these to
get higher resolutions.

Drop the following into /etc/X11/xorg.conf.d/monitor.conf and you are set.

=================== [ cut here ] ========================

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
	HorizSync    28-100
        VertRefresh  43-100
EndSection

Section "Device"
        Identifier  "Card0"
        BusID       "PCI:0:2:0"
EndSection

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Depth     24
        EndSubSection
EndSection