mirror of
https://github.com/ValveSoftware/Proton.git
synced 2025-04-20 00:02:36 +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