Arc-Compute / LibVF.IO

A vendor neutral GPU multiplexing tool driven by VFIO & YAML.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Debian bookwrom support

k-u-s opened this issue · comments

commented

Tried following setup guide on clean installation of Debian 12 Bookworm RC 1 and did not go as planned. I manage to start VM but display driver seams to not work.

First think I needed to change was to remove qemu package from apt install cause its no longer available in newer sources but since its dummy package I do not think it causes any problems (but its needs to be done other wise installation of other packages also fails)

Then first step went as expected after restart got small res screen. Starting again got prompts as mentioned in guide (plus telemetry prompt from choosonim) but after restarting display was still in small res (and could not be changed). Creating vm works but do not shows nvidia graphic device in windows Device Manager.

Are there any additional requirements from host to make it work?
If you think it can help I can re run those steps to get full logs from installation.

Hardware:
Intel i9-9900K
Nvidia Gefroce RTX 2080

commented

Tested it a little bit more and after downgrading kernel from 6.1 to 5.10 after fresh setup, I manged to finish both steps and get normal resolutions and multiple screen working again. I did not get a vm to recognize gpu yet but will try to check that later.

commented

Further testing unfortunately did not allow to get working vm with gpu. Set up went as followed:

  • created VM
  • installed fresh Windows 10 22H2
  • manually installed nvidia 512.77 drivers in gust vm (host is using 510.85)
  • graphic card appeared in task mgr and seams working
  • shut down VM
  • start VM in safe mode

After last step first there was blue screen then after restart or two graphic card disappeared and did not work anymore. Last detail that came to my mind is that when shutting down VM when msg "INFO: Installing to base kernel" appeared I waited a few minutes then ctrl+c to stop it cause even when i left it for few hours it did not completed.

Logs from terminal - arcd create

~ arcd create VmWinGeneric.yaml ./Downloads/Win10_22H2_EnglishInternational_x64.iso 200
[2023-04-18 11:11:10] - INFO: Executing: (exec: "echo", args: @["'d41d7b0b-0cc6-4243-a435-37ed48e34a97'", ">", "/sys/class/mdev_bus/0000:01:00.0/mdev_supported_types/nvidia-1/create"])
[2023-04-18 11:11:10] - INFO: Executing: (exec: "qemu-img", args: @["create", "-f", "qcow2", "-o", "preallocation=metadata", "/home/kus/.local/libvf.io/live/e2eea016-fe7e-4a58-885b-c4dde39140b0", "200G"])
Formatting '/home/kus/.local/libvf.io/live/e2eea016-fe7e-4a58-885b-c4dde39140b0', fmt=qcow2 cluster_size=65536 extended_l2=off preallocation=metadata compression_type=zlib size=214748364800 lazy_refcounts=off refcount_bits=16
[2023-04-18 11:11:11] - INFO: Executing: (exec: "/bin/qemu-system-x86_64", args: @["-D", "/home/kus/.local/libvf.io/logs/qemu/e2eea016-fe7e-4a58-885b-c4dde39140b0-session.txt", "-no-hpet", "-mem-prealloc", "-uuid", "e2eea016-fe7e-4a58-885b-c4dde39140b0", "-machine", "pc-q35-4.2,accel=kvm,usb=off,vmport=off,dump-guest-core=off", "-cpu", "host,ss=on,vmx=on,pcid=on,-hypervisor,arat=on,tsc-adjust=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaveopt=on,pdpe1gb=on,ibpb=on,amd-stibp=on,amd-ssbd=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,hv-vapic,hv_time,hv-spinlocks=0x1fff,hv-vendor-id=null,kvm=off,topoext=on", "-rtc", "clock=host,base=localtime", "-m", "8192", "-smp", "cores=4,threads=1,sockets=1", "-hda", "/home/kus/.local/libvf.io/live/e2eea016-fe7e-4a58-885b-c4dde39140b0", "--enable-kvm", "-device", "vfio-pci,id=hostdev0,sysfsdev=/sys/bus/mdev/devices/d41d7b0b-0cc6-4243-a435-37ed48e34a97,display=off", "-device", "rtl8139,netdev=net0", "-netdev", "user,id=net0,hostfwd=tcp::2222-:22", "-net", "user", "-net", "nic", "-device", "vhost-vsock-pci,guest-cid=11467", "-qmp", "unix:/tmp/sockets/e2eea016-fe7e-4a58-885b-c4dde39140b0/main.sock,server,nowait", "-qmp", "unix:/tmp/sockets/e2eea016-fe7e-4a58-885b-c4dde39140b0/master.sock,server,nowait", "-cdrom", "./Downloads/Win10_22H2_EnglishInternational_x64.iso"])
~ qemu-system-x86_64: -device vfio-pci,id=hostdev0,sysfsdev=/sys/bus/mdev/devices/d41d7b0b-0cc6-4243-a435-37ed48e34a97,display=off: warning: vfio d41d7b0b-0cc6-4243-a435-37ed48e34a97: Could not enable error recovery for the device
qemu-system-x86_64: -device vhost-vsock-pci,guest-cid=11467: warning: device is modern-only, but for backward compatibility legacy is allowed
[2023-04-18 11:11:14] - INFO: Executing: (exec: "/usr/bin/chgrp", args: @["kvm", "/tmp/sockets/e2eea016-fe7e-4a58-885b-c4dde39140b0/main.sock", "/tmp/sockets/e2eea016-fe7e-4a58-885b-c4dde39140b0/master.sock"])
[2023-04-18 11:11:14] - INFO: Executing: (exec: "/usr/bin/chmod", args: @["g+rwx", "/tmp/sockets/e2eea016-fe7e-4a58-885b-c4dde39140b0/main.sock", "/tmp/sockets/e2eea016-fe7e-4a58-885b-c4dde39140b0/master.sock"])
[2023-04-18 11:11:14] - INFO: Connecting to the socket
[2023-04-18 11:11:14] - WARN: QMP has not been tested for this version
[2023-04-18 11:11:14] - DEBUG: Sending to socket: {"execute":"qmp_capabilities"}
[2023-04-18 11:11:14] - DEBUG: Received from socket: {"return": {}}
[2023-04-18 11:11:14] - DEBUG: Response: (event: return)
[2023-04-18 11:13:13] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681809193, "microseconds": 358481}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:13:13] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:13:13] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681809193, "microseconds": 418270}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:13:13] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:14:18] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681809258, "microseconds": 511460}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:14:18] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:14:18] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681809258, "microseconds": 540317}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:14:18] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:14:31] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681809271, "microseconds": 386237}, "event": "RTC_CHANGE", "data": {"offset": 0, "qom-path": "/machine/unattached/device[10]"}}
[2023-04-18 11:14:31] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:14:32] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681809271, "microseconds": 728301}, "event": "RTC_CHANGE", "data": {"offset": 0, "qom-path": "/machine/unattached/device[10]"}}
[2023-04-18 11:14:32] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:14:55] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681809295, "microseconds": 569289}, "event": "RTC_CHANGE", "data": {"offset": 0, "qom-path": "/machine/unattached/device[10]"}}
[2023-04-18 11:14:55] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:14:56] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681809295, "microseconds": 569444}, "event": "RTC_CHANGE", "data": {"offset": 0, "qom-path": "/machine/unattached/device[10]"}}
[2023-04-18 11:14:56] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:16:23] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681809383, "microseconds": 106937}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:16:23] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:16:23] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681809383, "microseconds": 142869}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:16:23] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
qemu: Slirp: Failed to send packet, ret: -1
[2023-04-18 11:30:14] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810214, "microseconds": 80200}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:30:14] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:30:14] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810214, "microseconds": 113475}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:30:14] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:36:48] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810608, "microseconds": 377869}, "event": "SUSPEND_DISK"}
[2023-04-18 11:36:48] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:36:48] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810608, "microseconds": 377946}, "event": "SHUTDOWN", "data": {"guest": true, "reason": "guest-shutdown"}}
[2023-04-18 11:36:48] - DEBUG: Response: (event: SHUTDOWN)
[2023-04-18 11:36:48] - INFO: Cleaning up VM
[2023-04-18 11:36:48] - INFO: Executing: (exec: "echo", args: @["'1'", ">", "/sys/bus/mdev/devices/d41d7b0b-0cc6-4243-a435-37ed48e34a97/remove"])
[2023-04-18 11:36:48] - INFO: Deleted MDEV: hostdev0
[2023-04-18 11:36:48] - INFO: Executing: (exec: "/bin/rm", args: @["-rf", "/home/kus/.local/libvf.io/lime/e2eea016-fe7e-4a58-885b-c4dde39140b0"])
[2023-04-18 11:36:48] - INFO: Running teardown command lists
[2023-04-18 11:36:48] - INFO: Cleaned up VM
[2023-04-18 11:36:48] - INFO: Save e2eea016-fe7e-4a58-885b-c4dde39140b0 VM: false
[2023-04-18 11:36:48] - INFO: Installing to base kernel

Logs from terminal - arcd start

~ arcd start VmWinGeneric.yaml --safe-mode
[2023-04-18 11:38:01] - INFO: Executing: (exec: "echo", args: @["'6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3'", ">", "/sys/class/mdev_bus/0000:01:00.0/mdev_supported_types/nvidia-1/create"])
[2023-04-18 11:38:01] - INFO: Executing: (exec: "/bin/qemu-system-x86_64", args: @["-D", "/home/kus/.local/libvf.io/logs/qemu/2c27f4af-5e6d-41b0-9f0f-9556a262ff30-session.txt", "-no-hpet", "-mem-prealloc", "-device", "ivshmem-plain,id=shmem0,memdev=ivshmem_kvmfr", "-object", "memory-backend-file,id=ivshmem_kvmfr,mem-path=/dev/shm/kvmfr-2c27f4af-5e6d-41b0-9f0f-9556a262ff30,size=128M,share=yes", "-device", "ivshmem-plain,id=shmem1,memdev=ivshmem_kvmsr", "-object", "memory-backend-file,id=ivshmem_kvmsr,mem-path=/dev/shm/kvmsr-2c27f4af-5e6d-41b0-9f0f-9556a262ff30,size=2M,share=yes", "-uuid", "2c27f4af-5e6d-41b0-9f0f-9556a262ff30", "-machine", "pc-q35-4.2,accel=kvm,usb=off,vmport=off,dump-guest-core=off", "-cpu", "host,ss=on,vmx=on,pcid=on,-hypervisor,arat=on,tsc-adjust=on,umip=on,md-clear=on,stibp=on,arch-capabilities=on,ssbd=on,xsaveopt=on,pdpe1gb=on,ibpb=on,amd-stibp=on,amd-ssbd=on,skip-l1dfl-vmentry=on,pschange-mc-no=on,hv-vapic,hv_time,hv-spinlocks=0x1fff,hv-vendor-id=null,kvm=off,topoext=on", "-rtc", "clock=host,base=localtime", "-m", "8192", "-smp", "cores=4,threads=1,sockets=1", "-hda", "/home/kus/.local/libvf.io/kernel/windows.arc", "--enable-kvm", "-device", "vfio-pci,id=hostdev0,sysfsdev=/sys/bus/mdev/devices/6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3,display=off", "-device", "rtl8139,netdev=net0", "-netdev", "user,id=net0,hostfwd=tcp::2222-:22", "-net", "user", "-net", "nic", "-device", "vhost-vsock-pci,guest-cid=82104", "-qmp", "unix:/tmp/sockets/2c27f4af-5e6d-41b0-9f0f-9556a262ff30/main.sock,server,nowait", "-qmp", "unix:/tmp/sockets/2c27f4af-5e6d-41b0-9f0f-9556a262ff30/master.sock,server,nowait"])
~ qemu-system-x86_64: -device vfio-pci,id=hostdev0,sysfsdev=/sys/bus/mdev/devices/6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3,display=off: warning: vfio 6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3: Could not enable error recovery for the device
qemu-system-x86_64: -device vhost-vsock-pci,guest-cid=82104: warning: device is modern-only, but for backward compatibility legacy is allowed
[2023-04-18 11:38:04] - INFO: Executing: (exec: "/usr/bin/chgrp", args: @["kvm", "/tmp/sockets/2c27f4af-5e6d-41b0-9f0f-9556a262ff30/main.sock", "/tmp/sockets/2c27f4af-5e6d-41b0-9f0f-9556a262ff30/master.sock", "/dev/shm/kvmfr-2c27f4af-5e6d-41b0-9f0f-9556a262ff30", "/dev/shm/kvmsr-2c27f4af-5e6d-41b0-9f0f-9556a262ff30"])
[2023-04-18 11:38:04] - INFO: Executing: (exec: "/usr/bin/chmod", args: @["g+rwx", "/tmp/sockets/2c27f4af-5e6d-41b0-9f0f-9556a262ff30/main.sock", "/tmp/sockets/2c27f4af-5e6d-41b0-9f0f-9556a262ff30/master.sock", "/dev/shm/kvmfr-2c27f4af-5e6d-41b0-9f0f-9556a262ff30", "/dev/shm/kvmsr-2c27f4af-5e6d-41b0-9f0f-9556a262ff30"])
[2023-04-18 11:38:04] - INFO: Connecting to the socket
[2023-04-18 11:38:04] - WARN: QMP has not been tested for this version
[2023-04-18 11:38:04] - DEBUG: Sending to socket: {"execute":"qmp_capabilities"}
[2023-04-18 11:38:04] - DEBUG: Received from socket: {"return": {}}
[2023-04-18 11:38:04] - DEBUG: Response: (event: return)
[2023-04-18 11:38:26] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810706, "microseconds": 406361}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:38:26] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:38:26] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810706, "microseconds": 442101}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:38:26] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
qemu: vfio_region_read(6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3:region0+0x0, 4) failed: Bad address
qemu: vfio_region_read(6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3:region0+0xa00, 4) failed: Bad address
qemu: vfio_region_read(6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3:region0+0x4, 4) failed: Bad address
[2023-04-18 11:40:06] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810806, "microseconds": 578535}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:40:06] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:40:06] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810806, "microseconds": 634095}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:40:06] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
qemu: vfio_region_read(6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3:region0+0x0, 4) failed: Bad address
[2023-04-18 11:40:53] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810853, "microseconds": 638854}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:40:53] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:40:53] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810853, "microseconds": 669018}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:40:53] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:41:09] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810869, "microseconds": 375886}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:41:09] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:41:09] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810869, "microseconds": 411485}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:41:09] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
qemu: vfio_region_read(6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3:region0+0x0, 4) failed: Bad address
[2023-04-18 11:41:55] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810915, "microseconds": 159323}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:41:55] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:41:55] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681810915, "microseconds": 192772}, "event": "RESET", "data": {"guest": true, "reason": "guest-reset"}}
[2023-04-18 11:41:55] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
qemu: vfio_region_read(6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3:region0+0x0, 4) failed: Bad address
qemu: vfio_region_read(6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3:region0+0xa00, 4) failed: Bad address
qemu: vfio_region_read(6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3:region0+0x4, 4) failed: Bad address
[2023-04-18 11:45:49] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681811149, "microseconds": 267174}, "event": "POWERDOWN"}
[2023-04-18 11:45:49] - DEBUG: Response: (event: POWERDOWN)
[2023-04-18 11:45:53] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681811153, "microseconds": 890335}, "event": "SUSPEND_DISK"}
[2023-04-18 11:45:53] - DEBUG: Response: (event: INVALID, errorMessage: "Not applicable")
[2023-04-18 11:45:53] - DEBUG: Received from socket: {"timestamp": {"seconds": 1681811153, "microseconds": 890400}, "event": "SHUTDOWN", "data": {"guest": true, "reason": "guest-shutdown"}}
[2023-04-18 11:45:53] - DEBUG: Response: (event: SHUTDOWN)
[2023-04-18 11:45:54] - INFO: Cleaning up VM
[2023-04-18 11:45:54] - INFO: Executing: (exec: "echo", args: @["'1'", ">", "/sys/bus/mdev/devices/6910ebbc-0c06-4aa7-9b6e-c419ca8d1cc3/remove"])
[2023-04-18 11:45:54] - INFO: Deleted MDEV: hostdev0
[2023-04-18 11:45:54] - INFO: Executing: (exec: "/bin/rm", args: @["-rf", "/dev/shm/kvmfr-2c27f4af-5e6d-41b0-9f0f-9556a262ff30", "/dev/shm/kvmsr-2c27f4af-5e6d-41b0-9f0f-9556a262ff30", "/home/kus/.local/libvf.io/lime/2c27f4af-5e6d-41b0-9f0f-9556a262ff30"])
[2023-04-18 11:45:54] - INFO: Running teardown command lists
[2023-04-18 11:45:54] - INFO: Cleaned up VM
[2023-04-18 11:45:54] - INFO: Save 2c27f4af-5e6d-41b0-9f0f-9556a262ff30 VM: true
[2023-04-18 11:45:54] - INFO: Installing to base kernel

VmWinGeneric.yaml
%YAML 1.2
%TAG !n! tag:nimyaml.org,2016:
--- !n!custom:Config
name: "Win Generic VM"
startintro: true
startapp: false
installOs: "none"
nographics: true
spice: true
showhypervisor: false
introspect: "looking-glass"
shareddir: !!null ~
spicePort: 5900
sshPort: 2222
connectivity: 
  exposedPorts: []
container:
  kernel: windows.arc
  state: []
  initialSize: 20
  iso: !!null ~
cpus: 
  cores: 4
  sockets: 1
  threads: 1
  ramAlloc: 8192
gpus: 
  - 
    - 
      maxVRam: 4000
    - 
      minVRam: 1000
    - 
      gpuType: sysfsdev
    - 
      mdevType: "nvidia-1"
    - 
      parentPort: !!null ~
    - 
      devId: hostdev0
nics: []
root: ~/.local/libvf.io
sudo: false
commands: []
startupCommands: []
teardownCommands: []
installCommands: []
appCommands: []