Package Details: proton 2:9.0.3.5-1

Git Clone URL: https://aur.archlinux.org/proton.git (read-only, click to copy)
Package Base: proton
Description: Compatibility tool for Steam Play based on Wine and additional components
Upstream URL: https://github.com/ValveSoftware/Proton
Keywords: dxvk proton steam valve vkd3d wine
Licenses: custom
Submitter: Forty-Bot
Maintainer: loathingkernel
Last Packager: loathingkernel
Votes: 111
Popularity: 1.23
First Submitted: 2018-08-22 01:23 (UTC)
Last Updated: 2024-11-16 17:23 (UTC)

Dependencies (115)

Required by (4)

Sources (10)

Pinned Comments

loathingkernel commented on 2020-10-22 08:43 (UTC) (edited on 2022-06-15 14:11 (UTC) by loathingkernel)

Notes about this package

  • If you encounter issues while using this package, please contact me here first before reporting an issue to the upstream repository. Don't post logs, link to them. If you are using Manjaro, another derivative or an AUR helper, please mention it, I DO NOT TEST AGAINST THEM AND I CANNOT KNOW WHAT MIGHT BE WRONG WITH THE DISTRO/HELPER OF YOUR CHOICE.

  • It takes a LOT of time and space to build. Building with multiple jobs helps but might cause builds to fail in rare cases. Be sure to have at least 16GB of RAM if you are building on tmpfs

  • It is NOT built against Steam Linux Runtime (Sniper, Soldier, etc) and as such it doesn't require it. Still, is detected by Steam and works properly (preferable through steam-native).

  • This PKGBUILD uses CFLAGS, CXXFLAGS and LDFLAGS hardcoded in the PKGBUILD itself. By default it uses the same C[XX]FLAGS as upstream, namely -march=nocona and -mtune=core-avx2. To change them you will have to edit the PKGBUILD itself. Due to the nature of this package some flags can cause it to fail to build or not function properly. I try to filter them out but it is based on testing. If you have a feeling that compile-time options are involved in the issues you are having please include them in your comment. Currently the filtered options are -fstack-protector-{,-strong,-all}(dxvk and vkd3d only), -fno-plt, -z,relro, -z,now. Also the use of AVX instructions is disabled through -mno-avx.

  • There have been reports with afdko failing to find its dependencies during building. I can't do anything about that as I don't maintain that package. It is NOT an issue with this package and I haven't found a way to not depend on it. Please don't report fails due to afdko (or any of its python- dependencies, they are pulled in due to afdko and only used by that), it has been discussed enough. There are possible workarounds in the comments.

  • It contains a patch to store game prefixes in the main Steam Library under $HOME/.local/share/Steam/steamapps/compatdata. It helps with isolation of game prefixes between users and works around issues with shared libraries on NTFS partitions due to drive symlinks. To enable it, set the PROTON_USER_COMPAT_DATA env variable to 1.

  • This package requires a Rust 32 bit target, please run rustup target install i686-unknown-linux-gnu BEFORE posting any issues if you're using rustup.

Latest Comments

« First ‹ Previous 1 .. 8 9 10 11 12 13 14 15 16 17 18 .. 24 Next › Last »

loathingkernel commented on 2021-06-09 19:48 (UTC)

I want to ask, why is this named proton since it doesn't provide the main proton executable and it can't be used through steam? This looks to me more like a joint package of lsteamclient and vrclient from proton rather than a working proton for Arch.

I understand the usefulness of these components but I think this is misleading. I am asking because I maintain a complete proton package but the name proton-native that I am using already exists as a React framework and it might cause confusion or issues in the future.

somebody commented on 2021-05-01 06:31 (UTC)

updated to 6.3, it works fine for me but looking at the comments i can't be 100% sure, please comment if it doesn't work

heavysink commented on 2021-05-01 00:39 (UTC)

I disowned the package. I just cannot make it to work...

Anyone please try anything that may solve the problem for compilation. A possible way: https://github.com/ValveSoftware/Proton/issues/4108

loathingkernel commented on 2021-04-11 09:24 (UTC) (edited on 2021-04-11 11:30 (UTC) by loathingkernel)

@chn I tried that exact way of specifying the architecture before specifying it through the RUSTFLAGS and it failed for me. I will look into it when I rebuild the package. In the meantime, can you inform me of the configuration of your system where it has to do with rust? What version are you using, Is it installed through the repos or rustup etc.

Edit: What I was doing in the patch was nonsensical and it shouldn't work here either. For now I completely removed that -m$(3) from both env vars and it seems to build ok.

chn commented on 2021-04-11 05:41 (UTC)

I have found a workaround. In file proton-unfuck_makefile.patch, replace

diff --git a/make/rules-common.mk b/make/rules-common.mk
index fda3e3d..d49c448 100644
--- a/make/rules-common.mk
+++ b/make/rules-common.mk
@@ -101,17 +101,18 @@ all: $(1)

 $(2)_ENV$(3) = \
     CARGO_HOME=$$(OBJ)/.cargo \
-    CARGO_TARGET_$$(call toupper,$$(ARCH$(3))-unknown-linux-gnu)_LINKER="$$(ARCH$(3))-linux-gnu-gcc" \
+    CARGO_TARGET_$$(call toupper,$$(ARCH$(3))-unknown-linux-gnu)_LINKER="gcc" \
+    CARGO_TARGET_$$(call toupper,$$(ARCH$(3))-unknown-linux-gnu)_RUSTFLAGS="$$(RUSTFLAGS) -C -m$(3)" \
     CCACHE_BASEDIR="$$(CCACHE_BASEDIR)" \
     STRIP="$$(STRIP)" \

with

diff --git a/make/rules-common.mk b/make/rules-common.mk
index fda3e3d..d49c448 100644
--- a/make/rules-common.mk
+++ b/make/rules-common.mk
@@ -101,17 +101,17 @@ all: $(1)

 $(2)_ENV$(3) = \
     CARGO_HOME=$$(OBJ)/.cargo \
-    CARGO_TARGET_$$(call toupper,$$(ARCH$(3))-unknown-linux-gnu)_LINKER="$$(ARCH$(3))-linux-gnu-gcc" \
+    CARGO_TARGET_$$(call toupper,$$(ARCH$(3))-unknown-linux-gnu)_LINKER="gcc -m$(3)" \
     CCACHE_BASEDIR="$$(CCACHE_BASEDIR)" \
     STRIP="$$(STRIP)" \

chn commented on 2021-04-11 02:54 (UTC)

Build failed at 32bit mediacov rustc -C -m32:

:: configuring 32bit mediaconv...
touch /home/chn/.cache/yay/proton-native/src/build/.mediaconv-configure32
:: building 32bit mediaconv...
cd /home/chn/.cache/yay/proton-native/src/build/src-mediaconv && env CARGO_HOME=/home/chn/.cache/yay/proton-native/src/build/.cargo CARGO_TARGET_I686_UNKNOWN_LINUX_GNU_LINKER="gcc" CARGO_TARGET_I686_UNKNOWN_LINUX_GNU_RUSTFLAGS=" -C -m32" CCACHE_BASEDIR="/home/chn/.cache/yay/proton-native/src/build/src-mediaconv" STRIP="strip" CC=" gcc -m32" CXX=" g++ -m32" LD="i686-linux-gnu-ld" PKG_CONFIG="i686-pc-linux-gnu-pkg-config" CROSSCC=" i686-w64-mingw32-gcc" CROSSCXX=" i686-w64-mingw32-g++" CROSSLD="i686-w64-mingw32-ld" CROSSPKG_CONFIG="i686-pc-linux-gnu-pkg-config" PATH="/home/chn/.cache/yay/proton-native/src/build/dst-gst_orc32/bin:/home/chn/.cache/yay/proton-native/src/build/dst-gstreamer32/bin:/home/chn/.cache/yay/proton-native/src/build/dst-gst_base32/bin::/home/chn/.cache/yay/proton-native/src/proton/glslang/bin:$PATH" LD_LIBRARY_PATH="/home/chn/.cache/yay/proton-native/src/build/dst-gst_orc32/lib:/home/chn/.cache/yay/proton-native/src/build/dst-gstreamer32/lib:/home/chn/.cache/yay/proton-native/src/build/dst-gst_base32/lib:$LD_LIBRARY_PATH" PKG_CONFIG_PATH="/home/chn/.cache/yay/proton-native/src/build/dst-gst_orc32/lib/pkgconfig:/home/chn/.cache/yay/proton-native/src/build/dst-gstreamer32/lib/pkgconfig:/home/chn/.cache/yay/proton-native/src/build/dst-gst_base32/lib/pkgconfig" CFLAGS="-I/home/chn/.cache/yay/proton-native/src/build/dst-gst_orc32/include -I/home/chn/.cache/yay/proton-native/src/build/dst-gstreamer32/include -I/home/chn/.cache/yay/proton-native/src/build/dst-gst_base32/include  -gdwarf-2 -gstrict-dwarf -march=native -mtune=native -Ofast -pipe -mno-avx -mfpmath=sse -fwrapv -fno-strict-aliasing -ffile-prefix-map=/home/chn/.cache/yay/proton-native/src/build/src-mediaconv=. -mstackrealign" CXXFLAGS="-I/home/chn/.cache/yay/proton-native/src/build/dst-gst_orc32/include -I/home/chn/.cache/yay/proton-native/src/build/dst-gstreamer32/include -I/home/chn/.cache/yay/proton-native/src/build/dst-gst_base32/include  -gdwarf-2 -gstrict-dwarf -march=native -mtune=native -Ofast -pipe -mno-avx -mfpmath=sse -fwrapv -fno-strict-aliasing -ffile-prefix-map=/home/chn/.cache/yay/proton-native/src/build/src-mediaconv=. -mstackrealign -std=c++17" LDFLAGS="-L/home/chn/.cache/yay/proton-native/src/build/dst-gst_orc32/lib -L/home/chn/.cache/yay/proton-native/src/build/dst-gstreamer32/lib -L/home/chn/.cache/yay/proton-native/src/build/dst-gst_base32/lib -Wl,-rpath-link=/home/chn/.cache/yay/proton-native/src/build/dst-gst_orc32/lib -Wl,-rpath-link=/home/chn/.cache/yay/proton-native/src/build/dst-gstreamer32/lib -Wl,-rpath-link=/home/chn/.cache/yay/proton-native/src/build/dst-gst_base32/lib  -Wl,-Ofast,--sort-common,--as-needed" cargo build --target "i686-unknown-linux-gnu" --target-dir /home/chn/.cache/yay/proton-native/src/build/obj-mediaconv32 --release
error: failed to run `rustc` to learn about target-specific information

Caused by:
  process didn't exit successfully: `rustc - --crate-name ___ --print=file-names -C -m32 --target i686-unknown-linux-gnu --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro --print=sysroot --print=cfg` (exit code: 1)
  --- stderr
  error: unknown codegen option: `-m32`

make[2]: *** [../proton/build/makefile_base.mak:768: /home/chn/.cache/yay/proton-native/src/build/.mediaconv-build32] Error 101
make[2]: Leaving directory '/home/chn/.cache/yay/proton-native/src/build'
make[1]: *** [../proton/build/makefile_base.mak:89: container-build] Error 2
make[1]: Leaving directory '/home/chn/.cache/yay/proton-native/src/build'
make: *** [../proton/build/makefile_base.mak:20: nested_make] Error 2
==> ERROR: A failure occurred in build().
    Aborting...

EgidioCaprino commented on 2020-12-11 21:07 (UTC)

I'm getting this error when installing. Can you please help me?

heavysink commented on 2020-12-10 19:20 (UTC)

@ynikitenko update is on the way. I think you just ask each game to use custom proton and point it to the installed proton.

ynikitenko commented on 2020-12-10 18:21 (UTC)

Could you please update the package? The most recent version is proton-5.13-4, and it is the only one that supports Cyberpunk 2077 (which was released today). Do I understand right that there is no "proton" executable, and just several libraries and I have to use steam to run a game?

EgidioCaprino commented on 2020-12-05 17:57 (UTC)

==> ERROR: Could not resolve all dependencies.
error making: vkd3d-valve