Can not change screen resolution in Xubuntu-25.10-beta running in KVM/QEMU

Bug #2126798 reported by ajgreeny

This bug report will be marked for expiration in 50 days if no further activity occurs. (find out why)

16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
qemu (Ubuntu)
Incomplete
Low
Unassigned

Bug Description

System freezes when changing screen resolution using the Display dialogue from settings-manager after installing as a Virtual Machine in KVM/QEMU.
The resolution changes if using a VM in VirtualBox.

See ubuntu-community-hub https://discourse.ubuntu.com/t/xubuntu-display-resolution-fails/68639

ProblemType: Bug
DistroRelease: Ubuntu 25.10
Package: virt-manager (not installed)
ProcVersionSignature: Ubuntu 6.17.0-5.5-generic 6.17.0-rc7
Uname: Linux 6.17.0-5-generic x86_64
ApportVersion: 2.33.1-0ubuntu2
Architecture: amd64
CasperMD5CheckResult: pass
CurrentDesktop: XFCE
Date: Fri Oct 3 20:28:22 2025
InstallationDate: Installed on 2025-10-03 (0 days ago)
InstallationMedia: Xubuntu 25.10 "Questing Quokka" - Daily amd64 (20251002)
ProcEnviron:
 LANG=en_US.UTF-8
 PATH=(custom, no user)
 SHELL=/bin/bash
 TERM=xterm-256color
 XDG_RUNTIME_DIR=<set>
SourcePackage: virt-manager
UpgradeStatus: No upgrade log present (probably fresh install)

Revision history for this message
ajgreeny (ajg-charlbury) wrote :
affects: ubuntu → qemu (Ubuntu)
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in qemu (Ubuntu):
status: New → Confirmed
Revision history for this message
Rubi1200 (rubi1200) wrote :

Same issue reproducible when using GNOME Boxes. In VirtualBox, no such problem.

Revision history for this message
Jonas Jelten (jj) wrote :

Thank you for the report!
In order to understand and fix the bug we need more information, please.

How are you running QEMU?
  - exact qemu command invocation (if you use virt-manager, use "ps faux | grep qemu")
  - qemu version used to launch the beta iso

To clarify: The package/versions in the bug description at the top are for the package within the VM, right? We would need that information for the version you're using to run the VM currently.

From your description it seems to be an issue in QEMU indeed, but we need to figure out which emulated hardware or change in qemu caused this.

Revision history for this message
ajgreeny (ajg-charlbury) wrote :

I am using virt-manager to run the KVM/QEMU VM of the beta iso of Xubuntu-25.10
Running apt-policy in the Xubuntu 24.04 host shows the following for all packages that might be needed by you.

~$ apt policy virt-manager
virt-manager:
  Installed: 1:4.1.0-3ubuntu0.1
  Candidate: 1:4.1.0-3ubuntu0.1
  Version table:
 *** 1:4.1.0-3ubuntu0.1 500
        500 http://gb.archive.ubuntu.com/ubuntu noble-updates/universe amd64 Packages
        100 /var/lib/dpkg/status
     1:4.1.0-3 500
        500 http://gb.archive.ubuntu.com/ubuntu noble/universe amd64 Packages

~$ apt policy qemu-system-gui
qemu-system-gui:
  Installed: 1:8.2.2+ds-0ubuntu1.10
  Candidate: 1:8.2.2+ds-0ubuntu1.10
  Version table:
 *** 1:8.2.2+ds-0ubuntu1.10 500
        500 http://gb.archive.ubuntu.com/ubuntu noble-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu noble-security/main amd64 Packages
        100 /var/lib/dpkg/status
     1:8.2.2+ds-0ubuntu1 500
        500 http://gb.archive.ubuntu.com/ubuntu noble/main amd64 Packages

I will pass on the output of the
ps faux | grep qemu
when I have reinstalled the VM which is currently removed to save space.

Jonas Jelten (jj)
Changed in qemu (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
Heinrich Schuchardt (xypron) wrote (last edit ):

I am running a riscv64 Questing VM with the Xfce desktop. My host is amd64 Ubuntu 25.10 with KDE on Wayland.

This is my experience:

When I switch the resolution from 1920x1080 to 3840x2160 the resolution changes and a confirmation popup appears where I should confirm to keep the configuration.

Clicking on the confirm button does not work. The resolution switches back after a few seconds.

When I use <TAB> to select the confirm button and <SPACE> to press it, the resolution change works fine.

Afterwards the mouse location seen by apps does not match the mouse location displayed on the screen.

Revision history for this message
ajgreeny (ajg-charlbury) wrote :

Here's the ps faux | grep qemu output from the guest Xubuntu-Beta VM.

<username> 2325 0.0 0.0 9464 2608 pts/0 S+ 18:30 0:00 \_ grep --color=auto qemu

I'm not certain whether this helps but I think it is what you asked for.

Revision history for this message
ajgreeny (ajg-charlbury) wrote :
Download full text (6.1 KiB)

And here is the output of the command in the host Xubuntu 24.04 host.

ps faux | grep qemu
176:andrew 32868 0.0 0.0 9148 2304 pts/3 S+ 18:36 0:00 | \_ grep -n --color qemu
248:swtpm 31916 0.0 0.0 9532 6656 ? S 18:22 0:00 /usr/bin/swtpm socket --ctrl type=unixio,path=/run/libvirt/qemu/swtpm/3-XubuBeta-swtpm.sock,mode=0600 --tpmstate dir=/var/lib/libvirt/swtpm/334869dd-4c43-4051-958c-5fc7ecbaa151/tpm2,mode=0600 --log file=/var/log/swtpm/libvirt/qemu/XubuBeta-swtpm.log --terminate --tpm2
249:libvirt+ 31929 4.9 31.7 6049096 2508516 ? Sl 18:22 0:41 /usr/bin/qemu-system-x86_64 -name guest=XubuBeta,debug-threads=on -S -object {"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain-3-XubuBeta/master-key.aes"} -blockdev {"driver":"file","filename":"/usr/share/OVMF/OVMF_CODE_4M.ms.fd","node-name":"libvirt-pflash0-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-pflash0-format","read-only":true,"driver":"raw","file":"libvirt-pflash0-storage"} -blockdev {"driver":"file","filename":"/var/lib/libvirt/qemu/nvram/XubuBeta_VARS.fd","node-name":"libvirt-pflash1-storage","auto-read-only":true,"discard":"unmap"} -blockdev {"node-name":"libvirt-pflash1-format","read-only":false,"driver":"raw","file":"libvirt-pflash1-storage"} -machine pc-q35-8.2,usb=off,vmport=off,smm=on,dump-guest-core=off,memory-backend=pc.ram,pflash0=libvirt-pflash0-format,pflash1=libvirt-pflash1-format,hpet=off,acpi=on -accel kvm -cpu host,migratable=on -global driver=cfi.pflash01,property=secure,value=on -m size=4194304k -object {"qom-type":"memory-backend-ram","id":"pc.ram","size":4294967296} -overcommit mem-lock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 334869dd-4c43-4051-958c-5fc7ecbaa151 -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=32,server=on,wait=off -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-shutdown -global ICH9-LPC.disable_s3=1 -global ICH9-LPC.disable_s4=1 -boot strict=on -device {"driver":"pcie-root-port","port":16,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x2"} -device {"driver":"pcie-root-port","port":17,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x2.0x1"} -device {"driver":"pcie-root-port","port":18,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x2"} -device {"driver":"pcie-root-port","port":19,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x3"} -device {"driver":"pcie-root-port","port":20,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x4"} -device {"driver":"pcie-root-port","port":21,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x5"} -device {"driver":"pcie-root-port","port":22,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x2.0x6"} -device {"driver":"pcie-root-port","port":23,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x2.0x7"} -device {"driver":"pcie-root-port","port":24,"chassis":9,"id":"pci.9","bus":"pcie.0","multifunction":true,"addr":"0x3"} -device {"driver":"pcie-root-port","port":25,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x3.0x1"} -device {"driver":"pcie-root-port",...

Read more...

Revision history for this message
ajgreeny (ajg-charlbury) wrote :

I have now managed to get the resolution I needed, 1920x1080, by editing the Video Virtio XML file to the following content using the virt-manager Details tab.

<video>
  <model type="virtio" heads="1" primary="yes">
    <resolution x="1920" y="1080"/>
  </model>
  <address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>

Last time I tried to get this working the resolution appeared OK until I restarted then gave me unfilled bars top and bottom of the display even though xrandr showed the full resolution.

So, success for now even though using the Display settings from xfce4-settings-manager freezes the system if used even when starting from this full resolution.

Lena Voytek (lvoytek)
tags: added: server-triage-discuss
Revision history for this message
Lukas Märdian (slyon) wrote :

Tracking this bug within the virtualization team.

tags: removed: server-triage-discuss
Revision history for this message
Lukas Märdian (slyon) wrote :
Download full text (6.2 KiB)

I've been trying to reproduce this issue on an Ubuntu 24.04 host, by booting into a Xubuntu 25.10 live system and changing the resolution via StartMenu->Settings->Display.

$ wget https://cdimage.ubuntu.com/xubuntu/releases/questing/release/xubuntu-25.10-desktop-amd64.iso
$ qemu-system-x86_64 -enable-kvm -m 2G -nic user,model=virtio-net-pci -cdrom xubuntu-25.10-desktop-amd64.iso

=> When launching the ISO via this simple qemu command above, everything works as expected.

But when launching via virt-manager's default settings, I see the same behavior as described by Heinrich in comment #6: The screen resolution changes, but the mouse-pointer has a certain offset in x+y directions, so we cannot click any buttons and the screen can make the impression of being frozen. It isn't really frozen, though, as we can still navigate using the keyboard.

The qemu command line used by my virt-manager looks like this (similar to comment #8):
$ ps faux | grep qemu
libvirt+ 320897 37.6 17.6 5499536 4301780 ? Sl 11:06 2:27 /usr/bin/qemu-system-x86_64 -name guest=xubuntu25.10,debug-threads=on -S -object {"qom-type":"secret","id":"masterKey0","format":"raw","file":"/var/lib/libvirt/qemu/domain-4-xubuntu25.10/master-key.aes"} -machine pc-q35-8.2,usb=off,vmport=off,dump-guest-core=off,memory-backend=pc.ram,hpet=off,acpi=on -accel kvm -cpu host,migratable=on -m size=4194304k -object {"qom-type":"memory-backend-ram","id":"pc.ram","size":4294967296} -overcommit mem-lock=off -smp 2,sockets=2,cores=1,threads=1 -uuid 6cb399e0-683c-4319-bc42-bbc3e3d345d2 -no-user-config -nodefaults -chardev socket,id=charmonitor,fd=33,server=on,wait=off -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-shutdown -global ICH9-LPC.disable_s3=1 -global ICH9-LPC.disable_s4=1 -boot strict=on -device {"driver":"pcie-root-port","port":16,"chassis":1,"id":"pci.1","bus":"pcie.0","multifunction":true,"addr":"0x2"} -device {"driver":"pcie-root-port","port":17,"chassis":2,"id":"pci.2","bus":"pcie.0","addr":"0x2.0x1"} -device {"driver":"pcie-root-port","port":18,"chassis":3,"id":"pci.3","bus":"pcie.0","addr":"0x2.0x2"} -device {"driver":"pcie-root-port","port":19,"chassis":4,"id":"pci.4","bus":"pcie.0","addr":"0x2.0x3"} -device {"driver":"pcie-root-port","port":20,"chassis":5,"id":"pci.5","bus":"pcie.0","addr":"0x2.0x4"} -device {"driver":"pcie-root-port","port":21,"chassis":6,"id":"pci.6","bus":"pcie.0","addr":"0x2.0x5"} -device {"driver":"pcie-root-port","port":22,"chassis":7,"id":"pci.7","bus":"pcie.0","addr":"0x2.0x6"} -device {"driver":"pcie-root-port","port":23,"chassis":8,"id":"pci.8","bus":"pcie.0","addr":"0x2.0x7"} -device {"driver":"pcie-root-port","port":24,"chassis":9,"id":"pci.9","bus":"pcie.0","multifunction":true,"addr":"0x3"} -device {"driver":"pcie-root-port","port":25,"chassis":10,"id":"pci.10","bus":"pcie.0","addr":"0x3.0x1"} -device {"driver":"pcie-root-port","port":26,"chassis":11,"id":"pci.11","bus":"pcie.0","addr":"0x3.0x2"} -device {"driver":"pcie-root-port","port":27,"chassis":12,"id":"pci.12","bus":"pcie.0","addr":"0x3.0x3"} -device {"driver":"pcie-root-port","port":28,"chassis":13,"id":"pci.13","b...

Read more...

Revision history for this message
Lukas Märdian (slyon) wrote :

I'm attaching final.args (normalized qemu arguments from my comment above), beta.args (normalized args from ajg's comment #8) and diff.args (the difference between the two, which we likely do not need to investigate further).

Revision history for this message
Lukas Märdian (slyon) wrote :
Revision history for this message
Lukas Märdian (slyon) wrote :
Changed in qemu (Ubuntu):
status: Incomplete → Triaged
Revision history for this message
Lukas Märdian (slyon) wrote :

Some more (minimal) tests:

* "-vga std" works:
qemu-system-x86_64 -enable-kvm -m 2G -nic user,model=virtio-net-pci -vga std -cdrom xubuntu-25.10-desktop-amd64.iso

* "-vga qxl" works:
qemu-system-x86_64 -enable-kvm -m 2G -nic user,model=virtio-net-pci -vga qxl -cdrom xubuntu-25.10-desktop-amd64.iso

* "-vga virtio" works:
qemu-system-x86_64 -enable-kvm -m 2G -nic user,model=virtio-net-pci -vga virtio -cdrom xubuntu-25.10-desktop-amd64.iso

* "-vga virtio -display gtk" works:
qemu-system-x86_64 -enable-kvm -m 2G -nic user,model=virtio-net-pci -vga virtio -display gtk -cdrom xubuntu-25.10-desktop-amd64.iso

* "-vga virtio -display spice-app" works:
qemu-system-x86_64 -enable-kvm -m 2G -nic user,model=virtio-net-pci -vga virtio -display sdl -cdrom xubuntu-25.10-desktop-amd64.iso

* "-vga virtio -display sdl" crashes my whole wayland/sway session (=> needs further investigation):
qemu-system-x86_64 -enable-kvm -m 2G -nic user,model=virtio-net-pci -vga virtio -display sdl -cdrom xubuntu-25.10-desktop-amd64.iso

Revision history for this message
Lukas Märdian (slyon) wrote :

> "-vga virtio -display sdl" crashes my whole wayland/sway session (=> needs further investigation)

Re-executing this in a stock GNOME Shell environment, it also works as expected and is able to change resolution just fine.

$ qemu-system-x86_64 -enable-kvm -m 2G -nic user,model=virtio-net-pci -vga virtio -display sdl -cdrom xubuntu-25.10-desktop-amd64.iso

I'm really unclear what could be the culprit here. I have a suspicion that it might not be related to the graphics stack, but rather the input stack (e.g. input0: usb-tablet), because of the observation that Heinrich made in comment #6 (and I confirmed in #11): The screen resolution changes, but the mouse-pointer has a certain offset in x+y directions, so we cannot click any buttons and the screen can make the impression of being frozen.

We need a better reproducer in order to narrow this down. It must be some setting (commandline argument) that libvirt adds by default, but is not there in a basic run of "qemu-system-x86_64". We need to find which one is triggering the issue.

Any help would be appreciated!

Changed in qemu (Ubuntu):
importance: Undecided → Low
status: Triaged → Incomplete
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.