Quantcast
Channel: Ubuntu Forums - Virtualisation
Viewing all articles
Browse latest Browse all 4211

[ubuntu] Gigantic app/dialogue windows in KVM guests when using nomodeset

$
0
0
I'm trying to switch from using VBox to KVM but wrestling with the following problem:

  • Using KVM with Virt-Manager, qxl video, spice display
  • Host is Ubuntu Xenial
  • Running 5 'buntu VMs: Mate-core, Gnome, Xubuntu-core, Lubuntu-core and Kubuntu.
  • In all VMs, if KMS is enabled, both console and GUI boot only into 1024x768 resolution. Therefore, KMS is disabled with nomodeset.
  • If nomodeset, all consoles properly boot into mode defined in GRUB_ GFXMODE=<what>x<ever>…
  • …and all GUIs will properly autosense/autoconfigure into whatever resolution QEMU window is set at.
  • Mate, Xubuntu and Gnome behave well.
  • But under nomodeset, Lubuntu & Kubuntu display gigantic system dialogue boxes and highly magnified app windows in some applications.
  • Kubuntu is the worst: this unwanted magnification affects every app except Firefox.
  • Lubuntu is variable: LXTerminal is gigantic, so are some other system dialogues like Monitor Settings and Screensaver Settings. But XVT is proper resolution. So is PCManFM, Desktop Preferences, Network Connections and Printers.
  • If I enable KMS by deleting nomodeset, then manually define a modeline/add mode/set mode using xrandr, then all apps and dialogue boxes have proper resolution, but I lose the ability to resize to an arbitrary resolution by dragging the QEMU window. This is a functionality I am unwilling to give up because I use a big monitor and like my VMs in portrait mode.

Has anyone else experienced this issue? If so, how did you solve it?

I am aware of the remote desktop/ssh workarounds, but would rather not use them because:

  1. I don't want to add further apps and services to my VMs, especially Lubuntu-core
  2. I am by equal measures curious and stubborn; I would like to know what is going on and want to wrestle this one to the ground.

All input is valued.

Details follow:
Code:

duckhook@Kubuntu:~$ xrandr
Screen 0: minimum 320 x 200, current 1200 x 1600, maximum 8192 x 8192
qxl-0 connected primary 1200x1600+0+0 0mm x 0mm
  1024x768      60.00 +
  3840x2160    60.00 
  3200x2400    60.00 
  2800x2100    60.00 
  2560x2048    60.00 
  2048x2048    60.00 
  2560x1600    60.00 
  2000x2000    60.00 
  2560x1440    60.00 
  2048x1536    60.00 
  1920x1440    60.00 
  1920x1200    60.00 
  1920x1080    60.00 
  1600x1200    60.00 
  1680x1050    60.00 
  1400x1050    60.00 
  1600x900      60.00 
  1280x1024    60.00 
  1440x900      60.00 
  1280x960      60.00 
  1366x768      60.00 
  1360x768      60.00 
  1280x800      60.00 
  1152x870      60.00 
  1152x864      60.00 
  1280x768      60.00 
  1280x760      60.00 
  1280x720      60.00 
  1024x600      60.00 
  960x640      60.00 
  832x624      60.00 
  800x600      60.00 
  800x480      60.00 
  640x480      60.00 
  1200x1600-0    0.06*

Code:

duckhook@Kubuntu:~$ cat /etc/default/grub
# If you change this file, run 'update-grub' afterwards to update                                   
# /boot/grub/grub.cfg.                                                                               
# For full documentation of the options in this file, see:                                           
#  info -f grub -n 'Simple configuration'                                                           
                                                                                                     
GRUB_DEFAULT=0                                                                                       
GRUB_HIDDEN_TIMEOUT=0                                                                               
GRUB_HIDDEN_TIMEOUT_QUIET=true                                                                       
GRUB_TIMEOUT=10                                                                                     
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`                                     
# GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"                                                         
GRUB_CMDLINE_LINUX_DEFAULT="nomodeset consoleblank=0"                                               
GRUB_CMDLINE_LINUX=""                                                                               
                                                                                                     
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"

# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=1200x1600x16
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Code:

duckhook@Kubuntu:~$ lspci -vk | grep -iA8 vga
00:02.0 VGA compatible controller: Red Hat, Inc. QXL paravirtual graphic card (rev 04) (prog-if 00 [VGA controller])
        Subsystem: Red Hat, Inc QEMU Virtual Machine
        Flags: fast devsel, IRQ 10
        Memory at f4000000 (32-bit, non-prefetchable) [size=64M]
        Memory at f8000000 (32-bit, non-prefetchable) [size=64M]
        Memory at fc054000 (32-bit, non-prefetchable) [size=8K]
        I/O ports at c100 [size=32]
        Expansion ROM at fc040000 [disabled] [size=64K]
        Kernel modules: qxl

Nothing jumps out from guest dmesg but maybe I don't know what to look for. I will post dmesg if someone thinks it will help (it's long).

Sanitized output from host after running
Code:

duckhook@Prime:~$ virsh edit Kubuntu
Code:

<domain type='kvm'>
  <name>Kubuntu</name>
  <uuid>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx</uuid>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-xenial'>hvm</type>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>SandyBridge</model>
  </cpu>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>
  <devices>
    <emulator>/usr/bin/kvm-spice</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/mnt/duckhook/images/Kubuntu.qcow2'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='xx:xx:xx:xx:xx:xx'/>
      <source bridge='br0'/>
      <model type='rtl8139'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target port='0'/>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='spicevmc'>
      <target type='virtio' name='com.redhat.spice.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='spice' autoport='yes'>
      <image compression='off'/>
    </graphics>
    <sound model='ich6'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </sound>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <redirdev bus='usb' type='spicevmc'>
    </redirdev>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </memballoon>
  </devices>
</domain>

Please ask if more data needed.

Viewing all articles
Browse latest Browse all 4211

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>