EDIT: tldr - I was having issues creating a VM using Virtual Machine Manager on Bazzite Linux. Several responders chimed in that it’s likely because I’m using the flatpak version of VMM. I probably still could make it work on Bazzite somehow, perhaps w/ the help of distrobox, but instead I’ve fired up a VM on an old laptop running Linux Mint and everything is smooth sailing. Thanks to all who took some time to help me find a solution.


Original body:

Background: I’m looking to set up a virtual Debian server using Virtual Machine Manager, but I’m stuck on creating my first VM. I’m running Bazzite on my host machine if that makes any difference.

Steps to Reproduce the Issue:

  1. Launch Virtual Machine Manager.
  2. Click File > New Virtual Machine, which opens the “New VM - Step 1” window.
  3. Select “Local install media” and click Forward, which brings me to “New VM - Step 2.”
  4. Click “Browse…” which opens the “Locate ISO media volume” window:
  5. Click “Browse Local,” which opens the file browser.
  6. Choose ISO file (in my case, I’m using debian-12.11.0-amd64-netinst.iso) and click Select, which returns me to the “New VM - Step 2” window.
  7. Because the OS is not detected automatically, I uncheck the “Automatically detect from the installation media / source” checkbox, start typing the word “debian” in the text box above it, and select Debian 12 from the pop-up selection menu.
  8. Click Forward.

Actual behavior:

Input Error - Error setting installer parameters. Validating install media ‘/run/user/1000/doc/c0a3c3fc/debian-12.11.0-amd64-netinst.iso’ failed. Could not start storage pool: cannot open directory ‘/run/usr/1000/doc/c0a3c3fc’: Permission denied.

Expected behavior: Create the VM and boot into the ISO that I selected in previous steps.

What am I doing wrong? Thanks!

  • ormith@lemmy.world
    link
    fedilink
    arrow-up
    7
    ·
    2 days ago

    That /run/user/1000/doc/… path suggests it’s getting the .iso through the documents portal. So virt-manager is a flatpak? Sounds bad! Try using flatseal to give it direct access to all files.

    • yo_scottie_oh@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 days ago

      Thanks - this got me past the original issue. What I did is I opened up Flatseal and granted access to all system files for Virtual Machine Manager.

      However, now I’m stuck at a different point. I can get past where I choose how much memory, CPU, and disk storage to allocate, but when I get to Step 5 and click Finish,

      This happens:

      Unable to complete install: 'internal error: process exited while connecting to monitor: 2025-06-22T17:16:36.091623Z qemu-system-x86_64: -blockdev {"driver":"file","filename":"/run/media/myusername/path/to/installers/debian-12.11.0-amd64-netinst.iso","node-name":"libvirt-1-storage","read-only":true}: Could not open '/run/media/myusername/path/to/installers/debian-12.11.0-amd64-netinst.iso': Permission denied'
      
      Traceback (most recent call last):
        File "/app/share/virt-manager/virtManager/asyncjob.py", line 71, in cb_wrapper
          callback(asyncjob, *args, **kwargs)
        File "/app/share/virt-manager/virtManager/createvm.py", line 2008, in _do_async_install
          installer.start_install(guest, meter=meter)
        File "/app/share/virt-manager/virtinst/install/installer.py", line 726, in start_install
          domain = self._create_guest(
                   ^^^^^^^^^^^^^^^^^^^
        File "/app/share/virt-manager/virtinst/install/installer.py", line 667, in _create_guest
          domain = self.conn.createXML(initial_xml or final_xml, 0)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/app/lib/python3.12/site-packages/libvirt.py", line 4590, in createXML
          raise libvirtError('virDomainCreateXML() failed')
      libvirt.libvirtError: internal error: process exited while connecting to monitor: 2025-06-22T17:16:36.091623Z qemu-system-x86_64: -blockdev {"driver":"file","filename":"/run/media/myusername/path/to/installers/debian-12.11.0-amd64-netinst.iso","node-name":"libvirt-1-storage","read-only":true}: Could not open '/run/media/myusername/path/to/installers/debian-12.11.0-amd64-netinst.iso': Permission denied
      

      This message is talking about permission denied, so I checked the file permissions, and I saw that the ISO file is owned by the qemu user:

      myusername@fedora:~$ ls -la /run/media/myusername/path/to/installers
      total 101472336
      drwxr-xr-x. 2 myusername myusername       4096 Jun 16 14:47  .
      drwxr-xr-x. 6 myusername myusername      12288 Jul 29  2024  ..
      -rw-r--r--. 1 myusername myusername 7547453440 Oct 17  2024  bazzite-gnome-stable.iso
      -rw-r--r--. 1 qemu       qemu        702545920 Jun 12 17:00  debian-12.11.0-amd64-netinst.iso
      

      I changed it to myusername:

      sudo chown myusername:myusername /run/media/myusername/path/to/installers/debian-12.11.0-amd64-netinst.iso
      

      When I tried the same steps again, I got stuck in the same place and rerunning ls showed that the ISO file’s ownership has reverted back to qemu.

      Any ideas?

      • ormith@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        2 days ago

        No idea. Since the path is a /run/media one, what’s the filesystem used there? Perhaps it’s incompatible. Have you tried putting the iso in your home directory and going from there instead?

        But perhaps it would work best if you just do what the documentation tells you not to do and rpm-ostree install virt-manager (and libvirt and friends, if needed)

  • dengtav@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    2 days ago

    Did you add yourself to the libvirt group? And check the permissions of the image it self, maybe thats the issue

  • HayadSont@discuss.online
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    2 days ago

    Virtual Machine Manager’s GitHub page for its flatpak includes the following lines:

    NOTE: By default, this Flatpak only includes the Virtual Machine Manager client application and does not include the libvirt daemon or QEMU. Depending on your use case, you may have to install other applications or extensions:

    • Connecting to a remote libvirt instance: nothing else needed
    • Connecting to a libvirt system instance: make sure that libvirtd is installed on the host, either via your package manager or using a system extension on image based systems for example
    • Connecting to a libvirt user instance: install the QEMU extension using flatpak install org.virt_manager.virt_manager.Extension.Qemu

    So, in this case, have you either installed libvirtd on the host[1] (i.e. have you installed it with rpm-ostree) OR have you installed the QEMU extension as per its own instruction?

    If neither, then you should at least do one of them and report back.


    EDIT: While what’s written above remains relevant beyond Bazzite, Bazzite’s ujust scripts do provide handholds for a myriad of situations including this one:

    • (Step 0: Uninstall[2] the flatpak of Virtual Machine Manager)
    • Step 1: Install Virtual Machine Manager with ujust, i.e. invoke the ujust setup-virtualization command

    I suppose the ujust way handles a bunch of gotchas you’d otherwise have to tackle yourself. And, thus, is most likely preferred over all other methods.

    As a side note, please consider consulting Bazzite’s excellent documentation first. We’ll be more than happy to help out regardless, but I’m sure there are a bunch of gems you’ll be missing out on otherwise.


    1. Technically, you could also install libvirtd as a sysext. ↩︎

    2. The ujust script will likely install another instance of VM Manager. As such, the flatpak is no longer needed and would only cause confusion. ↩︎

  • Balinares@pawb.social
    link
    fedilink
    arrow-up
    2
    ·
    2 days ago

    Well, what are the permissions of /run/usr/1000/doc/c0a3c3fc and what user are you running VMM as?

    • yo_scottie_oh@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      edit-2
      2 days ago

      Here are the results of some commands that I believe answer your questions. When I run the ls command against that directory, it says no such file or directory. Could this have something to do w/ the fact that Virtual Machine Manager is running as a flatpak? (as the other commenter @ormith@lemmy.world has hinted)

      Here’s what I tried:

      what are the permissions of /run/usr/1000/doc/c0a3c3fc

      myusername@fedora:~$ ls -la /run/usr/1000/doc
      ls: cannot access '/run/usr/1000/doc': No such file or directory
      

      what user are you running VMM as

      myusername@fedora:~$ ps aux | grep virt-manager
      myusername      17995  0.0  0.0   3688  2048 ?        S    13:05   0:00 /usr/bin/bwrap --args 40 -- virt-manager
      myusername      18011  0.0  0.0   3788  1396 ?        S    13:05   0:00 /usr/bin/bwrap --args 40 -- virt-manager
      myusername      18013  1.5  0.3 889968 101424 ?       Sl   13:05   0:00 python3 /app/bin/virt-manager
      myusername      18147  0.0  0.0 230340  2224 pts/0    S+   13:06   0:00 grep --color=auto virt-manager
      

      EDIT: I got past this issue by opening up Flatseal and granting access to all system files for Virtual Machine Manager; however, now I’m getting stuck on another permission issue after I choose how much RAM, CPU, and disk space to allocate. Reference my response to @ormith@lemmy.world’s comment.

      • Balinares@pawb.social
        link
        fedilink
        arrow-up
        1
        ·
        2 days ago

        WOW, yes, your problem is almost certainly Flatpak-related. I’m surprised you even got as far as you did. Flatpak is often great but does not tend to play well with applications that need less common capabilities.

        I’d recommend installing VMM in a different way if that’s an option for you; I expect that will likely make your problem go away.

  • UntouchedWagons@lemmy.ca
    link
    fedilink
    English
    arrow-up
    1
    ·
    2 days ago

    My best guess is there’s a permissions issue with whatever you have the ISO stored on. Try copying the iso to somewhere in your home folder.

    • yo_scottie_oh@lemmy.mlOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      2 days ago

      I copied the ISO file to my home directory but got the same result. Any other ideas?

      EDIT: I got past this issue by opening up Flatseal and granting access to all system files for Virtual Machine Manager; however, now I’m getting stuck on another permission issue after I choose how much RAM, CPU, and disk space to allocate. Reference my response to @ormith@lemmy.world’s comment.

      • Mordikan@kbin.earth
        link
        fedilink
        arrow-up
        1
        ·
        2 days ago

        Might check the file permissions then. Who owns the file? Does VMM have read permissions to the file? UUID 1000 is root, so it sounds like VMM is being run as your user, but the ISO is owned by root. You could try chown’ing that file to your user.