Package Details: shadps4-git 0.5.0.r78.g4e0757ed5-1

Git Clone URL: https://aur.archlinux.org/shadps4-git.git (read-only, click to copy)
Package Base: shadps4-git
Description: Sony PlayStation 4 emulator
Upstream URL: https://shadps4.net/
Keywords: console emulation emulator game playstation sony
Licenses: GPL-2.0-or-later
Conflicts: shadps4
Provides: shadps4
Submitter: abouvier
Maintainer: abouvier
Last Packager: abouvier
Votes: 13
Popularity: 2.94
First Submitted: 2024-06-27 16:10 (UTC)
Last Updated: 2025-01-01 22:38 (UTC)

Dependencies (43)

Required by (0)

Sources (7)

Pinned Comments

abouvier commented on 2024-10-10 22:47 (UTC) (edited on 2024-10-13 04:36 (UTC) by abouvier)

Data previously stored in ~/.local/share/shadps4/user are now searched in ~/.local/share/shadPS4

Latest Comments

1 2 3 4 5 Next › Last »

username227 commented on 2025-01-01 16:12 (UTC)

OK so I finally understand what is going on, but I don't understand why.

The error I mentioned only occurs when I build in a clean chroot. It builds fine but won't open. When I add !buildflags to the options and build in a chroot, then the program WILL open but games will not start.

When I build outside of a chroot with just a simple makepkg command, then the !makeflags option is not necessary and as long as I use clang like you suggested, it works perfectly. This is quite unusual in my experience. There must be some sort of dependency or makedepends that is missing from the pkgbuild but is present on my system.

username227 commented on 2025-01-01 15:31 (UTC)

@rharish, when I build it your way, i cannot open the program. I get this error: shadps4: symbol lookup error: shadps4: undefined symbol: _ZN3fmt3v116detail10vformat_toERNS1_6bufferIcEENS0_17basic_string_viewIcEENS0_17basic_format_argsINS0_7contextEEENS1_10locale_refE

If I build it my way, I can open the program properly but cannot run games properly. If I build it manually the dev's way then it works. not sure why.

rharish commented on 2024-12-31 20:13 (UTC)

Hi, I can build shadPS4 properly (and it runs well) if I use Clang instead of GCC. Here is the diff with the current PKGBUILD to get it to run properly (I also removed cubeb since upstream removed this audio backend):

diff --git a/PKGBUILD b/PKGBUILD
index c4687d7..f12e71a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -19,7 +19,7 @@ depends=(
 makedepends=(
    'boost>=1.84'
    'cmake>=3.16.3'
-   'cubeb'
+   'clang'
    'ffmpeg>=2:5.1.2'
    'fmt>=10.2'
    'git'
@@ -87,6 +87,8 @@ build() {
    cmake -B build -S $_pkgname \
        -DCMAKE_BUILD_TYPE=Release \
        -DCMAKE_C_FLAGS_RELEASE="-DNDEBUG" \
+       -DCMAKE_CXX_COMPILER=clang++ \
+       -DCMAKE_C_COMPILER=clang \
        -DCMAKE_CXX_FLAGS_RELEASE="-DNDEBUG" \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_SKIP_INSTALL_RPATH=ON \
@@ -102,7 +104,6 @@ package() {
        'libavcodec.so'
        'libavformat.so'
        'libavutil.so'
-       'libcubeb.so'
        'libfmt.so'
        'libpng16.so'
        'libswresample.so'

username227 commented on 2024-12-31 16:21 (UTC)

OK I was able to my own pkgbuild working again. It was building properly but not executing properly due to changes in the buildflags. My personal pkgbuild is here and it works and builds fine on arch. Posting here just in case anybody is interested.

C0rn3j commented on 2024-12-31 15:31 (UTC)

the third way is your pkgbuild

Note that this PKGBUILD is not managed by me.

I also have my own pkgbuild, and with my pkgbuild it also builds fine

Diff it and see what causes the issue, then add that to the upstream report - I made one just now here - https://github.com/shadps4-emu/shadPS4/issues/1994

It does look like cubeb backend was removed 4 hours ago, so that can be dropped from this PKGBUILD.

username227 commented on 2024-12-31 15:20 (UTC)

No, it's something package related. I have tried building three ways. If I follow the instructions upstream, it builds perfectly. I also have my own pkgbuild, and with my pkgbuild it also builds fine, but i'm getting an error on execution which must be package related but haven't figured out what the problem is. And the third way is your pkgbuild which doesn't build at all. Here is add'l info: In file included from /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/video_core/amdgpu/liverpool.h:25, from /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/video_core/renderer_vulkan/vk_presenter.h:8, from /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/imgui/renderer/imgui_core.cpp:17: /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/video_core/amdgpu/resource.h: In function ‘AmdGpu::CompMapping AmdGpu::RemapComponents(DataFormat, CompMapping)’: /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/video_core/amdgpu/resource.h:88:9: error: could not convert ‘{components.AmdGpu::CompMapping::b, components.AmdGpu::CompMapping::g, components.AmdGpu::CompMapping::r, components.AmdGpu::CompMapping::a}’ from ‘<brace-enclosed initializer list>’ to ‘AmdGpu::CompMapping’ 88 | }; | ^ | | | <brace-enclosed initializer list> /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/video_core/amdgpu/resource.h:96:9: error: could not convert ‘{components.AmdGpu::CompMapping::a, components.AmdGpu::CompMapping::b, components.AmdGpu::CompMapping::g, components.AmdGpu::CompMapping::r}’ from ‘<brace-enclosed initializer list>’ to ‘AmdGpu::CompMapping’ 96 | }; | ^ | | | <brace-enclosed initializer list> /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/video_core/amdgpu/liverpool.h: At global scope: /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/video_core/amdgpu/liverpool.h:892:34: error: declaration of ‘AmdGpu::DataFormat AmdGpu::Liverpool::ColorBuffer::DataFormat() const’ changes meaning of ‘DataFormat’ [-Wchanges-meaning] 892 | [[nodiscard]] DataFormat DataFormat() const { | ^~ /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/video_core/amdgpu/liverpool.h:892:23: note: used here to mean ‘enum class AmdGpu::DataFormat’ 892 | [[nodiscard]] DataFormat DataFormat() const { | ^~ In file included from /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/video_core/amdgpu/liverpool.h:23: /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/video_core/amdgpu/types.h:117:12: note: declared here 117 | enum class DataFormat : u32 {

C0rn3j commented on 2024-12-31 15:15 (UTC)

That's a warning, the build error is above that and should have nothing to do with this package, report it upstream.

username227 commented on 2024-12-31 15:03 (UTC) (edited on 2024-12-31 15:03 (UTC) by username227)

getting build error: make[2]: *** [CMakeFiles/shadps4.dir/build.make:270: CMakeFiles/shadps4.dir/src/imgui/renderer/imgui_core.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/qt_gui/settings_dialog.cpp: In constructor ‘SettingsDialog::SettingsDialog(std::span<const QString>, std::shared_ptr<CompatibilityInfoClass>, QWidget*)’: /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/qt_gui/settings_dialog.cpp:153:62: warning: ‘void QCheckBox::stateChanged(int)’ is deprecated: Use checkStateChanged() instead [-Wdeprecated-declarations] 153 | connect(ui->enableCompatibilityCheckBox, &QCheckBox::stateChanged, this, this { |
In file included from /usr/include/qt6/QtWidgets/QCheckBox:1, from /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/qt_gui/cheats_patches.h:7, from /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/qt_gui/gui_context_menus.h:13, from /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/qt_gui/game_list_frame.h:16, from /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/qt_gui/elf_viewer.h:9, from /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/qt_gui/main_window.h:16, from /home/jerry/.cache/paru/clone/shadps4-git/src/shadps4/src/qt_gui/settings_dialog.cpp:21: /usr/include/qt6/QtWidgets/qcheckbox.h:41:10: note: declared here 41 | void stateChanged(int); |
make[1]: *** [CMakeFiles/Makefile2:350: CMakeFiles/shadps4.dir/all] Error 2 make: *** [Makefile:136: all] Error 2 ==> ERROR: A failure occurred in build(). Aborting... error: failed to build 'shadps4-git-0.5.0.r22.g333f35ef2-1': error: packages failed to build: shadps4-git-0.5.0.r22.g333f35ef2-1

C0rn3j commented on 2024-12-25 17:24 (UTC)

@Dlay the package has sdl3 as a dependency, I suggest giving https://wiki.archlinux.org/title/Arch_User_Repository a read

Dlay commented on 2024-12-25 00:58 (UTC) (edited on 2024-12-25 01:02 (UTC) by Dlay)

Missing dependencies==> -> sdl3>=1:3.1.3

latest garuda linux with all updates