Package Details: proton 1:7.0.4-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
Conflicts: proton-native
Provides: proton-native
Submitter: Forty-Bot
Maintainer: loathingkernel
Last Packager: loathingkernel
Votes: 96
Popularity: 0.81
First Submitted: 2018-08-22 01:23 (UTC)
Last Updated: 2022-08-17 10:55 (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 .. 18 Next › Last »

XkE5NBr2 commented on 2022-08-03 14:20 (UTC)

@loathingkernel

Success! I've installed base-devel, and that was the last bit. Thanks for that tip. I had compiled and installed no less than 11 other AUR packages on this machine previously, and I assumed I was all set to compile and install packages.

loathingkernel commented on 2022-07-29 16:53 (UTC) (edited on 2022-07-29 16:54 (UTC) by loathingkernel)

@XkE5NBr2 Please read the wiki before building packages from the AUR, you are missing automake. automake is part of the base-devel group which is an implied dependency on every Arch system that wants to build packages from the AUR. It is literally in the Getting started section.

And before suggesting adding it as a dependency, members of the base-devel group should not be added in the depends array.

This is not generic user issue support, make sure to read the wiki please before reporting any more issues.

XkE5NBr2 commented on 2022-07-29 16:18 (UTC)

@loathingkernel

Thanks for getting back to me. I'm making progress but am not yet out of the woods.

Missing deps

Yes, I understand that needing to manually install stuff from AUR is a product of how PKGBUILD and the Arch package management system works, rather than any shortcoming in this package. I listed the packages I installed from AUR to hopefully save other users some time.

Compilation errors

I cloned the repo into a new directory and ran makepkg again. Compilation got farther! I ultimately got the error below. Did I forget to install something?

cd /home/username/AUR/proton2/src/build/dst-dxvk-nvapi32/lib && find -type f -not '(' -iname '*.pc' -or -iname '*.cmake' -or -iname '*.a' -or -iname '*.la' -or -iname '*.def' ')' -printf '--strip-debug\0%p\0/home/username/AUR/proton2/src/build/dist/dist/lib/%p\0' | xargs --verbose -0 -r -P20 -n3 objcopy --file-alignment=4096 --set-section-flags .text=contents,alloc,load,readonly,code
objcopy '--file-alignment=4096' --set-section-flags '.text=contents,alloc,load,readonly,code' --strip-debug ./wine/nvapi/nvapi.dll /home/username/AUR/proton2/src/build/dist/dist/lib/./wine/nvapi/nvapi.dll
touch /home/username/AUR/proton2/src/build/.dxvk-nvapi-dist32
:: autoreconfing vkd3d...
cd "/home/username/AUR/proton2/src/build/src-vkd3d" && autoreconf -fiv
autoreconf: export WARNINGS=
autoreconf: Entering directory '.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
Can't exec "aclocal": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 274.
autoreconf: error: aclocal failed with exit status: 2
make[2]: *** [../proton/Makefile.in:849: /home/username/AUR/proton2/src/build/.vkd3d-pre-configure] Error 2
make[2]: Leaving directory '/home/username/AUR/proton2/src/build'
make[1]: *** [../proton/Makefile.in:121: container-build] Error 2
make[1]: Leaving directory '/home/username/AUR/proton2/src/build'
make: *** [../proton/Makefile.in:32: nested_make] Error 2
==> ERROR: A failure occurred in build().
Aborting...

loathingkernel commented on 2022-07-23 12:28 (UTC)

@XkE5NBr2

About missing dependencies. They were missing from your system, a few of them are from the AUR so makepkg -si won't sync them. The package needs them and they are listed as dependencies, I don't see what more I can do about it. If you are installing using the clone -> makepkg procedure, you obviously need to satisfy AUR dependencies manually. ocl-icd is the new name of opencl-icd-loader dependency and either of these names will get the same package installed on Arch.

About the compilation failure. I have seen that error concerning wldap32 before but since I have included a patch that fixes it. I have rebuilt it again in a clean CHROOT to test both the dependencies and the build process and it has completed successfully. Is libldap and lib32-libldap installed in your system (they should be due to makepkg -si but double-checking)? Did you clean the build directory before starting the build process again?

XkE5NBr2 commented on 2022-07-23 00:50 (UTC) (edited on 2022-07-23 00:55 (UTC) by XkE5NBr2)

Missing deps & compilation failure

Needed to install additional packages. Also, proton still won't compile. Please let me know what steps I can take to remedy.

Missing Dependencies

I didn't see any comments related to this. I normally install AUR packages with makepkg -si. After cloning proton, running makepkg -si gave me this error:

"ERROR: 'pacman' failed to install missing dependencies".  There were many missing packages listed.

Ultimately, I needed to clone/install lib32-lzo and mingw-w64-tools from the AUR repo and install ocl-icd from the regular repo. (Installing mingw-w64-tools required me to make resolv.conf a symlink! Details in that package's AUR page.)

Compilation failure

Ultimately, this was not enough to get the package built. Compilation fails with this error message:

In file included from /home/username/AUR/proton/src/build/src-wine/include/windef.h:290,
  from /home/username/AUR/proton/src/build/src-wine/dlls/wldap32/libldap.c:40:
/home/username/AUR/proton/src/build/src-wine/include/winnt.h:406:50: error: size of unnamed array is negative
  406 | #define C_ASSERT(e) extern void __C_ASSERT__(int [(e)?1:-1])
      |                                                  ^

Please advise.

rustatian commented on 2022-06-27 14:19 (UTC) (edited on 2022-06-27 14:19 (UTC) by rustatian)

solved with symlinking libxml2.so.2.9.14 to libxml2-3998bec4.so.2.9.1

rustatian commented on 2022-06-27 10:57 (UTC)

makeotfexe -f ../proton/fonts/source-han-sans/cidfont.ps.OTC.SC -omitMacNames -ff ../proton/fonts/source-han-sans/features.OTC.SC \
    -lic ADOBE -mf ../proton/fonts/patches/YaHei-FontMenuNameDB -r -nS -cs 25 -ch ../proton/fonts/source-han-sans/UniSourceHanSansCN-UTF32-H \
    -ci ../proton/fonts/source-han-sans/SourceHanSans_CN_sequences.txt -o obj-fonts/source-han/msyh.ttf.tmp
makeotfexe: error while loading shared libraries: libxml2-3998bec4.so.2.9.1: cannot open shared object file: No such file or directory

I am getting the following error on a clean install. libxml2 (including lib32-libxml2) installed. Does anyone know how to fix this issue?

medzik commented on 2022-06-06 19:18 (UTC)

after delete 0002-RevertMe-Use-one-job-for-autoconf-targets-because-of.patch does not compile in clean chroot

pvizc commented on 2022-05-07 13:51 (UTC)

@mihalycsaba I got the same problem building the package. I could fix it by disabling the threaded compilation. Eg: MAKEFLAGS=-j1

loathingkernel commented on 2022-05-06 14:21 (UTC)

@mihalycsaba I don't know then. I just re-built the package in a clean chroot to test and it built correctly. This is probably on your end.