@mjevans Read the links I have posted here. Setting up the CHROOT environment is EXPLICITLY NOT PART of the PKGBUILD. In any case, I have offered you enough alternatives that you refuse to take.
Search Criteria
Package Details: proton-ge-custom 2:GE.Proton9.22-1
Package Actions
Git Clone URL: | https://aur.archlinux.org/proton-ge-custom.git (read-only, click to copy) |
---|---|
Package Base: | proton-ge-custom |
Description: | Compatibility tool for Steam Play based on Wine and additional components, GloriousEggroll's custom build |
Upstream URL: | https://github.com/GloriousEggroll/proton-ge-custom |
Keywords: | dxvk proton steam valve vkd3d wine |
Licenses: | custom |
Provides: | proton |
Submitter: | loathingkernel |
Maintainer: | loathingkernel |
Last Packager: | loathingkernel |
Votes: | 40 |
Popularity: | 2.23 |
First Submitted: | 2020-03-23 23:52 (UTC) |
Last Updated: | 2024-12-30 14:02 (UTC) |
Dependencies (117)
- attr (attr-gitAUR)
- cabextract
- desktop-file-utils (desktop-file-utils-gitAUR)
- fontconfig (fontconfig-gitAUR, fontconfig-ubuntuAUR)
- freetype2 (freetype2-macosAUR, freetype2-gitAUR, freetype2-qdoledAUR)
- 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
- Show 97 more dependencies...
Required by (7)
- arch-gaming-meta (optional)
- cheat-engine-zh (optional)
- dxvk-gplasync-bin (requires proton) (optional)
- dxvk-gplasync-bin-git (requires proton) (optional)
- latencyflex-proton-ge-custom
- legendary (requires proton) (optional)
- rare (requires proton) (optional)
Sources (12)
- 0001-AUR-Pkgbuild-changes.patch
- 0002-AUR-Do-not-update-cargo-crates.patch
- 0003-AUR-Remove-kaldi-openfst-vosk-api-modules-because-of.patch
- 0004-AUR-Copy-DLL-dependencies-of-32bit-libvkd3d-dlls-int.patch
- 0005-AUR-Strip-binaries-early.patch
- 0006-AUR-Fix-hwnd-redefinition.patch
- 0007-AUR-Disable-incompatible-pointer-types-in-Wine-GCC-1.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.3.1/wine-mono-9.3.1-x86.tar.xz
- https://github.com/madewokherd/xalia/releases/download/xalia-0.4.5/xalia-0.4.5-net48-mono.zip
- proton-ge-custom
Latest Comments
« First ‹ Previous 1 .. 6 7 8 9 10 11 12 13 14 15 16 .. 34 Next › Last »
loathingkernel commented on 2023-01-17 22:00 (UTC)
mjevans commented on 2023-01-17 21:52 (UTC)
If the package needs to be built inside of a chroot environment, that should be part of the PKGBUILD.
Or, the PKGBUILD could expressly configure the contained components to point at the libraries inside of it's temp build environment, and disable any unwanted components.
Either way, this package is currently broken.
loathingkernel commented on 2023-01-17 21:36 (UTC)
@mjevans I have already told you, build it following this https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot
You are just doing the same thing over and over and over. You are building it in your system. Either sit down and understand how build systems work or follow the advice already given. You are building it in your current system's libraries, as long as zxing-cpp
can be found by the build system, it will FAIL. Either temporarily remove it or use a clean CHROOT.
The package itself has no problem as I have ALREADY linked the full compilation from my CI, it is the way you build it.
mjevans commented on 2023-01-17 21:20 (UTC)
@loathingkernel
So what steps EXACTLY am I supposed to do to satisfy you that the PKGBUILD is broken?
The hand-rolled way of building a PKGBUILD ( https://wiki.archlinux.org/title/Arch_User_Repository ) is something like this...
- Download the PKGBUILD and related sources / patch files into a working directory.
- $ mapekpg -s
-
Install the tarball with pacman -U result.pkg.tar.compressor
$ mkdir ~/pge-temp ; cd ~/pge-temp ; wget https://aur.archlinux.org/cgit/aur.git/snapshot/proton-ge-custom.tar.gz ; tar -axf proton-ge-custom.tar.gz ; cd proton-ge-custom $ makepkg -s makepkg -s ==> Making package: proton-ge-custom 2:GE.Proton7.43-4 (Tue Jan 17 12:32:14 2023) ==> Checking runtime dependencies... ==> Checking buildtime dependencies... ==> Retrieving sources... ... this is going to take a while Submodule 'gstreamer' (https://github.com/GStreamer/gstreamer/) registered for path 'gstreamer'
Synchronizing submodule url for 'gstreamer'
Cloning into '~/pge-temp/proton-ge-custom/src/proton-ge-custom/gstreamer'...
done. Submodule path 'gstreamer': checked out '793792d5cd6be0297adec74ad35a87b764812c0b'
Submodule 'gst-plugins-base' (https://github.com/GStreamer/gst-plugins-base/) registered for path 'gst-plugins-base' Synchronizing submodule url for 'gst-plugins-base'
Cloning into '~/pge-temp/proton-ge-custom/src/proton-ge-custom/gst-plugins-base'...
done.
Submodule path 'gst-plugins-base': checked out '2d5385f55a7d29975039692629bde3981e5d29cd'
Submodule 'gst-plugins-good' (https://github.com/GStreamer/gst-plugins-good/) registered for path 'gst-plugins-good' Synchronizing submodule url for 'gst-plugins-good'
Cloning into '~/pge-temp/proton-ge-custom/src/proton-ge-custom/gst-plugins-good'... done.
Submodule path 'gst-plugins-good': checked out '7747342a54ae56013a297b6554bfb3f12bde6784' Submodule 'gst-orc' (https://github.com/GStreamer/orc/) registered for path 'gst-orc'
Synchronizing submodule url for 'gst-orc'
Cloning into '~/pge-temp/proton-ge-custom/src/proton-ge-custom/gst-orc'...
done.
Submodule path 'gst-orc': checked out '629864f073ae003e63c026c1de2407fec713cb53' ... Submodule 'gst-plugins-bad' (https://github.com/GStreamer/gst-plugins-bad/) registered for path 'gst-plugins-bad' Synchronizing submodule url for 'gst-plugins-bad' Cloning into '~/pge-temp/proton-ge-custom/src/proton-ge-custom/gst-plugins-bad'... done. Submodule path 'gst-plugins-bad': checked out '5d07db447c33fe217a6c7f8a910307c236ce1674' Submodule 'gst-plugins-ugly' (https://github.com/GStreamer/gst-plugins-ugly/) registered for path 'gst-plugins-ugly' Synchronizing submodule url for 'gst-plugins-ugly' Cloning into '~/pge-temp/proton-ge-custom/src/proton-ge-custom/gst-plugins-ugly'... done. Submodule path 'gst-plugins-ugly': checked out '8f97a05e1d2cb3cd2548cde2e70ea6d335040f59' ... [836/882] x86_64-pc-linux-gnu-g++ -Iext/zxing/libgstzxing.so.p -Iext/zxing -I../src-gst_bad/ext/zxing -I. -I../src-gst_bad -I~/pge-temp/proton-ge-custom/src/build/dst-gst_base64/include/gstreamer-1.0 -I~/pge-temp/proton-ge-custom/src/build/dst-gstreamer64/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I~/pge-temp/proton-ge-custom/src/build/dst-gst_orc64/include/orc-0.4 -I/usr/include/ZXing -I~/pge-temp/proton-ge-custom/src/build/dst-gst_orc64/include -I~/pge-temp/proton-ge-custom/src/build/dst-gstreamer64/include -I~/pge-temp/ proton-ge-custom/src/build/dst-gst_base64/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -Wno-non-virtual-dtor -fvisibility=hidden -fno-strict-aliasing -Wformat-nonliteral -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -gdwarf-2 -gstrict-dwarf -O2 -march=nocona -mtune=core-avx2 -pipe -mno-avx2 -mfpmath=sse -fwrapv -fno-strict-aliasing -ffile-prefix-map=~/pge-temp/proton-ge-custom/src/build/src-gst_bad=. -std=c++17 -gdwarf-2 -gstrict-dwarf -O2 -march=nocona -mtune=core-avx2 -mno-avx2 -mfpmath=sse -fwrapv -fno-strict-aliasing -ffile-prefix-map=~/pge-temp/proton-ge-custom/src/build/src-gst_bad=. -fPIC -pthread -MD -MQ ext/zxing/libgstzxing.so.p/gstzxing.cpp.o -MF ext/zxing/libgstzxing.so.p/gstzxing.cpp.o.d -o ext/zxing/libgstzxing.so.p/gstzxing.cpp.o -c ../src-gst_bad/ext/zxing/gstzxing.cpp FAILED: ext/zxing/libgstzxing.so.p/gstzxing.cpp.o x86_64-pc-linux-gnu-g++ -Iext/zxing/libgstzxing.so.p -Iext/zxing -I../src-gst_bad/ext/zxing -I. -I../src-gst_bad -I~/pge-temp/proton-ge-custom/src/build/dst-gst_base64/include/gstreamer-1.0 -I~/pge-temp/proton-ge-custom/src/build/dst-gstreamer64/include/gstreamer-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/sysprof-4 -I~/pge-temp/proton-ge-custom/src/build/dst-gst_orc64/include/orc-0.4 -I/usr/include/ZXing -I~/pge-temp/proton-ge-custom/src/build/dst-gst_orc64/include -I~/pge-temp/proton-ge-custom/src/build/dst-gstreamer64/include -I~/pge-temp/proton-ge- custom/src/build/dst-gst_base64/include -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -std=c++11 -Wno-non-virtual-dtor -fvisibility=hidden -fno-strict-aliasing -Wformat-nonliteral -Wmissing-declarations -Wredundant-decls -Wwrite-strings -Wformat -Wformat-security -Winit-self -Wmissing-include-dirs -Waddress -Wno-multichar -Wvla -Wpointer-arith -gdwarf-2 -gstrict-dwarf -O2 -march=nocona -mtune=core-avx2 -pipe -mno-avx2 -mfpmath=sse -fwrapv -fno-strict-aliasing -ffile-prefix-map=~/pge-temp/proton-ge-custom/src/build/src-gst_bad=. -std=c++17 -gdwarf-2 -gstrict-dwarf -O2 -march=nocona -mtune=core-avx2 -mno-avx2 -mfpmath=sse -fwrapv -fno-strict-aliasing -ffile-prefix-map=~/pge-temp/proton-ge-custom/src/build/src-gst_bad=. -fPIC -pthread -MD -MQ ext/zxing/libgstzxing.so.p/gstzxing.cpp.o -MF ext/zxing/libgstzxing.so.p/gstzxing.cpp.o.d -o ext/zxing/libgstzxing.so.p/gstzxing.cpp.o -c ../src-gst_bad/ext/zxing/gstzxing.cpp In file included from ~/pge-temp/proton-ge-custom/src/build/dst-gstreamer64/include/gstreamer-1.0/gst/gst.h:55, from ~/pge-temp/proton-ge-custom/src/build/dst-gst_base64/include/gstreamer-1.0/gst/video/video.h:23, from ../src-gst_bad/ext/zxing/gstzxing.h:23,
from ../src-gst_bad/ext/zxing/gstzxing.cpp:56: ../src-gst_bad/ext/zxing/gstzxing.cpp: In function 'GstFlowReturn gst_zxing_transform_frame_ip(GstVideoFilter, GstVideoFrame)': ../src-gst_bad/ext/zxing/gstzxing.cpp:370:33: error: no matching function for call to 'ToUtf8(std::string)' 370 | TextUtfEncoding::ToUtf8 (result.text ()).c_str (), | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
~/pge-temp/proton-ge-custom/src/build/dst-gstreamer64/include/gstreamer-1.0/gst/gstinfo.h:682:31: note: in definition of macro 'GST_CAT_LEVEL_LOG' 682 | (GObject ) (object), VA_ARGS); \ | ^~~~~~~~~~~ ../src-gst_bad/ext/zxing/gstzxing.cpp:369:5: note: in expansion of macro 'GST_DEBUG_OBJECT' 369 | GST_DEBUG_OBJECT (zxing, "Symbol found. Text: %s Format: %s",
| ^~~~~~~~~~~~~~~~
In file included from ../src-gst_bad/ext/zxing/gstzxing.cpp:64:
/usr/include/ZXing/TextUtfEncoding.h:15:28: note: candidate: 'std::string ZXing::TextUtfEncoding::ToUtf8(std::wstring_view)'
15 | [[deprecated]] std::string ToUtf8(std::wstring_view str);
| ^~~~~~
/usr/include/ZXing/TextUtfEncoding.h:15:53: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'std::wstring_view' {aka 'std::basic_string_view<wchar_t>'}
15 | [[deprecated]] std::string ToUtf8(std::wstring_view str);
| ~~~~~~~~~~~~~~~~~~^~~
/usr/include/ZXing/TextUtfEncoding.h:16:28: note: candidate: 'std::string ZXing::TextUtfEncoding::ToUtf8(std::wstring_view, bool)'
16 | [[deprecated]] std::string ToUtf8(std::wstring_view str, const bool angleEscape);
| ^~~~~~
/usr/include/ZXing/TextUtfEncoding.h:16:28: note: candidate expects 2 arguments, 1 provided
../src-gst_bad/ext/zxing/gstzxing.cpp:398:33: error: no matching function for call to 'ToUtf8(std::string)'
398 | TextUtfEncoding::ToUtf8 (result.text ()).c_str (), NULL);
| ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~
/usr/include/ZXing/TextUtfEncoding.h:15:28: note: candidate: 'std::string ZXing::TextUtfEncoding::ToUtf8(std::wstring_view)'
15 | [[deprecated]] std::string ToUtf8(std::wstring_view str);
| ^~~~~~ /usr/include/ZXing/TextUtfEncoding.h:15:53: note: no known conversion for argument 1 from 'std::string' {aka 'std::__cxx11::basic_string<char>'} to 'std::wstring_view' {aka 'std::basic_string_view<wchar_t>'} 15 | [[deprecated]] std::string ToUtf8(std::wstring_view str); | ~~~~~~~~~~~~~~~~~~^~~ /usr/include/ZXing/TextUtfEncoding.h:16:28: note: candidate: 'std::string ZXing::TextUtfEncoding::ToUtf8(std::wstring_view, bool)' 16 | [[deprecated]] std::string ToUtf8(std::wstring_view str, const bool angleEscape); | ^~~~~~
/usr/include/ZXing/TextUtfEncoding.h:16:28: note: candidate expects 2 arguments, 1 provided ../src-gst_bad/ext/webrtc/gstwebrtcbin.c: In function '_create_answer_task':
../src-gst_bad/ext/webrtc/gstwebrtcbin.c:3087:22: warning: unused variable 'last_mid' [-Wunused-variable]
3087 | const gchar last_mid =
| ^~~~~~~~
../src-gst_bad/ext/webrtc/gstwebrtcbin.c: In function 'on_rtpbin_pad_added':
../src-gst_bad/ext/webrtc/gstwebrtcbin.c:5205:24: warning: variable 'trans' set but not used [-Wunused-but-set-variable]
5205 | WebRTCTransceiver trans;
| ^~~~~
ninja: build stopped: subcommand failed.
make[2]: [../proton-ge-custom/Makefile.in:745: ~/pge-temp/proton-ge-custom/src/build/.gst_bad-build64] Error 1
make[2]: Leaving directory '~/pge-temp/proton-ge-custom/src/build'
make[1]: [../proton-ge-custom/Makefile.in:121: container-build] Error 2
make[1]: Leaving directory '~/pge-temp/proton-ge-custom/src/build'
make: ** [../proton-ge-custom/Makefile.in:32: nested_make] Error 2
==> ERROR: A failure occurred in build().
Aborting...
loathingkernel commented on 2023-01-17 20:33 (UTC) (edited on 2023-01-17 20:34 (UTC) by loathingkernel)
@mjevans because that is what Valve is using in their proton-experimental
branch https://github.com/ValveSoftware/Proton/tree/experimental_7.0 which is the upstream project.
GE won't assist you with the AUR package. They say so in their github page.
Either use GE's built packages, grab a built package for Arch from any source you find trustworthy (I have releases in the GitHub page I linked before, CachyOS and ChaoticAUR also package it), or build it in a clean CHROOT.
mjevans commented on 2023-01-17 20:24 (UTC)
Thinking about it more; why is Upstream Proton-GE using an outdated gstreamer build? They don't have issues as a github option, and I refuse to use discord, so I've no way of contacting them about the gstreamer monorepo
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/474
loathingkernel commented on 2023-01-17 19:59 (UTC) (edited on 2023-01-17 20:00 (UTC) by loathingkernel)
@mjevans No, you are wrong, yay
is a third party tool, not officially supported by Arch Linux, see the note about AUR helpers at the top of this wiki page https://wiki.archlinux.org/title/AUR_helpers
yay
indeed understands a package's requirements, what is outside of yay's control and my control is the libraries you have installed in your system and your system's management in general. The only one who can understand it is you.
Also see section 6 in this page about building from the AUR https://wiki.archlinux.org/title/Arch_User_Repository
and if the package is incompatible with one base library it is potentially incompatible with many others.
No, this is FUD. If the build process doesn't find zxing-cpp
in the system it won't try to link against it, therefore it won't ever require it or be "incompatible" with it. zxing-cpp
is not a base
library, it is a dependency of gst-plugins-bad
package from Arch, but since this package doesn't list gst-plugins-bad
in its dependencies, it won't be present in the clean CHROOT.
The packages you install in your system from official repositories are built in the same way, in clean CHROOTs.
mjevans commented on 2023-01-17 19:06 (UTC)
Yay, a package manager for ArchLinux that understands AUR packages, is building the package, following the package's requirements and directions.
If it's somehow supposed to be isolated / chrooted from packages installed on my system then that needs to be included in the PKGBUILD. I've no idea what might have installed zxing as a dependency but something else must have wanted it, and if the package is incompatible with one base library it is potentially incompatible with many others.
loathingkernel commented on 2023-01-17 04:19 (UTC) (edited on 2023-01-17 04:37 (UTC) by loathingkernel)
@mjevans, you should build it in a clean CHROOT. The configuration steps of the individual packages are trying to pick up libraries in your system that are not explicitly in the dependency tree of this package. Hence the breakage.
gst-plugins-bad submodule references this commit https://github.com/GStreamer/gst-plugins-bad/tree/5d07db447c33fe217a6c7f8a910307c236ce1674
mjevans commented on 2023-01-17 04:13 (UTC)
It hurts since it's such a big bundle of packages and a long compile time but I'll try again...
$ rm -rf ~/.cache/yay/proton-ge-custom/
$ yay -S proton-ge-custom
$ cd .cache/yay/proton-ge-custom/src/proton-ge-custom/gst-plugins-ugly/
$ git log -1
Nope, exactly the same problem.
Which repository version is gst-plugins-ugly supposed to be? git log says Release 1.18.6 Date: Wed Feb 2 15:07:08 2022 +0000 while local/zxing-cpp 2.0.0-1 is the package it's trying to link against.
Pinned Comments
loathingkernel commented on 2023-10-12 10:43 (UTC) (edited on 2023-10-12 10:45 (UTC) by loathingkernel)
@rekman, thank you for looking into CUDA issues, at least it gives me an idea on how to fix it. That being said, my position remains to build it in a clean chroot, away from the locally installed packages. It is not feasible for me to carry patches for the build systems of various subprojects in the long run.
By enabling the
0003-AUR-Remove-kaldi-openfst-vosk-api-modules-because-of
patch, you lose voice recognition which I assume is not that big of a loss as I haven't encountered a use for it, so I think it is an acceptable alternative.patlefort commented on 2022-09-22 00:33 (UTC)
Compilation will fail if you happen to have jwasm installed, due to vulkan loader. Workaround: uninstall jwasm or add this line to prepape() in the PKGBUILD:
sed -i 's/VULKAN_LOADER_CMAKE_ARGS = -DUSE_MASM=OFF/VULKAN_LOADER_CMAKE_ARGS = -DUSE_MASM=OFF -DJWASM_FOUND=0/' "$srcdir/$pkgname/Makefile.in"
loathingkernel commented on 2020-11-21 10:28 (UTC) (edited on 2022-09-13 10:55 (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
.If you are not using
CFLAGS
andCXXFLAGS
specific to your system this package won't offer much in terms of performance as the upstream build flags already target thenocona
(Core2) architecture. It will possibly perform worse than upstream. The only benefits you get is not depending onsteam linux runtime
as well as linking to Arch libraries. If you still want to build it, you can uncomment the relevant lines in thePKGBUILD
to enableCFLAGS
andCXXFLAGS
similar to the upstream.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
.