Sign inSign up

andrewmackrodt/yabasanshiro-x11

By andrewmackrodt

•Updated over 6 years ago

yaba sanshiro with NVIDIA 390 drivers for Ubuntu 18.04.

Image
0

4.7K

andrewmackrodt/yabasanshiro-x11 repository overview

⁠andrewmackrodt/docker-yabasanshiro-x11⁠

Pulls Dockerfile Size Version

Yaba Sanshiro⁠ (uoYabause) is an unofficial port of Yabause SEGA Saturn Emulator.

⁠Features

  • OpenGL acceleration (Mesa DRI/GLX and nvidia †)
  • Audio via PulseAudio
  • Controller support (tested with wireless DS4 over Bluetooth)

† nvidia driver note

libnvidia-gl-390 is provided in the image. The host driver version will be checked every time the container is started and if there is a version mismatch, an attempt to install the correct driver in the container will be made unless:

  1. Any of the following directories are present: /usr/local/nvidia/lib, /usr/local/nvidia/lib64 or /nvidia. It is assumed that the correct libraries are mounted from the host. Directories will be added to /etc/ld.so.conf.d/nvidia.conf.
  2. The environment variable NVIDIA_SKIP_DOWNLOAD=1 has been set.
  3. The installed driver matches the host /proc/driver/nvidia/version.

The first option is the preferred way to add nvidia drivers to the container. See here⁠ for an example on generating the required files on the host. It may also be possible to achieve this using nvidia-docker⁠.

⁠Usage

Security Notice: container requires running with --privileged or you will not get acceptable framerates. If anyone knows why this is the case, please raise an issue. Mounting all device node from /dev, adding the ALL system capability and running apparmor as unconfined do not help.

⁠docker
# get the xdg runtime dir
XDG_RUNTIME_DIR="${XDG_RUNTIME_DIR:-/run/user/$(id -u)}"

# create the container
docker create \
  --name yabause \
  --privileged \
  --net host \
  --shm-size 128M \
  -v $HOME/Games/Saturn:/games \
  -v $HOME/.yabause/saves:/saves \
  -v $HOME/.yabause/config:/config \
  -e PUID=$(id -u) \
  -e PGID=$(id -g) \
  -e DISPLAY=unix$DISPLAY \
  -v /tmp/.X11-unix:/tmp/.X11-unix:ro \
  -v $HOME/.config/pulse:/home/ubuntu/.config/pulse:ro \
  -v /etc/machine-id:/etc/machine-id:ro \
  -v $XDG_RUNTIME_DIR/pulse:$XDG_RUNTIME_DIR/pulse:ro \
  -v $XDG_RUNTIME_DIR/bus:$XDG_RUNTIME_DIR/bus:ro \
  -v /var/lib/dbus/machine-id:/var/lib/dbus/machine-id:ro \
  -v /run/dbus:/run/dbus:ro \
  -v /run/udev/data:/run/udev/data:ro \
  -v /etc/localtime:/etc/localtime:ro \
  andrewmackrodt/yabasanshiro-x11

⁠Parameters

ParameterFunction
-e PUID=1000The user id, recommended: $(id -u)
-e PGID=1000The group id, recommended: $(id -g)
-e SUDO_NOPASSWD=0Set to 1 to allow passwordless sudo
-e TZ=UTCThe timezone, e.g. "Europe/London"
-v /gamesYaba Sanshiro games directory
-v /savesYaba Sanshiro save states
-v /configYaba Sanshiro config

Tag summary

Content type

Image

Digest

Size

162.2 MB

Last updated

over 6 years ago

docker pull andrewmackrodt/yabasanshiro-x11