support Vulkan
This commit is contained in:
parent
9791c40ddb
commit
1374c06957
19
Dockerfile
19
Dockerfile
@ -44,6 +44,25 @@ RUN apt-get -y install libnm-glib4:i386 libnm-util2:i386
|
|||||||
# https://github.com/ValveSoftware/steam-for-linux/issues/3307
|
# https://github.com/ValveSoftware/steam-for-linux/issues/3307
|
||||||
RUN apt-get -y install fontconfig:i386
|
RUN apt-get -y install fontconfig:i386
|
||||||
|
|
||||||
|
# Enable Vulkan library.
|
||||||
|
# DXVK is a Vulkan-based compatibility layer for Direct3D 11.
|
||||||
|
# It allows running 3D applications on Linux using Wine.
|
||||||
|
# To fully leverage the DXVK, you need the following:
|
||||||
|
# 1. Vulkan library installed;
|
||||||
|
# 2. Capable GPU that supports Vulkan;
|
||||||
|
# 3. Latest GPU drivers which support Vulkan;
|
||||||
|
#
|
||||||
|
# $ cat /home/user/.local/share/Steam/steamapps/common/Proton\ 3.16/dist/lib64/wine/dxvk/version
|
||||||
|
# 60a03a29599bf1f8c73efdbcf288e91ef261bc58 dxvk (v0.90-10-g60a03a2)
|
||||||
|
#
|
||||||
|
# https://developer.nvidia.com/vulkan-driver
|
||||||
|
# https://en.wikipedia.org/wiki/Vulkan_(API)#Compatibility
|
||||||
|
# https://github.com/lutris/lutris/wiki/How-to:-DXVK
|
||||||
|
# https://github.com/doitsujin/dxvk/wiki/Driver-support
|
||||||
|
# https://www.protondb.com
|
||||||
|
# https://lutris.net
|
||||||
|
RUN apt-get -y install libvulkan1 libvulkan1:i386 vulkan-utils
|
||||||
|
|
||||||
LABEL maintainer="Andrey Arapov <andrey.arapov@nixaid.com>"
|
LABEL maintainer="Andrey Arapov <andrey.arapov@nixaid.com>"
|
||||||
COPY ./launch /launch
|
COPY ./launch /launch
|
||||||
ENTRYPOINT [ "/bin/bash", "/launch" ]
|
ENTRYPOINT [ "/bin/bash", "/launch" ]
|
||||||
|
2
Makefile
2
Makefile
@ -1,6 +1,6 @@
|
|||||||
NS ?= andrey01
|
NS ?= andrey01
|
||||||
NAME ?= steam
|
NAME ?= steam
|
||||||
VERSION ?= 0.1
|
VERSION ?= 1.0
|
||||||
|
|
||||||
default: build
|
default: build
|
||||||
|
|
||||||
|
64
README.md
64
README.md
@ -2,6 +2,10 @@
|
|||||||
|
|
||||||
## Changes
|
## Changes
|
||||||
|
|
||||||
|
### Dec 22 2018:
|
||||||
|
|
||||||
|
- support Vulkan;
|
||||||
|
|
||||||
### Dec 21 2018:
|
### Dec 21 2018:
|
||||||
|
|
||||||
- got rid of 'wrong ELF class' messages in the logs;
|
- got rid of 'wrong ELF class' messages in the logs;
|
||||||
@ -59,7 +63,7 @@ GPU:
|
|||||||
```sh
|
```sh
|
||||||
git clone https://git.nixaid.com/arno/steam.git
|
git clone https://git.nixaid.com/arno/steam.git
|
||||||
cd steam
|
cd steam
|
||||||
docker-compose up
|
docker-compose build && docker-compose up
|
||||||
```
|
```
|
||||||
|
|
||||||
If Steam does not start, you may need to allow your user making connections to
|
If Steam does not start, you may need to allow your user making connections to
|
||||||
@ -84,6 +88,52 @@ If you are getting `segmentation fault` error or Steam does not start, then you
|
|||||||
docker-compose run --rm steam --reset
|
docker-compose run --rm steam --reset
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Vulkan / DXVK
|
||||||
|
|
||||||
|
DXVK is a Vulkan-based compatibility layer for DirectX 11.
|
||||||
|
|
||||||
|
It allows running 3D applications on Linux using Wine.
|
||||||
|
|
||||||
|
To fully leverage the DXVK, you need the following:
|
||||||
|
|
||||||
|
1. Vulkan library installed;
|
||||||
|
|
||||||
|
2. Capable GPU that supports Vulkan;
|
||||||
|
|
||||||
|
3. Latest GPU drivers which support Vulkan;
|
||||||
|
|
||||||
|
4. Wine 3.10+ with the [DXVK](https://github.com/doitsujin/dxvk/) (Steam's Proton already has DXVK installed);
|
||||||
|
|
||||||
|
5. The game that supports DirectX 11;
|
||||||
|
|
||||||
|
```
|
||||||
|
$ cat /home/user/.local/share/Steam/steamapps/common/Proton\ 3.16/dist/lib64/wine/dxvk/version
|
||||||
|
60a03a29599bf1f8c73efdbcf288e91ef261bc58 dxvk (v0.90-10-g60a03a2)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Test Vulkan
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-compose run --rm --entrypoint bash steam
|
||||||
|
root@steam:/# id user >/dev/null 2>&1
|
||||||
|
root@steam:/# [ $? -eq 0 ] || useradd -s /bin/bash -d /home/user -u ${USER_ID:-1000} user
|
||||||
|
root@steam:/# su -l user
|
||||||
|
user@steam:~$ LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/hostlibs/32:/hostlibs/64:"
|
||||||
|
user@steam:~$ LD_LIBRARY_PATH=${LD_LIBRARY_PATH} vulkaninfo | more
|
||||||
|
user@steam:~$ LD_LIBRARY_PATH=${LD_LIBRARY_PATH} vulkan-smoketest
|
||||||
|
```
|
||||||
|
|
||||||
|
### Test DXVK
|
||||||
|
|
||||||
|
First, you need DirectX 10/11 game.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ docker-compose exec steam
|
||||||
|
$ echo 'user_settings = { "DXVK_HUD": "devinfo,fps", }' > .local/share/Steam/steamapps/common/Proton\ 3.16/user_settings.py
|
||||||
|
```
|
||||||
|
|
||||||
|
After that, launch your game and you should be able to see DXVK HUD in the left upper corner of the screen.
|
||||||
|
|
||||||
# Links
|
# Links
|
||||||
|
|
||||||
Below is just a bunch of links, someone might find them useful.
|
Below is just a bunch of links, someone might find them useful.
|
||||||
@ -101,3 +151,15 @@ Below is just a bunch of links, someone might find them useful.
|
|||||||
- http://repo.steampowered.com/steam/archive/precise/steam_latest.deb
|
- http://repo.steampowered.com/steam/archive/precise/steam_latest.deb
|
||||||
|
|
||||||
- http://repo.steamstatic.com/steam/
|
- http://repo.steamstatic.com/steam/
|
||||||
|
|
||||||
|
- https://developer.nvidia.com/vulkan-driver
|
||||||
|
|
||||||
|
- https://en.wikipedia.org/wiki/Vulkan_(API)#Compatibility
|
||||||
|
|
||||||
|
- https://github.com/lutris/lutris/wiki/How-to:-DXVK
|
||||||
|
|
||||||
|
- https://github.com/doitsujin/dxvk/wiki/Driver-support
|
||||||
|
|
||||||
|
- https://www.protondb.com
|
||||||
|
|
||||||
|
- https://lutris.net
|
||||||
|
@ -1,11 +1,10 @@
|
|||||||
version: '3.7'
|
version: '2'
|
||||||
|
|
||||||
services:
|
services:
|
||||||
steam:
|
steam:
|
||||||
init: true
|
|
||||||
hostname: steam
|
hostname: steam
|
||||||
network_mode: bridge
|
network_mode: bridge
|
||||||
image: andrey01/steam
|
build: .
|
||||||
# DNS cache is needed to avoid resolver abuse
|
# DNS cache is needed to avoid resolver abuse
|
||||||
# https://github.com/ValveSoftware/steam-for-linux/issues/3401
|
# https://github.com/ValveSoftware/steam-for-linux/issues/3401
|
||||||
dns: 127.0.0.1
|
dns: 127.0.0.1
|
||||||
@ -40,6 +39,8 @@ services:
|
|||||||
# Location to your NVIDIA drivers:
|
# Location to your NVIDIA drivers:
|
||||||
- /usr/lib/i386-linux-gnu:/hostlibs/32:ro
|
- /usr/lib/i386-linux-gnu:/hostlibs/32:ro
|
||||||
- /usr/lib/x86_64-linux-gnu:/hostlibs/64:ro
|
- /usr/lib/x86_64-linux-gnu:/hostlibs/64:ro
|
||||||
|
# Needed for Vulkan ICD Discovery
|
||||||
|
- /usr/share/vulkan/icd.d:/usr/share/vulkan/icd.d:ro
|
||||||
# security_opt:
|
# security_opt:
|
||||||
# - apparmor=unconfined
|
# - apparmor=unconfined
|
||||||
cap_add:
|
cap_add:
|
||||||
|
Loading…
Reference in New Issue
Block a user