Univention Bugzilla – Bug 40073
configurabel graphics model - change default from Cirrus to video/model/@type='vga'
Last modified: 2023-06-28 10:46:33 CEST
UVMM uses @type='cirrus' by default, which only supports max 1024×768 in Windows7. Using @type='vga' allows up to 2560×1600 in Windows7. Allowing 'vmware' or 'qxl' would be even better. FYI: 'cirrus' is the simplest possible and most compatible design, which is(was?) supported by all legacy OS. As all OS listed by UVMM support SVGA as well, we should switch to that by default or add an option to make that configurable in the profile. There are also reports (for KVM-0.12), that "cirrus" slows down the Windows boot when (registry) updates are applied.
See Bug #30978 comment 5 for details on differences between cirrus(pre-VESA) and stdvga(linear FB).
(In reply to Philipp Hahn from Bug #30978 comment #5) > <http://wiki.gentoo.org/wiki/QEMU/Options#Graphics_card> > -vga cirrus - Simple graphics card. Every guest OS has a built-in driver. > -vga std - Support resolutions >= 1280x1024x16. Linux, Windows XP and newer > guest have a built-in driver. > > From qemu-devel: > > Message-ID: > <CA+aC4ksx7dyUQkpkTi1bH_Lp9X04VFKgRPZ0TBS4f=jzhU2Wog@mail.gmail.com> > > Windows XP uses VGA planar mode during boot up. This means that to set a pixel requires 3 MMIO operations (one for the red pixel, one for the green pixel, one for the blue pixel). > > > Message-ID: > <CA+aC4kvnqOECrjoW2C90QhRzLSu0+rNhBuQE9Ld=-mPxFqKHyA@mail.gmail.com> > > Cirrus predates VESA. VESA has a linear framebuffer mode and WinXP can use VESA modes (provided that VESA drivers are installed). A linear framebuffer mode requires no [VM] exits to update individual pixels. > > > Message-ID: <20130727115118.GM2924@reaktio.net> > > One of the reasons to use emulated Cirrus is that there's a KMS driver for it. stdvga has a drm driver since linux-3.14 "bochsdrmfb", so all UCS versions >= 3.3 have it. Also read <https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/> why we should use modle="vga" or even model="qxl".
There are even plant to deprecate VGA in Qemu: <https://www.kraxel.org/blog/2018/10/qemu-vga-emulation-and-bochs-display/> This should be configurable via UVMM and by profile.
Excellent article describing the differences and recommendations: <https://www.kraxel.org/blog/2019/09/display-devices-in-qemu/>
Also important for Ubuntu 18.04: IIRC bootsplash freezes with "cirrus" and requires setting type to "qxl".
'qxl' is already deprecated - read that article from comment 4!
UVMM and virtualization with UCS is deprecated and will no longer be developed in UCS 4.4; they have already been removed from UCS 5.0.