Error: Load go-lxc struct: The NVIDIA container tools couldn't be found LXD (apt package, not snapd)


I am trying out the apt package version of LXD (not snapd) on my Debian 12 box (More Info Here). I am attempting to create a container that allows me to run X11 software within as described here: (Simos Blog).
Previously, whilst using the snapd version, I had “no” troubles (I had to fiddle with the audio but we arent there yet). However, now, when I attempt to do the same, I get this:

  lxc launch ubuntu:23.04 --profile x11 --profile default internet    
Creating internet
Starting internet
Error: Load go-lxc struct: The NVIDIA container tools couldnt be found
Try `lxc info --show-log local:internet` for more info

The above lxc info command provides as follows:

 lxc info --show-log local:internet                                                                                                                                                                        1 ↵
Name: internet
Type: container
Architecture: x86_64
Created: 2023/09/27 08:57 EDT


Interestingly, I run an AMD GPU, not NVIDIA, but launching the container with a profile that does not include:

nvidia.driver.capabilities: all
nvidia.runtime: "true"

Allows the container to launch but, when testing X11 functionality, complains that mesa-utils is not installed.

Any suggestions? Thank you!

You need to install the NVIDIA container tools.

@stgraber thank you. Is that to be installed on the host or in the container.

Because, if in the container, that is posing additional issues. Unfortunately containers config’d with the default lxdbr0 can’t resolve domains. Is there a way to force a specific nameserver for the container since changes to /etc/resolv.conf are not persistent? Thank you!

It must be installed on the host.

1 Like