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.

143 lines
3.6 KiB

8 years ago
# Steam in Docker
8 years ago
## Why?
6 years ago
1. I want to set-up more fences when running the code I cannot always trust nor verify; [issue 3671](https://github.com/valvesoftware/steam-for-linux/issues/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;
8 years ago
6 years ago
> Suggestions / PR's are welcome!
8 years ago
8 years ago
## What's tested?
8 years ago
6 years ago
### 2016-2017
Games:
8 years ago
- Counter-Strike: Global Offensive
8 years ago
- Alien: Isolation
- PAYDAY 2
- Insurgency
- Half-Life: Counter-Strike 1.6
8 years ago
- Iron Snout
- Toribash
8 years ago
- DeadCore (no sound)
8 years ago
6 years ago
OS:
8 years ago
6 years ago
- Linux: Ubuntu 16.04 LTS (64-bit)
- Linux: openSUSE Leap 42.1 (64-bit)
8 years ago
6 years ago
HW:
6 years ago
- Sony Vaio Pro 13
- Lenovo X1 Carbon
- ASUS P8Z68-V PRO/GEN3
- Apple MacBook Pro "Core i7" 2.9 15" Touch/Mid-2017
6 years ago
GPU:
- Intel HD Graphics 3000
- Intel HD Graphics 4400
- NVIDIA's GeForce GTX 560 Ti
- AMD Radeon Pro 560
> For running games on AMD Radeon please uncomment ``/dev/kfd`` device in the docker-compose.yml file.
8 years ago
## Requirements
- [Docker](https://www.docker.com/)
- [Docker Compose](https://docs.docker.com/compose/) minimum version 1.7.3
8 years ago
# Building and launching Steam
## Launching Steam in Docker
8 years ago
6 years ago
The simplest way to launch Steam is this:
8 years ago
```sh
git clone https://github.com/arno01/steam.git
cd steam
docker-compose run steam
8 years ago
```
6 years ago
If Steam does not start, you may need to allow your user making connections to
your X server:
8 years ago
```sh
8 years ago
xhost +SI:localuser:$(id -un)
```
You can use the following shortcut function and place it to your `~/.bash_aliases` file:
```sh
function docker_helper() {
6 years ago
pushd ~/github.com/$1
docker-compose rm -fa "$1"
docker-compose run -d --name "$1" "$@"
popd
}
function steam() {
docker_helper "$FUNCNAME" "$@"
}
8 years ago
```
6 years ago
Then just use ``steam`` command to run Steam image.
6 years ago
## Updating image
6 years ago
Re-run this command later on in order to keep the image updated:
```sh
6 years ago
cd steam/
git pull
7 years ago
VERSION=$(git rev-parse HEAD | head -c8) make
```
8 years ago
## 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](https://docs.docker.com/compose/compose-file/)
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:
```sh
docker-compose run --rm steam --reset
8 years ago
```
## Grsecurity notes
### grsec: TPE
Trusted Path Execution (TPE)
8 years ago
This Steam docker image is working with the grsecurity patched kernel.
It only needs a `/proc/sys/kernel/grsecurity/tpe_gid` accessible by root for read.
### grsec: PaX
It is also working with PaX part of the grsecurity.
I have tested it with Half-Life games like CS 1.6, and CS:GO.
Please refer to the `launch` file if grsecurity is blocking some executable or a library.
8 years ago
# Links
Below is just bunch of links, someone might find them useful
- https://wiki.ubuntu.com/Valve
- https://developer.valvesoftware.com/wiki/Steam_under_Linux#Ubuntu
- http://media.steampowered.com/client/installer/steam.deb
- http://repo.steampowered.com/steam/archive/precise/steam_latest.deb
- http://repo.steamstatic.com/steam/
8 years ago
- https://grsecurity.net/