mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-03-16 23:40:21 +03:00
Destroyed Build instructions (Ubuntu) (markdown)
parent
2bb6ae01d0
commit
3347b98dbc
@ -1,102 +0,0 @@
|
||||
# Introduction
|
||||
|
||||
These instructions cover building Proton 4.2 or newer on Ubuntu using Docker. It is possible to compile without Docker (with `--no-steam-runtime` option to configure script), but this article does not cover such scenario.
|
||||
|
||||
Tested on Ubuntu 18.04.
|
||||
|
||||
## Install Docker
|
||||
|
||||
Install Docker using the instructions [here](https://docs.docker.com/install/linux/docker-ce/ubuntu/).
|
||||
|
||||
Make it start at boot:
|
||||
|
||||
$ sudo systemctl enable docker
|
||||
|
||||
Proton build system expects, that Docker can be started by a user, so you need to:
|
||||
|
||||
$ sudo groupadd docker
|
||||
$ sudo usermod -aG docker $USER
|
||||
$ sudo systemctl restart docker
|
||||
$ newgrp docker
|
||||
|
||||
Verify that you can run docker commands without sudo (as noted in the [Linux post-installation steps](https://docs.docker.com/install/linux/linux-postinstall/)):
|
||||
|
||||
$ docker run hello-world
|
||||
|
||||
Now it's time to reboot your machine.
|
||||
|
||||
## Install build dependencies
|
||||
|
||||
$ sudo apt-get install gnupg2 meson gcc g++ fontforge \
|
||||
mingw-w64 mingw-w64-common mingw-w64-tools
|
||||
|
||||
If the repository version of Meson is too old, install using pip:
|
||||
|
||||
$ pip3 install meson
|
||||
|
||||
## Obtain the source code
|
||||
|
||||
Clone Proton repository using `--recurse-submodules` to automatically initialize all submodules:
|
||||
|
||||
$ git clone --recurse-submodules git@github.com:ValveSoftware/Proton.git proton
|
||||
|
||||
Then clone steam-runtime, it should be placed next to Proton repository.
|
||||
|
||||
$ git clone git@github.com:ValveSoftware/steam-runtime.git
|
||||
|
||||
## Build Docker images
|
||||
|
||||
Before the first Proton compilation, you need to build and install Docker images with the Steam runtime. Each of these steps will take several minutes.
|
||||
|
||||
$ ./steam-runtime/setup_docker.sh amd64 --extra-bootstrap=./proton/steamrt-bootstrap.sh steam-proton-dev
|
||||
$ ./steam-runtime/setup_docker.sh i386 --extra-bootstrap=./proton/steamrt-bootstrap.sh steam-proton-dev32
|
||||
|
||||
Once finished, you can check if new images were registered in docker (IMAGE ID will likely be different for you):
|
||||
|
||||
$ docker images
|
||||
REPOSITORY TAG IMAGE ID CREATED SIZE
|
||||
steam-proton-dev32 latest ff2263a37f39 24 minutes ago 1.86GB
|
||||
steam-proton-dev latest 41907a89f224 30 minutes ago 1.95GB
|
||||
hello-world latest fce289e99eb9 12 months ago 1.84kB
|
||||
|
||||
## Build
|
||||
|
||||
Now it's time to build Proton itself:
|
||||
|
||||
$ mkdir proton-mybuild
|
||||
$ cd proton-mybuild
|
||||
$ ../proton/configure.sh --steam-runtime64=docker:steam-proton-dev --steam-runtime32=docker:steam-proton-dev32 --steam-runtime=$HOME/steam-runtime/runtime/ --build-name="proton-mybuild"
|
||||
$ make
|
||||
|
||||
### Possible Make Errors
|
||||
|
||||
If you encounter the error `mutex in namespace std does not name a type`, you will need to do the following (as noted on [Stack Overflow](https://stackoverflow.com/questions/14191566/c-mutex-in-namespace-std-does-not-name-a-type)):
|
||||
|
||||
$ cd $(dirname $(which i686-w64-mingw32-g++))
|
||||
$ sudo mv i686-w64-mingw32-g++ i686-w64-mingw32-g++.old
|
||||
$ sudo ln -s ./i686-w64-mingw32-g++-posix i686-w64-mingw32-g++
|
||||
$ cd $(dirname $(which x86_64-w64-mingw32-g++))
|
||||
$ sudo mv x86_64-w64-mingw32-g++ x86_64-w64-mingw32-g++.old
|
||||
$ sudo ln -s ./x86_64-w64-mingw32-g++-posix x86_64-w64-mingw32-g++
|
||||
|
||||
If you encounter the error `fatal error: dxgi.h: No such file or directory`, I have not found a good fix, however, you can add this line to the makefile to compile without dxvk:
|
||||
|
||||
NO_DXVK := 1
|
||||
|
||||
*If anyone finds a better fix for the above issue, please update this page.*
|
||||
|
||||
## Packaging and Installation
|
||||
|
||||
To package Proton after successful build:
|
||||
|
||||
$ make dist
|
||||
|
||||
To test it you can install your build in Steam client. You need to select `proton-localbuild` in Steam Play settings.
|
||||
|
||||
$ make install
|
||||
|
||||
If you want to remove your locally built proton:
|
||||
|
||||
$ rm -rf ~/.local/share/Steam/.../proton-mybuild
|
||||
|
||||
Read more about deployment and Proton configuration: https://github.com/ValveSoftware/Proton#deploying
|
Loading…
x
Reference in New Issue
Block a user