Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 529862 - app-emulation/qemu with sys-firmware/vgabios-0.7a-r1: Windows 8.1 guest cannot use resolutions higher than 1024x768
Summary: app-emulation/qemu with sys-firmware/vgabios-0.7a-r1: Windows 8.1 guest canno...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo QEMU Project
URL: https://bugs.debian.org/685097
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-11-19 15:37 UTC by Alexander E. Patrakov
Modified: 2017-05-04 18:39 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Patch for the ebuild (qemu-ebuild.diff,1.67 KB, patch)
2015-10-20 12:15 UTC, Alexander E. Patrakov
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander E. Patrakov 2014-11-19 15:37:36 UTC
Gentoo does not use the VGA bios that is bundled with QEMU. Instead, it substitutes QEMU's VGA bios with a file from sys-firmware/vgabios, which is inferior. Due to a known bug (see Debian bug report), with Gentoo's vgabios, Windows 8, when running in qemu-system-x86_64 -vga std, lists only 1024x768 as the available resolution, and grays out the resolution selector. With the vgabios that ships with QEMU, or with the vgabios that can be built from seabios sources, switching the resolution works. I have not tested the patch mentioned in the Debian bug report.

Reproducible: Always

Steps to Reproduce:
1. Install Windows 8.1 in KVM-enabled QEMU with -vga std.
2. Right click on the Windows desktop.
3. Select the "Screen resolution" menu entry.
4. Look at the available resolutions.
Actual Results:  
Only 1024x768 is shown, and the selector is grayed out.

Expected Results:  
A lot of resolutions should be shown, including 1920x1200.

You can verify the fix by replacing /usr/share/qemu/vgabios-stdvga.bin

This might be considered a duplicate of bug #523134.

$ emerge --info
Portage 2.2.14 (python 2.7.8-final-0, default/linux/amd64/13.0/desktop/kde/systemd, gcc-4.8.3, glibc-2.19-r1, 3.17.2-gentoo x86_64)
=================================================================
System uname: Linux-3.17.2-gentoo-x86_64-Intel-R-_Core-TM-_i3_CPU_M_370_@_2.40GHz-with-gentoo-2.2
KiB Mem:     8138144 total,   5603400 free
KiB Swap:    6291440 total,   6273548 free
Timestamp of tree: Fri, 31 Oct 2014 00:45:01 +0000
ld GNU ld (GNU Binutils) 2.24
app-shells/bash:          4.3_p30
dev-java/java-config:     2.2.0
dev-lang/perl:            5.20.1-r2
dev-lang/python:          2.7.8, 3.4.2
dev-util/cmake:           3.0.2
dev-util/pkgconfig:       0.28-r2
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.13.2
sys-apps/sandbox:         2.6-r1
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.11.6, 1.14.1
sys-devel/binutils:       2.24-r3
sys-devel/gcc:            4.7.4, 4.8.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.3
sys-devel/make:           4.1-r1
sys-kernel/linux-headers: 3.17 (virtual/os-headers)
sys-libs/glibc:           2.19-r1
Repositories: gentoo x11 local
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0 /usr/share/themes/oxygen-gtk/gtk-3.0"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs buildpkg config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.yandex.ru/gentoo-distfiles"
LANG="ru_RU.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages/kde"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/usr/portage/packages"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/x11 /usr/local/portage"
SYNC="rsync://mirror.yandex.ru/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 amr avahi bash-completion berkdb bluetooth bluray bzip2 cairo cdda cddb cdr cjk cli cracklib crypt cryptsetup cups cxx dbus declarative djvu dri dts dvd dvdr emboss encode exif ffmpeg firefox flac fontconfig fortran gdbm gif glamor gphoto2 gsm gtk gtk3 iconv icu idn introspection ipv6 jack jbig jpeg jpeg2k kde kipi lcms ldap libnotify lzma mad matroska mmx mmxext mng modemmanager modules mp3 mp4 mpeg multilib musepack ncurses networkmanager nls nptl ogg opengl openmp pam pango pcre pdf phonon plasma png policykit postscript ppds pulseaudio qt3support qt4 readline samba scanner sdl session speex spell sse sse2 sse3 ssl ssse3 startup-notification svg systemd tcpd theora tiff truetype udev udisks unicode upnp upower usb v4l v4l2 vaapi vdpau vim-syntax vorbis vp8 wavpack webkit webm webp wxwidgets x264 xattr xcb xcomposite xface xinerama xml xscreensaver xv xvid zlib" ABI_X86="64 32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DRACUT_MODULES="lvm mdraid crypt plymouth systemd btrfs" DVB_CARDS="tda10046lifeview" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev synaptics" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby21" USERLAND="GNU" VIDEO_CARDS="intel nouveau radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
USE_PYTHON="2.7 3.4"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2014-11-20 09:08:58 UTC
Please post your `emerge -vpq sys-firmware/vgabios' output in a comment.
Comment 2 Alexander E. Patrakov 2014-11-20 09:10:42 UTC
[ebuild   R   ] sys-firmware/vgabios-0.7a-r1  USE="-binary -debug"
Comment 3 SpanKY gentoo-dev 2014-12-30 22:31:45 UTC
most likely this won't be fixed.  instead we'll go with bug 523134 and use that as the default vgabios provider.
Comment 4 Alexander E. Patrakov 2015-08-17 05:52:21 UTC
Bug 523134 says: "updating qemu itself to use the new seavgabios files will be tracked by bug 529862", i.e. here. And nothing is done on this front. PING.
Comment 5 Alexander E. Patrakov 2015-10-20 06:28:01 UTC
QEMU still does not use seavgabios. PING.
Comment 6 SpanKY gentoo-dev 2015-10-20 11:54:02 UTC
if you want to help, post a patch.  otherwise, stop spamming.  you're really just annoying people here.
Comment 7 Alexander E. Patrakov 2015-10-20 12:15:16 UTC
Created attachment 414988 [details, diff]
Patch for the ebuild

tested with stdvga and these USE flags:

[ebuild   R    ] app-emulation/qemu-2.4.0-r2::local  USE="accessibility aio alsa bluetooth caps curl fdt filecaps gtk iscsi jpeg ncurses nls opengl pin-upstream-blobs png pulseaudio sdl seccomp threads tls usb usbredir uuid vhost-net virtfs vnc xattr -debug -glusterfs -gtk2 -infiniband -lzo -nfs -numa -python -rbd -sasl -sdl2 (-selinux) -smartcard -snappy -spice -ssh -static -static-softmmu -static-user -systemtap -tci {-test} -vde -vte -xen -xfs" PYTHON_TARGETS="python2_7" QEMU_SOFTMMU_TARGETS="x86_64 -aarch64 -alpha -arm -cris -i386 -lm32 -m68k -microblaze -microblazeel -mips -mips64 -mips64el -mipsel -moxie -or32 -ppc -ppc64 -ppcemb -s390x -sh4 -sh4eb -sparc -sparc64 -tricore -unicore32 -xtensa -xtensaeb" QEMU_USER_TARGETS="-aarch64 -alpha -arm -armeb -cris -i386 -m68k -microblaze -microblazeel -mips -mips64 -mips64el -mipsel -mipsn32 -mipsn32el -or32 -ppc -ppc64 -ppc64abi32 -ppc64le -s390x -sh4 -sh4eb -sparc -sparc32plus -sparc64 -unicore32 -x86_64" 0 KiB
Comment 8 Alexander E. Patrakov 2015-10-20 12:21:33 UTC
Oops, forgot to require the seavgabios use flag on seabios...
Comment 9 SpanKY gentoo-dev 2015-10-21 04:26:01 UTC
(In reply to Alexander E. Patrakov from comment #8)

yep, you'll need to update seabios dep

also we'll want to wait for the next release to make this change as the save/restore logic is messy when bios chunks change :/
Comment 10 Alexander E. Patrakov 2015-12-20 08:02:15 UTC
qemu-2.5.0 ebuild is in the tree, without this fix. So you still have the same excuse "we'll want to wait for the next release" because of the save/restore logic.
Comment 11 Yaroslav Isakov 2017-01-22 21:54:49 UTC
qemu-2.8.0 is in tree, but we're still using outdated VGA bios... I'm even using "-L /usr/share/seavgabios" QEMU option to somehow workaround this problem
Comment 12 Matthias Maier gentoo-dev 2017-05-03 01:25:46 UTC
All,

I have pushed app-emulation/qemu-2.9.0-r50 to the tree that contains the firmware change. (It is currently not keyworded to minimize surprises.)

Please test!



commit 189f585f9d2ea7091771fb6aee6d7d975b482e4e
Author: Matthias Maier <tamiko@gentoo.org>
Date:   Tue May 2 19:29:55 2017 -0500

    app-emulation/qemu: replace vgabios firmware with seavgabios, bug #529862
    
    Special thanks to Alexander Patrakov for the ebuild patch.
    
     - Dropping keywords due to potential issue with migration and resume of
       hibernated guests. See, e.g. bug #560050
    
    Package-Manager: Portage-2.3.5, Repoman-2.3.2