Intel Arc support


Go to solution Solved by TheIlluminate,

Recommended Posts

12 minutes ago, Inigma said:

Tried all day with A770+W10 VM. Code 43 still. 
 

Set up a separate box for a fresh windows 10 install (not vm) card installs and works just fine. 
 

I'm out of ideas.

I am on 6.11.2, WIN11 and with ARC lastest beta and can get it passed thru.

But dont passthru the audio as it cause my host to lockup when the VM stops.

 

https://www.intel.com/content/www/us/en/download/729157/intel-arc-graphics-windows-dch-driver-beta.html

Edited by SimonF
Link to comment
  • 2 weeks later...
40 minutes ago, PaulW08 said:

Anyone have any luck?

I have a A770 i can pasthru to a VM but without the audio fine. With the audio vm works but crashes host on vm shutdown.

 

Have not tried with docker as current kernel does not support needs 6+

 

Using latest beta drivers on windows for arc

 

Edited by SimonF
Link to comment
  • 3 weeks later...

I've gotten an A770 working on 6.11.5 in a VM with no audio as suggested previously. However, the VM has randomly crashed or frozen. I assume the culprit is the GPU, although I'm not 100% certain on that. I wouldn't say it's stable enough for Plex, but running Handbrake to transcode files works pretty well!

 

Looking forward to better driver support in the future.

Link to comment
11 minutes ago, cynikaly said:

I wonder if it's worth buy one of these cards before this all starts to work flawlessly and people will buy them up like candy.

That was my thinking. I’ve always enjoyed the tinkering with being an early adopter. I was also able to pick up an open box A380 for $111.96 at my local MicroCenter so figured the risk wasn’t that huge for the possible return once this becomes my transcoding card in my server.

Link to comment
On 12/23/2022 at 6:55 PM, ram8704 said:

What are your vm settings for the guys getting passthrough working? Any special steps taken? I keep getting code 43 after installing the latest beta drivers. 

 

I didn't do anything special, just a basic Windows 10 VM. I also don't think I'm on beta drivers.

 

2cjsp7J.pngHFahaie.png

Link to comment
11 hours ago, PaulW08 said:

What happens when you restart the VM? Does it still work after that?

 

Yep, it restarts normally as long as I don't passthrough the GPU audio. The only problem I've been having with it is that it freezes after 2-3 hours of runtime. After a lot of research, I don't think this is related to the GPU passthrough but an issue with Unraid v6.11.5 that I haven't been able to resolve.

Link to comment
17 minutes ago, Isorikk said:

 

Yep, it restarts normally as long as I don't passthrough the GPU audio. The only problem I've been having with it is that it freezes after 2-3 hours of runtime. After a lot of research, I don't think this is related to the GPU passthrough but an issue with Unraid v6.11.5 that I haven't been able to resolve.

Are you using virtiofs or do you have memoryBacking with memfd and access mode set defined in the VM?

Link to comment

I cant get passthough to work either. I have nomachine on the VM and can connect to it but it fails to install the driver. Its a bit hard to operate as in this mode the resolution is 640x480

 

It doesnt show up on the monitor at all, I have also tried display port and hdmi.

 

I get error 43.

 

My other GPU works for passthough in this machine fine.

 

I also tried windows 10 and now 11 but same problem.

 

The card is not the primary when booting (in bios) and I am using the inbuilt GPU for that.

Screenshot 2022-12-30 at 11.37.09 pm.png

Screenshot 2022-12-30 at 11.37.52 pm.png

Screenshot 2022-12-30 at 11.38.00 pm.png

Edited by AndyLively
Link to comment
9 hours ago, SimonF said:

Are you using virtiofs or do you have memoryBacking with memfd and access mode set defined in the VM?

 

Here's the full XML for the config (redacted private names). I believe it's virtiofs, but gonna be honest, I'm an ESXi guy so the way Unraid runs VM's is bit of a black box for me. This is running on a Ryzen 9 7900X with 32GB DDR5 5200mhz 2x16 (not ECC) memory. I have a VNC video adapter added alongside the GPU, just bridged the network adapter, and have two shares included.

 

Edit: I should mention that the A770 has a little USB cable plugged into an internal motherboard slot that controls the LED's, which I also have passed through.

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm'>
  <name>Windows 10</name>
  <uuid>Redacted</uuid>
  <description>Transcoder box</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 11" icon="windows11.png" os="windowstpm"/>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>2097152</currentMemory>
  <memoryBacking>
    <source type='memfd'/>
    <access mode='shared'/>
  </memoryBacking>
  <vcpu placement='static'>24</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='12'/>
    <vcpupin vcpu='2' cpuset='1'/>
    <vcpupin vcpu='3' cpuset='13'/>
    <vcpupin vcpu='4' cpuset='2'/>
    <vcpupin vcpu='5' cpuset='14'/>
    <vcpupin vcpu='6' cpuset='3'/>
    <vcpupin vcpu='7' cpuset='15'/>
    <vcpupin vcpu='8' cpuset='4'/>
    <vcpupin vcpu='9' cpuset='16'/>
    <vcpupin vcpu='10' cpuset='5'/>
    <vcpupin vcpu='11' cpuset='17'/>
    <vcpupin vcpu='12' cpuset='6'/>
    <vcpupin vcpu='13' cpuset='18'/>
    <vcpupin vcpu='14' cpuset='7'/>
    <vcpupin vcpu='15' cpuset='19'/>
    <vcpupin vcpu='16' cpuset='8'/>
    <vcpupin vcpu='17' cpuset='20'/>
    <vcpupin vcpu='18' cpuset='9'/>
    <vcpupin vcpu='19' cpuset='21'/>
    <vcpupin vcpu='20' cpuset='10'/>
    <vcpupin vcpu='21' cpuset='22'/>
    <vcpupin vcpu='22' cpuset='11'/>
    <vcpupin vcpu='23' cpuset='23'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-i440fx-7.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi-tpm.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/redacted_VARS-pure-efi-tpm.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
    <hyperv mode='custom'>
      <relaxed state='on'/>
      <vapic state='on'/>
      <spinlocks state='on' retries='8191'/>
      <vendor_id state='on' value='none'/>
    </hyperv>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='12' threads='2'/>
    <cache mode='passthrough'/>
    <feature policy='require' name='topoext'/>
  </cpu>
  <clock offset='localtime'>
    <timer name='hypervclock' present='yes'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/Windows 10/vdisk1.img'/>
      <target dev='hdc' bus='virtio'/>
      <boot order='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </disk>
    <controller type='usb' index='0' model='qemu-xhci' ports='15'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <filesystem type='mount' accessmode='passthrough'>
      <driver type='virtiofs' queue='1024'/>
      <binary path='/usr/libexec/virtiofsd' xattr='on'>
        <cache mode='always'/>
        <sandbox mode='chroot'/>
        <lock posix='on' flock='on'/>
      </binary>
      <source dir='/mnt/user/redacted'/>
      <target dir='redacted'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </filesystem>
    <filesystem type='mount' accessmode='passthrough'>
      <driver type='virtiofs' queue='1024'/>
      <binary path='/usr/libexec/virtiofsd' xattr='on'>
        <cache mode='always'/>
        <sandbox mode='chroot'/>
        <lock posix='on' flock='on'/>
      </binary>
      <source dir='/mnt/user/redacted'/>
      <target dir='redacted'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </filesystem>
    <interface type='bridge'>
      <mac address='redacted'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <address type='usb' bus='0' port='2'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <tpm model='tpm-tis'>
      <backend type='emulator' version='2.0' persistent_state='yes'/>
    </tpm>
    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='en-us'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <audio id='1' type='none'/>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x2516'/>
        <product id='0x01b5'/>
      </source>
      <address type='usb' bus='0' port='1'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
</domain>

 

Edited by Isorikk
Link to comment
19 minutes ago, Isorikk said:

I believe it's virtiofs, but gonna be honest,

Virtiofs is reported to create lockups, but I dont see the issue. I have a 770 with 12600K.It does seem to affect AMD CPUs more.

 

Its the memoryBacking need which is more of the issue as it is required for virtio.

 

Hopefully new kernel/virtio drivers may help in the  future. Not sure if you can try without?

Link to comment
8 hours ago, AndyLively said:

There is a new driver released yesterday on the stable channel. 4032. This doesnt work for me either

 

https://www.intel.com/content/www/us/en/download/726609/intel-arc-iris-xe-graphics-whql-windows.html?

I have just updated to these drivers and they work for me.

 

Ithink I don't have resizeable bar enabled in the BIOS as could not get it work with it enabled.

Link to comment

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...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.