Package Details: pcsx2-avx-git 2.3.1.r59.g73549038-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-or-later
Conflicts: pcsx2
Provides: pcsx2
Submitter: xiota
Maintainer: xiota
Last Packager: xiota
Votes: 2
Popularity: 0.020141
First Submitted: 2023-12-13 14:14 (UTC)
Last Updated: 2024-11-10 23:49 (UTC)

Required by (4)

Sources (3)

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 5 Next › Last »

xiota commented on 2024-04-01 11:14 (UTC)

@LarryDave I haven't tested for lost functionality after xz was removed. Maybe used for compression in cso or chd files. lz4 is a different compression algorithm. It's faster, but produces larger files, than xz.

The publicized backdoor affected systemd and sshd. Prioritize updating core packages before rebuilding lower risk packages.

LarryDave commented on 2024-04-01 08:37 (UTC)

I wonder what was xz even used for since there is also lz4 in the repo, which I've been using for years. Much better than xz imo. Hopefully whatever the usage was can be replaced with lz4.

And if it was at all possible to perhaps infect us through PCSX2 cause of xz?

xiota commented on 2024-03-30 21:12 (UTC)

For more info about xz vulnerability: https://tukaani.org/xz-backdoor/

From what I can tell, source tarballs on GitHub released by Jia Tan were affected. The git repo itself was not affected. Consequently, old builds of PCSX2, which used the git repo, should not be affected. However, it may be worth rebuilding after updating everything else.

xiota commented on 2024-03-27 12:04 (UTC)

I'm unable to check core usage, but after rebuilding this package with different settings, mold seems to be only slightly faster than lld. However, linking is very fast when LTO is disabled. Perhaps LTO is disabled in your makepkg.conf.

LarryDave commented on 2024-03-27 06:30 (UTC)

Huh, indeed, interesting.

$ 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

But then why doesn't it use all cores like all other apps built with mold during the "Linking CXX..." process but only uses one core and takes over a minute?

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.