Sign inSign up

achernetsov/ubuntu-nvidia-alsa-steam

By achernetsov

•Updated over 9 years ago

steam-os (only linux games) running on ubuntu with nvidia-375 and alsa sound.

Image
0

348

achernetsov/ubuntu-nvidia-alsa-steam repository overview

⁠Steam in Docker

fork from https://github.com/arno01/steam⁠ changes made steam working on lubuntu 16.04 ltc with nvidia-375 probably should work on ubuntu with nvidia-375 and alsa sound

prerequisites:

  1. install docker, docker-compose
  2. create folder games/steam-data under your home folder
cd ~ && mkdir games && mkdir games/steam-data
  1. clone docker-compose from repo and run it
git clone https://github.com/achernetsov/steam
docker-compose
```sh

from https://github.com/arno01/steam:
## Why?

Some people asked me why would someone want to have Steam in a Docker container?
Few main points which pushed me making this Docker container:

1. I want to set-up more fences when running the code I don't/can't trust; [issue 3671](https://github.com/valvesoftware/steam-for-linux/issues/3671)
2. I don't want to spend time on 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;

And few Pros from my PoV:

- I can have Steam on my Ubuntu/openSUSE/[put any other distro I will want to use] in a short time that Docker takes when downloads this Steam container;
- Since Steam is meant to run in Debian (SteamOS) based distro, it is not a problem anymore, since it is in a container now.

Suggestions / PR's are welcomed!

## What's tested?

The following games have been tested:

- Counter-Strike: Global Offensive
- Alien: Isolation
- PAYDAY 2
- Insurgency
- Half-Life: Counter-Strike 1.6
- Iron Snout
- Toribash
- DeadCore (no sound)

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

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

## Requirements

- [Docker](https://www.docker.com/)
- [Docker Compose](https://docs.docker.com/compose/) minimum version 1.7.3

# Building and launching Steam

## Launching Steam in Docker

The simplest way to launch Steam is by running:

```sh
git clone https://github.com/arno01/steam.git
cd steam
docker-compose run steam

If Steam does not start, you may need to allow your user making local connections to X server, which can be achieved with this command on host:

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

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 use steam command to run Steam in docker.

⁠Updating 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 .

⁠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. 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.

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

Tag summary

Content type

Image

Digest

Size

350.3 MB

Last updated

over 9 years ago

docker pull achernetsov/ubuntu-nvidia-alsa-steam