I did some benchmarks for lld and mold with the same PKGBUILD. And mold was only 5 seconds faster. I guess it doesn't really matter which linker to use in this case. It's purely your call.
Search Criteria
Package Details: azahar 1:2123.3-2
Package Actions
| Git Clone URL: | https://aur.archlinux.org/azahar.git (read-only, click to copy) |
|---|---|
| Package Base: | azahar |
| Description: | An open-source 3DS emulator project based on Citra. |
| Upstream URL: | https://github.com/azahar-emu/azahar |
| Licenses: | GPL-2.0-or-later |
| Submitter: | HurricanePootis |
| Maintainer: | HurricanePootis |
| Last Packager: | HurricanePootis |
| Votes: | 11 |
| Popularity: | 0.34 |
| First Submitted: | 2025-03-16 23:06 (UTC) |
| Last Updated: | 2025-10-11 18:41 (UTC) |
Dependencies (28)
- crypto++ (crypto++-gitAUR)
- fmt (fmt-gitAUR)
- gcc-libs (gcc-libs-gitAUR, gccrs-libs-gitAUR, gcc-libs-snapshotAUR)
- glibc (glibc-gitAUR, glibc-eacAUR)
- glslang (glslang-gitAUR)
- hicolor-icon-theme (hicolor-icon-theme-gitAUR)
- libusb (libusb-gitAUR)
- openal (openal-gitAUR)
- openssl (openssl-gitAUR, openssl-aegisAUR, openssl-staticAUR)
- qt6-base (qt6-base-gitAUR, qt6-base-headlessAUR, qt6-base-hifpsAUR, qt6-base-scrollfixAUR, qt6-base-scrollfixAUR, qt6-xcb-private-headers-scrollfixAUR, qt6-xcb-private-headers-scrollfixAUR)
- qt6-multimedia
- sdl2AUR (sdl2-compat-gitAUR, sdl2-gitAUR, sdl2-compat)
- soundtouch (soundtouch-gitAUR)
- zydis (zydis-gitAUR)
- catch2 (catch2-gitAUR) (make)
- clang (llvm-gitAUR, clang-minimal-gitAUR, clang17-binAUR) (make)
- cmake (cmake3AUR, cmake-gitAUR) (make)
- doxygen (doxygen-gitAUR) (make)
- ffmpeg4.4 (make)
- graphviz (make)
- Show 8 more dependencies...
Required by (0)
Sources (1)
LinuxLover471 commented on 2025-10-19 06:44 (UTC)
LinuxLover471 commented on 2025-10-12 04:39 (UTC)
@HurricanePootis
But if Clang is used for compiling then Mold should automatically use the LTO plugin provided by clang, right? Which means it should improve the raw linking time, if not the LTO time.
HurricanePootis commented on 2025-10-11 17:47 (UTC)
@LinuxLover471
I'm not using Mold because Mold just uses GCC's lto plugin for linking, thus keeping the same link times. Furthermore, Clang + lld is usually faster forst most people out there.
speedyturtle commented on 2025-10-11 14:20 (UTC) (edited on 2025-10-11 14:24 (UTC) by speedyturtle)
I can replicate sim590's error message:
/home/username/.cache/yay/azahar/src/azahar-unified-source-2123.3/src/citra_qt/bootmanager.cpp:42:10: fatal error: 'qpa/qplatformnativeinterface.h' file not found
42 | #include <qpa/qplatformnativeinterface.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[1052/1067] Building CXX object src/citra_qt/CMakeFiles/citra_qt.dir/citra_qt.cpp.o
ninja: build stopped: subcommand failed.
I can verify I have the header on my system:
find /usr/include -name qplatformnativeinterface.h
/usr/include/qt6/QtGui/6.10.0/QtGui/qpa/qplatformnativeinterface.h
/usr/include/qt/QtGui/5.15.17/QtGui/qpa/qplatformnativeinterface.h
sim590 commented on 2025-10-11 11:43 (UTC)
Compiling against qt6-base 6.10.0 now yields this error message:
FAILED: src/citra_qt/CMakeFiles/citra_qt.dir/bootmanager.cpp.o
/usr/bin/clang++ -DBOOST_ALL_NO_LIB -DBOOST_ASIO_DISABLE_CONCEPTS -DBOOST_DATE_TIME_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_NO_CXX98_FUNCTION_BASE -DBOOST_REGEX_NO_LIB -DBOOST_SYSTEM_NO_LIB -DENABLE_OPENGL -DENABLE_QT -DENABLE_QT_TRANSLATION -DENABLE_ROOM -DENABLE_SCRIPTING -DENABLE_SDL2 -DENABLE_SOFTWARE_RENDERER -DENABLE_VULKAN -DENABLE_WEB_SERVICE -DFMT_SHARED -DHAVE_CUBEB -DHAVE_OPENAL -DHAVE_SDL2 -DMICROPROFILE_ENABLED=0 -DNDEBUG -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB -DQT_GUI_LIB -DQT_MULTIMEDIA_LIB -DQT_NETWORK_LIB -DQT_NO_CAST_FROM_ASCII -DQT_NO_CAST_TO_ASCII -DQT_NO_DEBUG -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_PROCESS_COMBINED_ARGUMENT_START -DQT_NO_URL_CAST_FROM_STRING -DQT_USE_QSTRINGBUILDER -DQT_WIDGETS_LIB -DUSE_DISCORD_PRESENCE -D_FILE_OFFSET_BITS=64 -I/home/simon/abs/azahar/src/build/src/citra_qt -I/home/simon/abs/azahar/src/azahar-unified-source-2123.3/src/citra_qt -I/home/simon/abs/azahar/src/build/src/citra_qt/citra_qt_autogen/include -I/home/simon/abs/azahar/src/azahar-unified-source-2123.3/src/. -I/usr/include/SDL2 -I/home/simon/abs/azahar/src/azahar-unified-source-2123.3/externals/./microprofile -I/home/simon/abs/azahar/src/azahar-unified-source-2123.3/externals/boost -I/home/simon/abs/azahar/src/azahar-unified-source-2123.3/externals/./dds-ktx -I/home/simon/abs/azahar/src/azahar-unified-source-2123.3/externals/xbyak -I/home/simon/abs/azahar/src/azahar-unified-source-2123.3/externals/./nihstro/include -I/home/simon/abs/azahar/src/azahar-unified-source-2123.3/externals/glad/include -I/home/simon/abs/azahar/src/azahar-unified-source-2123.3/externals/gamemode/include -I/home/simon/abs/azahar/src/azahar-unified-source-2123.3/externals/./discord-rpc/include -isystem /usr/include/ffmpeg4.4 -isystem /usr/include/qt6/QtWidgets -isystem /usr/include/qt6 -isystem /usr/include/qt6/QtCore -isystem /usr/lib/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtGui -isystem /usr/include/qt6/QtMultimedia -isystem /usr/include/qt6/QtNetwork -isystem /usr/include/qt6/QtConcurrent -isystem /usr/include/qt6/QtDBus -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 -g -ffile-prefix-map=/home/simon/abs/azahar/src=/usr/src/debug/azahar -flto=thin -DNDEBUG -std=gnu++20 -fvisibility=default -Wall -Wno-unused-command-line-argument -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -fstack-clash-protection -Werror -w -Wno-invalid-specialization -fno-direct-access-external-data -MD -MT src/citra_qt/CMakeFiles/citra_qt.dir/bootmanager.cpp.o -MF src/citra_qt/CMakeFiles/citra_qt.dir/bootmanager.cpp.o.d -o src/citra_qt/CMakeFiles/citra_qt.dir/bootmanager.cpp.o -c /home/simon/abs/azahar/src/azahar-unified-source-2123.3/src/citra_qt/bootmanager.cpp
/home/simon/abs/azahar/src/azahar-unified-source-2123.3/src/citra_qt/bootmanager.cpp:42:10: fatal error: 'qpa/qplatformnativeinterface.h' file not found
42 | #include <qpa/qplatformnativeinterface.h>
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
[1124/1176] Building CXX object src/citra_qt/CMakeFiles/citra_qt.dir/citra_qt.cpp.o
ninja: build stopped: subcommand failed.
To circumvent this error, I had to make symlink like so:
/usr/include/qt6/QtGui/qpa -> /usr/include/qt6/QtGui/6.10.0/QtGui/qpa
I'm not sure where the problem is. I don't think that -DCMAKE_INCLUDE_PATH should have the qt package version as an argument. I don't know what to suggest to fix that.
LinuxLover471 commented on 2025-10-08 10:37 (UTC)
Hey, I hope that you are doing fine.
I wanted to ask why is the build using clang, and lld? For my PC (Which is very old and weak), gcc actually compiles faster (approx 7mins) with Full LTO than clang with Full LTO (Only clang supports thin-lto, but I doubt thin lto will make a difference, as gcc already compiles faster in Full LTO). As much as I know, upstream doesn't recommend either compiler.
As for the linker, I recommend using mold. Mold is very reliable (I use it as a daily driver) and faster than lld. I have compiled azahar multiple times with mold.
You can keep clang, (although I urge to use gcc by default) I would HIGHLY recommend to use mold, thanks.
HurricanePootis commented on 2025-09-08 11:29 (UTC)
@Halowood
You can track the status of your bug here. In the meantime, I have forced X11 usage on this app for now.
Halowood commented on 2025-09-06 02:39 (UTC)
@HurricanePootis Sure, I've double checked all settings are the same between both azahar instances. I'm running
OS: CachyOS KERNEL: 6.16.2-2-cachyos with KDE Plasma for my DE and KWin for my Walyand WM. Here's a recording of it happening.
HurricanePootis commented on 2025-09-02 06:52 (UTC)
@Halowood I am unable to reproduce this bug.
Can you provide more information?
Halowood commented on 2025-09-02 06:36 (UTC)
Crashes if trying to use "Seperate Windows" view, no such issue using this view with the appimage from the official github repo.
Pinned Comments
HurricanePootis commented on 2025-03-19 19:46 (UTC)
If anyone has any comments about the package, please let me know!