[Vfio] VM isn't booting anymore since updates on Sunday

My Windows VM isn’t booting anymore if I’m passing through my audio controller after I installed the latest updates on Sunday which included libvirt, qemu and various others. It only works if I don’t passthrough the audio controller for some reason. I already downgraded libvirt, qemu and some other packages that I thought had a correlation and installed other kernels without success.

So what happens is I click “play” in virt-manager, I see that the audio controller and everything else I passthrough is being removed from my host (becomes unusable, which is intended), but nothing happens afterwards. The VM just appears as “shutoff”.
grafik

I can’t find any error message in journalctl or the libvirtd service that seems to be correlated. Also virt-manager isn’t responding anymore after I started the VM and virsh list --all for example gives no output. I seems like something crashed.

I’m pretty desperate and exhausted after three days of troubleshooting and I don’t really understand why even the downgrades didn’t work :confused:
Yes I know that pulseaudio or scream exist, but they’re not really a option in my situation. I already had my pulseaudio journey…

I hope you guys have some ideas. I’d just be happy for an error message or something to work with.

Ok, so it looks like I’ve finally found the reason. An application with the name of pipewire or pipewire-media-session interferes with libvirt. As soon as I stop the service the VM boots up without a problem. It must have been installed in the last update. :neutral_face:

Does anyone have information if pipewire is necessary to have and if yes, is there a way to prevent this in the future without me having to stop the service every time?

It depends on your use case:

  • If you’re a musician and compose / mix / … music on Linux: pipewire is definitely a need-to-have
  • if you pass-through your audio card into your Windows VM because your music programs are in there and want best audio performance for your Windows VM: Meh, forget about pipewire! :grin:

yup:

systemctl --user disable pipewire.service

:innocent:

P.S. Please do me a favour and accept your answer as the solution like this:
Solution
so that the next person that has the exact same problem you just had will benefit from your post as well.

2 Likes

That doesn’t work for some reason :confused:. I disabled and stopped pipewire.service and pipewire.socket (as --user), rebooted, and when I check the status it’s still active and running:

systemctl --user status pipewire.service
● pipewire.service - Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; disabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-08-21 12:09:08 CEST; 45s ago
TriggeredBy: ● pipewire.socket
   Main PID: 8938 (pipewire)
     CGroup: /user.slice/user-1000.slice/user@1000.service/pipewire.service
             ├─8938 /usr/bin/pipewire
             └─8940 /usr/bin/pipewire-media-session

systemctl --user status pipewire.socket
● pipewire.socket - Multimedia System
     Loaded: loaded (/usr/lib/systemd/user/pipewire.socket; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-08-21 12:09:05 CEST; 52s ago
   Triggers: ● pipewire.service
     Listen: /run/user/1000/pipewire-0 (Stream)
     CGroup: /user.slice/user-1000.slice/user@1000.service/pipewire.socket

Edit: Nvm, it worked with systemctl --user mask pipewire.socket

1 Like

:rofl:

I was going to advise mask next… :stuck_out_tongue_winking_eye:

And could you edit the mask into your solution so that someone stumbling over this doesn’t have to read this entire conversation but has everything in one post? I.E.: your solution!

:innocent:

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.