Trying to setup a Windows VM in Truenas Scale with GPU Passthrough

wctschumy

Cadet
Joined
May 3, 2022
Messages
9
Hi all,

I'm sure this has been covered elsewhere, but I can't seem to find it. I just finished building my TNS server - I'm trying to get a Windows VM set up for it, but I'm getting the following error message when I try to passthrough the GPU (I have two):

"Error while creating the PCI device. [EINVAL] attribute.pptdev: Not a valid choice. The PCI device is not available for passthru: Following errors were found with the device: Unable to determine iommu group [EINVAL] attribute.pptdev: IOMMU support is required."

The extended error is:
Error: Traceback (most recent call last): File "/usr/lib/python3/dist-packages/middlewared/main.py", line 176, in call_method result = await self.middleware._call(message['method'], serviceobj, methodobj, params, app=self) File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1293, in _call return await methodobj(*prepared_call.args) File "/usr/lib/python3/dist-packages/middlewared/service.py", line 920, in create rv = await self.middleware._call( File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1293, in _call return await methodobj(*prepared_call.args) File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1140, in nf res = await f(*args, **kwargs) File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 1272, in nf return await func(*args, **kwargs) File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/vm_devices.py", line 167, in do_create data = await self.validate_device(data, update=False) File "/usr/lib/python3/dist-packages/middlewared/plugins/vm/vm_devices.py", line 484, in validate_device raise verrors middlewared.service_exception.ValidationErrors: [EINVAL] attribute.pptdev: Not a valid choice. The PCI device is not available for passthru: Following errors were found with the device: Unable to determine iommu group [EINVAL] attribute.pptdev: IOMMU support is required.

How do I fix this?

This may be related: I have two GPUs in the machine - an Nvidia Quadro A400 (which I want to pass through) and an old AMD Radeon, which I installed because I thought I needed a separate GPU for the system (which is also weird to me). Truenas sees the AMD, but seems to only want to show output on the Nvidia. Is there a way to change what GPU Truenas reserves for itself?

Thanks! Will.
 
Last edited:

Sasquatch

Explorer
Joined
Nov 11, 2017
Messages
87
You need virtualization enabled in BIOS AND CPU supporting IOMMU(AMD) or VT-d(intel)
intels you can search here(play with filters to match yur socket):

got same issue on i3-4170 system - no IOMMU support, sourcing i5-4570TE(no reasonably priced e3-12xxL-v3 in UK) to get it working...
 
Top