-
-
Notifications
You must be signed in to change notification settings - Fork 143
Description
While experimenting with the newly merged amdgpu native contexts using microvm I've found that microvm is quite inflexible for users who want to modify it's behavior. In this case I found that in order to prevent microvm from setting -nographic
I had to set graphics.enable = true
, which causes microvm to set -device "virtio-vga-gl"
, which is incompatible with -device virtio-gpu-gl
.
Using the qemu runner as an example, but this would also apply to others.
Instead of the current setup, where the qemu runner declaration is one big function that creates a command from microvm configuration options, it might be sensible to instead have the qemu runner expose a "microvm.qemu.args" option(the same as the existing extraArgs
) as well as a readonly command
option, with other modules using the option to configure qemu.
This would already allow users to remove any problematic arguments by doing a hack, like:
options.microvm.qemu.args = lib.mkOption { apply = lib.subtractLists [ "-device virtio-vga-gl" ]; };
but the real improvements would be in the ability to further create helper options, like for example microvm.qemu.devices.*
, allowing overwriting the options configured for any device.
I'd be up for implementing the changes if @astro would be willing to merge them