Unfortunately, nvidia cards do not work with Spice/Virtio and 3D acceleration enabled.
It’s a known problem … I have lost hope that it will ever be fixed.
It must be something with the Nvidia GPU configuration.
I’ve been running this for a few years on Manjaro. I found the emulated video drivers were the worst part of it all. So I pass through PCIe devices, or my GPU, to get near native performance.
When I have video issues I always go back to the VGA driver, which has a pretty small resolution cap. But I find it’s the fastest and most reliable. If things are good, then try QXL, and work your way up from there.
But those SPICE errors are strange, even though it was over 2 years ago when I last reinstalled I had no issues with all the SPICE features. Just by installing virt-manager, all the dependencies just worked.
What is the output of: pactree -r spice
?
I had same issue when i tried ubuntu 24.04 beta. Black screen and the large X cursor. This was with QXL graphics. Switched to libvirt and it worked.
Then with ubuntu 2404 final version also qxl worked, so i would say something in modern kvm is finicky with the graphics and guest software interplay.
Of course I use libvirt as well. But this is simply a standardised API to work with other hypervisors, other than just qemu. It’s not actually needed, but it does make things easier.
You can see command parameters used on qemu /var/log/libvirt/qemu/DOMAIN.log
. And you can even call it the same way you did it before.
This all works without libvirt just fine. It may be harder to manage, and other software may not be able to interact with it, but it would work.
With QXL I know I had to play with a few things to get it going properly, at least with the (possibly) 2+ year old virt-manager defaults they used. (And I can’t use VirtIO video with VFIO.)
Sorry, i meant virtio, not libvirt. I just compared qxl and virtio graphics in virt-manager.
Nvidia X Server Settings or UEFI or something else?
I will try pactree -r spice
when i come onto the desktop again. Didnt work for about 20 restarts today
VirtIO is the best performing emulated video for sure. (In conjunction with guest tools and drivers.)
But when troubleshooting it’s good to start simple, and vga mode is that.
error: package 'spice' not found
but the spice-vdagent and qemu-guest-agent are installed.
I think we’re working on two things now…
But did you install qemu-desktop
? It’s qemu, but with the dependencies you’re looking for.
I have:
pacman -Qi spice
Name : spice
Version : 0.15.2-1
Description : SPICE server
Architecture : x86_64
URL : https://www.spice-space.org
Licenses : LGPL2.1
Groups : None
Provides : libspice-server.so=1-64
Depends On : pixman opus libjpeg-turbo glib2 libsasl lz4 spice-protocol libcacard
Optional Deps : None
Required By : qemu-audio-spice qemu-chardev-spice qemu-hw-display-qxl qemu-ui-spice-core
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 1169.73 KiB
Packager : Sven-Hendrik Haase <svenstaro@archlinux.org>
Build Date : Sun 21 May 2023 07:14:29 PM
Install Date : Mon 10 Jul 2023 02:18:39 PM
Install Reason : Installed as a dependency for another package
Install Script : No
Validated By : Signature
Both commands in the VM:
pactree -r spice
spice
├─qemu-audio-spice
│ └─qemu-desktop
├─qemu-chardev-spice
│ ├─qemu-desktop
│ └─qemu-ui-spice-app
│ └─qemu-desktop
├─qemu-hw-display-qxl
│ └─qemu-desktop
└─qemu-ui-spice-core
├─qemu-audio-spice
├─qemu-chardev-spice
├─qemu-desktop
├─qemu-hw-display-qxl
└─qemu-ui-spice-app
pacman -Qi spice
Name : spice
Version : 0.15.2-1
Beschreibung : SPICE server
Architektur : x86_64
URL : https://www.spice-space.org
Lizenzen : LGPL2.1
Gruppen : Nichts
Stellt bereit : libspice-server.so=1-64
Hängt ab von : pixman opus libjpeg-turbo glib2 libsasl lz4
spice-protocol libcacard
Optionale Abhängigkeiten : Nichts
Benötigt von : qemu-audio-spice qemu-chardev-spice
qemu-hw-display-qxl qemu-ui-spice-core
Optional für : Nichts
In Konflikt mit : Nichts
Ersetzt : Nichts
Installationsgröße : 1169,73 KiB
Packer : Sven-Hendrik Haase <svenstaro@archlinux.org>
Erstellt am : Mo 22 Mai 2023 03:14:29 CEST
Installiert am : Di 07 Mai 2024 17:03:19 CEST
Installationsgrund : Installiert als Abhängigkeit eines anderen Pakets
Installations-Skript : Nein
Verifiziert durch : Signatur
Should qemu-desktop be on my host machine or the VM? When i tried $ sudo apt install qemu-desktop
(what should be the equivalent on Mint) it couldnt find a package named qemu-desktop. I installed it on the VM and the problem still occures.
It seems like it should be installed to the desktop (host). Naming might be different depending on packaging requirements in Mint. Try searching for qemu
by itself, and see whatever related packages may reveal themselves.
This seems to be a placeholder (meta) package for qemu on Mint:
This may be totally unrelated, but I hope it’s of some use. Cheers.
I too saw something mentioned to that effect in a very recent thread.
I’m in the same situation as you are - kind of.
→ I’m also on Mint (Host) - but I have zero problems running three different Manjaro flavors in a VM
What I can tell you is that there is no such package in Mint or Ubuntu.
I can’t remember having to install anything extra, only one package, which pulls all others as dependencies with it.
It is consistently mentioned in all guides, for example here and here.
The name in Mint is: virt-manager
(I had some reliability problems with the Manjaro Gnome VM - see further up - but the hints that @DeLinuxCo gave improved that very much)
I meant the host. That’s where you posted those SPICE errors from, right?
When I was skimming the first few dozen posts, I thought you were migrating from Mint.
The guest or Manjaro part should just work, with guest tools installed for you. I’ve done this many times, even with Manjaro Gnome (but with Manjaro or not Mint running the hpyervisor).
I suggested VGA mode since it’s simple, and won’t throw those errors. (You’re just limited to 16MB VRAM using VGA.) If that’s working, then you can attempt VirtIO, QXL, or SPICE (which uses QXL).
SPICE is the most feature rich, and VirtIO the best performing (if you exclude GPU passthrough).
But I won’t be able to help much from the Mint specific side. My best guesses for the problem were the video configuration on the host, but there was an error I saw that made me think it could also be a timekeeping issue.
This must be something local to your Mint system.
I have begun testing Manjaro ISO on various type2 hypervisors, and while vmware technically is unsupported - Manjaro runs quite well
- virtmananager
- vmware workstation 17.x
- virtualbox 7.x
When you boot a Manjaro ISO - mhwd will detect the vm and load the relevant drivers internally.
If you are missing something on the Linux Mint host there is nothing we can do - I have been around a lot of distributions back in the days - I tested out Linux Mint many years ago - the only distribution I know inside out is Manjaro - and by family relation - Arch Linux.
I created a new test system - just for the sake of this topic - this the xml for the system (completely default)
<domain type="kvm">
<name>manjaro</name>
<uuid>38973fa1-b8f5-40e0-949b-460268b673e1</uuid>
<metadata>
<libosinfo:libosinfo xmlns:libosinfo="http://libosinfo.org/xmlns/libvirt/domain/1.0">
<libosinfo:os id="http://manjaro.org/manjaro/rolling"/>
</libosinfo:libosinfo>
</metadata>
<memory unit="KiB">4194304</memory>
<currentMemory unit="KiB">4194304</currentMemory>
<vcpu placement="static">2</vcpu>
<os>
<type arch="x86_64" machine="pc-q35-9.0">hvm</type>
<boot dev="hd"/>
</os>
<features>
<acpi/>
<apic/>
<vmport state="off"/>
</features>
<cpu mode="host-passthrough" check="none" migratable="on"/>
<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>destroy</on_crash>
<pm>
<suspend-to-mem enabled="no"/>
<suspend-to-disk enabled="no"/>
</pm>
<devices>
<emulator>/usr/bin/qemu-system-x86_64</emulator>
<disk type="file" device="disk">
<driver name="qemu" type="qcow2" discard="unmap"/>
<source file="/var/lib/libvirt/images/manjaro.qcow2"/>
<target dev="vda" bus="virtio"/>
<address type="pci" domain="0x0000" bus="0x04" slot="0x00" function="0x0"/>
</disk>
<disk type="file" device="cdrom">
<driver name="qemu" type="raw"/>
<target dev="sda" bus="sata"/>
<readonly/>
<address type="drive" controller="0" bus="0" target="0" unit="0"/>
</disk>
<controller type="usb" index="0" model="qemu-xhci" ports="15">
<address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/>
</controller>
<controller type="pci" index="0" model="pcie-root"/>
<controller type="pci" index="1" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="1" port="0x10"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x0" multifunction="on"/>
</controller>
<controller type="pci" index="2" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="2" port="0x11"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x1"/>
</controller>
<controller type="pci" index="3" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="3" port="0x12"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x2"/>
</controller>
<controller type="pci" index="4" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="4" port="0x13"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x3"/>
</controller>
<controller type="pci" index="5" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="5" port="0x14"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x4"/>
</controller>
<controller type="pci" index="6" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="6" port="0x15"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x5"/>
</controller>
<controller type="pci" index="7" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="7" port="0x16"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x6"/>
</controller>
<controller type="pci" index="8" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="8" port="0x17"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x02" function="0x7"/>
</controller>
<controller type="pci" index="9" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="9" port="0x18"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0" multifunction="on"/>
</controller>
<controller type="pci" index="10" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="10" port="0x19"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x1"/>
</controller>
<controller type="pci" index="11" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="11" port="0x1a"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x2"/>
</controller>
<controller type="pci" index="12" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="12" port="0x1b"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x3"/>
</controller>
<controller type="pci" index="13" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="13" port="0x1c"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x4"/>
</controller>
<controller type="pci" index="14" model="pcie-root-port">
<model name="pcie-root-port"/>
<target chassis="14" port="0x1d"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x5"/>
</controller>
<controller type="sata" index="0">
<address type="pci" domain="0x0000" bus="0x00" slot="0x1f" function="0x2"/>
</controller>
<controller type="virtio-serial" index="0">
<address type="pci" domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
</controller>
<interface type="network">
<mac address="52:54:00:3e:91:6e"/>
<source network="default"/>
<model type="virtio"/>
<address type="pci" domain="0x0000" bus="0x01" slot="0x00" function="0x0"/>
</interface>
<serial type="pty">
<target type="isa-serial" port="0">
<model name="isa-serial"/>
</target>
</serial>
<console type="pty">
<target type="serial" port="0"/>
</console>
<channel type="unix">
<target type="virtio" name="org.qemu.guest_agent.0"/>
<address type="virtio-serial" controller="0" bus="0" port="1"/>
</channel>
<channel type="spicevmc">
<target type="virtio" name="com.redhat.spice.0"/>
<address type="virtio-serial" controller="0" bus="0" port="2"/>
</channel>
<input type="tablet" bus="usb">
<address type="usb" bus="0" port="1"/>
</input>
<input type="mouse" bus="ps2"/>
<input type="keyboard" bus="ps2"/>
<graphics type="spice" autoport="yes">
<listen type="address"/>
<image compression="off"/>
</graphics>
<sound model="ich9">
<address type="pci" domain="0x0000" bus="0x00" slot="0x1b" function="0x0"/>
</sound>
<audio id="1" type="spice"/>
<video>
<model type="virtio" heads="1" primary="yes"/>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>
<redirdev bus="usb" type="spicevmc">
<address type="usb" bus="0" port="2"/>
</redirdev>
<redirdev bus="usb" type="spicevmc">
<address type="usb" bus="0" port="3"/>
</redirdev>
<watchdog model="itco" action="reset"/>
<memballoon model="virtio">
<address type="pci" domain="0x0000" bus="0x05" slot="0x00" function="0x0"/>
</memballoon>
<rng model="virtio">
<backend model="random">/dev/urandom</backend>
<address type="pci" domain="0x0000" bus="0x06" slot="0x00" function="0x0"/>
</rng>
</devices>
</domain>
It does, although I haven’t tested on a Manjaro host.
The only differences are, that I use 4 cores and my machine is version 6.2 and yours pc-q35-9.0
.
<vcpu placement="static">4</vcpu>
<os>
<type arch="x86_64" machine="pc-q35-6.2">hvm</type>
<boot dev="hd"/>
<bootmenu enable="yes"/>
</os>
I want to thank you all for looking at my thread but I think its not worth it to try further.
I still think that the following error is the most important, so I post it again just in case someone will have the same problem, so the person will know what we tried.
Error from the VM:
-- Boot f667de93d2f24f20adac2621aef7bdfe --
Mai 03 13:57:06 xxx dbus-broker-launch[370]: Activation request for 'org.freedesktop.nm_dispatcher' failed.
Mai 03 13:57:07 xxx kernel: watchdog: watchdog0: watchdog did not stop!
It might be something with my gpu settings or Mint, but its weird because PoP OS and Arch Linux (no GUI) worked fine.