# # spec file for package yuzu # # Copyright (c) 2024 SUSE LLC # Copyright © 2017–2020 Markus S. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define __builder ninja Name: yuzu Version: 0.1725 Release: 76.1 Summary: Nintendo Switch emulator/debugger License: GPL-3.0-or-later Group: System/Emulators/Other URL: https://yuzu-emu.org/ Source0: %{name}-%{version}.tar.xz # wget https://api.yuzu-emu.org/gamedb/ -O compatibility_list.json # It is dynamically changed so we should not use source URL in spec, # otherwise it will fail source check when submitted to Factory... Source1: compatibility_list.json Source2: https://github.com/lat9nq/tzdb_to_nx/releases/download/221202/221202.zip BuildRequires: clang >= 14 BuildRequires: clang-devel >= 14 BuildRequires: cmake >= 3.15 BuildRequires: discord-rpc-devel BuildRequires: doxygen BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: glslang-devel BuildRequires: graphviz BuildRequires: hicolor-icon-theme BuildRequires: libboost_context-devel-impl >= 1.75.0 BuildRequires: libboost_filesystem-devel-impl >= 1.75.0 BuildRequires: libzstd-devel-static BuildRequires: mold BuildRequires: ninja BuildRequires: shaderc BuildRequires: sndio-devel BuildRequires: unzip BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(catch2) >= 2.13.7 BuildRequires: pkgconfig(cpp-httplib) BuildRequires: pkgconfig(fmt) >= 8.0.1 BuildRequires: pkgconfig(inih) BuildRequires: pkgconfig(jack) BuildRequires: pkgconfig(libenet) BuildRequires: pkgconfig(liblz4) >= 1.8 BuildRequires: pkgconfig(libpulse) BuildRequires: pkgconfig(libswscale) BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libzip) BuildRequires: pkgconfig(libzstd) >= 1.5 BuildRequires: pkgconfig(nettle) BuildRequires: pkgconfig(nlohmann_json) >= 3.8 BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(opus) BuildRequires: pkgconfig(sdl2) >= 2.0.18 BuildRequires: pkgconfig(speexdsp) BuildRequires: pkgconfig(tinfo) BuildRequires: pkgconfig(vulkan) >= 1.3.274 #Qt BuildRequires: libQt5PlatformSupport-private-headers-devel BuildRequires: libqt5-linguist-devel BuildRequires: pkgconfig(Qt5Concurrent) BuildRequires: pkgconfig(Qt5DBus) BuildRequires: pkgconfig(Qt5Multimedia) BuildRequires: pkgconfig(Qt5OpenGL) BuildRequires: pkgconfig(Qt5WebEngine) # ffmpeg BuildRequires: pkgconfig(libavcodec) BuildRequires: pkgconfig(libavfilter) BuildRequires: pkgconfig(libavutil) BuildRequires: pkgconfig(libswscale) ExclusiveArch: x86_64 aarch64 %description yuzu is an open source Nintendo Switch emulator/debugger. %prep %autosetup cp %{SOURCE1} dist/compatibility_list/ mkdir -p build/externals/nx_tzdb unzip %{SOURCE2} -d build/externals/nx_tzdb/nx_tzdb/ # Enforce package versioning in GUI sed -i \ -e 's|@GIT_BRANCH@|mainline|g' \ -e 's|@GIT_DESC@|%{version}|g' \ -e 's|@BUILD_NAME@|%{name}|g' \ src/common/scm_rev.cpp.in %build # Fix "too many open files" error ulimit -n 2048 # Qt built with gles on aarch64, isn't compatible with opengl. %cmake \ -DCMAKE_BUILD_TYPE=RelWithDebInfo \ -DCMAKE_C_COMPILER=clang \ -DCMAKE_CXX_COMPILER=clang++ \ %ifarch x86_64 -DCMAKE_CXX_FLAGS="-march=x86-64-v2" \ %endif %ifarch aarch64 -DCMAKE_CXX_FLAGS="-march=armv8-a" \ %endif -DENABLE_QT_TRANSLATION=ON \ -DENABLE_COMPATIBILITY_LIST_DOWNLOAD=ON \ -DUSE_DISCORD_PRESENCE=ON \ -DYUZU_CHECK_SUBMODULES=OFF \ -DYUZU_CRASH_DUMPS=OFF \ -DYUZU_ENABLE_COMPATIBILITY_REPORTING=ON \ -DYUZU_ENABLE_LTO=ON \ -DYUZU_USE_EXTERNAL_SDL2=ON \ -DYUZU_USE_EXTERNAL_FFMPEG=ON \ -DYUZU_USE_EXTERNAL_VULKAN_HEADERS=ON \ -DYUZU_USE_FASTER_LD=ON \ -DYUZU_USE_QT_MULTIMEDIA=ON \ -DYUZU_USE_QT_WEB_ENGINE=ON \ %ifarch aarch64 -DENABLE_OPENGL=OFF \ %endif -DYUZU_TESTS=OFF %cmake_build %install %cmake_install %files %doc README.md %license LICENSE.txt %{_bindir}/%{name} %{_bindir}/%{name}-cmd %{_bindir}/%{name}-room %{_datadir}/applications/org.yuzu_emu.yuzu.desktop %{_datadir}/icons/hicolor/scalable/apps/org.yuzu_emu.yuzu.svg %{_datadir}/metainfo/org.yuzu_emu.yuzu.metainfo.xml %{_datadir}/mime/packages/org.yuzu_emu.yuzu.xml %changelog * Sun Feb 25 2024 pousaduarte@gmail.com - Update to version 0.1725: * "Merge Tagged PR 12173" * "Merge Tagged PR 12749" * "Merge Tagged PR 13081" * service: audio: Add missing logging properties of SetHeadphoneOutputLevelMode * service: btdrv: Add EnableRadio for Qlaunch * service: friend: Add GetFriendCount, GetNewlyFriendCount, GetReceivedFriendRequestCount, GetPlayHistoryStatistics, GetReceivedFriendInvitationCountCache for QLaunch * service: hid: Add IsAnyCustomButtonConfigEnabled for QLaunch * service: lbl: Add SaveCurrentSetting, LoadCurrentSetting and IsAutoBrightnessControlSupported for QLaunch * service: nfc: Implement SetNfcEnabled * service: npns: Add ListenTo and GetReceiveEvent for QLaunch * service: set: Add default eula setting * common/ring_buffer: Include header * android: Play vibrations asynchronously * fs: fix argument order * ci: fix mac build * fs: add ISaveDataTransferProhibiter, stub FindSaveDataWithFilter * vi: workaround conductor includes * oboe_sink: handle temporary stream creation failure * audio: fix released buffer bounds check * yuzu: Fix shortcut error message * audio: add NotifyHeadphoneVolumeWarningDisplayedEvent * pctl: rewrite IParentalControlService * pctl: rewrite IParentalControlServiceFactory * pctl: move IParentalControlServiceFactory * pctl: move IParentalControlService * pctl: move types and results * psc: stub overlay notification channel * psc: rewrite IPmService * psc: move IPmControl, IPmModule, IPmService * olsc: rewrite IOlscServiceForSystemService * olsc: add IRemoteStorageController * olsc: add IDaemonController * olsc: rewrite ITransferTaskListController * olsc: rewrite INativeHandleHolder * olsc: rewrite IOlscServiceForApplication * olsc: move INativeHandleHolder, IOlscServiceForApplication, IOlscServiceForSystemService, ITransferTaskListController * fs: add missing mutex header for member (#13106) * android: Connect controllers with supported styles * android: Add additional check for hasMapping * android: Enable all controller styles on emulation shutdown * audio: format * audio: rewrite IHardwareOpusDecoder * audio: rewrite IAudioDevice * audio: rewrite IHardwareOpusDecoderManager * audio: rewrite IAudioRenderer * audio: rewrite IAudioRendererManager * audio: split IHardwarweOpusDecoder, move IHardwareOpusDecoderManager * audio: split IAudioDevice, IAudioRenderer, move IAudioRendererManager * audio: move IFinalOutputRecorderManager{,ForApplet} * audio: rewrite IAudioOutManager * audio: rewrite IAudioOut * audio: rewrite IAudioInManager * audio: rewrite IAudioIn * android: Fix extra stick setting default values * ns: fix alignment of uid type * android: Expose device name setting * android: Add StringInputSetting settings item * vi: ignore shared buffer destruction failure on termination * vi: remove superfluous locking in shared buffer manager * nvnflinger/vi: don't recreate buffer queue on open/close * Import keys from filesystem. (#13056) * android: Have input overlay follow player 1 style index (#13085) * android: Fix broken clear button check * android: Fix overlay visibility reset (#13083) * android: Show done button when configuring input overlay (#13082) * Address review comments pt. 2 * Address review comments * fs: Refactor to use cmif serialization * fs: Add FileSystemAccessor classes * Address review comments * fs: Add and use fs_save_data_types.h * fsp: Migrate remaining interfaces to cmif serialization * fsp-srv: Migrate to use cmif serialization * fsp: Move IMultiCommitManager to a seperate file * fsp: Move ISaveDataInfoReader to a seperate file * scope_exit: Make constexpr * core/CMakeLists: Sort alphabetically * shader_recompiler: throw on missing geometry streams in geometry shaders * ns: address review comments * vulkan_device: don't use fixed cap for memory limits * am: account for offset in transfer memory storage * core: hid: Remove driver errors from log * nvnflinger: check for layers before compose * android: Flip AB/XY for xbox controllers during auto-mapping * ns: rewrite IQueryService * ns: rewrite IServiceGetterInterface * ns: rewrite IApplicationManagerInterface * ns: move IDevelopInterface * ns: rewrite ISystemUpdateInterface * ns: move ISystemUpdateControl * ns: rewrite IVulnerabilityManagerInterface * ns: rewrite IReadOnlyApplicationControlDataInterface * ns: rewrite IReadOnlyApplicationRecordInterface * ns: add IDynamicRightsInterface * ns: rewrite IDownloadTaskInterface * ns: rewrite IDocumentInterface * ns: rewrite IContentManagementInterface * ns: move IFactoryResetInterface * ns: move IECommerceInterface * ns: move IApplicationVersionInterface * ns: move IAccountProxyInterface * ns: rewrite IPlatformServiceManager * ns: rename results header * android: Map touches to touchscreen * android: Show cancel button for the content install notice * android: Only do first startup automapping if nothing has been mapped * service: Change unique_ptr to make_unique in GetCacheStorageMax * file_sys: Formatting changes and use unique_ptr in GetCacheStorageMax * file_sys: Fix nacp field cache_storage_max_index datatype * android: Create lifecycle utility to simplify common StateFlow operations * service: Add proper GetCacheStorageMax implementation to IApplicationFunctions * android: Use extension functions for view visibility and text marquee * android: Move CoreErrorDialogFragment to its own file * Add check for corrupted firmware files after install. * dmnt: cheats: Fix valid address range * fsp: Add FlushAccessLogOnSdCard stub * service: Add GetCacheStorageMax stub to IApplicationFunctions * service: vi: Implement ListDisplayMode * vi: manage resources independently of nvnflinger and refactor * vi: move shared buffer management from nvnflinger * nvnflinger: convert to process * am: unify display layer management * service: audio: Rewrite IAudioController to new IPC * >.> spelling * cleanup by clang-format. * Improve behavior when one or more firmware files can't be deleted. * service: btm: Implement function needed by QLaunch * android: Input mapping * Close reference to TimeZoneBinary on game close * Implement In-app firmware installation. * hid_core: Prevent crash if we try to iterate through empty color devices list * hid_core: Use dedicated "port" for android's input overlay * config: Reset per-game profile name on load if empty * android: Allow SettingsItems to use String or StringRes * service: erpt: Implement SubmitContext * service: caps: Implement GetAlbumFIleList * service: btm: Migrate service to new IPC * service: am: Fix GetMainAppletAvailableUsers for user creation * service: am: Add QLaunch launcher * shader_recompiler: fix non-const offset for arrayed image types * Revert "shader_recompiler: use only ConstOffset for OpImageFetch" * kernel: add and enable system suspend type * buffer_cache: use mapped range with large vertex buffer size * device_memory_manager: skip unregistered interfaces on invalidate * texture_cache: tweak iteration tracking change * texture_cache: avoid overestimation of ASTC texture sizes * caches: make critical reclamation less eager and possible in more cases * Sun Feb 18 2024 pousaduarte@gmail.com - Update to version 0.1717: * "Merge Tagged PR 12173" * "Merge Tagged PR 12749" * "Merge Tagged PR 13000" * "Merge Tagged PR 13017" * "Merge Tagged PR 13026" * service: set: Migrate ISystemSettingsServer to new IPC * vi: rewrite IApplicationDisplayService * vi: rewrite ISystemDisplayService * vi: rewrite IManagerDisplayService * vi: rewrite IHOSBinderDriver * vi: rewrite IApplicationRootService, IManagerRootService, ISystemRootService * vi: split into implementation files * vi: extract types * service: set: Migrate ISettingsServer to new interface * android: Prevent user from dismissing mod/cheat notice * android: Show cancel option for delete addons dialog * android: Swap ok and close default strings for MessageDialogFragment * android: Add screen vertical alignment setting * android: Expose FSR sharpness slider * android: Swap confirmation buttons for delete save data dialog * android: Extend MessageDialogFragment to support a negative action and button titles * am: move out omm interfaces to new module * am: rewrite IApplicationCreator * am: add IApplicationAccessor * am: rewrite ILockAccessor * am: rewrite IWindowController * am: rewrite IStorage * am: rewrite IStorageAccessor, ITransferStorageAccessor * am: rewrite ISelfController * am: rewrite IProcessWindingController * am: rewrite ILibraryAppletSelfAccessor * am: rewrite ILibraryAppletCreator * am: rewrite ILibraryAppletAccessor * am: rewrite IHomeMenuFunctions * am: rewrite IGlobalStateController, add ICradleFirmwareUpdater * am: rewrite IDisplayController * am: move IDebugFunctions * am: rewrite ICommonStateGetter * am: rewrite IApplicationFunctions * am: rewrite IAppletCommonFunctions * am: rewrite IAudioController * am: rewrite ISystemAppletProxy * am: rewrite ILibraryAppletProxy * am: rewrite IApplicationProxy * am: rewrite appletAE, appletOE * service: news: Stub remaining functions * yuzu: Allow non npad hotkeys and disable controller navigation requirement * service: ldn: Migrate and refractor service to new IPC * config: Always delete control settings in ClearControlPlayerValues * tzdb_to_nx: Update to latest * externals: Update dynarmic to 6.6.3 * am: use applet program loading for tested versions * host_shaders: add vendor workaround for adreno drivers * Texture Cache: Fix untracking on GPU remap * service: bcat: Address review issues * service: bcat: Implement news interfaces * service: bcat: Migrate and refractor service to new IPC * am: fix focus states and display of indirect keyboard * am: stub SetMediaPlaybackState for self controller * general: add default configurations for applet mode * gpu: dependency-inject scaling/antialiasing filter state for capture layers * nvnflinger/gpu: implement applet capture * nvnflinger/gpu: implement blending * nvservices: unmap only on last container free * video_core: defensively program around unmapped device pointers * core: fix multiprocess with nce * shared_translation: Add tooltips for general settings * glue: use multi wait API * server_manager: use multi wait API * service: add os types and multi wait API * shared_translation: Add tooltips for advanced graphics and system settings * shared_translation: Add tooltips for core and graphics settings * Sun Feb 11 2024 pousaduarte@gmail.com - Update to version 0.1709: * "Merge Tagged PR 12173" * "Merge Tagged PR 12749" * "Merge Tagged PR 12756" * "Merge Tagged PR 12955" * Fix multiplayer player count color in dark themes | Temp fix until #12744: Add green color for counts > 0 and < max_players - 1 (#12930) * android: Use utility function for applying view margins * android: Add thermal throttling overlay * android: Remove foreground service * service: Fix OutLargeData attributes * service: hid: Free npad applet resource * android: Fix regex for git version * android: Run OnEmulationStarted frontend callback in another thread * common: fs: Expand android macros * android: Move JNI setup and helpers to common * service: hid: Migrate hidbus to new interface * SMMU: Ensure the backing address range matches the current * ipc: additional fixes * yuzu: Make controller keys easier to assign * dmnt: cheat: Invalidate cache on memory writes * web_backend: Fix compilation * service: hid: Migrate hid debug service to new interface * service: irs: Migrate service to new interface * service: hid: Add multiprocess support to six axis input * service: hid: Ensure aruid data is initialized * Common: Rename SplitRangeSet to OverlapRangeSet * dmnt: cheat: Add pause and resume support * yuzu: Fully hide linux tab * typed_address: test values are unsigned * dmnt: cheats: Silence memory errors * shader_recompiler: use only ConstOffset for OpImageFetch * .tx/config: Use language mappings for android "tx pull" * Buffer Cache: Refactor to use Range sets instead * gdb: fix load/save of fp values in a32 * dmnt: cheats: Update cheat vm to latest version * NVDRV: Refactor HeapMapper to use RangeSets * Common: Introduce Range Sets * VideoCore: Move Slot Vector to Common * citra_qt/configure_ui: Show country of language in the combobox * ci: android: Play store publishing setup * web_backend: Sync with Citra implementation * nvnflinger: release buffers before presentation sleep * Fix firmware timezone boot load check. * service: fs: Skip non user id folders * cmif_serialization: enforce const for references * service: hid: Multiple fixes * MemoryManager: Reduce the page table size based on last big page address. * Persist filters in multiplayer public lobby list * Color player counts in the multiplayer public lobby list * Add hotkeys for multiplayer actions * Sun Feb 4 2024 pousaduarte@gmail.com - Update to version 0.1702: * "Merge Tagged PR 12173" * "Merge Tagged PR 12749" * cmake: use vulkan-headers config file * Clang Fix * Add Samsung Proprietary Driver ID to Reorder Pass * service: use const references for input raw data * Update translations (2024-02-01) * SwBlitter: Fix Pitch linear reading/writting * hardware_composer: implement speed limit extensions * nvnflinger/gpu: implement layer stack composition * renderer_opengl: implement layer stack composition * renderer_vulkan: implement layer stack composition * renderer_opengl: split up blit screen resources into antialias and window adapt passes * renderer_opengl: move out ownership of FSR resources * renderer_vulkan: convert FSR to graphics pipeline * renderer_opengl: move out FSR shader source construction * renderer_opengl: split out FXAA * renderer_opengl: split out SMAA * renderer_vulkan: split up blit screen resources into separate antialias and window adapt passes * renderer_vulkan: isolate FXAA from blit screen * renderer_opengl: isolate core presentation code * video_core: consistently account for resolution scaling when rendering * video_core: simplify accelerated surface fetch and crop handling between APIs * aoc: fix DLC listing (#12867) * ci: bump mac to macos-14 * Device Memory Manager: ensure raster protection only within mapped device addresses. * DeviceMemory: Make counter types configurable * NVDRV: Join the heaper optimization blocks * smmu: use new range mutex construction for protecting counters * Texture Cache: make sparse texture table per channel * settings: Allow audio sink, input, and output to be set per game * Remove a few hacks for clock setups, which seem to no longer be needed, but fix network clock to local clock on every boot. Also fix some logging strings. * am: push storage from error applet with non-zero size * cmif_serialization: fix LargeData types * service: hid: Implement GetPlayerLedPattern accurately * internal_network: only poll for accept on blocking sockets * Update sockets.h * Update src/core/hle/service/sockets/sockets.h * cmif_serialization: fix out layout calculation * service: capsrv: Migrate to new IPC * cmake: prefer system oaknut library * am: stop emulation when all applets are closed * core: support offline web applet * am: return AppletDataBroker and use for frontend applets * am: rework IStorage for transfer storage * am: migrate global state to per-applet state structure * am: retrieve main applet creation info from frontend * am: re-namespace frontend applets to frontend directory * am: add new datatypes for per-applet state * service: split am into components * Update sockets_translate.cpp * Update sockets.h * Update sockets_translate.cpp * service: mii: Set arguments as const * notif: rewrite for new IPC * android: Don't show delete button for system driver * fix build for gcc 11 * service: am: Focus state changed goes last * service: hid: Implement home, capture and sleep buttons * service: hid: Restore active aruid * service: hid: Fully implement touch resource * configure_graphics: Avoid crash when vsync_mode_combobox is empty (occurs when renderer backend is Null) * Use the input process handle to get the correct application's memory * externals/dynarmic: Update to 6.6.1 * externals/oaknut: Update to 2.0.1 * service: set: Increase settings version * service: set: Implement more Qlaunch Settings * android: Disable focus on loading card * android: Show system driver information * kernel: clear pinned waiter list on unpin * atomic_ops: Fix MSVC * atomic_ops: Remove volatile qualifier * atomic_ops: Reduce code duplication with templates * Move time services to new IPC. Add some fixes/improvements to usage with the new IPC * service: mii: Migrate service to new interface * Simplify VkResult lookup * Add Vulkan-Utility-Libraries dependency * yuzu: Add per-game linux gamemode configuration * fix linux config values not saved * Sun Jan 28 2024 i@guoyunhe.me - Update to version 0.1696: * "Merge Tagged PR 12173" * "Merge Tagged PR 12749" * "Merge Tagged PR 12760" * "Merge Tagged PR 12802" * android: Multi-program app switching * input: add a missing null pointer check * nx_tzdb: add another safety assertion * nx_tzdb: check for unpacked directory * Sat Jan 27 2024 i@guoyunhe.me - Update to version 0.1694: * "Merge Tagged PR 12173" * "Merge Tagged PR 12749" * "Merge Tagged PR 12769" * cmif_serialization: support non-domain sessions on domain servers * cmif_types: improve ergonomics of types * android: Disable default focus highlight on views that shouldn't be selected * android: Allow controller to focus on toolbar menu items * android: Add 600dp layout for GameInfoFragment * android: Fix button click listener for build version name * android: Disable focus for the root of cards that contain buttons * android: Focus on the in game menu when opened * cmake: support simpleini cmake config and pc file * service: add template serializer for method calls * android: Fix waiting for driver install on startup * android: Add current driver vendor to FPS overlay * android: Add key check * android: Add option to make MessageDialogFragments non-dismissible * frontend_common: Consistently use references * frontend_common: Remove key rederivation and keep key check * android: Only compare game contents for GameAdapter * Rework time service to fix time passing offline. * nvservices: close map handles on session close * kernel: target invalidate to given process * Fri Jan 26 2024 i@guoyunhe.me - Update to version 0.1693: * "Merge Tagged PR 12173" * "Merge Tagged PR 12499" * "Merge Tagged PR 12749" * "Merge Tagged PR 12759" * "Merge Tagged PR 12769" * Demote Mesa dozen to the bottom of the device list * Thu Jan 25 2024 i@guoyunhe.me - Update to version 0.1692: * "Merge Tagged PR 12173" * "Merge Tagged PR 12499" * "Merge Tagged PR 12749" * service: properly convert buffers to strings * loader: also register fs process for raw exefs partition * device_memory_manager: fix ScratchBuffer indexing * android: Add to launcher button * android: Provide debug.keystore for debug and relWithDebInfo builds * android: Port "Lock drawer" feature from Citra * frontend_common: Remove default value for installer callbacks * android: Add options to verify installed content * core: hid: Allow to disable vibration * frontend_common: Move integrity verification to content_manager * service: hid: Implement EnableAppletForInput * service: set: Don't allow invalid mii author id * android: Sync translations * android: Change "Clear" to "Use global setting" for per-game settings * fs/file: Explicitly convert std::u8string to std::filesystem::path * android: Use elevated card style for home setting card * android: Sort recently added/played games by time * frontend_common: Add documentation for content_mananger * android: Add addon delete button * android: Use callback to update progress bar dialogs * frontend_common: Add content manager utility functions * "Merge Tagged PR 12173" * "Merge Tagged PR 12688" * "Merge Tagged PR 12695" * device_memory_manager: use unique_lock for update * nvhost_vic: use map erase by key * nvdrv: clean up preallocation * nvdrv: use correct names for interface factory * nvdrv: use static typing for SessionId, smmu Asid types * Core: Invert guest memory depandancy * Core: Make sure GPU Dirty Managers ae shared by all processes. * Core: Eliminate core/memory dependancies. * SMMU: Fix Right Shift UB. * SMMU: Fix 8Gb layout. * Core: Clang format and other small issues. * SMMU: Fix software rendering and cleanup * SMMU: Add continuity tracking optimization. * SMMU: Simplify and remove old code. * SMMU: Add Android compatibility * GPU-SMMU: Estimate game leak and preallocate device region. * GPU SMMU: Expand to 34 bits * SMMU: Fix Unregister on MultiAddress * SMMU: Implement physical memory mirroring * SMMU: Initial adaptation to video_core. * SMMU: Implement backing CPU page protect/unprotect * NVDRV: Implement sessions and initial implementation of SMMU * Core: Initial implementation of device memory mapping * vi: check layer state before opening or closing * nvnflinger: ensure display abandonment considers all layers and future layers * renderer_vulkan: recreate swapchain when frame size changes * service: hid: Fully implement abstract vibration * Sun Jan 21 2024 pousaduarte@gmail.com - Update to version 0.1688: * "Merge Tagged PR 12173" * "Merge Tagged PR 12579" * "Merge Tagged PR 12660" * "Merge Tagged PR 12688" * "Merge Tagged PR 12701" * Bump MoltenVK to v1.2.7 * service: hid: Clear controller status when aruid is no longer used * Update based on feedback * Allow -u to accept a username string in addition to index, and suppress the User selector even if settings requires it to be shown for one instance only. * core: hid: Disable special features before disconnecting the controllers * Sat Jan 20 2024 i@guoyunhe.me - Update to version 0.1687: * "Merge Tagged PR 12173" * "Merge Tagged PR 12688" * "Merge Tagged PR 12695" * input_common: Add android input engine * android: Save overlay data while using emulation fragment * ci: remove format dep from mainline step2 * service: set: Implement stubbed functions * service: set: Refractor setting service * Fix typos in master * Fix typos in arrays.xml * Fix one more typo * Fix more typos * service: nfc: Create backup when none exist * android: Fix overlay toggle ordering * ci: Remove format step from mainline builds * core: Support multiple modules per patcher * android: Show version name instead of git hash in the about fragment * android: Clean up git commands in build.gradle * android: Move ktlintCheck to yuzu-verify * service: acc: Only save profiles when profiles have changed * loader: fix homebrew nro registration * kernel: optimize page free on shutdown * kernel: fix debugger and process list lifetime * kernel: fix page leak on process termination * audio: fetch process object from handle table * shader_recompiler: emulate 8-bit and 16-bit storage writes with cas loop * fsp-srv: use program registry for SetCurrentProcess * shader_recompiler: fix Offset operand usage for non-OpImage*Gather * Save profile name used * server_manager: respond to session close correctly * Sun Jan 14 2024 pousaduarte@gmail.com - Update to version 0.1680: * "Merge Tagged PR 12173" * "Merge Tagged PR 12610" * "Merge Tagged PR 12612" * service: hid: Create abstracted pad structure * ci: fix file mode check in format script * android: Fix added driver path * android: Add button to use global driver value * android: Reload driver data on importing user data * android: Rework driver fragment * android: Refactor DriverAdapter to use AbstractSingleSelectionList * android: Create generic single selection list adapter * android: Refactor recycler view adapters to use AbstractListAdapter * android: Create generic list adapter for basic lists * android: Refactor async diff adapters to use AbstractDiffAdapter * android: Create generic adapter and viewholder * ci: fix format task * externals: Update txdb_to_nx * Fix typos in src/core (#12625) * ci: make verify format workflow output more helpful * general: fix trailing whitespace * vi: connect vsync event handle lifetime to application display service interface * vi: fix name of nvnflinger * Fix "Propietary" typo elsewhere * Fix typos in video_core * service: hid: Delete shared memory handle when unused * service: hid: Make sure there's an active aruid handle * service: hid: Implement GetLastActiveNpad * service: hid: Implement AssigningSingleOnSlSrPress * service: hid: Implement SetNpadSystemExtStateEnabled * service: set: Rename files * service: hid: Implement CaptureButtonAssignment * service: set: Use official names * service: hid: Add functions needed by Qlaunch * service: hid: Handle pending delete * hid_core: Move hid to it's own subproject * android: Re-add global save manager * android: add basic support for google game dashboard * Sun Jan 7 2024 pousaduarte@gmail.com - Update to version 0.1674: * "Merge Tagged PR 12173" * android: Save global config synchronously in onCloseGameFoldersFragment * frontend_common: config: Only write setting related to opened config file * android: Don't save settings on config destruction * android: Update orientation on emulation fragment start * android: Expose all orientation locking options * service: hid: Remove data races when handling shared memory * service: hid: Implement NpadResource and NpadData * frontend_common: config: Move WriteIntegerSetting definition to header * actions: android: Prevent resolving tag commit to PR link * actions: android: Resolve PR commits to link * actions: android: Move trigger logic to be yuzu-android specific * android: Add internal option to disable compression for zip exports * KThread: Send termination interrupt to all cores a thread has affinity to * yuzu: Use displayed port on direct connect * android: Use case-insensitive check for addon directory * android: Fix dpad position saving * Update translations (2024-01-01) * Vulkan: Only recreate swapchain if the frame is bigger than the swap image. * MaxwellDMA: Don't flush the outputs of a dma copy. * service: hid: Use applet resource to get latest shared memory handle * android: Expose touchscreen toggle * android: Don't apply material you below android 12 * frontend_common: config: Do not count "." as a special character * android: Migrate in-game overlay settings to ini * frontend_common: config: Refactor WriteSetting to stricter types * android: Migrate theme settings to ini * android: Update Kotlin version to 1.9.20 * yuzu_cmd: Report more SDL errors * Fix Wayland appId * android: Expose anisotropic filtering setting * android: Center switch setting title when no description is present * android: Pair fastmem toggle to CPU Debug toggle * jit: use code memory handles correctly * actions: android: Build relWithDebInfo on main repo * k_capabilities: simplify KTrace map skip logic * ips_layer: prevent out of bounds access with offset exceeding module size * heap_tracker: use linear-time mapping eviction * shader_recompiler: use default value for clip distances array * shader_recompiler: respect clip distance limits in indexed store * video_core: Fix buffer_row_length computation for linear compressed textures * assert/logging: Stop the logging thread and flush the backends before crashing * core: track separate heap allocation for linux * ring_buffer: Use feature macro * main: Remove unused enum * am/jit: reference memory instance from context * kernel: remove unecessary process member from handle table * service: fetch objects from the client handle table * kernel: use simple mutex for object list container * core_timing: block advance thread while clearing and signal after * core_timing: handle concurrent unscheduling of looping events * core_timing: use static typing for no-wait unschedule * core_timing: remove user data value * renderer_vulkan: skip SetObjectNameEXT on unsupported driver * renderer_vulkan: demote format assert to error log * kernel: fix resource limit imbalance * kernel: restrict nce to applications * general: properly support multiple memory instances * k_server_session: remove scratch buffer usage in favor of direct copy * k_server_session: process for guest servers * kernel: instantiate memory separately for each guest process * Settings: Indicate AMD's compatibility with SPIR-V on OGL * spirv_emit_context: Fix BaseInstance for OGL spirv * shader_recompiler: ensure derivatives for textureGrad are f32 * shader_recompiler: use float image operations on load/store when required * qt: settings: Fix per-game vsync combobox * android: Fix "No games found" text appearing on load * service: hid: Fix crash on InitializeVibrationDevice * emit_glsl_image: Use inlined texelFetch offsets * gl_device: Remove AMD blacklists that are no longer applicable * gl_rasterizer: Less spammy log for unimplemented resets * nce: hide shadowing warnings from dynarmic headers * gl_rasterizer: Implement DrawTransformFeedback macro * externals: update Vulkan-Headers to v1.3.274 * vulkan_common: unbreak build with Vulkan-Headers 1.3.274 * OpenGL: Add GL_PRIMITIVES_GENERATED and GL_TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN queries * gl_rasterizer: Silence spammy logs * gl_buffer_cache: Reintroduce NV_vertex_buffer_unified_memory * nce: increase handler stack size * renderer_vulkan: don't pass null view when nullDescriptor is not supported * nce: fix read size in simd immediate emulation * yuzu: Read/Save category Paths * shader_recompiler: use minimal clip distance array * shader_recompiler: ignore clip distances beyond driver support level * yuzu: Make language persistent and remove symbols_path * oboe_sink: specify additional required parameters * vk_query_cache: Fix prefix sum max_accumulation_limit logic * fs: implement OpenDirectoryMode * oboe_sink: set low latency performance mode * Revert "video_core: use interval map for page count tracking" * renderer_vulkan: work around turnip binding bug in a610 * path_util: copy output for GetParentPath * android: add oboe to audio configuration * oboe_sink: implement channel count querying * android: add oboe audio sink * renderer_vulkan: allow up to 7 swapchain images * nvnflinger: mark buffer as acquired when acquired * audio: skip coefficient normalization for downmix * set: add cstddef for offsetof macro * Have GetActiveChannelCount return the system channels instead of host device channels * gl_buffer_cache: Fix tfb binding typo * ssl: fix output byte buffer size issue (#12372) * Make system settings persistent across boots * common: use memory holepunching when clearing memory * video_core: lock interval map update * video_core: use interval map for page count tracking * core: Make sure npad is initialized * renderer_vulkan: bound async presentation queue growth * core: hid: Clean up headers * service: hid: Allow to create multiple instances of shared memory * ci: fix homebrew installation issue in actions runner images * android: Rework InstallableProperty view with icon * android: Prevent editing non-savable settings in per-game settings * android: Pre-select custom config in game launch dialog * android: Use confirmation dialog when deleting shader cache * android: Always use custom settings when launched from intent * settings: Allow vsync to be changed per-game * android: Adjust variable name format for native config * android: Add game dir entries to FilesystemProvider * android: Fix games list loading thread safety * android: Collect latest information for games list * android: Remove global save import/exporter UI * android: Compare all properties between games in DiffCallback * android: Expose MemoryUtil size formatting function * android: Add JNI initialization information for Game class * settings: Allow CPU Debug and Fastmem to be changed per-game * android: Add per-game drivers * android: Add per-game settings * android: Add Game properties * frontend_common: Fix settings reload bug * android: Refactor settings to expose more options * configure_debug: Fix small typo * vcpkg: Update fmt to 10.1.1 * vi: fix confusion between closing and destroying layers * nce: adjust initialization for repeated calls * nce: implement instruction emulation for misaligned memory accesses * service: hid: Improve CreateAppletResource implementation and free resources * core: Use single instance of profile manager * sm:: fix tipc deserialization * settings: Clearer NCE error messages * ro: add separate ro service * fbshare: set external format correctly * fs: don't enumerate hidden savedata size file * service: populate pid and handle table from client * service: use interface factory in server manager * debug: fix reading of module names * android: Listen for directory selection in viewmodel * kernel: fix single core * settings: Enable NCE by default on capable systems * dist: add udev rule to enable user hidraw access (#12292) * kernel: implement light IPC * service: hid: Introduce proper AppletResource emulation * kernel: implement remaining IPC syscalls * Improve path splitting speed * codec: Update to use av frame flags * arm: fix context save of vector regs * frontend_common: Use optional for language default * core: refactor emulated cpu core activation * texture_cache: fix max_element comparison function * renderer_opengl: remove srgb conversion logic * renderer_vulkan: do not recreate swapchain for srgb * fsmitm_romfsbuild: optimize for data locality * romfs: cache file and directory metadata tables * nce: fix pre-text patch for single modules * file_sys: handle null romfs * texture_cache: use pedantic type names * android: Don't reload filesystem on update install * host_memory: move MAP_ALIGNED_SUPER attempt after 448d4815dece * host_memory: allow missing MAP_NORESERVE on FreeBSD after 448d4815dece * vk_blit_screen: Use correct format for fxaa renderpass * service: nfc: Don't tag amiibos as corrupted if they are loaded as read only * Update translations (2023-12-01) * renderer_vulkan: adjust window origin and swizzle independently * cmake: prefer system gamemode library * renderer_vulkan: exclude more qcom drivers from extensions * cmake: sync gamemode conditionals with code after 5eec980a2d71 * core: Rename patcher file * add mac workflow * general: conditionally compile gamemode on linux only * cmake: Move HAS_NCE to root cmake * android: Save global settings in onStop * android: Multi directory UI * set: don't load version nca with null romfs * Fixed controller applet crashing when on FW17+ * GLSL: Prefer known used cbuf sizes * qt: add cpu_backend configuration * video_core: fix mac compile * general: fix mac compile * loader: fix gcc compile * service: nfc: Validate mii data * service: am: Create random mii for cabinet applet * cmake: prefer system simpleini library * android: input: Flip abxy on backbone labs controllers * time: undef GetCurrentTime for Windows * cmake: move gamemode target include into its file * yuzu: create linux group in general settings * yuzu: integrate gamemode support on linux * android: input: Flip abxy on redmagic controllers * oaknut: Address warnings * host_memory: Simplify randomness generation * Address more review comments * loader: apply nso patch to offset program image * arm_nce: skip data aborts for crash handling parity * android: show current backend in fps overlay * arm: Print backtrace on data abort * patch: check offsets from first code word * core: Define HAS_NCE macro * common: Enforce fastmem for nce usage * arm_nce: skip dc cvac on possibly write-protected areas * Address some review comments * android: Add cpu bakend gui toggle * arm: Implement native code execution backend * device_memory: Enable direct mapped addresses for nce * externals: Add oaknut submodule * settings: Add cpu backend setting * kernel: Manually specify aslr region start * core: Respect memory permissions in Map * host_memory: Switch to FreeRegionManager * host_memory: ensure map base is between 36 and 39 bits * common: Add free region manager * common: Add libc sigaction hook * yuzu: Constrain mouse in render window when emulated * yuzu: Display firmware version * vulkan_device: add names for more driverID enumeration values * renderer_vulkan: exclude steam deck oled from force max clock setting * core: hid: Ensure output devices are initialized * query_cache: demote report synced unreachable to assert * frontend_common: Don't specify default value for screenshot_path * frontend_common: Don't load config files that we fail to open * frontend_common: Add option to read unsigned integers * frontend_common: Set config array size to 0 if the array is ended without changing its index * frontend_common: Manually handle opening config file * frontend_common: Add special config case for unmapped windows network drives * frontend_common: Disable UTF-8 BOM in config * android: Rework config lifecycle * android: Remove ini4j * common: settings: Add ifdefs to define android's default settings * general: Remove inih * config: Unify config handling under frontend_common * vk_texture_cache: add workaround for nullDescriptor on Mali * service: hid: Create appropriate hid resources * gl_buffer_cache: Batch vertex/tfb buffer binding * Vulkan: Add a final barrier to the upload command buffer * renderer_vulkan: Introduce separate cmd buffer for uploads * shader_recompiler: Align SSBO offsets in GlobalMemory functions * buffer_cache: Apply storage buffer alignment only to the offset * shader_recompiler: Align SSBO offsets to meet host requirements * gl_texture_cache: Enable async downloads * gl_buffer_cache: Enable async downloads * gl_staging_buffer_pool: Refactor allocation variables into a struct * Fri Jan 5 2024 Yunhe Guo - Update compatibility_list.json * Wed Nov 22 2023 Jonatas Gonçalves - Update to version 0.1629: * "Merge Tagged PR 11889" * game_list_worker: Explicit caputure of 'this' * shared_widget: Explicit capture of 'this' * Stub CheckBlockedUserListAvailability * android: Use file picker intent for save exporter * android: Use path instead of programId for recently added / played key * android: Select recently played games by default in search tab * android: Allow up to 400%% for the limit speed percent setting * Implemented qlaunch version of the controller applet * video_core: refactor video frame and packet parsing * CMakeLists: Add option to call lupdate directly * shared_translation: Call tr for each string