I'm getting "Error setting installer parameters" while attempting to set up a new VM in Virtual Machine Manager [SOLVED]
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:
Launch Virtual Machine Manager.
Click File > New Virtual Machine, which opens the "New VM - Step 1" window.
Select "Local install media" and click Forward, which brings me to "New VM - Step 2."
Click "Browse..." which opens the "Locate ISO media volume" window:
Click "Browse Local," which opens the file browser.
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.
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.
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.
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.
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
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)
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
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.
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.
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^[Technically, you could also install libvirtd as a sysext.] (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^[The ujust script will likely install another instance of VM Manager. As such, the flatpak is no longer needed and would only cause confusion.] 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.
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.
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.