Package Details: proton 2:9.0.3.1-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: 112
Popularity: 1.70
First Submitted: 2018-08-22 01:23 (UTC)
Last Updated: 2024-10-02 13:01 (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

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

Stefanxyz commented on 2024-10-26 09:34 (UTC) (edited on 2024-10-26 09:39 (UTC) by Stefanxyz)

I think an requirement for cargo is missing:

~/.cache/pacaur/proton/src/proton/gst-plugins-rs ~/.cache/pacaur/proton/src/proton

/home/stefan/.cache/pacaur/proton/PKGBUILD: line 156: cargo: command not found ==> ERROR: A failure occurred in prepare(). Aborting...

Edit: Probably a rust dependency: https://wiki.archlinux.org/title/Rust#Native_installation

Tulip commented on 2024-09-02 15:25 (UTC)

@loathingkernel

Does this look more real-error-like? It's the only obvious failure-point I'm finding in the logs before the final one, on my most recent run. (At least within the limits of my terminal emulator's history-display, which is inconveniently only going back as far as step 283/458).

[329/458] i686-pc-linux-gnu-gcc  -o tests/check/gst_gst tests/check/gst_gst.p/gst_gst.c.o -L/home/alyssa/.cache/yay/proton/src/build/dst-gst_orc32/lib -I/home/alyssa/.cache/yay/proton/src/build/dst-gst_orc32/include -Wl,--as-needed -Wl,--no-undefined -Wl,-Bsymbolic-functions -Wl,-z,nodelete -Wl,-rpath-link=/home/alyssa/.cache/yay/proton/src/build/dst-gst_orc32/lib -Wl,-O1,--sort-common,--as-needed -s -O3 -march=x86-64 -mtune=generic -pipe -fno-semantic-interposition -mfpmath=sse -fwrapv -fno-strict-aliasing -ffile-prefix-map=/home/alyssa/.cache/yay/proton/src/build/src-gstreamer=. -mstackrealign -mno-avx -s -O3 -march=x86-64 -mtune=generic -fno-semantic-interposition -mfpmath=sse -fwrapv -fno-strict-aliasing -ffile-prefix-map=/home/alyssa/.cache/yay/proton/src/build/src-gstreamer=. -mstackrealign -mno-avx '-Wl,-rpath,$ORIGIN/../../gst:$ORIGIN/../../libs/gst/base:$ORIGIN/../../libs/gst/check:$ORIGIN/../../libs/gst/net:$ORIGIN/../../libs/gst/controller' -Wl,-rpath-link,/home/alyssa/.cache/yay/proton/src/build/obj-gstreamer32/gst -Wl,-rpath-link,/home/alyssa/.cache/yay/proton/src/build/obj-gstreamer32/libs/gst/base -Wl,-rpath-link,/home/alyssa/.cache/yay/proton/src/build/obj-gstreamer32/libs/gst/check -Wl,-rpath-link,/home/alyssa/.cache/yay/proton/src/build/obj-gstreamer32/libs/gst/net -Wl,-rpath-link,/home/alyssa/.cache/yay/proton/src/build/obj-gstreamer32/libs/gst/controller -Wl,--start-group gst/libgstreamer-1.0.so.0.2205.0 libs/gst/base/libgstbase-1.0.so.0.2205.0 libs/gst/check/libgstcheck-1.0.so.0.2205.0 libs/gst/net/libgstnet-1.0.so.0.2205.0 libs/gst/controller/libgstcontroller-1.0.so.0.2205.0 /usr/lib32/libglib-2.0.so /usr/lib32/libgobject-2.0.so /usr/lib32/libgmodule-2.0.so -pthread /usr/lib32/libgio-2.0.so -lgmp /usr/lib/libgsl.so /usr/lib/libgslcblas.so -Wl,--end-group
FAILED: tests/check/gst_gst 
i686-pc-linux-gnu-gcc  -o tests/check/gst_gst tests/check/gst_gst.p/gst_gst.c.o -L/home/alyssa/.cache/yay/proton/src/build/dst-gst_orc32/lib -I/home/alyssa/.cache/yay/proton/src/build/dst-gst_orc32/include -Wl,--as-needed -Wl,--no-undefined -Wl,-Bsymbolic-functions -Wl,-z,nodelete -Wl,-rpath-link=/home/alyssa/.cache/yay/proton/src/build/dst-gst_orc32/lib -Wl,-O1,--sort-common,--as-needed -s -O3 -march=x86-64 -mtune=generic -pipe -fno-semantic-interposition -mfpmath=sse -fwrapv -fno-strict-aliasing -ffile-prefix-map=/home/alyssa/.cache/yay/proton/src/build/src-gstreamer=. -mstackrealign -mno-avx -s -O3 -march=x86-64 -mtune=generic -fno-semantic-interposition -mfpmath=sse -fwrapv -fno-strict-aliasing -ffile-prefix-map=/home/alyssa/.cache/yay/proton/src/build/src-gstreamer=. -mstackrealign -mno-avx '-Wl,-rpath,$ORIGIN/../../gst:$ORIGIN/../../libs/gst/base:$ORIGIN/../../libs/gst/check:$ORIGIN/../../libs/gst/net:$ORIGIN/../../libs/gst/controller' -Wl,-rpath-link,/home/alyssa/.cache/yay/proton/src/build/obj-gstreamer32/gst -Wl,-rpath-link,/home/alyssa/.cache/yay/proton/src/build/obj-gstreamer32/libs/gst/base -Wl,-rpath-link,/home/alyssa/.cache/yay/proton/src/build/obj-gstreamer32/libs/gst/check -Wl,-rpath-link,/home/alyssa/.cache/yay/proton/src/build/obj-gstreamer32/libs/gst/net -Wl,-rpath-link,/home/alyssa/.cache/yay/proton/src/build/obj-gstreamer32/libs/gst/controller -Wl,--start-group gst/libgstreamer-1.0.so.0.2205.0 libs/gst/base/libgstbase-1.0.so.0.2205.0 libs/gst/check/libgstcheck-1.0.so.0.2205.0 libs/gst/net/libgstnet-1.0.so.0.2205.0 libs/gst/controller/libgstcontroller-1.0.so.0.2205.0 /usr/lib32/libglib-2.0.so /usr/lib32/libgobject-2.0.so /usr/lib32/libgmodule-2.0.so -pthread /usr/lib32/libgio-2.0.so -lgmp /usr/lib/libgsl.so /usr/lib/libgslcblas.so -Wl,--end-group
/usr/bin/ld: /usr/lib/libgsl.so: error adding symbols: file in wrong format
collect2: error: ld returned 1 exit status

loathingkernel commented on 2024-09-02 09:48 (UTC)

@Tulip The snippet doesn't contain the real error. Please look earlier in the log for it.

In any case, I recently rebuilt the package and it was successful https://github.com/loathingKernel/PKGBUILDs/actions/runs/10654104652 so I have not encountered any recently.

Tulip commented on 2024-09-02 05:31 (UTC)

An error I've been getting on attempted build since the latest update, across several attempts over the last few days:

[348/458] i686-pc-linux-gnu-gcc -Idocs/gst-hotdoc-plugins-scanner.p -Idocs -I../src-gstreamer/docs -I. -I../src-gstreamer -Igst -I/usr/include/glib-2.0 -I/usr/lib32/glib-2.0/include -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/home/alyssa/.cache/yay/proton/src/build/dst-gst_orc32/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -fvisibility=hidden -fno-strict-aliasing -DG_DISABLE_CAST_CHECKS -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wformat -Wformat-nonliteral -Wformat-security -Wold-style-definition -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return -Wno-multichar -Wvla -Wpointer-arith -s -O3 -march=x86-64 -mtune=generic -pipe -fno-semantic-interposition -mfpmath=sse -fwrapv -fno-strict-aliasing -ffile-prefix-map=/home/alyssa/.cache/yay/proton/src/build/src-gstreamer=. -mstackrealign -mno-avx -s -O3 -march=x86-64 -mtune=generic -fno-semantic-interposition -mfpmath=sse -fwrapv -fno-strict-aliasing -ffile-prefix-map=/home/alyssa/.cache/yay/proton/src/build/src-gstreamer=. -mstackrealign -mno-avx -pthread -DHAVE_CONFIG_H -MD -MQ docs/gst-hotdoc-plugins-scanner.p/gst-hotdoc-plugins-scanner.c.o -MF docs/gst-hotdoc-plugins-scanner.p/gst-hotdoc-plugins-scanner.c.o.d -o docs/gst-hotdoc-plugins-scanner.p/gst-hotdoc-plugins-scanner.c.o -c ../src-gstreamer/docs/gst-hotdoc-plugins-scanner.c
ninja: build stopped: subcommand failed.
make[1]: *** [../proton/Makefile.in:156: /home/alyssa/.cache/yay/proton/src/build/.gstreamer-build32] Error 1
make[1]: Leaving directory '/home/alyssa/.cache/yay/proton/src/build'
make: *** [../proton/Makefile.in:1209: dist] Error 2

denkijin commented on 2024-07-22 06:40 (UTC) (edited on 2024-07-22 06:53 (UTC) by denkijin)

I am having issues building this package, anyone having this?

ERROR: Error in gtkdoc helper script:

ERROR: ['/usr/bin/gtkdoc-mkhtml', '--path=/home/raijin/.cache/paru/clone/proton/src/build/src-gst_orc/doc:/home/raijin/.cache/paru/clone/proton/src/build/obj-gst_orc32/doc', 'orc', '../orc-docs.sgml'] failed with status 5
file:///etc/xml/catalog:1: parser error : Document is empty

^
I/O error : unsupported protocol: https
warning: failed to load external entity "http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl"
compilation error: file /usr/share/gtk-doc/data/gtk-doc.xsl line 11 element import
xsl:import : unable to load http://docbook.sourceforge.net/release/xsl/current/html/chunk.xsl

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.