Hi Simos,
Thank you for the very detailed response.
It turned out to be an issue with the environment variables.
The LXC profile does not appear to take into account the environment settings for both variables.
config:
environment.DISPLAY: :0
environment.PULSE_SERVER: unix:/home/ubuntu/pulse-native
Though, graphics work without having the DISPLAY variable in place (I guess since it defaults to 0). My impression is that this might be a bug?
To work around it I have amended the LXC profile by adding write_files
to the Cloud Init.
config:
environment.DISPLAY: :0
environment.PULSE_SERVER: unix:/home/ubuntu/pulse-native
nvidia.driver.capabilities: all
nvidia.runtime: "true"
user.user-data: |
#cloud-config
runcmd:
- 'sed -i "s/; enable-shm = yes/enable-shm = no/g" /etc/pulse/client.conf'
packages:
- x11-apps
- mesa-utils
- pulseaudio
write_files:
- owner: root:root
permissions: '0644'
append: true
content: |
PULSE_SERVER=unix:/home/ubuntu/pulse-native
path: /etc/environment
description: GUI LXD profile
devices:
PASocket1:
bind: container
connect: unix:/run/user/1000/pulse/native
listen: unix:/home/ubuntu/pulse-native
security.gid: "1000"
security.uid: "1000"
uid: "1000"
gid: "1000"
mode: "0777"
type: proxy
X0:
bind: container
connect: unix:@/tmp/.X11-unix/X1
listen: unix:@/tmp/.X11-unix/X0
security.gid: "1000"
security.uid: "1000"
type: proxy
mygpu:
type: gpu
name: x11
used_by: []