3 ms·
I don't think that linking two different Wiki's (for different Linux distros) and two different github posts is "easy" compared to VirtualBox's very "fisher pri
by IntelMiner 3y ago
I don't think that linking two different Wiki's (for different Linux distros) and two different github posts is "easy" compared to VirtualBox's very "fisher price" Next-Next-Next-Done GUI
Not saying I prefer one or the other, but it's worth bearing in mind where "the bar" is
- westurner 3y agoFWICS from scanning those resources, there are a few shell commands to wrap with a config parser and an output parser for a GUI E.g. virt-manager is built with glade XML and Python: virt-manager/virt-manager//ui/createvm.ui: https://github.com/virt-manager/virt-manager/blob/main/ui/createvm.ui https://github.com/virt-manager/virt-manager/blob/main/ui/cr... virt-manager/virt-manager//ui/gfxdetails.ui: https://github.com/virt-manager/virt-manager/blob/main/ui/gfxdetails.ui https://github.com/virt-manager/virt-manager/blob/main/ui/gf... virt-manager/virt-manager//ui/hoststorage.ui: https://github.com/virt-manager/virt-manager/blob/main/ui/hoststorage.ui https://github.com/virt-manager/virt-manager/blob/main/ui/ho... virtManager/createvm.py: https://github.com/virt-manager/virt-manager/blob/main/virtManager/createvm.py https://github.com/virt-manager/virt-manager/blob/main/virtM... virtManager/device/addstorage.py: https://github.com/virt-manager/virt-manager/blob/main/virtManager/device/addstorage.py https://github.com/virt-manager/virt-manager/blob/main/virtM... virtManager/device/gfxdetails.py: https://github.com/virt-manager/virt-manager/blob/main/virtManager/device/gfxdetails.py https://github.com/virt-manager/virt-manager/blob/main/virtM... virtManager/addhardware.py: DeviceController.TYPE_PCI def populate_controller_model_combo(combo, controller_type): https://github.com/virt-manager/virt-manager/blob/135cf17072b9f857387e8263e9023fa2255abe32/virtManager/addhardware.py#L891 https://github.com/virt-manager/virt-manager/blob/135cf17072... https://github.com/virt-manager/virt-manager/blob/135cf17072b9f857387e8263e9023fa2255abe32/virtManager/addhardware.py#L810 https://github.com/virt-manager/virt-manager/blob/135cf17072...
- westurner 3y ago"Locating the GPU": https://clayfreeman.github.io/gpu-passthrough/#locating-the-gpu https://clayfreeman.github.io/gpu-passthrough/#locating-the-... : for d in /sys/kernel/iommu_groups/*/devices/*; do n=${d#*/iommu_groups/*}; n=${n%%/*} printf 'IOMMU Group %s ' "$n" lspci -nns "${d##*/}" done; iommu.sh gist: https://gist.github.com/Roliga/d81418b0a55ca7682227d57af277881b#file-iommu-sh-L93 https://gist.github.com/Roliga/d81418b0a55ca7682227d57af2778... iommu_groups.sh: https://github.com/drewmullen/pci-passthrough-ryzen/blob/master/iommu_groups.sh#L11 https://github.com/drewmullen/pci-passthrough-ryzen/blob/mas... : lspci -nns "${d##*/}" "PCI passthrough via OVMF > 2. Setting up IOMMU > 2.2 Ensuring that the groups are valid": https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF#Ensuring_that_the_groups_are_valid https://wiki.archlinux.org/title/PCI_passthrough_via_OVMF#En... : > An IOMMU group is the smallest set of physical devices that can be passed to a virtual machine. For instance, in the example above, both the GPU in 06:00.0 and its audio controller in 6:00.1 belong to IOMMU group 13 and can only be passed together. The frontal USB controller, however, has its own group (group 2) which is separate from both the USB expansion controller (group 10) and the rear USB controller (group 4), meaning that any of them could be passed to a virtual machine without affecting the others. "Exporting your ROM": https://github.com/BigAnteater/KVM-GPU-Passthrough?tab=readme-ov-file#exporting-your-rom https://github.com/BigAnteater/KVM-GPU-Passthrough?tab=readm... : lspci -vnn find /sys/devices -name rom # PATH_TO_ROM= echo 1 > $PATH_TO_ROM mkdir -p /var/lib/libvirt/vbios/ cat $PATH_TO_ROM > /var/lib/libvirt/vbios/gpu.rom echo 0 > $PATH_TO_ROM "Attaching the GPU" [with `virsh`] https://clayfreeman.github.io/gpu-passthrough/#attaching-the-gpu https://clayfreeman.github.io/gpu-passthrough/#attaching-the... : <hostdev mode='subsystem' type='pci' managed='yes'> <rom file='/path/to/gpu-dump.rom'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </source> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/> </source> </hostdev> "Adding your GPU and USB devices to the VM" [with `virt-manager`]: https://github.com/BigAnteater/KVM-GPU-Passthrough?tab=readme-ov-file#adding-your-gpu-and-usb-devices-to-the-vm https://github.com/BigAnteater/KVM-GPU-Passthrough?tab=readm... > 1. Add every PCI device which has to do with your graphics card to the VM.
- IntelMiner 3y agoThat's still MASSIVELY more complex than "Next -> Next -> Next -> Done"