-
Notifications
You must be signed in to change notification settings - Fork 21
Description
Hi there
First - thanks so much for this repo, it's super useful to have all this information in one place! Below is a description of what happened as I tried to get this running, hopefully it will help! Secondly, apologies in advance for the long post, I’ve tried to include everything I ran into in order to find areas where the documentation could be improved.
I've had a go at using it on a clean install of Fedora 35 with an Asus GL552VW. That is an intel i7-6700HQ and an Nvidia 960M.
I'd recommend either pulling the windows-unattended-install branch into main OR adding a big flag on the master readme that this is the branch to currently use, as the master branch currently doesn't work (as referenced in other issues).
In order to get my dGPU to appear in the check script I had to set kernel parameter intel_iommu=on. It would be handy to add this to the readme (both that it needs to be done, and how to set a kernel parameter for newcomers).
I then ran into an issue where spice would give a connection refused, leading to a system hang as you don't start the vm quick enough because the default port in the config script had changed to 5904, but the docs in master still say 5900. I then realised that this is again just due to docs, as I had the git page on master still (my fault).
I then ran "auto" as is referenced in the unattended-win-install branch readme. This failed because SERVICE_NAME was ambiguous and so the service to run on next boot wasn't set - this error occured in /scripts/utils/manager-specific/service/systemd. I tracked this down to line 187 of setup.sh where the command line arguments were in the wrong order at least for my setup. I switched them around and reran but the service is just set to run auto again so nothing happened.
From here I then attempted to run the stages individually to try and work out what was happening. In this case the main issue was that the install was failing because the default vm-file names (such as the windows 10 iso), don't match the file names as downloaded by default in the setup script. This means that the install script doesn't work, but still unloads your dGPU leading to a crash. It was very helpful to have the dry-run parameter to work this out so thanks for that! It would be helpful if the script detected a failed install and didn't unload the gpu however.
The first reason I could see for a failure of the install script was qemu-img not found. I then installed that package separately, perhaps an early step failed to grab it.
The next error became “failed to connect to the hypervisor” from qemu. What seemed to work is installing libvirt from Discover and then importantly rebooting.
This is where I’ve stopped for now as I’m on the edges of what I know without significant further reading. The bottom line is I can’t create a vGPU due to a linux error. The remaining errors that cause the install to fail can be found in the output of my install dry run below. Any pointers of next steps to troubleshoot would be appreciated! I will try and investigate this further when I get more time.
Action: install
> Start mode: qemu
> Using network mode bridged...
> Using MAC address: 52:54:BE:EF:C0:0E...
> Using 7 CPU cores...
> Using 5G of RAM...
> Using a virtual OS drive...
> Removing old virtual disk...
> Creating a virtual disk for the VM...
> Virtual OS drive has 40G of storage.
> Bumblebee is not available...
> Not using SMB share...
> Using dGPU passthrough...
> dGPU is: 3D controller: NVIDIA Corporation GM107M [GeForce GTX 960M] (rev a2)
> Retrieving and parsing DGPU IDs...
> Not using DGPU vBIOS override...
modprobe: ERROR: could not insert 'kvmgt': No such device
modprobe: FATAL: Module vfio-mdev not found in directory /lib/modules/5.14.18-300.fc35.x86_64
> Creating a vGPU for mediated iGPU passthrough...
bash: line 1: /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/*/create: No such file or directory
> [Error] Failed creating a vGPU. (You can try again. If you still get this error, you have to reboot. This seems to be a bug in Linux.)
> Continuing without mediated iGPU passthrough...
> Loading display-mode-4 plugin...
> Using spice on port 5904...
> Not using QXL...
> Not using Looking Glass...
> Using fake battery...
> Creating fresh OVMF_VARS copy for this VM...
> Not using patched OVMF...
> Not using USB passthrough...
> Using virtual input method 'virtio' for keyboard/mouse input...
> Using RDP...
> Deleting VM if it already exists...
> [Background task] Starting RDP autoconnect...
> Generating qemu-system-x86_64 command (dry-run)...
sudo qemu-system-x86_64 \
-name MBPT_WindowsVM \
-machine type=q35,accel=kvm \
-global ICH9-LPC.disable_s3=1 \
-global ICH9-LPC.disable_s4=1 \
-enable-kvm \
-cpu host,kvm=off,hv_vapic,hv_relaxed,hv_spinlocks=0x1fff,hv_time,hv_vendor_id=12alphanum \
-mem-prealloc \
-rtc clock=host,base=localtime \
-nographic \
-serial none \
-parallel none \
-boot menu=on \
-boot once=d \
-k en-us \
-device ich9-intel-hda \
-device hda-output \
-device pci-bridge,addr=12.0,chassis_nr=2,id=head.2 \
-net nic,model=e1000,macaddr=52:54:BE:EF:C0:0E \
-net bridge,br=virbr0 \
-smp 7 \
-m 5G \
-drive file=/home/rmurphy/MobilePassThrough/vm-files/windows10.iso,index=1,media=cdrom \
-drive file=/home/rmurphy/MobilePassThrough/vm-files/mobile-passthrough-helper.iso,index=2,media=cdrom \
-drive id=disk0,if=virtio,cache.direct=on,if=virtio,aio=native,format=raw,file=/home/rmurphy/MobilePassThrough/vm-files/MBPT_WindowsVM.img \
-device ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=pci.1 \
-device vfio-pci,host=01:00.0,bus=pci.1,addr=00.0,x-pci-sub-device-id=0x1c5d,x-pci-sub-vendor-id=0x1043,multifunction=on,rombar=0 \
-spice port=5904,addr=127.0.0.1,disable-ticketing \
-acpitable file=/home/rmurphy/MobilePassThrough/vm-files/fake-battery.aml \
-drive if=pflash,format=raw,readonly=on,file=/usr/share/OVMF/OVMF_CODE.fd \
-drive if=pflash,format=raw,file=/home/rmurphy/MobilePassThrough/vm-files/OVMF_VARS_VM.fd \
-usb \
-device virtio-keyboard-pci,bus=head.2,addr=03.0,display=video.2 \
-device virtio-mouse-pci,bus=head.2,addr=04.0,display=video.2
Cleaning up...
> Unbinding device ' from the vfio-pci driver, then bind it back to its original driver...
driverctl: no such device: 0000:
> [Error] Seems like the installation failed...