diff --git a/Build-instructions-(Ubuntu).md b/Build-instructions-(Ubuntu).md deleted file mode 100644 index 0b9fd8f..0000000 --- a/Build-instructions-(Ubuntu).md +++ /dev/null @@ -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 \ No newline at end of file