Nvidia GPU not showing up in TrueNas Dashboard

I recently added a GTX1050Ti to my server to help with video transcoding for Plex, however, it doesn’t seem to be recognized by TrueNas.When I go to advanced options>GPU Ids, I get no GPU options.

I did some searching on this topic, I saw recommendations from users to run the command: nvidia-smi to see GPU info, but that returns nothing for me. it says “zsh: command not found: nvidia-smi”

But if I connect a video cable to the GPU, I can see the shell. And I plugged the GPU into a windows machine and it worked fine. So I know the card works.

Any ideas of what else I can try? I am new to Linux, so my apologies if I missed something obvious.

Thank you,

Are you on 25.04? If not what version.
While the card is old it looks liked even the current 580.76 drivers work but its cuda compat is 6.1.

Are you trying to pass it to a VM and use GPU isolation (in which case do you have multiple GPU’s?).

Did you have any issues installing the drivers per the instructions: apps.truenas . com/getting-started/initial-setup/#installing-nvidia-drivers

Can you post the dmesg output for anything nvidia/cuda related?

I am on 25.04.2.1

Yes, I only have the 1 discrete GPU (GTX1050TI) but my CPU has Integrated Graphics. I assumed IG would count as another GPU so I could Isolate the 1050Ti to a VM, but if that’s not correct, then I suppose I’m out of luck with that plan.

No issues installing drivers as far as I know. But all I did was check the box

Here’s what I see in Dmesg labeled Nvidia:

[    4.501031] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input5
[    4.501062] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input6
[    4.501088] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input7
[    4.501107] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card1/input8
[    4.545171] input: HDA Intel PCH Rear Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input9
[    4.545209] input: HDA Intel PCH Front Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input10
[    4.545251] input: HDA Intel PCH Line as /devices/pci0000:00/0000:00:1f.3/sound/card0/input11
[    4.545280] input: HDA Intel PCH Line Out as /devices/pci0000:00/0000:00:1f.3/sound/card0/input12
[    4.545309] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input13
[    4.817134] intel_rapl_common: Found RAPL domain package
[    4.817141] intel_rapl_common: Found RAPL domain core
[    4.817144] intel_rapl_common: Found RAPL domain dram
[   28.306277] loop0: detected capacity change from 0 to 748200
[   28.312609] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[   28.409532] loop1: detected capacity change from 0 to 748200
[   29.965988] nvidia-nvlink: Nvlink Core is being initialized, major device number 238

[   29.966872] nvidia 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=io+mem
[   30.082128] NVRM: loading NVIDIA UNIX x86_64 Kernel Module  550.142  Wed Dec 11 05:15:39 UTC 2024
[   30.142081] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  550.142  Wed Dec 11 04:55:04 UTC 2024
[   30.209794] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[   30.209797] [drm] Initialized nvidia-drm 0.0.0 for 0000:01:00.0 on minor 0
[   68.282639] nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia, inheriting taint.
[   68.317385] nvidia-uvm: Loaded the UVM driver, major device number 236.

Looks like the driver is 550.142. not 580.76 as you mentioned. Could that be the issue?

Follow up information:

Despite not showing up in GPU Isolation menu, the GPU does show up in the plex app setup settings, resource configuration.

However, when I try to specify “use this GPU” for Plex, I get this error:

 Error: Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 515, in run
    await self.future
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 562, in __run_body
    rv = await self.middleware.run_in_thread(self.method, *args)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 627, 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 624, 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 294, in nf
    rv = func(*args, **kwargs)
         ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/api/base/decorator.py", line 101, in wrapped
    result = func(*args)
             ^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/crud.py", line 229, 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 259, 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 60, in update_app_config
    render_compose_templates(
  File "/usr/lib/python3/dist-packages/middlewared/plugins/apps/ix_apps/lifecycle.py", line 51, 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 48, 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 31, in render_templates
    rendered_templates[i.name] = env.get_template(i.name).render(
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  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.2.7/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.2.7/templates/library/base_v2_1_35/render.py", line 63, in add_container
    container = Container(self, name, image)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/.ix-apps/app_configs/plex/versions/1.2.7/templates/library/base_v2_1_35/container.py", line 99, in __init__
    self.deploy: Deploy = Deploy(self._render_instance)
                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/.ix-apps/app_configs/plex/versions/1.2.7/templates/library/base_v2_1_35/deploy.py", line 15, in __init__
    self.resources: Resources = Resources(self._render_instance)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/mnt/.ix-apps/app_configs/plex/versions/1.2.7/templates/library/base_v2_1_35/resources.py", line 24, in __init__
    self._auto_add_gpus_from_values()
  File "/mnt/.ix-apps/app_configs/plex/versions/1.2.7/templates/library/base_v2_1_35/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_35.error.RenderError: Expected [uuid] to be set for GPU in slot [0000:01:00.0] in [nvidia_gpu_selection]

Try: forums.truenas com/t/docker-apps-and-uuid-issue-with-nvidia-gpu-after-upgrade-to-24-10-or-25-04/22547

1 Like

See the workaround in https://www.truenas.com/docs/scale/25.04/gettingstarted/scalereleasenotes/#25042-known-issues

1 Like

Thank you both, that worked!