Hi all I am encountering an issue with NVIDIA GPU Passthrough within the Plex App.
System Info:
TrueNas Scale Version ElectricEel-24.10.2
Video Card - Nvidia RTX 3070
Issue:
I go into Apps → Plex → Edit select “Use this GPU” and then click Update and I get the below error message
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/middlewared/job.py", line 509, in run
await self.future
File "/usr/lib/python3/dist-packages/middlewared/job.py", line 556, in __run_body
rv = await self.middleware.run_in_thread(self.method, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1367, in run_in_thread
return await self.run_in_executor(io_thread_pool_executor, method, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1364, in run_in_executor
return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/service/crud_service.py", line 268, in nf
rv = func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/schema/processor.py", line 55, in nf
res = f(*args, **kwargs)
^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/schema/processor.py", line 183, in nf
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/crud.py", line 287, in do_update
app = self.update_internal(job, app, data, trigger_compose=app['state'] != 'STOPPED')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/crud.py", line 317, in update_internal
update_app_config(app_name, app['version'], new_values, custom_app=app['custom_app'])
File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/ix_apps/lifecycle.py", line 59, in update_app_config
render_compose_templates(
File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/ix_apps/lifecycle.py", line 50, in render_compose_templates
raise CallError(f'Failed to render compose templates: {cp.stderr}')
middlewared.service_exception.CallError: [EFAULT] Failed to render compose templates: Traceback (most recent call last):
File "/usr/bin/apps_render_app", line 33, in <module>
sys.exit(load_entry_point('apps-validation==0.1', 'console_scripts', 'apps_render_app')())
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/catalog_templating/scripts/render_compose.py", line 47, in main
render_templates_from_path(args.path, args.values)
File "/usr/lib/python3/dist-packages/catalog_templating/scripts/render_compose.py", line 19, in render_templates_from_path
rendered_data = render_templates(
^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/catalog_templating/render.py", line 36, in render_templates
).render({'ix_lib': template_libs, 'values': test_values})
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 1301, in render
self.environment.handle_exception()
File "/usr/lib/python3/dist-packages/jinja2/environment.py", line 936, in handle_exception
raise rewrite_traceback_stack(source=source)
File "/mnt/.ix-apps/app_configs/plex/versions/1.1.13/templates/docker-compose.yaml", line 3, in top-level template code
{% set c1 = tpl.add_container(values.consts.plex_container_name, values.plex.image_selector) %}
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/.ix-apps/app_configs/plex/versions/1.1.13/templates/library/base_v2_1_9/render.py", line 53, in add_container
container = Container(self, name, image)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/.ix-apps/app_configs/plex/versions/1.1.13/templates/library/base_v2_1_9/container.py", line 80, in __init__
self.deploy: Deploy = Deploy(self._render_instance)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/.ix-apps/app_configs/plex/versions/1.1.13/templates/library/base_v2_1_9/deploy.py", line 15, in __init__
self.resources: Resources = Resources(self._render_instance)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/mnt/.ix-apps/app_configs/plex/versions/1.1.13/templates/library/base_v2_1_9/resources.py", line 24, in __init__
self._auto_add_gpus_from_values()
File "/mnt/.ix-apps/app_configs/plex/versions/1.1.13/templates/library/base_v2_1_9/resources.py", line 55, in _auto_add_gpus_from_values
raise RenderError(f"Expected [uuid] to be set for GPU in slot [{pci}] in [nvidia_gpu_selection]")
base_v2_1_9.error.RenderError: Expected [uuid] to be set for GPU in slot [0000:03:00.0] in [nvidia_gpu_selection]
Prior to upgrading to ElectricEEL I had no issues with Nvidia passthrough working. It’s only after moving to ElectricEel that I have observed this issue.
I can go to Shell and run nvidia-smi and I see the card is there.
I’m uncertain what I can try to get this to work.
Thanks in advance,
-Scott