I cannot use
knm
as a tune directive as it will probably impact performance on older systems negatively (I personally use a haswell processor still)
tune=knm
was just the last working architecture before my game crashed so I though it'd be a good default. I didn't really consider that people could still be using 10+ years CPUs in their desktop but here we are. I do think that x86_64_v3
would make sense though (that's what CachyOS chose as their baseline as well).
Using
-O3
doesn't make much sense either at this point.
Hm, I don't think I made it clear enough. Everything after #
is a comment, i.e. CLFLAGS="$CFLAGS -pipe"
would result in CLFLAGS="-O3 -march=native -pipe"
in my system. So if it does anything at all is irrelevant. The main takeaway is that I want my flags to be used.
This PKGBUILD will NEVER use the CFLAGS specified in
makepkg.conf
I don't want to waste time on random build or runtime failures.
I think that's the thing I disagree with. Using either tune=knm
or arch=native no-avx
builds just fine and if it doesn't (in the future) we can come back to this. We should also report it in that case. If you're instead talking about regressions ("proton-ge-custom-bin
runs this game but proton-ge-custom
doesn't") that's also easily fixed by just switching between the two. I think you're being overly cautious here. At least my understanding is (and Gentoo seems to agree with me) that you should build your packages with maximum performance in mind. Every demanding program I built myself and for everything else, I just get the bin.
but from my experience x86_64 with
avx
runs fine on myhaswell
I came to the same conclussion. AVX seems to work until tune=knm
.
Are saying that you had issues with
avx
on x86_64?
Yes, it crashes my game with tune=skylake-avx512
or higher.
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
.