Package Details: azahar 1:2124.3-1

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: 19
Popularity: 4.08
First Submitted: 2025-03-16 23:06 (UTC)
Last Updated: 2026-01-29 14:19 (UTC)

Pinned Comments

HurricanePootis commented on 2025-03-19 19:46 (UTC)

If anyone has any comments about the package, please let me know!

Latest Comments

1 2 3 Next › Last »

asyync1024 commented on 2026-01-25 13:35 (UTC) (edited on 2026-01-25 14:47 (UTC) by asyync1024)

Hey, the prepare() is now redundant, see: https://github.com/azahar-emu/azahar/commit/254ab96b63d8c7bb0b22516b3c0a01968f1e115c Please remove it. Thanks!

asyync1024 commented on 2026-01-24 05:20 (UTC) (edited on 2026-01-24 14:35 (UTC) by asyync1024)

Hello. I noticed that your package generates a "tests" binary but never uses it, or disables it. Please use it using a check function, or turn it's compilation off. Thanks. You can see azahar-git package for an example of how they implemented it.

asyync1024 commented on 2026-01-20 12:26 (UTC) (edited on 2026-01-20 12:26 (UTC) by asyync1024)

Hey, I noticed some improvements that can be made to this package: 1. Don't use obfuccation for e-mail addresses, for example instead of xyz123@gmail.com you should do <xyz123 at gmail dot com>. 2. Use a more consistent syntax, some parts of your PKGBUILD use a variable format as follows: $pkgver whereas at some places you use ${pkgver}. I would recommend encapsulating all variable usage in the PKGBUILD with curly brackets.

Your PKGBUILD is still solid, these are only formatting improvements, to adhere better to the AUR guidelines. Hope this helps!

asyync1024 commented on 2025-10-19 06:44 (UTC)

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.

asyync1024 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.

asyync1024 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.