steam deck is using Arch linux, am I right? do somebody know, whether they are using this AUR package for the proton? i wonder if gamers would need to compile the package each time there is an update or if steam distributes it precompiled? i have no problem compiling it on my 5800X in tmpfs, yes sure it takes like 15 minutes maybe?, but my mini PC with celeron j4125 has only 8GB and the cpu has a 1/10 of the 5800X horse power... it takes like... a half day to compile.
Search Criteria
Package Details: proton 2:9.0.3.1-1
Package Actions
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)
- attr (attr-gitAUR)
- desktop-file-utils (desktop-file-utils-gitAUR)
- fontconfig (fontconfig-gitAUR, fontconfig-ubuntuAUR)
- freetype2 (freetype2-qdoledAUR, freetype2-macosAUR, freetype2-gitAUR)
- gcc-libs (gcc-libs-gitAUR, gccrs-libs-gitAUR, gcc11-libsAUR, gcc-libs-snapshotAUR)
- gettext (gettext-gitAUR)
- lib32-attr
- lib32-fontconfig
- lib32-freetype2
- lib32-gcc-libs (lib32-gcc-libs-gitAUR, lib32-gccrs-libs-gitAUR, lib32-gcc-libs-snapshotAUR)
- lib32-gettext
- lib32-libgudev
- lib32-libpcap
- lib32-libsoup
- lib32-libvpx
- lib32-libxcursor
- lib32-libxi
- lib32-libxkbcommon
- lib32-libxrandr
- lib32-lzoAUR
- lib32-sdl2 (lib32-sdl2-compat-gitAUR)
- lib32-wayland (lib32-wayland-gitAUR)
- libgudev
- libpcap (libpcap-gitAUR)
- libsoup
- libvpx (libvpx-full-gitAUR, libvpx-gitAUR)
- libxcursor
- libxi (libxi-gitAUR)
- libxkbcommon (libxkbcommon-gitAUR)
- libxrandr (libxrandr-gitAUR)
- lzo
- python (python37AUR, python311AUR, python310AUR)
- sdl2 (sdl2-gitAUR, sdl2-compat-gitAUR)
- steam-native-runtime
- wayland (wayland-gitAUR, wayland-asan-gitAUR, wayland-chromiumAUR)
- afdkoAUR (afdko-gitAUR) (make)
- alsa-lib (make)
- autoconf (autoconf-gitAUR) (make)
- bison (byacc-bisonAUR, bison-gitAUR) (make)
- clang (llvm-rocm-gitAUR, llvm-gitAUR, clang-minimal-gitAUR) (make)
- cmake (cmake-gitAUR) (make)
- flex (flex-gitAUR) (make)
- fontforge (fontforge-gitAUR) (make)
- giflib (giflib-gitAUR) (make)
- git (git-gitAUR, git-glAUR) (make)
- glib2-devel (make)
- glslang (glslang-gitAUR) (make)
- gnutls (gnutls-gitAUR) (make)
- gst-plugins-base-libs (gst-plugins-base-libs-gitAUR) (make)
- gtk3 (gtk3-no_deadkeys_underlineAUR, gtk3-classicAUR, gtk3-classic-xfceAUR, gtk3-patched-filechooser-icon-viewAUR) (make)
- lib32-alsa-lib (make)
- lib32-giflib (make)
- lib32-gnutls (make)
- lib32-gst-plugins-base-libs (lib32-gst-plugins-base-libs-gitAUR) (make)
- lib32-gtk3 (make)
- lib32-libpulse (make)
- lib32-libxcomposite (make)
- lib32-libxinerama (make)
- lib32-libxxf86vm (make)
- lib32-mesa (lib32-mesa-gitAUR, lib32-mesa-minimal-gitAUR, lib32-amdonly-gaming-mesa-gitAUR, lib32-mesa-amd-bc250AUR, lib32-mesa-amber) (make)
- lib32-mesa-libgl (lib32-mesa-gitAUR, lib32-amdonly-gaming-mesa-gitAUR, lib32-mesa-amd-bc250AUR, lib32-mesa) (make)
- lib32-opencl-icd-loader (lib32-khronos-ocl-icd-gitAUR, lib32-ocl-icd) (make)
- lib32-rust-libs (rustup-gitAUR, rustup) (make)
- lib32-sdl2 (lib32-sdl2-compat-gitAUR) (make)
- lib32-v4l-utils (make)
- lib32-vulkan-icd-loader (lib32-vulkan-icd-loader-gitAUR) (make)
- libgphoto2 (libgphoto2-gitAUR) (make)
- libpulse (pulseaudio-dummyAUR, libpulse-gitAUR) (make)
- libxcomposite (make)
- libxinerama (libxinerama-randr-gitAUR) (make)
- libxxf86vm (make)
- lld (llvm-rocm-gitAUR, llvm-gitAUR) (make)
- mesa (mesa-minimal-gitAUR, mesa-gitAUR, amdonly-gaming-mesa-gitAUR, mesa-amd-bc250AUR, mesa-wsl2-gitAUR, mesa-amber) (make)
- mesa-libgl (mesa-gitAUR, amdonly-gaming-mesa-gitAUR, mesa-amd-bc250AUR, mesa-wsl2-gitAUR, mesa) (make)
- meson (meson-gitAUR) (make)
- mingw-w64-gcc (mingw-w64-gcc132AUR, llvm-mingw-w64-toolchain-ucrt-binAUR, llvm-mingw-w64-toolchain-msvcrt-binAUR) (make)
- mingw-w64-toolsAUR (make)
- nasm (nasm-gitAUR) (make)
- opencl-headers (opencl-headers-gitAUR) (make)
- opencl-icd-loader (khronos-ocl-icd-gitAUR, khronos-ocl-icdAUR, ocl-icd) (make)
- perl (perl-gitAUR) (make)
- python-pefile (python-pefile-gitAUR) (make)
- rsync (rsync-gitAUR, rsync-reflinkAUR, rsync-reflink-gitAUR) (make)
- rust (rust-nightlyAUR, rustup-gitAUR, rust-nightly-binAUR, rust-gitAUR, rustup) (make)
- sdl2 (sdl2-gitAUR, sdl2-compat-gitAUR) (make)
- unzip (unzip-natspecAUR, unzip-zstdAUR) (make)
- v4l-utils (v4l-utils-gitAUR) (make)
- vulkan-headers (vulkan-headers-gitAUR) (make)
- vulkan-icd-loader (vulkan-icd-loader-gitAUR) (make)
- wget (wget-gitAUR, wurlAUR) (make)
- alsa-lib (optional)
- alsa-plugins (alsa-plugins-gitAUR) (optional)
- giflib (giflib-gitAUR) (optional)
- gnutls (gnutls-gitAUR) (optional)
- gst-plugins-base-libs (gst-plugins-base-libs-gitAUR) (optional)
- gtk3 (gtk3-no_deadkeys_underlineAUR, gtk3-classicAUR, gtk3-classic-xfceAUR, gtk3-patched-filechooser-icon-viewAUR) (optional)
- lib32-alsa-lib (optional)
- lib32-alsa-plugins (optional)
- lib32-giflib (optional)
- lib32-gnutls (optional)
- lib32-gst-plugins-base-libs (lib32-gst-plugins-base-libs-gitAUR) (optional)
- lib32-gtk3 (optional)
- lib32-libpulse (optional)
- lib32-libxcomposite (optional)
- lib32-libxinerama (optional)
- lib32-opencl-icd-loader (lib32-khronos-ocl-icd-gitAUR, lib32-ocl-icd) (optional)
- lib32-v4l-utils (optional)
- lib32-vulkan-icd-loader (lib32-vulkan-icd-loader-gitAUR) (optional)
- libgphoto2 (libgphoto2-gitAUR) (optional)
- libpulse (pulseaudio-dummyAUR, libpulse-gitAUR) (optional)
- libxcomposite (optional)
- libxinerama (libxinerama-randr-gitAUR) (optional)
- opencl-icd-loader (khronos-ocl-icd-gitAUR, khronos-ocl-icdAUR, ocl-icd) (optional)
- v4l-utils (v4l-utils-gitAUR) (optional)
- vulkan-icd-loader (vulkan-icd-loader-gitAUR) (optional)
Required by (4)
- dxvk-gplasync-bin (optional)
- dxvk-gplasync-bin-git (optional)
- legendary (optional)
- rare (optional)
Sources (10)
- 0001-AUR-Pkgbuild-changes.patch
- 0002-AUR-Do-not-update-cargo-crates.patch
- 0003-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch
- 0004-AUR-Strip-binaries-early.patch
- 0005-AUR-Fix-hwnd-redefinition.patch
- https://dl.winehq.org/wine/wine-gecko/2.47.4/wine-gecko-2.47.4-x86.tar.xz
- https://dl.winehq.org/wine/wine-gecko/2.47.4/wine-gecko-2.47.4-x86_64.tar.xz
- https://github.com/madewokherd/wine-mono/releases/download/wine-mono-9.2.0/wine-mono-9.2.0-x86.tar.xz
- https://github.com/madewokherd/xalia/releases/download/xalia-0.4.2/xalia-0.4.2-net48-mono.zip
- proton
Latest Comments
« First ‹ Previous 1 .. 4 5 6 7 8 9 10 11 12 13 14 .. 24 Next › Last »
kopfik commented on 2022-02-10 11:04 (UTC)
loathingkernel commented on 2022-01-13 23:05 (UTC) (edited on 2022-01-13 23:06 (UTC) by loathingkernel)
@Nu4425 The intention is the overwrite them, yes. The current default Arch FLAGS will make a number of things fail and this was the easier way to provide both easily mutable FLAGS and retain the original FLAGS at the same time. The lines you refer to were left in as documentation/notice of sorts.
On another note, the proton repo moved the submodules point to the github mirrors and I might update them too at some point if the issues continue.
Nu4425 commented on 2022-01-13 20:29 (UTC) (edited on 2022-01-13 20:30 (UTC) by Nu4425)
@loathingkernel thank you. Also, sorry if I am missing something, but are lines 295-306 in the PKGBUILD supposed to be commented? Presumably, redeclaration of CFLAGS
, CXXFLAGS
, and LDFLAGS
will overwrite the previous states.
I just want to make sure that the intention wasn't to update than to overwrite.
loathingkernel commented on 2022-01-11 11:39 (UTC) (edited on 2022-01-11 11:39 (UTC) by loathingkernel)
@Nu4425 I am aware of the issue but thanks for finding the related issue in the bug tracker.
I could move it to the github mirrors but that would have the subtle side-effect of causing issues with the SRCDEST shared sources directory supported by pacman (which incidentally I use).
As a workaround, the other repositories can be updated manually and build it with the --holdver
makepkg
option to not update sources while building.
Nu4425 commented on 2022-01-10 06:01 (UTC)
@loathingkernel for this build to be successful it requires the hosts for the upstream gstreamer repositories to be online and reliable. Currently, there are connectivity issues in gstreamers gitlab servers that is causing this package's build process to hang when retrieving sources via git-clone.
See https://gitlab.freedesktop.org/freedesktop/freedesktop/-/issues/407 for details.
Any suggested workarounds for this?
loathingkernel commented on 2021-12-28 18:48 (UTC)
@arvin Given that the package works through submodules I doubt that manually downloading the source will build the exact same package that upstream intents. It can be done it should be rather tedious.
arvin commented on 2021-12-28 03:48 (UTC) (edited on 2021-12-28 03:52 (UTC) by arvin)
The gstreamer repo fails to clone and the package building halts at that point. This happens with makepkg -si and aura AUR helper. I even disabled sslvarify on .gitconfig but it didn't work still. Is there a way to download the repo or change PKGBUILD?
loathingkernel commented on 2021-12-06 12:25 (UTC) (edited on 2021-12-06 13:01 (UTC) by loathingkernel)
@Ninjoh Thank you for looking into it and providing an answer, I am not particularly knowledgeable about how Rust tooling works and I wouldn't be able to figure it out on my own.
For now I have pinned your comment, pending looking into if the toolchain should be pinned to stable
at all. It just seemed like the sanest of choices at the time.
Ninjoh commented on 2021-12-05 17:08 (UTC)
@loathingkernel After taking a detailed look at the PKGBUILD, I noticed that it explicitly, unconditionally, selects the stable
Rust toolchain. I'm usually working with the nightly toolchain so that toolchain is set as my default. This means that when I run rustup target add i686-unknown-linux-gnu
, it will add it to the nightly toolchain. But, the PKGBUILD selects the stable toolchain and I hadn't ran rustup target add i686-unknown-linux-gnu
against that one, so the target was not available on the stable toolchain.
Setting the default toolchain to stable with rustup default stable
, and then running rustup target add i686-unknown-linux-gnu
solved the issue, and now it compiles just fine.
Perhaps it is of use to add to your notes comment that rustup users should ensure that the i686-unknown-linux-gnu
target is installed on the stable
toolchain.
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 throughsteam-native
).This PKGBUILD uses
CFLAGS
,CXXFLAGS
andLDFLAGS
hardcoded in the PKGBUILD itself. By default it uses the sameC[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 toafdko
(or any of itspython-
dependencies, they are pulled in due toafdko
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 thePROTON_USER_COMPAT_DATA
env variable to1
.This package requires a Rust 32 bit target, please run
rustup target install i686-unknown-linux-gnu
BEFORE posting any issues if you're usingrustup
.