Package Details: pcsx2-avx-git 1.7.5720.r0.g6d8a906-1

Git Clone URL: https://aur.archlinux.org/pcsx2-avx-git.git (read-only, click to copy)
Package Base: pcsx2-avx-git
Description: Sony PlayStation 2 emulator
Upstream URL: https://github.com/PCSX2/pcsx2
Licenses: GPL-3.0-only, LGPL-3.0-only
Conflicts: pcsx2
Provides: pcsx2
Submitter: xiota
Maintainer: xiota
Last Packager: xiota
Votes: 1
Popularity: 0.21
First Submitted: 2023-12-13 14:14 (UTC)
Last Updated: 2024-04-20 14:33 (UTC)

Pinned Comments

xiota commented on 2024-01-24 03:02 (UTC) (edited on 2024-02-13 12:57 (UTC) by xiota)

Those interested in profile-guided optimization may try a time-consuming process.

  1. Make instrumented package:
    • Set environment variable or edit PKGBUILD: _build_instrumented=true
    • Resulting package: pcsx2-instrumented-avx-git
  2. Create raw profiles using instrumented package.
    • LLVM_PROFILE_FILE="default_%9m.profraw" pcsx2-qt
    • Use a "representative" sample of roms.
    • After 9 runs, profraw files will be overwritten.
  3. Process profiles:
    • llvm-profdata merge -output=pcsx2-avx-git.profdata *.profraw
  4. Rebuild package.
    • Put pcsx2-avx-git.profdata in same folder with PKGBUILD.
    • Look for message: "Compiling with profile-guided optimization."
    • Profile can be reused. Re-profile when there are too many "function control flow change" warnings.
    • Resulting package: pcsx2-avx-git

xiota commented on 2023-12-13 14:29 (UTC) (edited on 2024-01-24 02:57 (UTC) by xiota)

This package targets x86-64-v3 instructions. Performance benefit over standard builds is minimal because of dynamic dispatch.

  • Binaries available at aur.chaotic.cx

  • Avoid flagging and commenting at the same time for the same issue.

    • Flag for common issues with standard solutions, like submodule updates.
    • Comment for issues requiring explanation or debugging.
      • Use a pastebin for blocks of text more than a few lines.

Latest Comments

« First ‹ Previous 1 2 3 4 Next › Last »

xiota commented on 2024-03-26 20:27 (UTC)

/usr/bin/pcsx2-qt is a script. The real binary is at /opt/pcsx2/pcsx2-qt.

LarryDave commented on 2024-03-26 19:19 (UTC)

Not for me it isn't. Really don't know what I'm doing wrong at this point.

$ readelf -p .comment /usr/bin/pcsx2-qt
readelf: Error: /usr/bin/pcsx2-qt: Failed to read file header

xiota commented on 2024-03-24 01:28 (UTC)

@LarryDave I have no explanation for what you describe. The mold option is working.

$ readelf -p .comment /opt/pcsx2/pcsx2-qt

String dump of section '.comment':
  [     0]  clang version 17.0.6
  [    15]  mold 2.30.0 (c7f6a91da512ef8a2634a1bef5d4ba82104659fe; compatible with GNU ld)
  [    64]  GCC: (GNU) 13.2.1 20230801

LarryDave commented on 2024-03-23 10:47 (UTC)

I don't believe mold is being used in this package even when turned on. I tried again and removed mold from my makepkg.conf completely, just have _build_mold:=true and only one core is being utilized at 100%, whereas other packages use all cores at 100% when mold is in my makepkg.conf. It takes so long too.

lumenor2 commented on 2024-03-22 10:01 (UTC)

It was probably the amdonly-gaming-mesa and its lib32 packages that were affecting the build. Works with vanilla mesa and mesa-tkg.

lumenor2 commented on 2024-03-22 04:41 (UTC)

It worked!

lumenor2 commented on 2024-03-22 04:34 (UTC)

Let me try doing it in a fresh chroot as per the wiki

lumenor2 commented on 2024-03-22 04:31 (UTC)

@xiota i get the following when running makepkg -si in a freshly cloned repository:

[553/819] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/GS/GSCapture.cpp.o
FAILED: pcsx2/CMakeFiles/PCSX2.dir/GS/GSCapture.cpp.o 
/usr/bin/clang++ -DCPUINFO_SUPPORTED_PLATFORM=1 -DENABLE_OPENGL -DENABLE_VULKAN -DSOUNDTOUCH_FLOAT_SAMPLES -DST_NO_EXCEPTION_HANDLING -DWAYLAND_API -DX11_API -DXBYAK_NO_EXCEPTION -DZYCORE_STATIC_DEFINE -DZYDIS_STATIC_DEFINE -D_M_X86=1 -D__POSIX__ -I/home/al/rep/pcsx2-avx-git/src/pcsx2/pcsx2 -I/home/al/rep/pcsx2-avx-git/src/build/pcsx2 -I/home/al/rep/pcsx2-avx-git/src/build/common/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/xbyak -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/glad/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/vulkan-headers/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/glslang/glslang -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/glslang/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/jpgd -I/home/al/rep/pcsx2-avx-git/src/pcsx2/common/../3rdparty/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/common/.. -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/fmt/fmt/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/rapidyaml/rapidyaml/ext/c4core/src/c4/ext/fast_float/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/imgui/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/rapidyaml/rapidyaml/src -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/rapidyaml/rapidyaml/ext/c4core/src -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/libchdr/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/libzip/lib -I/home/al/rep/pcsx2-avx-git/src/build/3rdparty/libzip -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/cpuinfo/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/zydis/dependencies/zycore/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/zydis/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/cubeb/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/rcheevos/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/discord-rpc/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/rapidjson/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/soundtouch/soundtouch -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/demangler/include -I/home/al/rep/pcsx2-avx-git/src/pcsx2/3rdparty/simpleini/include -isystem /usr/include/SDL2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -march=x86-64-v3 -mtune=generic -O3 -DFMT_EXCEPTIONS=0 -O3 -DNDEBUG -std=gnu++20 -pipe -fvisibility=hidden -pthread -fno-rtti -fno-exceptions -g1 -Wall -Wextra -Wno-unused-function -Wno-unused-parameter -Wno-missing-field-initializers -ffp-contract=fast -fno-strict-aliasing -Wstrict-aliasing -Wno-parentheses -Wno-missing-braces -Wno-unknown-pragmas -Winvalid-pch -Xclang -include-pch -Xclang /home/al/rep/pcsx2-avx-git/src/build/pcsx2/CMakeFiles/PCSX2.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/al/rep/pcsx2-avx-git/src/build/pcsx2/CMakeFiles/PCSX2.dir/cmake_pch.hxx -MD -MT pcsx2/CMakeFiles/PCSX2.dir/GS/GSCapture.cpp.o -MF pcsx2/CMakeFiles/PCSX2.dir/GS/GSCapture.cpp.o.d -o pcsx2/CMakeFiles/PCSX2.dir/GS/GSCapture.cpp.o -c /home/al/rep/pcsx2-avx-git/src/pcsx2/pcsx2/GS/GSCapture.cpp
/home/al/rep/pcsx2-avx-git/src/pcsx2/pcsx2/GS/GSCapture.cpp:651:26: error: no member named 'channels' in 'AVCodecContext'
  651 |                 s_audio_codec_context->channels = AUDIO_CHANNELS;
      |                 ~  ^
/home/al/rep/pcsx2-avx-git/src/pcsx2/pcsx2/GS/GSCapture.cpp:693:26: error: no member named 'channel_layout' in 'AVCodecContext'
  693 |                 s_audio_codec_context->channel_layout = AV_CH_LAYOUT_STEREO;
      |                 ~  ^
/home/al/rep/pcsx2-avx-git/src/pcsx2/pcsx2/GS/GSCapture.cpp:741:28: error: no member named 'channels' in 'AVFrame'
  741 |                 s_converted_audio_frame->channels = AUDIO_CHANNELS;
      |                 ~  ^
/home/al/rep/pcsx2-avx-git/src/pcsx2/pcsx2/GS/GSCapture.cpp:742:28: error: no member named 'channel_layout' in 'AVFrame'
  742 |                 s_converted_audio_frame->channel_layout = s_audio_codec_context->channel_layout;
      |                 ~  ^
/home/al/rep/pcsx2-avx-git/src/pcsx2/pcsx2/GS/GSCapture.cpp:742:68: error: no member named 'channel_layout' in 'AVCodecContext'
  742 |                 s_converted_audio_frame->channel_layout = s_audio_codec_context->channel_layout;
      |                                                           ~  ^
5 errors generated.
[566/819] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/GS/GSState.cpp.o
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...

xiota commented on 2024-03-21 02:54 (UTC)

@lumenor2 I don't have that error. Have you tried building in a clean chroot?

lumenor2 commented on 2024-03-21 01:34 (UTC) (edited on 2024-03-21 01:34 (UTC) by lumenor2)

Getting the following when compiling with makepkg -fsi or paru:

FAILED: pcsx2/CMakeFiles/PCSX2.dir/GS/GSCapture.cpp.o 
/usr/bin/clang++ -DCPUINFO_SUPPORTED_PLATFORM=1 -DENABLE_OPENGL -DENABLE_VULKAN -DSOUNDTOUCH_FLOAT_SAMPLES -DST_NO_EXCEPTION_HANDLING -DWAYLAND_API -DX11_API -DXBYAK_NO_EXCEPTION -DZYCORE_STATIC_DEFINE -DZYDIS_STATIC_DEFINE -D_M_X86=1 -D__POSIX__ -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/pcsx2 -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/build/pcsx2 -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/build/common/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/xbyak -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/glad/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/vulkan-headers/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/glslang/glslang -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/glslang/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/jpgd -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/common/../3rdparty/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/common/.. -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/fmt/fmt/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/rapidyaml/rapidyaml/ext/c4core/src/c4/ext/fast_float/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/imgui/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/rapidyaml/rapidyaml/src -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/rapidyaml/rapidyaml/ext/c4core/src -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/libchdr/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/libzip/lib -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/build/3rdparty/libzip -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/cpuinfo/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/zydis/dependencies/zycore/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/zydis/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/cubeb/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/rcheevos/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/discord-rpc/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/rapidjson/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/soundtouch/soundtouch -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/demangler/include -I/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/3rdparty/simpleini/include -isystem /usr/include/SDL2 -pipe -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wp,-D_GLIBCXX_ASSERTIONS -flto=auto -march=x86-64-v3 -mtune=generic -O3 -DFMT_EXCEPTIONS=0 -O3 -DNDEBUG -std=gnu++20 -pipe -fvisibility=hidden -pthread -fno-rtti -fno-exceptions -g1 -Wall -Wextra -Wno-unused-function -Wno-unused-parameter -Wno-missing-field-initializers -ffp-contract=fast -fno-strict-aliasing -Wstrict-aliasing -Wno-parentheses -Wno-missing-braces -Wno-unknown-pragmas -Winvalid-pch -Xclang -include-pch -Xclang /home/al/.cache/paru/clone/pcsx2-avx-git/src/build/pcsx2/CMakeFiles/PCSX2.dir/cmake_pch.hxx.pch -Xclang -include -Xclang /home/al/.cache/paru/clone/pcsx2-avx-git/src/build/pcsx2/CMakeFiles/PCSX2.dir/cmake_pch.hxx -MD -MT pcsx2/CMakeFiles/PCSX2.dir/GS/GSCapture.cpp.o -MF pcsx2/CMakeFiles/PCSX2.dir/GS/GSCapture.cpp.o.d -o pcsx2/CMakeFiles/PCSX2.dir/GS/GSCapture.cpp.o -c /home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/pcsx2/GS/GSCapture.cpp
/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/pcsx2/GS/GSCapture.cpp:651:26: error: no member named 'channels' in 'AVCodecContext'
  651 |                 s_audio_codec_context->channels = AUDIO_CHANNELS;
      |                 ~  ^
/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/pcsx2/GS/GSCapture.cpp:693:26: error: no member named 'channel_layout' in 'AVCodecContext'
  693 |                 s_audio_codec_context->channel_layout = AV_CH_LAYOUT_STEREO;
      |                 ~  ^
/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/pcsx2/GS/GSCapture.cpp:741:28: error: no member named 'channels' in 'AVFrame'
  741 |                 s_converted_audio_frame->channels = AUDIO_CHANNELS;
      |                 ~  ^
/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/pcsx2/GS/GSCapture.cpp:742:28: error: no member named 'channel_layout' in 'AVFrame'
  742 |                 s_converted_audio_frame->channel_layout = s_audio_codec_context->channel_layout;
      |                 ~  ^
/home/al/.cache/paru/clone/pcsx2-avx-git/src/pcsx2/pcsx2/GS/GSCapture.cpp:742:68: error: no member named 'channel_layout' in 'AVCodecContext'
  742 |                 s_converted_audio_frame->channel_layout = s_audio_codec_context->channel_layout;
      |                                                           ~  ^
5 errors generated.
[138/377] Building CXX object pcsx2/CMakeFiles/PCSX2.dir/GS/Renderers/HW/GSTextureCache.cpp.o
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...