Signed-off-by: lizzie <lizzie@eden-emu.dev> Co-authored-by: crueter <crueter@eden-emu.dev> Reviewed-on: eden-emu/eden#2752 Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev> Reviewed-by: crueter <crueter@eden-emu.dev> Reviewed-by: MaranBr <maranbr@eden-emu.dev> Co-authored-by: lizzie <lizzie@eden-emu.dev> Co-committed-by: lizzie <lizzie@eden-emu.dev>
2.7 KiB
Caveats
Arch Linux
- httplib AUR package is broken. Set
httplib_FORCE_BUNDLED=ON
if you have it installed. - Eden is also available as an AUR package. If you are unable to build, either use that or compare your process to the PKGBUILD.
Gentoo Linux
Do not use the system sirit or xbyak packages.
macOS
macOS is largely untested. Expect crashes, significant Vulkan issues, and other fun stuff.
Solaris
Qt Widgets appears to be broken. For now, add -DENABLE_QT=OFF
to your configure command. In the meantime, a Qt Quick frontend is in the works--check back later!
This is needed for some dependencies that call cc directly (tz):
echo '#!/bin/sh' >cc
echo 'gcc $@' >>cc
chmod +x cc
export PATH="$PATH:$PWD"
Default MESA is a bit outdated, the following environment variables should be set for a smoother experience:
export MESA_GL_VERSION_OVERRIDE=4.6
export MESA_GLSL_VERSION_OVERRIDE=460
export MESA_EXTENSION_MAX_YEAR=2025
export MESA_DEBUG=1
export MESA_VK_VERSION_OVERRIDE=1.3
# Only if nvidia/intel drm drivers cause crashes, will severely hinder performance
export LIBGL_ALWAYS_SOFTWARE=1
- Modify the generated ffmpeg.make (in build dir) if using multiple threads (base system
make
doesn't use-j4
, so change forgmake
). - If using OpenIndiana, due to a bug in SDL2's CMake configuration, audio driver defaults to SunOS
<sys/audioio.h>
, which does not exist on OpenIndiana. Using external or bundled SDL2 may solve this. - System OpenSSL generally does not work. Instead, use
-DYUZU_USE_BUNDLED_OPENSSL=ON
to use a bundled static OpenSSL, or build a system dependency from source.
OpenBSD
After configuration, you may need to modify externals/ffmpeg/CMakeFiles/ffmpeg-build/build.make
to use -j$(nproc)
instead of just -j
.
-lc++-experimental
doesn't exist in OpenBSD but the LLVM driver still tries to link against it, to solve just symlink ln -s /usr/lib/libc++.a /usr/lib/libc++experimental.a
.
If clang has errors, try using g++-11
.
FreeBSD
Eden is not currently available as a port on FreeBSD, though it is in the works. For now, the recommended method of usage is to compile it yourself.
The available OpenSSL port (3.0.17) is out-of-date, and using a bundled static library instead is recommended; to do so, add -DYUZU_USE_BUNDLED_OPENSSL=ON
to your CMake configure command.
NetBSD
System provides a default g++-10
which doesn't support the current C++ codebase; install clang-19
with pkgin install clang-19
. Then build with cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_COMPILER=clang -B build
.
Make may error out when generating C++ headers of SPIRV shaders, hence it's recommended to use gmake
over the default system one.