Package Details: proton 1:9.0.2-2

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: 109
Popularity: 2.48
First Submitted: 2018-08-22 01:23 (UTC)
Last Updated: 2024-06-13 15:21 (UTC)

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

1 2 3 4 5 6 .. 23 Next › Last »

jasmerb commented on 2024-06-21 15:18 (UTC)

Thanks @loathingkernel. I did some more research. Looks like glib2-devel was recently split out of glib2 and the devel package is making it through the manjaro package pipeline as we speak, so it will get to the stable branch sooner or later.

loathingkernel commented on 2024-06-21 10:38 (UTC) (edited on 2024-06-21 10:39 (UTC) by loathingkernel)

@jasmerb The package exists in Arch https://archlinux.org/packages/?sort=&q=glib2-devel&maintainer=&flagged=

Proton can't be built without it on Arch, all you can do is ask Manjaro devs to add it to the distribution's repositories.

jasmerb commented on 2024-06-21 03:01 (UTC)

I'm trying to install on Manjaro and fail quickly with a warning about missing glib2-devel package. I've read in a Manjaro forum that glib2 includes everything from glib2-devel, but I can't confirm that. And there doesn't appear to be any glib2-devel package available.

$ uname -a
Linux calvin 6.6.32-1-MANJARO #1 SMP PREEMPT_DYNAMIC Mon May 27 03:41:25 UTC 2024 x86_64 GNU/Linux
$ yay -S proton
 -> No AUR package found for glib2-devel
 -> could not find all required packages: glib2-devel
$ pacman -Q glib2
glib2 2.80.2-2
$ pacman -S glib2-devel
error: you cannot perform this operation unless you are root.
$ yay -S glib2-devel
 -> No AUR package found for glib2-devel
 there is nothing to do

fam007e commented on 2024-06-13 07:07 (UTC) (edited on 2024-06-13 08:18 (UTC) by fam007e)

Error for recent update of proton:

Library gmp found: YES
Library gsl found: NO
Library gslcblas found: NO
Library dl found: YES
Checking for function "dladdr" with dependency -ldl: YES 
Run-time dependency glib-2.0 found: YES 2.80.3
Run-time dependency gobject-2.0 found: YES 2.80.3
Run-time dependency gmodule-no-export-2.0 found: YES 2.80.3
Run-time dependency gio-2.0 found: YES 2.80.3
Run-time dependency gio-unix-2.0 found: YES 2.80.3
Library m found: YES
Library rt found: YES
Program g-ir-scanner skipped: feature introspection disabled
Program python3 found: YES (/usr/bin/python)
Dependency bash-completion skipped: feature bash-completion disabled
Configuring gstconfig.h using configuration
Configuring gstversion.h using configuration
Dependency glib-2.0 found: YES 2.80.3 (cached)
Program /usr/bin/glib-mkenums found: NO

src-gstreamer/gst/meson.build:221:18: ERROR: Dependency 'glib-2.0' tool variable 'glib_mkenums' contains erroneous value: '/usr/bin/glib-mkenums'

This is a distributor issue -- please report it to your glib-2.0 provider.

A full log can be found at /home/fam007e/.cache/yay/proton/src/build/obj-gstreamer32/meson-logs/meson-log.txt
WARNING: Running the setup command as `meson [options]` instead of `meson setup [options]` is ambiguous and deprecated.
make[1]: *** [../proton/Makefile.in:158: /home/fam007e/.cache/yay/proton/src/build/.gstreamer-configure32] Error 1
make[1]: Leaving directory '/home/fam007e/.cache/yay/proton/src/build'
make: *** [../proton/Makefile.in:1209: dist] Error 2
==> ERROR: A failure occurred in build().
    Aborting...
 -> error making: proton-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
proton - exit status 4

Solved Since the glib2 does not have the glib-mkenums pkg. The dependency is satisfied when the glib2-devel is installed in the system as it has this usr/share/man/man1/glib-mkenums.1.gz. Therefore, mentioning it in dependencies would be appropriate.

aki42 commented on 2024-05-09 09:29 (UTC) (edited on 2024-05-09 09:45 (UTC) by aki42)

I got sha256sum error on proton. But replacing the first line of the sha256sums section with 'SKIP' on PKGBUILD could pass the validation.

loathingkernel commented on 2024-02-21 23:27 (UTC) (edited on 2024-02-21 23:27 (UTC) by loathingkernel)

@redfast00 Builds fine here

redfast00 commented on 2024-02-20 21:00 (UTC)

It appears that git-lfs is also a dependency to build this:

Cloning into '/home/user/.cache/yay/proton/src/proton/gstreamer/subprojects/gst-integration-testsuites/medias'...
remote: Enumerating objects: 54, done.
remote: Counting objects: 100% (16/16), done.
remote: Compressing objects: 100% (15/15), done.
remote: Total 54 (delta 0), reused 12 (delta 0), pack-reused 38
Receiving objects: 100% (54/54), 40.98 KiB | 437.00 KiB/s, done.
Resolving deltas: 100% (3/3), done.
remote: Enumerating objects: 1330, done.
remote: Counting objects: 100% (59/59), done.
remote: Compressing objects: 100% (41/41), done.
remote: Total 1330 (delta 23), reused 42 (delta 18), pack-reused 1271
Receiving objects: 100% (1330/1330), 1.31 MiB | 1.36 MiB/s, done.
Resolving deltas: 100% (43/43), done.
git-lfs filter-process: line 1: git-lfs: command not found
fatal: the remote end hung up unexpectedly
fatal: Unable to checkout '06f5a5a9bad01b5cf76184aee4f430c834a9dac3' in submodule path 'gstreamer/subprojects/gst-integration-testsuites/medias'
fatal: Failed to recurse into submodule path 'gstreamer'
==> ERROR: A failure occurred in prepare().
    Aborting...
 -> error making: proton-exit status 4
 -> Failed to install the following packages. Manual intervention is required:
proton - exit status 4

loathingkernel commented on 2023-12-23 17:46 (UTC) (edited on 2023-12-23 17:48 (UTC) by loathingkernel)

@killermoehre Although might I suggest the alternative of wine-ge-custom which is closer to actual wine and a drop-in replacement for it without the Steam bits and doesn't enforce some choices that only make sense inside of Steam's environment? There are a lot of hidden caveats which I am too busy to iterate over right now.

killermoehre commented on 2023-12-23 17:40 (UTC)

@loathingkernel Looks promising. I will check the proton script as well and hack something together with some shell exec scripts.

loathingkernel commented on 2023-12-23 17:37 (UTC) (edited on 2023-12-23 17:38 (UTC) by loathingkernel)

@killermoehre, no, here is an example of how I use it. Depending on your use-case you might need more than that. But this will allow you to use it as a replacement for wine without relying on the proton script.

    pfx='/usr/share/steam/compatibilitytools.d/proton/dist'
    export PATH="$pfx/bin/:$PATH"
    export WINEDLLPATH="$pfx/lib64/wine:$pfx/lib/wine"
    export LD_LIBRARY_PATH="$pfx/lib64/:$pfx/lib/"
    export GST_PLUGIN_SYSTEM_PATH_1_0="$pfx/lib64/gstreamer-1.0:$pfx/lib/gstreamer-1.0"