Destroyed Build instructions (Fedora) (markdown)

Arkadiusz Hiler 2023-08-15 17:23:33 +03:00
parent a5a89b95e7
commit 2bb6ae01d0

@ -1,91 +0,0 @@
# UPDATE: THIS WIKI GUIDE IS OUTDATED AND THE INSTRUCTIONS FROM THE MAIN README IN THE MAIN REPOSITORY PAGE ARE PREFERRED
I'm doing an edit instead of removing the page because this needs to be reviewed.
Tried on Fedora 34.
# Introduction
These instructions cover building Proton 4.2 or newer on Fedora 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 Fedora 29.
## Install Docker
Install Docker and make it start automatically:
$ sudo dnf install docker
$ sudo systemctl enable docker
Proton build system expects, that Docker can be started by a user, so you need to:
$ sudo groupadd docker
$ sudo gpasswd -a ${USER} docker
$ sudo systemctl restart docker
$ newgrp docker
You can read more about docker installation in Fedora [here](https://developer.fedoraproject.org/tools/docker/docker-installation.html).
As next step, you need to disable SELinux (Ubuntu images for steam-runtime
won't boot with SELinux enabled). Edit file `/etc/selinux/config` and change the selected policy line to:
SELINUX=disabled
Now it's time to reboot your machine.
*If you know how to fix Docker issues when SELinux is enabled, then contribute to this page, please.*
## Install build dependencies
$ sudo dnf install gnupg2 meson gcc-c++ fontforge gtk-doc \
mingw64-gcc mingw64-gcc-c++ mingw64-winpthreads-static \
mingw32-gcc mingw32-gcc-c++ mingw32-winpthreads-static
$ pip install afdko
Packages `mingw{32,64}-winpthreads-static` will automatically provide support for cross-compilation with POSIX thread support, which is dxvk requirement.
## Obtain the source code
Clone Proton repository using `--recurse-submodules` to automatically initialise all submodules:
$ git clone --recurse-submodules git@github.com:ValveSoftware/Proton.git proton
Then clone steam-runtime, it should be placed next to Proton repo.
$ 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 --beta amd64 --extra-bootstrap=./proton/steamrt-bootstrap.sh steam-proton-dev
$ ./steam-runtime/setup_docker.sh --beta 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-dev latest 3b68af6f9124 32 hours ago 1.52 GB
steam-proton-dev32 latest 5908fee3df8e 38 hours ago 1.45 GB
## 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/.local/share/Steam/ubuntu12_32/steam-runtime" --build-name="proton-mybuild"
$ make
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/compatibilitytools.d/proton-mybuild
Read more about deployment and Proton configuration: https://github.com/ValveSoftware/Proton#deploying