Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

GPU passtrough stopped working and breaks VM

Featured Replies

Dear All,

 

I have been using a Windows 10 VM for a long time. It worked with NVME passed through and also with a GT3060 passed through as well. However, I tried changing the core configuration and did not change anything in the passthrough settings and it does not work anymore. Even if I do not passtrough anything. I have deleted the VM and tried to start from scratch. I now connect the drive through virtual SATA (not pass trough) and withouth the GPU the VM boots nicely (with VNC). However, when I try passing through the GPU, it stops working (black screen with a blinking cursor). After that the VM never boots again even if I swich back to VNC. The only way to get it to work again (in VNC) is to create it again.

 

I also tried the multifunction bit on the GPU-integrated soundcard but this chahges nothing.

 

I attach the diagnostics.

 

thanks, I a bit lost.

 

 

homek-diagnostics-20211231-1415.zip

Edited by homek

In qemu logs for your windows 10:

2021-12-31T13:14:44.923127Z qemu-system-x86_64: vfio_region_write(0000:01:00.0:region1+0x17fb18, 0xff000000ff000000,8) failed: Device or resource busy
.....
.....
.....

 

You are passing through only the video portion of the gpu.

 

Moreover, in your syslog:

Dec 31 14:11:14 homek kernel: pci 0000:01:00.0: BAR 1: assigned to efifb
....
Dec 31 14:14:29 homek kernel: vfio-pci 0000:01:00.0: BAR 1: can't reserve

 

This means that unraid is using your 3060 assigning bar1 of the 3060 to efifb.

You need to add to your syslinux configuration in the append line:

video=efifb:off

 

Note that you will loose unraid video output and the latest lines you will see will be something like this:

vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none

 

But the gpu will be available for your vms.

 

You are correctly attaching to vfio rtx 3060 (both video and audio), the usb controller and soundblaster audio.

You are not using acs override, but this shouldn't be an issue: you have bridges in the same iommu group of your gpu and of your soundblaster audio.

 

Try to simply add the audio part of the gpu to your xml.

In the xml view, replace this block, at the bottom:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/user/public/RTX3060.rom'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>

 

with this:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/user/public/RTX3060.rom'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1'/>
    </hostdev>

 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.