yuzu-OpenSUSE/yuzu.spec

965 lines
44 KiB
RPMSpec
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# spec file for package yuzu
#
# Copyright (c) 2024 SUSE LLC
# Copyright © 20172020 Markus S. <kamikazow@opensuse.org>
#
# 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 <limits> 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 <i@guoyunhe.me>
- Update compatibility_list.json
* Wed Nov 22 2023 Jonatas Gonçalves <jonatas.sgoncalves@gmail.com>
- 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