mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-04-24 15:23:33 +03:00
Destroyed Build instructions (Fedora) (markdown)
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
|
|
Loading…
x
Reference in New Issue
Block a user