Package Details: eden-git 1:0.2.0.r24.g24dc383-1

Git Clone URL: https://aur.archlinux.org/eden-git.git (read-only, click to copy)
Package Base: eden-git
Description: Nintendo Switch emulator forked from yuzu.
Upstream URL: https://eden-emulator.github.io/
Keywords: eden emulator nintendo switch yuzu
Licenses: GPL-3.0-or-later
Conflicts: eden, eden-beta, eden-bin, eden-preview-bin
Provides: eden
Submitter: username227
Maintainer: username227 (HurricanePootis)
Last Packager: username227
Votes: 16
Popularity: 3.20
First Submitted: 2025-05-14 23:18 (UTC)
Last Updated: 2026-05-21 01:14 (UTC)

Latest Comments

« First ‹ Previous 1 .. 3 4 5 6 7 8 9 Next › Last »

username227 commented on 2025-08-04 16:35 (UTC)

OK thanks! I've been working on this a lot this morning. I did a test build using the readme method on a more bare-bones arch machine and games do seem to open properly using that method. Therefore, i made the preliminary conclusion that there's something about my package that no longer agrees with the latest commit and is causing issues.

I did a lot of tests, including taking out most of the options in cmake to make it as close to your readme as possible, and I still have the issue.

The good news is that I think I got a build working using ninja/gcc without clang, had to play with the linker options a bit, but that's promising. But even that method still has this problem. I'll keep working on it, including removing dynarmic dependency, and see if that helps, and I'll wait to see what you get as well. thanks for your help.

crueter commented on 2025-08-04 15:47 (UTC) (edited on 2025-08-04 15:55 (UTC) by crueter)

There were indeed a few regressions re: packaging, which I fixed in a PR, awaiting CI and review from other maintainers. Once that PR gets merged and I can test on my Arch machine, I'll send a proper working PKGBUILD that built properly in a VM.

Additionally, our dynarmic is no longer vendored and is entirely in-house, so dynarmic dependency isn't needed (fixed in my pkgbuild pending tests)

username227 commented on 2025-08-04 13:40 (UTC)

OK. I am working on an amended pkgbuild. I am able to get it to build now without all those submodules. It conflicts with dynarmic because of duplicate files, so I added it to depends and removed the conflicting files. However, the built program won't launch any games. I don't know if it's on my end or yours, but here's my pkgbuild, if someone can figure out why it won't launch any games, that would be very helpful. I've run into this problem in the past with other yuzu forks, and it had something to do with spirv, but i'm not sure if that's what's going on here.

# Maintainer: gfrank227 [at] gmail [dot] com
# Maintainer: HurricanePootis <hurricanepootis@protonmail.com>
# Contributor: rcf <ryan.farley@gmx.com>
_pkgname=eden
pkgname=$_pkgname-git
epoch=1
pkgver=0.0.2.r266.g51b170b
pkgrel=1
pkgdesc="Nintendo Switch emulator forked from yuzu."
arch=(x86_64)
url=https://eden-emulator.github.io/
license=('GPL-3.0-or-later')
provides=('eden')
conflicts=('eden')
depends=('enet' 'fmt' 'opus' 'quazip-qt6' 'libusb' 'libva' 'qt6-webengine' 'brotli' 'speexdsp' 'hicolor-icon-theme' 'qt6-base' 'zydis' 'sdl2' 'gcc-libs' 'lz4' 'zlib' 'openssl' 'zstd' 'glibc' 'boost-libs' 'libvdpau' 'libx11' 'libdrm')
makedepends=('git' 'cmake' 'dynarmic' 'catch2' 'wireless_tools' 'nlohmann-json' 'vulkan-headers' 'vulkan-utility-libraries' 'clang' 'llvm' 'gamemode' 'renderdoc' 'lld' 'ninja' 'boost' 'qt6-multimedia' 'qt6-tools' 'nasm' 'opencl-headers' 'doxygen')
optdepends=('gamemode: Gamemoded support')
options=('!debug' 'lto')
source=("git+https://git.eden-emu.dev/eden-emu/eden.git")
sha256sums=('SKIP')
pkgver() {
    cd "$srcdir/$_pkgname"
    git describe --long --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/.pre.alpha//g'
}
build() {
    cd "$srcdir"
    cmake -B build -S $_pkgname -GNinja \
        -DCMAKE_INSTALL_PREFIX=/usr \
        -DCMAKE_BUILD_TYPE=None \
        -DCMAKE_CXX_COMPILER=clang++ \
        -DCMAKE_C_COMPILER=clang \
        -DCMAKE_C_FLAGS="$CFLAGS -flto=thin -DNDEBUG" \
        -DCMAKE_CXX_FLAGS="$CXXFLAGS -flto=thin -DNDEBUG" \
        -DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -fuse-ld=lld" \
        -DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -fuse-ld=lld" \
        -DUSE_DISCORD_PRESENCE=ON \
        -DYUZU_CHECK_SUBMODULES=OFF \
        -DYUZU_ENABLE_LTO=OFF \
        -DYUZU_USE_EXTERNAL_VULKAN_HEADERS=OFF \
        -DYUZU_USE_EXTERNAL_VULKAN_UTILITY_LIBRARIES=OFF \
        -DYUZU_USE_BUNDLED_FFMPEG=OFF \
        -DYUZU_USE_BUNDLED_VCPKG=OFF \
        -DYUZU_USE_EXTERNAL_VULKAN_SPIRV_TOOLS=ON \
        -DYUZU_USE_BUNDLED_SDL2=OFF \
        -DYUZU_USE_EXTERNAL_SDL2=OFF \
        -DYUZU_USE_BUNDLED_QT=OFF \
        -DENABLE_QT_TRANSLATION=ON \
        -DYUZU_USE_QT_MULTIMEDIA=ON \
        -DYUZU_USE_QT_WEB_ENGINE=ON \
        -DTITLE_BAR_FORMAT_RUNNING="eden | ${pkgver} {}" \
        -DTITLE_BAR_FORMAT_IDLE="eden ${pkgver} {}" \
        -DLLVM_DIR="/usr/lib/cmake/llvm" \
        -DYUZU_TESTS=OFF
    cmake --build build
}
package() {
    cd "$srcdir"
    DESTDIR="$pkgdir/" cmake --install build
    install -Dm644 "$srcdir/$_pkgname/dist/72-yuzu-input.rules" "$pkgdir/usr/lib/udev/rules.d/72-eden-input.rules"
    cd "$srcdir/$_pkgname/LICENSES"
    for file in *.txt;
    do
        install -Dm644 $file "$pkgdir/usr/share/licenses/$pkgname/$file"
    done
    rm -rf $pkgdir/usr/include/dynarmic
    rm -rf $pkgdir/usr/lib/cmake/dynarmic
}

crueter commented on 2025-08-04 05:36 (UTC)

CPM has been merged, so all the submodules can go.

Also, the catch2 package is only needed if you're building tests.

username227 commented on 2025-08-01 16:30 (UTC)

the thing about clang is that it works flawlessly. when I remove clang and switch to gcc/g++, I get an error that the program cannot compile a simple test program.

username227 commented on 2025-08-01 01:13 (UTC)

ffmpeg has already been removed. I'm testing and will remove SDL now. Not having submodules is great news. The submodules really mess up some AUR helpers on development packages, causing the helpers (such as paru) to think there's a rebuild needed when there isn't. So that's a very good development!

crueter commented on 2025-08-01 00:08 (UTC) (edited on 2025-08-01 00:20 (UTC) by crueter)

SDL submodule is no longer needed, as it is now managed by CPM. Everything else except libusb will also be moved to CPM sometime after RC3, so in theory this shouldn't need any submodules at all.

robin-map is also not used anymore, and biscuit is only for riscv64 targets (and untested at that, at least until I receive my dev board)

As for CPM, when that PR gets merged, you can use the system packages for cpp-*, zy*, Vulkan*, boost-headers, cubeb, opus, and SPIRV headers. Everything there works on a Gentoo system with ~2 week old packages, so Arch should be fine. In the meantime I do recommend only conditionally including biscuit and getting rid of robin-map.

Furthermore, looking through the PKGBUILD, external Vulkan stuff is duplicated, and there is no need to compile with clang unless the user requests it, all CI and testing is generally done with GCC.

crueter commented on 2025-07-29 06:06 (UTC) (edited on 2025-07-29 06:06 (UTC) by crueter)

@cwee, you can also set -DYUZU_USE_EXTERNAL_VULKAN_HEADERS=ON to use a vendored, known-working version of the headers. Shouldn't add to compile time, my testing yielded negligible changes thereof.

Meanwhile...

Many users have reported consistent issues on our AppImage due to issues caused by Qt 6.9.1 and Wayland, ranging from dramatic performance drops to cryptic untraceable error logs to black screens and more. On the AppImage side, I already enforced the xcb platform which solves basically all of these issues, but I'm not sure what to do here.

Could be as simple as a message saying that Wayland is unsupported or broken on install. Or maybe I could add a message if the Qt platform is detected as Wayland...

cwee commented on 2025-07-26 22:54 (UTC)

needed to add vulkan-headers to makedepends to solve a build error:

[1354/2204] Building CXX object src/video_core/CMakeFiles/video_core.dir/renderer_vulkan/vk_swapchain.cpp.o
FAILED: src/video_core/CMakeFiles/video_core.dir/renderer_vulkan/vk_swapchain.cpp.o
/usr/bin/clang++ -DARCHITECTURE_x86_64=1 -DFMT_SHARED -DNDEBUG -DYUZU_ROOM -DYUZU_UNIX=1 -D_FILE_OFFSET_BITS=64 -I/home/user/.cache/paru/clone/eden-git/src/eden/src/. -I/home/user/.cache/paru/clone/eden-git/src/build/src/video_core/host_shaders/include -I/home/user/.cache/paru/clone/eden-git/src/eden/externals/boost-headers/include -I/home/user/.cache/paru/clone/eden-git/src/eden/externals/./microprofile -I/home/user/.cache/paru/clone/eden-git/src/eden/externals/./stb -I/
home/user/.cache/paru/clone/eden-git/src/eden/externals/glad/include -I/home/user/.cache/paru/clone/eden-git/src/eden/externals/sirit/src/../include -I/home/user/.cache/paru/clone/eden-git/src/eden/externals/sirit/externals/SPIRV-Headers/include -I/home/user/.cache/paru/clone/eden-git/src/eden/externals/./bc_decoder -I/home/user/.cache/paru/clone/eden-git/src/eden/externals/VulkanMemoryAllocator/include -I/home/user/.cache/paru/clone/eden-git/src/eden/externals/xbyak -I/h
ome/user/.cache/paru/clone/eden-git/src/eden/externals/dynarmic/src/dynarmic/.. -march=x86-64 -mtune=generic -O2 -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 -flto=thin -DNDEBUG -std=gnu++20 -fwrapv -Werror=all -Werror=extra -Werror=missing-declarations -Werror=shadow -Werror=unus
ed -Wno-attributes -Wno-invalid-offsetof -Wno-unused-parameter -Wno-missing-field-initializers -Wno-braced-scalar-init -Wno-unused-private-field -Wno-nullability-completeness -Werror=shadow-uncaptured-local -Werror=implicit-fallthrough -Werror=type-limits -mcx16 -Werror=conversion -Wno-sign-conversion -msse4.1 -Winvalid-pch -Xclang -include-pch -Xclang /home/user/.cache/paru/clone/eden-git/src/build/src/video_core/CMakeFiles/video_core.dir/cmake_pch.hxx.pch -Xclang -inclu
de -Xclang /home/user/.cache/paru/clone/eden-git/src/build/src/video_core/CMakeFiles/video_core.dir/cmake_pch.hxx -MD -MT src/video_core/CMakeFiles/video_core.dir/renderer_vulkan/vk_swapchain.cpp.o -MF src/video_core/CMakeFiles/video_core.dir/renderer_vulkan/vk_swapchain.cpp.o.d -o src/video_core/CMakeFiles/video_core.dir/renderer_vulkan/vk_swapchain.cpp.o -c /home/user/.cache/paru/clone/eden-git/src/eden/src/video_core/renderer_vulkan/vk_swapchain.cpp
In file included from /home/user/.cache/paru/clone/eden-git/src/eden/src/video_core/renderer_vulkan/vk_swapchain.cpp:15:
In file included from /home/user/.cache/paru/clone/eden-git/src/eden/src/./video_core/vulkan_common/vk_enum_string_helper.h:8:
/usr/include/vulkan/vk_enum_string_helper.h:1751:14: error: use of undeclared identifier 'VK_STRUCTURE_TYPE_TENSOR_CREATE_INFO_ARM'
 1751 |         case VK_STRUCTURE_TYPE_TENSOR_CREATE_INFO_ARM:
      |              ^

...

fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
[1375/2204] Building CXX object src/video_core/CMakeFiles/video_core.dir/renderer_vulkan/vk_rasterizer.cpp.o
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...
error: failed to build 'eden-git-1:0.0.2.r188.g7db5eb8-1':
checking dependencies...

username227 commented on 2025-07-22 12:00 (UTC)

@crueter thank you! that makes me happy. ffmpeg is very large and definitely adds to build time.