Delivers a range of games straight to a computer's desktop.
Go to file
2016-08-05 23:02:44 +02:00
docker-compose.yml experimental: support grsecurity patched kernels 2016-08-05 23:02:44 +02:00
Dockerfile experimental: support grsecurity patched kernels 2016-08-05 23:02:44 +02:00
launch experimental: support grsecurity patched kernels 2016-08-05 23:02:44 +02:00
LICENSE Initial commit 2016-04-27 01:04:17 +02:00
README.md experimental: support grsecurity patched kernels 2016-08-05 23:02:44 +02:00

Steam in Docker

Tested in Ubuntu 16.04 LTS (64bit) with the following GPU's:

  • Intel HD Graphics 3000
  • Intel HD Graphics 4400
  • NVIDIA's GeForce GTX 560 Ti

Requirements

Limitations

  • The version of your Nvidia drivers should match the ones in Dockerfile used to build this image.
    Currently this image supports these versions of the NVIDIA driver: 304, 340, 361.

Building and launching Steam

Build Steam Docker image

You may want to re-run this command later on in order to keep the image updated.

docker build -t andrey01/steam .

Launch the Steam in Docker

You can use the following shortcut function and place it to your ~/.bash_aliases file

function docker_helper() { { pushd ~/docker/$1; docker-compose rm -fa "$1"; docker-compose run -d --name "$1" "$@"; popd; } }
function steam() { { docker_helper $FUNCNAME $@; } }

Then just issue "steam" command to run Steam in docker.

Troubleshooting

You might want to modify the docker-compose.yml in case of problems, the file should be pretty self explanatory, although you may refer to the official Docker Compose file reference

Also keep in mind to uncomment or/and add your devices to the devices: section there.

The best result is when you have a similar to the following output, using the glxgears (part of mesa-utils package):

If you are getting segmentation fault error or Steam does not start, then you could try resetting its config:

$ docker-compose run --rm steam --reset

Grsecurity notes

grsec: TPE

Trusted Path Execution (TPE)

This Steam docker image is working with the grsecurity patched kernel,
however it requires the following grsecurity flag enabled:

  • CONFIG_GRKERNSEC_TPE_INVERT
  • CONFIG_GRKERNSEC_TPE_TRUSTED_GID

so that /proc/sys/kernel/grsecurity/tpe_gid is accessible for read by root.

grsec: PaX

Currently it supports Half-Life (CS, ...), CS:GO as described in launch file that you can edit yourself and rebuild this docker image.

Links

Below is just bunch of links, someone might find them useful