Commit graph

335 commits

Author SHA1 Message Date
OpenSauce04 5bc58c78ed OpenBSD build fixes
- Specify OpenBSD's X11 include directory
- Add OpenBSD-specific linker flag to allow W|X
2026-04-19 13:37:26 +01:00
PabloMK7 336d871a7f
core: Add CMAKE option to disable built-in keyblob (#2024)
* core: Add CMAKE option to disable built-in keyblob

* Additional assurance against accidental inclusion of default_keys.h

* default_keys.h: Make default_keys_enc constexpr

* default_keys.h: Make default_keys_enc_size constexpr

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2026-04-12 18:57:55 +01:00
OpenSauce04 ba6f8cb744 Disable Vulkan renderer on NetBSD because OS Vulkan support doesn't exist 2026-04-05 13:11:40 +01:00
OpenSauce04 f3fb0b729e Kill SDL2 frontend
Good riddance
2026-02-20 16:02:41 +00:00
Eric Warmenhoven d9b77cc21e
Implement libretro core (#1215)
* libretro core

* Bringing citra libretro implementation over
* libretro: hook up vulkan renderer
* libretro: github actions
* libretro: gyro
* libretro: core options v2
* libretro: on ios turn off shader jit if unavailable
* moltenvk 1.3.0 introduces 8-bit indexes but allocates 16-bit for metal; this ends up allocating stream buffer * 2 = 132MiB. Instead, just use 16-bit indexes. (This will be necessary for standalone when bumping moltenvk version.)

* libretro core: address review feedback

* libretro: microphone support

* cmake: Add ENABLE_ROOM_STANDALONE to list of incompatible libretro flags

* libretro: proper initial geometry

* libretro: fix software renderer

* libretro: address review feedback

* .github/libretro.yml: Pin macOS runners at macOS 26

* ci: Remove explicit selection of Xcode 16.0

* .github/libretro.yml: remove unnecessary windows builder apt commands

* .github/libretro.yml: bump min macos version to 11.0

* ci: Re-enable CI jobs for all libretro cores

This is under the condition that we don't introduce build cache for these builds

---------

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
Co-authored-by: PabloMK7 <hackyglitch2@gmail.com>
2026-02-19 22:30:25 +00:00
OpenSauce04 d0eaf07a40 cmake: Added missing newline to missing submodule message 2026-02-17 15:25:54 +00:00
OpenSauce04 7869f1c618 cmake: Upgrade bundled Qt to 6.9.3 2026-01-19 17:51:38 +00:00
OpenSauce 67f6735f02
qt: Add game launch stress test functionality behind new ENABLE_DEVELOPER_OPTIONS CMake option (#1442)
* qt: Implemented game launch stress test

* qt: Hide stress test behind ENABLE_DEVELOPER_OPTIONS CMake option
2025-10-21 16:29:15 +01:00
OpenSauce04 b6be443069 cmake: Bump downloaded Qt version to 6.9.2
Also bumps aqtinstall to 3.3.0
2025-09-03 03:15:14 +01:00
OpenSauce04 10f6e1f6f7 cmake: Added check for minimum AppleClang version 2025-09-02 14:05:51 +01:00
qr243vbi 687c4415be
Add missing find_package into CMakeLists.txt (#1165)
* Update CMakeLists.txt

* Add missing find_package directive

* Update CMakeLists.txt
2025-07-27 00:35:50 +01:00
Eric Warmenhoven 70314b9465 android: when cross-compiling from macos, don't include objcxx 2025-07-06 17:48:35 +01:00
OpenSauce df3c0c18e4
renderer_vulkan: Disable FIFO when refresh rate is lower than ~60hz or Apple low power mode is enabled (#1193)
* renderer_vulkan: Disable FIFO when refresh rate is lower than ~60hz

Also disables FIFO when Apple low power mode is enabled, as it can limit the application framerate to 30fps

* renderer_vulkan.cpp: Put `IsLowRefreshRate` into anon namespace + make static
2025-06-29 21:06:44 +01:00
PabloMK7 f26b9b174a
cmake: Bump min version to 3.25 globally and to 3.30.3 for android (#1151)
* cmake: Bump min version to 3.25 and update android to 3.30.3

* app/build.gradle.kts: Set minimum CMake version rather than exact version

---------

Co-authored-by: OpenSauce <opensauce04@gmail.com>
2025-06-18 21:44:42 +02:00
PabloMK7 88b3dff278 citra_common: Enable SSE4.2 on x86_64 builds
Enables the use of SSE4.2 instructions on x86_64 CPUs, allowing
compilers to automatically vectorize some loops on citra_common.
A CMake toggle ENABLE_SSE42 (ON by default) has been added
to enable this behaviour.

This change breaks compatibility with CPUs that do not have
SSE4.2 instructions. All modern CPUs (from 2011 onwards) should
always have these instructions. Manual compilation will be
needed for older CPUs.

A message has been added to report if the CPU is incompatible
when starting the emulator.

Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-05-31 11:12:28 +00:00
Malachi 4a34bcfcbf Fix to_char error on MacOS 2025-04-26 23:03:53 +01:00
OpenSauce04 b8267c0a39 cmake: Added citra_room_standalone target and ENABLE_ROOM_STANDALONE option 2025-04-16 16:39:09 +01:00
OpenSauce04 2670b517e8 citra_room: Merge functionality into citra_meta 2025-04-16 16:39:09 +01:00
OpenSauce04 aa58dd5f68 Suppress MSVC warnings C4711 and C5045 during compilation 2025-04-07 14:36:00 +01:00
OpenSauce04 dee576bfeb Use reverse TLD filenames for installed Linux files where appropriate 2025-03-28 00:02:10 +00:00
OpenSauce bd1f5b978b Bump CMake MacOS compilation target to MacOS 13
The minimum required MacOS version was already MacOS 13 due to dependencies, but until now the compilation target was set to MacOS 11
2025-03-24 17:56:24 +00:00
OpenSauce04 16dac366cf Install 512x512 icon to CMAKE_INSTALL_PREFIX 2025-03-22 16:22:51 +00:00
OpenSauce04 b225e856df Updated all files under dist to refer to Azahar instead of Citra
This resolves some icon theming issues on Linux

Co-authored-by: HurricanePootis <53066639+HurricanePootis@users.noreply.github.com>
2025-03-21 16:37:10 +00:00
OpenSauce04 2f28911395 cmake: Allow ENABLE_OPENGL option to be overridden on Linux aarch64
This option was originally disabled due to some devices not supporting OpenGL, however it was implemented by hardcoding the option to be set to OFF via CMAKE_DEPENDENT_OPTION. This change now allows the user to manually set ENABLE_OPENGL to ON in the CMake options, which was previously not possible.
2025-03-20 17:29:29 +00:00
OpenSauce04 b1c693eafe Revert "Bump CMake MacOS compilation target to MacOS 13"
This reverts commit 0485a16fbb.
2025-03-15 18:55:04 +00:00
OpenSauce 0485a16fbb Bump CMake MacOS compilation target to MacOS 13
The minimum required MacOS version was already MacOS 13 due to dependencies, but until now the compilation target was set to MacOS 11
2025-03-15 15:31:37 +00:00
OpenSauce04 2234fa93cb qt: Added update checker behind CMake option ENABLE_QT_UPDATE_CHECKER 2025-03-12 21:55:12 +01:00
PabloMK7 dd9c743041 Add cmake option to enable microprofile 2025-03-10 11:41:05 +00:00
OpenSauce04 d86dfba7b8 Drop old Citra updater code
Due to differences with how updates are handled, none of this code can really be reused for Azahar
2025-03-09 13:05:08 +00:00
OpenSauce04 c024933ec3 cmake: Add option ENABLE_NATIVE_OPTIMIZATION 2025-03-05 14:18:59 +00:00
OpenSauce04 56e96dea6c cmake: ENABLE_DEDICATED_ROOM --> ENABLE_ROOM 2025-03-04 21:02:44 +00:00
OpenSauce04 7622a7fcb5 CMakeLists.txt: Remove references now-removed man documentation files 2025-03-04 20:56:13 +00:00
Eugenio A. Naselli cb54c11f73
Corrected leftover references to Citra in build process (#614)
Co-authored-by: Eugenio Naselli <enaselli@nvidia.com>
Co-authored-by: OpenSauce04 <opensauce04@gmail.com>
2025-03-02 18:26:45 +00:00
OpenSauce04 99d59c6775 citra-room: Updated filename and cmake target name formatting for consistency 2024-11-21 21:36:51 +00:00
OpenSauce04 1ea637c95b Removed dist/installer
The old Citra installer is now completely redundant given the new NSIS installer
2024-11-21 20:35:34 +00:00
OpenSauce04 7780fb06e1 Change VS_STARTUP_PROJECT cmake property to citra_meta 2024-11-19 16:36:24 +00:00
OpenSauce04 107f6b2ff1 SDL2 frontend is now disabled at compile time by default
This will be the case until the extremely disruptive issues with this frontend are resolved
2024-11-10 20:51:40 +00:00
OpenSauce04 c399783266 Merged the SDL and Qt frontends together into a single unified executable 2024-11-10 19:28:04 +00:00
OpenSauce04 f0d22a9800 Removed redundant cmake options related to the compatibility list 2024-11-10 18:16:50 +00:00
OpenSauce04 d409f9746d Disabled OpenGL in aarch64 Linux builds 2024-11-10 18:16:49 +00:00
PabloMK7 2c349668f3 Update submodules and build environments (#232)
* Update Vulkan and QT submodules

* Undefine FORTIFY_SOURCE before defining again

* Update discord-rpc submodule
2024-11-07 14:47:28 +01:00
Steveice10 19784355f9
build: Improve support for Windows cross-compilation. (#7389)
* build: Improve support for Windows cross-compilation.

* build: Move linuxdeploy download to bundle target execution time.
2024-02-05 10:09:50 -08:00
Steveice10 c978c074db
build: Update and re-enable cubeb on macOS. (#7405) 2024-02-01 15:29:14 -08:00
Steveice10 82294425e3
build: Add flags to toggle specific renderer backends. (#7375) 2024-01-21 23:29:46 -08:00
Steveice10 178e602589
misc: Improve defaults for macOS and handling of missing audio backends. (#7273)
* misc: Improve backend defaults for macOS.

* audio_core: Improve handling of missing audio backends.
2023-12-22 11:38:06 -08:00
Steveice10 27bad3a699
audio_core: Replace AAC decoders with single FAAD2-based decoder. (#7098) 2023-11-04 14:56:13 -07:00
Steveice10 79ea06b226
qt: Update to 6.6.0 (#7099) 2023-11-01 17:58:02 -07:00
Castor215 2416258117
externals: add overarching USE_SYSTEM_LIBS variable (#7078) 2023-10-20 17:02:20 -07:00
Steveice10 6d4e462e42
build: Ensure we default to Release build type. (#7080) 2023-10-19 15:02:49 -07:00
Castor215 2d83fff581
externals: allow user to use system glslang (#7075) 2023-10-17 11:02:50 -07:00