You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.1 KiB

Steam in Docker

Changes

Dec 21 2018:

  • got rid of 'wrong ELF class' messages from the logs;
  • changed the base image debian:jessie to ubuntu:bionic;
  • significantly reduced the amount of dependencies as the image is now using the Steam runtime;
  • added SYS_PTRACE cap so Proton can show additional process traces;
  • removed grsecurity support since they have stopped giving us the test patches;
  • simplified the LD_LIBRARY_PATH routine in the launcher;
  • users can now control the USER_ID via the environment variable;
  • removed the old drivers support, let me know if you want it back;

Why?

  1. I want to set-up more fences when running the code I cannot always trust nor verify; issue 3671
  2. I do not want to be spending time figuring out how to install Steam (what deps) in a non-Debian (or non-SteamOS) based distro;
  3. I like cleanliness: I can erase Steam and all its dependencies in a matter of seconds by just removing this image;
  4. I can have Steam on my Ubuntu/openSUSE/[put any other distro I will want to use] in a short time that Docker takes to download this image;

Suggestions / PR's are welcome!

What's tested?

Games:

  • Counter-Strike 1.6
  • Counter-Strike: Global Offensive
  • Call of Duty 4: Modern Warfare
  • Delta Force (NovaLogic)

OS:

  • Linux: Ubuntu 18.04.1 LTS (64-bit)

HW:

  • ASUS P8Z68-V PRO/GEN3

GPU:

  • Intel HD Graphics 3000
  • NVIDIA's GeForce GTX 1060

For running games on AMD Radeon please uncomment /dev/kfd device in the docker-compose.yml file.

Requirements

Building and launching Steam

Launching Steam in Docker

git clone https://git.nixaid.com/arno/steam.git
cd steam
docker-compose up

If Steam does not start, you may need to allow your user making connections to your X server:

xhost +SI:localuser:$(id -un)

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

Links

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