Por favor, dê uma olhada neste script para criar um contêiner LXC que execute vapor com aceleração de som e vídeo:
A mágica vem aqui:
Fora do LXC:
# Add the bind mounts to the container's fstab
self.container.set_config_item("lxc.mount.entry",
"/tmp/.X11-unix tmp/.X11-unix "
"none bind,ro")
self.container.set_config_item("lxc.mount.entry",
"/dev/dri dev/dri none bind,ro")
self.container.set_config_item("lxc.mount.entry",
"%s/pulse.socket home/%s/.pulse_socket "
"none bind,ro" % (self.config_path,
self.user.pw_name))
Exportamos o X11 com uma montagem de ligação no diretório /tmp/.X11-unix
para permitir que o contêiner use o host X11. Faça o mesmo com o diretório /dev/dri
e o soquete de áudio.
Dentro do LXC:
# Get pulseaudio to listen on the socket
with self.user_privileges():
subprocess.call(['pactl', 'load-module',
'module-native-protocol-unix',
'socket=%s' % self.pulse_socket,
'auth-cookie-enabled=0'])
# Start steam
self.run_command(
["steam"], {'DISPLAY': os.environ['DISPLAY'],
'PULSE_SERVER': "/home/%s/.pulse_socket" %
self.user.pw_name})
Usa pactl
para usar um soquete unix para se comunicar com o servidor de áudio de pulso do host e exportar posteriormente o soquete e a variável de ambiente DISPLAY
para permitir que o vapor use servidor X11 local e soquete para o servidor de áudio.
Dê uma olhada no roteiro e divirta-se:)
Com essas variáveis de ambiente dentro do LXC você pode jogar (teoricamente) quase todos os jogos.
Atenciosamente!