Logo
Explore Help
Sign In
starred/duckstation
1
0
Fork 0
You've already forked duckstation
mirror of https://github.com/stenzek/duckstation.git synced 2026-02-04 05:04:33 +00:00
Code Issues 1.1k Packages Projects Releases 20 Wiki Activity

20 Releases 27 Tags

RSS Feed
  • v0.1-10130 3d6627c7a0
    Compare

    Stable

    claunia released this 2025-11-15 04:35:11 +00:00 | 688 commits to master since this release

    📅 Originally published on GitHub: Sat, 15 Nov 2025 04:58:05 GMT
    🏷️ Git tag created: Sat, 15 Nov 2025 04:35:11 GMT

    Commits

    • 26323f441 GPU/HW: Fix incorrect clamp UV state on setting change
    • 361bcde48 FullscreenUI: Fix loading screen progress going negative
    • bdeeecefa GPU/HW: Clamp after round with round upscaling fix
    • 127cc70ba GameDB: Enable PGXP-CPU for Tekken 3
    • a1a763cea GameDB: Set tolerance for Tekken 3
    • 639aa3c7f ImGuiOverlays: Fix inconsistent font weight
    • cb609fc6b ImGuiOverlays: Polish frame time graph
    • 013cce51c Qt: Return size hint for covers
    • 475b69baa Qt: Save/restore painter state in achievements delegate
    • 0b2865730 Qt, FullscreenUI, PostProcessing: Add shader enable/disable toggle. (#3621)
    • c06e4fea0 Atualização Português do Brasil (#3624)
    • a9b9e8952 PostProcessing: Rename Enabled -> StageEnabled
    • 3a1e8fe7a PostProcessing: Load shaders even if disabled
    • fc97cf514 PostProcessing/slang: Flip textures if using OpenGL
    • a30106692 Qt: Use QSizeF for device scaled sizes
    • fa965cf9f Qt: Use delegate for drawing covers
    • cad8b4376 PostProcessing: Fix starting with all stages disabled
    • 6581e8e3b PostProcessing: Fix unscaled input sizes if first stage disabled
    • 29d5598de PostProcessing: Fix slang+overlay+odd shader count combination
    • a742164b6 GameDB: Increase cdromMaxReadSpeedupCycles for Discworld Noir (#3625)
    • 66c924e29 GameDB: Max speedup cycles for Bugs Bunny - Lost in Time & Bugs Bunny and Taz - Time Busters (#3626)
    • e2cd5e79a GameDB: Max speedup cycles for Street Fighter Alpha 2 & 3 and Super Puzzle Fighter II (#3627)
    • 34484d4f9 CDImageDevice: Fix compiling in Unicode mode
    • fa793ce3a Updater: Fix compiling in Unicode mode
    • 65be533ad Build: Use C17 for MSBuild
    • c953480ed Build: Use Unicode as default MSBuild character set
    • d532acb39 Build: Use VS2026 build tools
    • 7e7e51db0 D3D12Device: Remove unused class member
    • df547195a README: Bump VS version requirement to 2026
    • ef2086b2c Qt: Silence new warning from VS2026
    • d1f26eef3 Qt: Fix a bunch of implicit conversion warnings
    • 35e3d9a4d Qt: Get window sizes from OS instead of scaling Qt size
    • 3099f5f3d Qt: Fix game grid selection rect bottom/right edges
    • 4c56f06ff Qt: Style check boxes in Darker Fusion
    • 0edf71bd0 GPU: Fix 480i resolution display with force progressive
    • 982035fbc GPU: Remove implicit bool conversion
    • 754591f27 StringUtil: Add GetUTF8CharacterCount()
    • b9b1b13fb Qt: QtConcurrent is no longer needed
    • 3d6627c7a Qt: Speed up interface page creation
    Downloads
    • DuckStation-arm64.AppImage
      78 MiB
      2026-01-29 18:42:18 +00:00
    • DuckStation-armhf.AppImage
      75 MiB
      2026-01-29 18:42:29 +00:00
    • duckstation-mac-release.zip
      82 MiB
      2026-01-29 18:42:42 +00:00
    • DuckStation-Mini-arm64.AppImage
      59 MiB
      2026-01-29 18:42:50 +00:00
    • DuckStation-Mini-armhf.AppImage
      58 MiB
      2026-01-29 18:42:57 +00:00
    • duckstation-windows-arm64-release-symbols.zip
      15 MiB
      2026-01-29 18:43:00 +00:00
    • duckstation-windows-arm64-release.zip
      64 MiB
      2026-01-29 18:43:09 +00:00
    • duckstation-windows-x64-release-symbols.zip
      16 MiB
      2026-01-29 18:43:12 +00:00
    • duckstation-windows-x64-release.zip
      64 MiB
      2026-01-29 18:43:24 +00:00
    • duckstation-windows-x64-sse2-release-symbols.zip
      16 MiB
      2026-01-29 18:43:29 +00:00
    • duckstation-windows-x64-sse2-release.zip
      64 MiB
      2026-01-29 18:43:39 +00:00
    • DuckStation-x64-SSE2.AppImage
      92 MiB
      2026-01-29 18:43:48 +00:00
    • DuckStation-x64.AppImage
      92 MiB
      2026-01-29 18:43:55 +00:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v0.1-10091 4a246a74a2
    Compare

    Stable

    claunia released this 2025-11-08 03:04:11 +00:00 | 727 commits to master since this release

    📅 Originally published on GitHub: Sat, 08 Nov 2025 08:44:04 GMT
    🏷️ Git tag created: Sat, 08 Nov 2025 03:04:11 GMT

    Commits

    • e7f403467 FileSystem: Add LockedFile helper class
    • 84806d305 GameList: Use LockedFile class
    • ac4634c28 Add StringPool and BumpStringPool classes
    • a035c4872 GameList: Fall back to achievement badges for game icons
    • 3d2c3c919 GameList: Avoid a couple of heap allocations
    • 89e3ba29a Qt: Fix warning
    • 2b3c7e00c Qt: Initialize COM before Qt
    • 2ff9c67c7 Qt: Replace table widget in Game List Settings
    • 70185cb69 Update Russian translation (#3587)
    • e96a85d29 Atualização Português do Brasil (#3588)
    • bd6e747c6 GameDB: Fix serials for Black-Matrix +
    • 2a0fe0a75 GameDB: Add disc set for GT2 US
    • 41b8f2bf7 CI: Remove Flatpak builds
    • a49d0b665 PostProcessing/GLSL: Skip recompile on target size change
    • 8520e3f94 System: Work around lupdate bug causing hang
    • f2291eaaf Deps: Build Qt Declarative/ShaderTools
    • 33a342751 Deps: Remove build directory after each library
    • 7deb374cf Deps: Hopefully work around path length limits
    • bae05a7f6 SDLInputSource: Change default for WGI to off
    • 5653f8dd6 ImGuiManager: Don't let non-imgui keys through
    • 2c03fb915 ImGuiManager: Use static key map
    • 1fbf08398 FullscreenUI: Move ImGuiFullscreen to core
    • 836fd9bcf FullscreenUI: Make file naming consistent
    • fab4b05bc FullscreenUI: Remove ImGuiFullscreen namespace
    • e36ea9e3a FullscreenUI: Remove more redundancy
    • 9cbcf7809 FullscreenUI: Move transition handling to widgets file
    • 8c25144ab FullscreenUI: Always initialize widgets
    • 983cde33b FullscreenUI: Make notifications/toasts thread-safe
    • b1cd5625f System: Don't add to the pause timer when we're already paused
    • 2bc387fe3 FullscreenUI: Fix returning to window that was open
    • ba28a3fb3 Achievements: Cache user badge path
    • dc7a7ed6b FullscreenUI: Split settings into its own file
    • cc2ee0068 FullscreenUI: Split game list into its own file
    • f4f8aa587 FullscreenUI: Defer more resource loads
    • 10a7d8ad4 FullscreenUI: More scope clean up
    • bed758a75 FullscreenUI: Move translation strings to own file
    • 32aa86a60 FullscreenUI: Move achievements to its own file
    • 45d3c6657 FullscreenUI: Simplify game properties state
    • 476c1c5b9 FullscreenUI: Make OpenOrUpdateLoadingScreen() thread safe
    • 9ca1c9730 Mini: Compile fix
    • f2dd91c87 RegTest: Compile fix
    • a52020bcf DMA: Reduce linked list header read time
    • aa980a44c GPU: Don't save settings to save state
    • 9977e1dca FullscreenUI: Disable rewind options when runahead is enabled (#3589)
    • b4a868c5c Update the Simple-Chinese Translation to latest. (#3591)
    • 751781325 Settings: Remove CD speedup above 6x
    • cab6669eb DMA: Speed up RAM write with CDROM speedup
    • 93b4c3467 FullscreenUI: Fix missing logo on landing page
    • 3d6c042ff FullscreenUI: Fix missing lock for settings read
    • 9fa8b17cb FullscreenUI: Fix a couple of missing strings
    • e48649bc2 FullscreenUI: Remove unused variable
    • 0776e2f9c Qt: Clear style sheet before applying theme
    • 2fb377359 Qt: NativeThemeStylesheetNeedsUpdate() should not apply to Fusion
    • d9e363f84 Qt: Add message box helpers
    • db7598ffa Qt: Use message box wrapper functions
    • 8775ca0ff Qt: Convert more message boxes to window modal
    • 6432ac103 Qt: Fix non-rounded buttons in achievement login
    • 326a6e391 CMake: Fix scmversion.cpp always updating on Mac
    • 7414ed92e Update the Simplified-Chinese Translation. (#3592)
    • eb23999d6 Atualização Português do Brasil (#3593)
    • b237604ac GPUDevice: Don't log warning for WARP driver
    • 5818a05be Achievements: Add point count to unlock popup
    • 5a7094b81 Achievements: Use consistent icon style in list
    • de08a2fff CMake: Only remap source path in Release builds
    • a44c8466e CMake: Fix Xcode project debugging
    • 0fec148e0 GPU/HW: Add missing padding to UBOs
    • eefcd9071 GPU/HW: Avoid some redundant calls in Metal
    • 24ae4a5d2 FullscreenUI: Fix uniform push before pipeline set
    • b858fe5e9 GPUDevice: Display OSD message if debug settings are enabled
    • 2c2fb1d49 D3D12Device: Fix incorrect StencilBeginningAccess/StencilEndingAccess
    • cff3ece1a VulkanDevice: Fix incorrect struct type
    • 05701fef4 GPUDevice: Make dyn libs public
    • fcde8c776 dep/reshadefx: Cherry-pick upstream 74e95dd
    • a038c88d2 dep/reshadefx: Work around inability to discard in function in DXC
    • d82ae473a CI: Bump minimum macOS version to 13.0
    • e89ab8311 Qt: Misc code cleanups
    • 49762aa49 Qt: Fix column width estimation in game list
    • 59d0f3c01 Qt: Fix game icon size and row height in game list
    • 458ad1334 Qt: Take header width into account for all columns
    • 94cfc9ba2 Update the Simplified-Chinese Translation. (#3594)
    • efa6e4aec Common: Use NSAlert for assertion failures/panics
    • c5d93583d GameDatabase: Add DisableFastForwardMemoryCardAccess trait
    • 1999b0df6 GameDB: Set DisableFastForwardMemoryCardAccess for Twisted Metal 4
    • f6cdf95b6 Qt: Fix positioning of game list achievements icon
    • cd8d6d838 Qt: Remove game icon extra size
    • d54234444 Qt: Don't need these functions defined in the header
    • b8764e8c1 Qt: Add exit specific message for confirmation dialog
    • 88802e0d0 GameList: Fix achievement game ID not set for disc sets
    • 8c0878882 Qt: Normalize shut down labels
    • 7bba98af3 Update the Simplified-Chinese Translation. (#3596)
    • 5f6b690b9 Atualização Português do Brasil (#3597)
    • d0bbf8ca1 GameDB: Set DisableFastForwardMemoryCardAccess for Tales of Destiny
    • 5a49db071 Qt: Reflect DisableFastForwardMemoryCardAccess trait in the settings UI
    • 97db72cb2 Achievements: Fix display of game completion time (#3599)
    • bfc6da257 GameDB: Disable disc speedup on MDEC for Warcraft II (#3600)
    • a929aaf19 Update Russian translation (#3601)
    • b797aae28 GPU: Fix a couple instances of reading wrong thread settings
    • 0841ab4b9 Qt: Fix disc swap from game list incorrectly pausing
    • c33354e2d Qt: Don't hold game list lock on popup
    • dc5b57aa4 Qt: Missed a couple of shutdown -> close messages
    • b483d2f61 ImGuiManager: Add title variants for OSD messages
    • 529da22ef System: Use new OSD message variants
    • 0d4ffde7c Qt: Allow command line boot of device path
    • 22220853d Qt: Fix recommended value for "Challenge Indicators" (#3603)
    • 3e6dd9b9a System: Simplify and polish more OSD messages
    • 899d500d3 GPU: Fix compile warning
    • 5de231ca5 System: Fix regtest build
    • 863b9b10a Qt: Minor layout fixes in analog controller binding widget (#3604)
    • 683ccbf21 GPUDevice: Swap ImGui rendering to use UBO
    • 6848f07c5 GPUDevice: Combine draw and push constant functions
    • 916b23f85 GPUDevice: Use separate buffer for push constants
    • 47c820455 GPUDevice: Add MultiTextureAndUBOAndPushConstants pipeline layout
    • b43111f36 GPUDevice: Remap input attributes when transpiling to HLSL
    • 4729e2257 GPUDevice: Handle non-contiguous texture bindings in SPV transpiling
    • 08317d947 GPUDevice: Set fixed names for UBO/push constants in SPV transpiling
    • 9a5eadd86 GPUDevice: Add SRGBA8 texture format
    • af5c3fac4 GPUDevice: Fix mipmap generation on targets
    • d06f306f8 GPUDevice: Ensure clear is committed in MakeReadyForSampling()
    • eb0a8890e MetalDevice: Fix creating mipmapped textures with generate flag
    • fc618b8b6 SPIRVModule: Add class for iterating/manipulating SPIR-V
    • 81fb8014a PostProcessing: Support unscaled input
    • 8a732ded4 PostProcessing: Support loading slang shaders/presets
    • 77b1abf5e MemoryCard: Fix off-by-one reporting in card number
    • 9a5e0c902 ShaderGen: Fix ImGui rendering with Vulkan
    • 5da178eb2 Update the Simplified-Chinese Translation. (#3605)
    • 4ec6752fe GPUPresenter: Handle padding for unscaled/slang input
    • b04b87a73 PostProcessing: Use titled OSD messages
    • 042bc7945 ImGuiManager: Use different OSD title/text colours
    • 5ca35363d CPU/Recompiler: Set up frame pointer on Windows ARM64
    • 49a1446fb Common: Fix SSE2 build
    • 85275a196 Qt: Add missing help text in Interface Settings
    • b0689d54e FullscreenUI: Move loading screen progress callback into namespace
    • b4d71cb66 Qt: Save position of settings windows
    • 70352b69c Qt: Center windows when they don't have saved positions
    • f5fc2474a Qt: Resolve command line paths before autobooting
    • 520502dab FileSystem: Fix RealPath() with relative paths
    • e91db67c7 Qt: Reload icons and tooltips when game list rows change (#3609)
    • a1889a20b Qt: Add standard shortcut to open settings (#3608)
    • 0c7e8f3d8 Qt: Fix overlapping widgets in cheat settings (#3607)
    • a5e20511d Update the Simplified-Chinese Translation. (#3606)
    • 2a350960b FullscreenUI: Fix misdetection of some light themes
    • cebb1348a FullscreenUI: Fix button-held colour in menus
    • de2e89ea9 Settings: Ensure slang shaders subdirectory is created
    • a8e922c45 Qt: Improve Darker Fusion style
    • 7080e98bc PostProcessing/slang: Don't balk at duplicate option names
    • a88cfbee6 PostProcessing/slang: Raise error if too many textures are bound
    • d6f4fc7f1 PostProcessing: Ensure input buffer matches present format
    • 14481affb Qt: Bring toolbar checked background closer to combo background
    • d58f2d022 Qt: Make auto/clear bindings buttons QPushButtons
    • a22d3a794 Qt: Style more widgets in Darker Fusion
    • f9cab709b INISettingsInterface: Use case sensitive storage
    • dd0c7ec9f GPU: Insert null field buffer if display disabled
    • 8b217b5cc GPU: Fix OSD reporting of non-interleaved interlaced resolution
    • df4d04c86 Qt: Style patches widget on Mac
    • d598470de Scripts: Remove Flatpak manifest
    • 42cf66cbd FullscreenUI: Fix achievement points placement with short description
    • 3d39fe268 GPU: Don't crash if first frame is interlaced+black
    • 15d70ffb1 GameDB: Max speedup cycles for Discworld and Discworld Noir (#3611)
    • 51726e3be Atualização Português do Brasil (#3612)
    • fbc99916f PostProcessing/Slang: Remap and skip binding unused textures
    • dca565a2f GameDB: Adjust crop area for Gran Turismo 2 (#3613)
    • 28b911137 Deps: Bump MacOS deployment target to 13.0
    • 9ed525429 Deps: Patch Linguist to build without Qt Quick
    • d797ca483 Deps: Don't build qtdeclarative
    • 8302a6b9e Deps: Remove unused CMake argument
    • 082ba2164 Deps: Update versions
    • 8dc0b99ee VulkanDevice: Fix off-by-one in assertion
    • a49b351db CMake: Bump SDL version requirement
    • cb5ab7292 Qt: Fix qrc generation script ordering differently
    • 3e2595847 Qt: Add dialog for adding postfx shaders
    • 242280d6e GPU: Rearrange and reduce struct padding
    • ac30cf341 GPU: Display emulated GPU usage in stats
    • e4797b1ca Qt: Add 'Open Directory' button to post-processing settings
    • de250b86c Qt: Increase spacing in game list toolbar
    • c00428669 Qt: Improve shader add dialog
    • 93f4e40bf Ajuste (#3615)
    • 859e1908b Updated Swedish translation (#3614)
    • c2737f953 Spanish (Spain) translation update 2025/11/07 (#3616)
    • 62054ba97 Qt: Fix canceling shader selection dialog (#3617)
    • 00444fd91 GameDB: Max speedup cycles for Discworld II (#3618)
    • 2059e9bba Update the Simplified-Chinese Translation. (#3619)
    • 326016d1d GameDB: Set max speedup cycles to 35k for Alundra 2
    • fbffdbc96 GameDB: Disable widescreen for Digimon World
    • 652ce9ef3 GameDB: Set DisableFastForwardMemoryCardAccess for Broken Sword II
    • 540e02a2e GameDB: Add various comments
    • bf0c0fd95 GameDB: Decrease cdromMaxReadSpeedupCycles for AITD4 and Dino Crisis 2
    • 63d5c3424 System: Fix use of moved string in error path
    • 4a246a74a GPU: Avoid unnecessary postfx source preprocess when upscaling
    Downloads
    • DuckStation-arm64.AppImage
      78 MiB
      2026-01-29 18:40:05 +00:00
    • DuckStation-armhf.AppImage
      75 MiB
      2026-01-29 18:40:15 +00:00
    • duckstation-mac-release.zip
      82 MiB
      2026-01-29 18:40:26 +00:00
    • DuckStation-Mini-arm64.AppImage
      59 MiB
      2026-01-29 18:40:34 +00:00
    • DuckStation-Mini-armhf.AppImage
      58 MiB
      2026-01-29 18:40:43 +00:00
    • duckstation-windows-arm64-release-symbols.zip
      15 MiB
      2026-01-29 18:40:45 +00:00
    • duckstation-windows-arm64-release.zip
      64 MiB
      2026-01-29 18:40:59 +00:00
    • duckstation-windows-x64-release-symbols.zip
      16 MiB
      2026-01-29 18:41:03 +00:00
    • duckstation-windows-x64-release.zip
      64 MiB
      2026-01-29 18:41:13 +00:00
    • duckstation-windows-x64-sse2-release-symbols.zip
      16 MiB
      2026-01-29 18:41:16 +00:00
    • duckstation-windows-x64-sse2-release.zip
      64 MiB
      2026-01-29 18:41:29 +00:00
    • DuckStation-x64-SSE2.AppImage
      92 MiB
      2026-01-29 18:41:44 +00:00
    • DuckStation-x64.AppImage
      92 MiB
      2026-01-29 18:42:04 +00:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v0.1-9903 8f0c9dd171
    Compare

    Stable

    claunia released this 2025-10-13 14:06:50 +00:00 | 915 commits to master since this release

    📅 Originally published on GitHub: Tue, 14 Oct 2025 02:19:50 GMT
    🏷️ Git tag created: Mon, 13 Oct 2025 14:06:50 GMT

    Commits

    • 7df21b216 Deps: Bump cpuinfo version
    • 86f36ad33 Deps: Remap paths in libbacktrace
    • 7e4f0ce11 Deps: Update to FreeType 2.14.1
    • 29aa0faa6 Deps: Update Harfbuzz to 11.5.0
    • 262491462 Deps: Patch libpng for apng support
    • f2cee1900 HeapArray: Add size_bytes()
    • bcc066a2e Image: Fix a couple of random bugs
    • 8f78f8358 Image: Don't use png_read_image()
    • 9d14a4a57 Tests: Add tests for Image class
    • 102af48b6 AnimatedImage: Add class for reading APNGs
    • 8e65beb73 GameList: Save APNGs for memory card icons
    • ea11ce2dd Tests: Add for CueParser and ElfFile
    • d4c6905cf Tests: Linux build fix
    • 5caa56013 FileSystem: Disallow control characters on Linux/Mac as well
    • 93a13a6fa FullscreenUI: Draw generated covers when not present
    • 4ee873877 FullscreenUI: Stop icons leaking into cover cache
    • ecf13ded2 Qt: Add Memory Editor window
    • da471120c Qt: Link memory scanner address double-click to editor
    • b40ff8b0b Qt: Add optional animation of icons in game list
    • a904544c6 Update the Simple-Chinese translation to latest. (#3577)
    • bb9dbf9a3 Qt: Avoid casts on animation delegate
    • 50c9f63e8 Qt: Hackfix game list background on stylesheet themes
    • daf5fee9f Qt: Don't bother using worker for background resize
    • ea57a428f Qt: Don't use static storage for app icon
    • 3832b3957 Qt: Fix disabling patches not removing empty ini
    • 6c1ee0ca8 Settings: Store custom aspect ratios in main key
    • c5d309f32 Settings: Avoid log.h include
    • fb60691af Cheats: Pack state in struct
    • fa8a995d7 Cheats: Fix uninitialized data read in parsing
    • eadca6cd7 Settings: Prefer widescreen patches over GTE hack
    • 0a25dd069 Atualização Português do Brasil (#3578)
    • 3fada38b5 Update the Simple-Chinese Translation to latest. (#3579)
    • 3d4115613 Achievements: Fix unused variable warning
    • a50997a55 Qt: Fix app icon ending up as null
    • 38bb240a4 Qt: Avoid extra string storage
    • 5c9e28f11 Updated Swedish translation (#3580)
    • 9807948ac Qt: Remove old vsync mode migration function
    • 975b9b18e AnalogController: Fix inverted motor display in OSD
    • e5c17880c Qt: Fix vibration binding not applying immediately
    • c79097226 System: Warn if geometry tolerance is not default
    • 51942df7d Use DualSense Mic Mute LED for Analog Mode (#3574)
    • ffa0e8d13 Qt: Refactor LED bindings
    • cf8b1a58c Qt: Re-introduce FlowLayout
    • 982753d7c Qt: Allow binding both active and inactive LED colours
    • a048e092b Qt: Make LED settings clearer
    • 6cb727f38 GameDB: Disable auto analog in Alien Resurrection
    • 21c83440b Misc: Add error checking to LocalTime()
    • 570f0416b Deps: Bump to Qt 6.9.3
    • 2adf7a166 CI: Bump MacOS runner to macos-15 + Xcode 26
    • 3624474b9 Controller: Remove unused InAnalogMode()
    • f0c67e998 Controller: Remove GetInputOverlayIconColor()
    • 9d8d81d09 InputManager: Only update vibration once per frame
    • 1b49f82c9 Controller: Merge all binds into one index space
    • 424f9a9db Controller: Simplify deadzone calculation
    • 10f9039de Controller: Skip runahead replay when analog is unchanged
    • 3966a9eea System: Serialize PGXP state for runahead
    • 95e9cba79 Update the Simple-Chinese Translation to latest. (#3581)
    • cf0b60247 Settings: Rearrange fields
    • e6788b313 System: Add 'Runahead for Analog Input' option
    • 22399c25a FullscreenUI: Fix localization of 'None' background
    • f57eeb349 CI: Simplify Windows/Linux workflows
    • 1665cb695 InputManager: Refactor and simplify vibration mapping
    • f219c2ca9 AnalogController: Fix sync/readback value for vibration
    • 78db5addc Qt: Fix flicker when changing cover size
    • 7b991def4 Qt: Bump currently-visible covers to front on scale change
    • 9cc29fb60 Qt: Use QSize throughout GameListWidget
    • 4e797f398 CI: Remove redundant prefix on AppImage cross job
    • e373be9fd CMake: Bump required dependency versions
    • 24a3dcb41 InputManager: Sync effect state on connection
    • 848833b68 CI: Fix Windows build symbol upload
    • 3a806738b Qt: Fix cover title being clipped
    • 1b7e42920 Update the Simplified Chinese Translation to latest. (#3582)
    • 733df6a0c Qt: Show screenshot in resume game popup
    • 39eb2c564 Qt: Don't include git hash in window title
    • 7575050b0 Controller: Don't indirectly include settings.h
    • 267b74cab Atualização Português do Brasil (#3583)
    • dbf284980 Misc: Move SettingInfo declaration to input_types.h
    • 98761961b Cheats: Remove unnecessary std::move()
    • 5afa6b2d6 Controller: Remove unused helper function
    • 76facb3da FullscreenUI: Fix default value for theme
    • 97c49a9e3 CDImageDevice: Use g_settings for ignore host subcode
    • 4f0d35c2e VulkanDevice: Make current command buffer lookup consistent
    • c039a946f Updated Swedish translation (#3584)
    • 550858104 Update the Simplified Chinese Translation. (#3585)
    • 00a2f5a2c FullscreenUI: Fix crash opening settings
    • cd37cd741 Deps: Update to Qt 6.10.0
    • 05a58285a CPU/PGXP: Handle SXYP mirror reads
    • 8bce5b0a5 CPU/PGXP: Make register writes more readable
    • 27d26794d CPU/GTE: Remove unnecessary struct padding
    • 4d516c524 dep/rcheevos: Bump external client image URL buffer size
    • 29d73cb18 GameDB: Remove PGXP vertex cache from Touge Max G
    • 330eb057d Scripts: Hopefully fix AppImage build
    • 50a9f04dd dep/rcheevos: Bump to 6755915
    • 3552a5b00 Qt: Fix rare bug where covers get stuck in loading state
    • 505753da4 Deps: Update to FFmpeg 8.0
    • 4587c45d9 MediaCapture: Improve FFmpeg load error message
    • a1c177402 CI: Fix AppImage build (again)
    • f0f7475c3 FullscreenUI: Modernize blocking loading dialog
    • b5e1087e2 Qt: Fix submenu accessibility on MacOS
    • e0e245d59 Qt: Swap most out-of-toolbar QToolButtons to QPushButtons
    • a654ce63b Qt: Style QMenu and QToolButton with stylesheet on MacOS
    • 00042a5ea Qt: Default to native theme on MacOS
    • adbfe7f18 Qt: Display hash in game properties summary
    • f8c720a5e Qt: Tab should change focus in edit cheat dialog
    • 08556f314 Qt: Normalize line endings in cheat edit dialog
    • bfcd3d422 Cheats: Strip whitespace on code body when editing
    • 286f9ddde Qt: Validate cheats before saving edits
    • c4c6357be Qt: Improve column width behaviour in cheat list
    • ec96dd70f Qt: Don't use hash cheat list when PPFs exist
    • 90e607854 Cheats: Show OSD warning when parsing fails
    • c117059c8 GPU/HW: Fix crash when preloading texture replacements
    • 8ed329ff1 Qt: Fix serial mismatch error when verifying
    • a08996d55 Spanish (Spain) 2025/10/12 translation update (#3586)
    • 114c26307 Qt: Fix initial button state in memory card editor
    • 3c632c896 Qt: Fix hang on theme change on MacOS
    • 8f0c9dd17 Qt: Fix disabled menu items in MacOS native theme
    Downloads
    • duckstation-aarch64.flatpak
      62 MiB
      2026-01-29 18:37:49 +00:00
    • DuckStation-arm64.AppImage
      78 MiB
      2026-01-29 18:38:00 +00:00
    • DuckStation-armhf.AppImage
      75 MiB
      2026-01-29 18:38:11 +00:00
    • duckstation-mac-release.zip
      83 MiB
      2026-01-29 18:38:23 +00:00
    • DuckStation-Mini-arm64.AppImage
      58 MiB
      2026-01-29 18:38:34 +00:00
    • DuckStation-Mini-armhf.AppImage
      57 MiB
      2026-01-29 18:38:43 +00:00
    • duckstation-windows-arm64-release-symbols.zip
      15 MiB
      2026-01-29 18:38:46 +00:00
    • duckstation-windows-arm64-release.zip
      64 MiB
      2026-01-29 18:38:55 +00:00
    • duckstation-windows-x64-release-symbols.zip
      15 MiB
      2026-01-29 18:38:58 +00:00
    • duckstation-windows-x64-release.zip
      64 MiB
      2026-01-29 18:39:08 +00:00
    • duckstation-windows-x64-sse2-release-symbols.zip
      15 MiB
      2026-01-29 18:39:12 +00:00
    • duckstation-windows-x64-sse2-release.zip
      64 MiB
      2026-01-29 18:39:24 +00:00
    • DuckStation-x64-SSE2.AppImage
      91 MiB
      2026-01-29 18:39:37 +00:00
    • DuckStation-x64.AppImage
      91 MiB
      2026-01-29 18:39:45 +00:00
    • duckstation-x86_64.flatpak
      74 MiB
      2026-01-29 18:39:54 +00:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v0.1-9787 94efd0089f
    Compare

    Stable

    claunia released this 2025-09-23 12:58:06 +00:00 | 1031 commits to master since this release

    📅 Originally published on GitHub: Tue, 23 Sep 2025 13:10:03 GMT
    🏷️ Git tag created: Tue, 23 Sep 2025 12:58:06 GMT

    Commits

    • aee897e44 Qt: Disable UI of settings forced via gamedb, part two (#3561)
    • d367e7e4e Qt: Alternating row colors for Hotkeys settings (#3559)
    • 022d9f308 Qt: Pass game list entry to settings window
    • c4ac3d195 Qt: Improve padding in hotkey rows
    • c9156fd7b Qt: Pack host local state in struct
    • 17aa58873 Qt: Add shadow to placeholder cover text
    • e2142419e Qt: Use Roboto for cover placeholder text
    • aca4e6be4 Qt: Use Roboto for cover captions too
    • 7bf3b7931 Qt: Fix hotkey alt row colours on Mac
    • 96c90a4ac Qt: Use colorScheme() for dark mode detection on system themes
    • 5c7b97636 Updated Swedish translation (#3562)
    • 2459ac7cc Achievements: Fix crash on unknown game
    • a8bbd2c4a CrashHandler: Catch exceptions and std::terminate
    • 1cdde2cab Path: Add IsFileNameValid()
    • f45350898 GameList: Don't balk on cover titles that end in dot
    • f0ff520a9 GameList: Improve custom title cover handling
    • 65f620901 GameDB: Various fixes for Einhänder
    • 9ae09a769 GameDB: Disable widescreen and enable PGXPPreserveProjFP for Evil Dead
    • d694bc201 GameDB: Various fixes for Mega Man games
    • 66d6e2827 GameDB: PGXP CPU mode for Tony Hawk's Pro Skater
    • b95f2b16f Atualização Português do Brasil (#3564)
    • c6666a388 Qt: Show tooltip when adjusting icon/cover scale (#3563)
    • edeaae613 dep/rcheevos: Bump to 4570cb7
    • d8912cb3c System: Allow RVO in GetExecutableNameForImage()
    • fe09b5d16 ISOReader: Allow zero-length root directory entries
    • 56665d64a Achievements: Simplify hash-to-string routine
    • 8f247c909 Qt: Move zoom logic entirely to game list widget
    • 78bc53ff4 Qt: Stop slider tooltip showing on keyboard shortcut
    • e0a51e117 CI/Flatpak: Replace with a wrapped AppImage
    • 84c6be74d Deps: Simplify Linux build scripts
    • 6126209a2 CMake: Remove Flatpak specific commands
    • ee9f32185 dep/rcheevos: Remove files deleted upstream
    • 456d341ec Enable/Disable View menu items according to state
    • 1f07bfc9c Added "View > Sort By" menu
    • df49eba47 Added icons and mnemonics in View menu
    • 17a1b231a Keep Game List/Grid view options enabled if rendering to separate window
    • a9c36f39a Use statusTip instead of toolTip for menus
    • cdcfbea6d Updated Swedish translation (#3566)
    • a790f521a Qt: Don't try to replace AppImage when running as Flatpak
    • e038a1d35 Qt: Fix some size values truncated in game list
    • 4d5b0473c Qt: Don't show fractional sizes in game list
    • 9877cc0c2 Qt: Move list background config logic to GameListWidget
    • f39a06726 Qt: Add tooltips to menu actions
    • 355446798 Qt: Set status tip for actions to tooltips
    • 08d54487e Qt: Disable capture frame option if not running
    • ae570b0ac Qt: Remove multiple source of truth for column titles
    • 7807a6847 Misc: Fix a couple of code analysis warnings
    • cb7c33cf2 Qt: Synchronize horizontal header with sort actions
    • 640769c2b System: Remove unnecessary c_str()
    • aa929370b Host: Pack locals in struct
    • ae77a82ba Common: Add helper for thread-safe localtime()
    • 2346f67c8 dep/fmt: Update to v11.2.0
    • 328c93b78 FullscreenUI: Fix OOB on start+load state
    • 577863077 Qt: Replace named slot usage with functors
    • 339f4252e Qt: Remove named slot declarations
    • 31c75a2b5 Qt: Remove Q_OBJECT where unnecessary
    • 9e3dda675 Qt: Remove unused variables
    • 66bef3e3e Achievements: Allow background reads
    • 0088bb0ab Qt: Make titlebar match current UI theme (Light/Dark) (#3568)
    • ff2346211 dep/rcheevos: Bump to fae1e23
    • 8a431b7d2 GameDB: Disable PGXP on 2D polygons in Wipeout games
    • bb50fc905 CDROM: Improve subchannel file detection
    • 9a1a8c226 Qt: Allow transparent padding for covers
    • eeb155590 Qt: Fix tooltip typo
    • e138030f8 Updated Swedish translation (#3569)
    • 4bf2aa562 Update the Simple-Chinese translation. (#3570)
    • 1e4140875 Atualização Português do Brasil (#3571)
    • ceb675752 Qt: Work around broken dialogs in MacOS 26
    • a39d370c5 Qt: Don't show main window when changing setup wizard options
    • 2369b329e Qt: Partially revert "Remove Q_OBJECT where unnecessary"
    • 05af0c128 FullscreenUI: Fix title display in game properties
    • ea3c8a365 Qt: Add a theme changed event and use it for hotkey rows
    • 3724a38d3 Qt: Remove MainWindow::updateTheme()
    • 6caf2d567 Qt: Resize fixed columns on theme change
    • 4c81a9821 Qt: Fix detection of system language (#3573)
    • a13aa8f29 Adicionada uma atualização da tradução para português europeu
    • 073335c09 Qt: Don't break size of larger game icons
    • 1ac7fc258 SaveStateSelectorUI: Scale save state selector to LayoutScale
    • 83d518c70 Qt: Fix about dialog link colour
    • 749ce48b6 Qt: Theme colours can be constexpr
    • 1a4ca3be1 Qt: Add 'Darker Fusion' theme
    • e3c4f77a0 Qt: Fix tab order in settings pages
    • f1fe00c1c Data: Update SDL game controller database
    • 5e253d0c2 Qt: Add toggle button class
    • a90184a65 CDROM: Tidy up warnings
    • fb318ca4b Qt: Fix toggle button not updating
    • 95bcff8c0 Qt: Darker Fusion tweaks
    • 0d3c7751f Qt: Fix Cheats menu shortcut
    • bb63bf92f Qt: Remove multiple sources of truth for dark theme
    • e6c49f0b3 Qt: Fix uncentered toggle widget thumb
    • 41a4f07cc CI: Remove Flatpak verification steps
    • 81f5b7440 Qt: Add icon for multi-disc games
    • c4069eed0 CMake: Avoid search path conflicts
    • 5e3287128 CI: Remove unneeded install on Mac
    • 24bf2bc45 Qt: Default to darker fusion theme
    • f1047afda Qt: Make checked menu item visible in Darker Fusion
    • 77bc1ae3c Qt: Fix incorrect size hint in FolderSettingsWidget
    • 85c4e0249 Qt: Remove redundant title update in Game Properties
    • e877ae41b Qt: Fix display of uncompressed size
    • 49b5ea3d0 DMA: Skip chopping on tiny blocks
    • 109bbf628 GameDB: Recompiler ICache for Dotchi Mecha!
    • e183ec307 CPU/Interpreter: Use aligned address for membps in lwl/lwr
    • b106392da CPU/PGXP: Implement lwl/lwr/swl/swr
    • 0de2aafdb CPU/Interpreter: Memory read failures are unlikely
    • 7de84817f System: Fix changing GPU thread state when inactive
    • ba0390f6e System: Fix patch settings not clearing on game change
    • 9baa09aac InputManager: Use TinyString for key-to-string function
    • 055caf5cb Qt: Log input state when binding
    • fcf67396c Qt: Require non-zero displacement for reverse axis binding
    • 03cbfc2e3 CI: Auto-retry patch download
    • 790ac2351 GPU: Get present parameters before allocating command
    • c2bbef066 System: Simplify memory card opening
    • dc1882dd3 System: Fix patch setting override desync on safe mode toggle
    • 36ebaf87a Spanish (Spain) translation update 2025/09/22 (#3576)
    • 598d393ae System: Don't create any memory cards in PSF/GPU Dump mode
    • 65d6ecc4c Qt: Don't use style hints as source of truth for dark mode
    • 5b4cf75c7 Qt: Fix game list icon colours on theme change
    • 94efd0089 Qt: Add fallback if system colour scheme is unknown
    Downloads
    • duckstation-aarch64.flatpak
      62 MiB
      2026-01-29 18:35:31 +00:00
    • DuckStation-arm64.AppImage
      78 MiB
      2026-01-29 18:35:40 +00:00
    • DuckStation-armhf.AppImage
      75 MiB
      2026-01-29 18:35:51 +00:00
    • duckstation-mac-release.zip
      82 MiB
      2026-01-29 18:36:02 +00:00
    • DuckStation-Mini-arm64.AppImage
      58 MiB
      2026-01-29 18:36:11 +00:00
    • DuckStation-Mini-armhf.AppImage
      57 MiB
      2026-01-29 18:36:19 +00:00
    • duckstation-windows-arm64-release-symbols.zip
      15 MiB
      2026-01-29 18:36:22 +00:00
    • duckstation-windows-arm64-release.zip
      64 MiB
      2026-01-29 18:36:30 +00:00
    • duckstation-windows-x64-release-symbols.zip
      15 MiB
      2026-01-29 18:36:34 +00:00
    • duckstation-windows-x64-release.zip
      64 MiB
      2026-01-29 18:36:46 +00:00
    • duckstation-windows-x64-sse2-release-symbols.zip
      15 MiB
      2026-01-29 18:36:48 +00:00
    • duckstation-windows-x64-sse2-release.zip
      64 MiB
      2026-01-29 18:36:59 +00:00
    • DuckStation-x64-SSE2.AppImage
      89 MiB
      2026-01-29 18:37:12 +00:00
    • DuckStation-x64.AppImage
      89 MiB
      2026-01-29 18:37:27 +00:00
    • duckstation-x86_64.flatpak
      71 MiB
      2026-01-29 18:37:38 +00:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v0.1-9669 d0840c0615
    Compare

    Stable

    claunia released this 2025-09-09 09:15:04 +00:00 | 1149 commits to master since this release

    📅 Originally published on GitHub: Tue, 09 Sep 2025 09:24:42 GMT
    🏷️ Git tag created: Tue, 09 Sep 2025 09:15:04 GMT

    Commits

    • 54ab073f1 SDLInputSource: Add options for XBox HIDAPI/rawinput
    • 5bdcde76a Qt: Expose advanced SDL options
    • 33b3a6efd InputSource: Support querying current values
    • c0c022591 System: Synchronize input binding state on startup
    • 327e9b5ce XInputSource: Set initial state on connection
    • 859787333 SDLInputSource: Fix DirectInput
    • d9d3b6a65 GameDB: disable auto analog mode for Pepsiman (#3511)
    • f340bdb2b CI: Bump actions/checkout to v5 (#3508)
    • 13ce6469f GameDB: Disable widescreen on Alone in the Dark - The New Nightmare (#3509)
    • 962198f76 GameDB: Adjust crop area for Final Fantasy IV (#3510)
    • 006de3a6d Qt: Don't manually populate combos for enums
    • 7a359e54b GPU: Add separate scaling and FMV scaling options
    • 95ccd7cea FullscreenUI: Update translation strings
    • 414ddf78c Achievements: Display warning for unsupported achievements
    • edf9b53bf GameDB: Disable PGXP and widescreen for Chrono Trigger
    • f7c334bd4 GameDB: Disable PGXP and widescreen on Lunar games
    • 276211b9f GameDB: Disable auto analog mode on Echo Night (#3514)
    • 1bc9f1efe update the Simple-Chinese translation to latest. (#3515)
    • 1743bfa5f Qt: Fix double translation in GameListWidget
    • a8fdeb82d GameDB: Tighten DMA for Hot Wheels Turbo Racing
    • 921190ae1 Atualização Português do Brasil (#3517)
    • d526818d3 GameDB: Disable auto analog mode on Shadow Tower (#3516)
    • bcb6f98cb Common: Eliminate more static functions in headers
    • 4e39c3061 GameDB: Rollcage Stage II
    • 0fe6928d6 GameDB: disable auto analog for some shoot'em up games (#3518)
    • f5d668fea GameDB: Disable auto analog mode on Armored Core games (#3519)
    • 4c349ffd4 GameDB: Disable widescreen and speedup on MDEC for Legend of Mana (#3520)
    • c7a4505ad Qt: Check screen bounds when restoring window positions
    • e00d6960d GameDB: Disable auto analog mode on Backstreet Billiards (#3521)
    • d3024019b GameDB: Increase max speedup cycles for Brave Fencer Musashi
    • 40383f58f GameDB: Increase max speedup cycles for Breath of Fire III
    • ae99e8d31 GameDB: Disable widescreen on Suikoden
    • 0ff6a5c64 GameDB: Add compatibility rating to a few games
    • 28db2be7f GameDB: Disable auto analog on more games (#3523)
    • c1e71820d Qt: Disable UI for fast boot & disc speedup if marked incompatible in the DB (#3525)
    • 826eff35e GameDB: Set max speedup cycles to 70k for Resident Evil 3 too (#3524)
    • 86006e3d0 System: Apply setting restrictions before gamedb
    • 6e864a36e GameDatabase: Allow CPU overclock override
    • c1d0cf390 GameDB: Titan Wars overrides
    • 6e926041e GPUDevice: Move options to create flags
    • 34e0eab9f CPU/Recompiler: Check downcount in interpret block
    • 7de367fc2 CPU/Recompiler: Remove unused function pointer
    • 80fcd14a2 CPU/Recompiler/RISCV64: Replace lwu with lw in a couple of places
    • 19f17007e GameDB: Max speedup cycles for Driver/Driver 2
    • 645344b8f Animated icon in memcard editor (#3526)
    • e907bbf83 Qt: Use a delegate to lazily resize/render icon pixmaps
    • 686c4b81c Qt: Add custom code view for debugger
    • da18a9508 Qt: Sync debugger breakpoint list with main
    • e551a9627 Qt: Don't disable debugger code view while running
    • 6bef5a41a OpenGLDevice: Disable PBOs on Panfrost driver
    • fda28eaea DMA: Decrease slice size when MDEC is active/decoding
    • b67bf2033 Mini: Fix missing format in FormatNumber()
    • a1f81d99a InputManager: Pack state in struct
    • 7d8e11d3c InputManager: Make macro button storage dynamic
    • d4b85ef6f InputManager: Increase macros per pad
    • 3b1dcde36 Qt: Force memory card editor icons to 32x32
    • 8533ab7f2 Qt: Fix editing second memory card
    • b3d6b3708 GameDB: PGXP CPU mode for Azure Dreams
    • 4e96fde47 GameDB: Disable disc speedup on MDEC for Diablo
    • 24e496164 GameDB: Fix metadata for Darkstone
    • fb56c9999 GameDB: Disable widescreen in Fear Effect 2
    • 2f3982030 GameDB: PGXP CPU mode for Nightmare Creatures II
    • bbd150823 CompressHelpers: Tidy up and add Deflate
    • 1ef1a2d3f System: Add XZ save state compression
    • dcb6730cd Spanish (Spain) translation update 2025/08/25 (#3530)
    • 7c398c4a9 GameDB: Turn PGXPPreserveProjFP off for Persona
    • f0c0ca3e0 GameDB: Fix metadata for Nightmare Creatures I & II
    • 2bd7fe878 Qt: Disable column sorting indicator and adjust labels in memcard editor (#3528)
    • de39ff5e9 GPUDevice: Fix ROV support being disabled
    • 63350c3d8 GPU/HW: Fix uninitialized pipeline fields
    • eedf417f2 CMake: Add possible missing include directory
    • e5fd12acb Qt: Disable game widget while system is starting
    • 87f2c54dd FullscreenUI: Unify Prefer GLES option name
    • a46e43fb7 GameDB: Enable PGXPPreserveProjFP for Ghost in the Shell (#3531)
    • c76a8911d Update the Simple-Chinese Translation to latest. (#3533)
    • f303d5744 GameDB: Disable auto analog mode on several SMT games (#3532)
    • b0a63f95c Qt: Sharp Bilinear scaling for memcard icons (#3536)
    • 7f3640114 Update duckstation-qt_it.ts (#3534)
    • 2c28e457b Updater Application Icon Update (#3535)
    • 835390fa9 Cheats: Make message OSD key consistent
    • f6fd1e982 Atualização Português do Brasil (#3538)
    • 2182a0d84 Update the Simple-Chinese Translation to latest.
    • 4738fceb4 Updater: Fix pause until mouse move on Mac
    • d13d3d89f Resources: Relocate PromptFont key glyphs to high range
    • 1aa92c766 GameDB: Normalize multi-line strings
    • a8b4bb3fc GameDatabase: Add sort title, localized title, and save title fields
    • 6e421b9d4 GameDB: Add unsuffixed display names
    • d00b89725 GameDB: Add sortName for games starting with 'The'
    • 8bfc31a59 GameDatabase: Refactor disc sets
    • 29327b3e2 GameDB: Add localized names
    • 2ed8c024a Qt: Show English and localized names in tooltip
    • 39fcbf7a1 GameDB: Add sort name to Crash/Final Fantasy games
    • 970f2ed9d GameDB: Fix lint errors
    • 17872fec8 Qt: Fix compile warning
    • e35b49d6e GameDB: More instances of sort titles
    • 2b519b1a9 GameDatabase: Check timestamp of discsets.yaml
    • dec06fa67 GameDatabase: Use once_flag for thread-safe initialization
    • 86333e997 System: Fix crash on starting non-database game
    • d77c92de3 FullscreenUI: Fix incorrect disc set window title
    • 92c056107 Update the Simple-Chinese translation to latest. (#3540)
    • c1bb183ca FullscreenUI: Fix selecting disc set entries in list/grid
    • 7cd0d412e Settings: Fix portable mode for AppImages
    • 0a271cd7d StringUtil: Fix CompareNoCase for prefixes
    • 56e1713e2 GameList: Support scanning and caching relative paths
    • b0dd909cf Qt: Resizable game list icons (#3539)
    • 6765b2feb Qt: Delete some redundant code in GameListModel
    • d499d8e2d Qt: Avoid a full reset when toggling show cover titles / localized titles
    • abde6e431 Qt: Move scaling helper to cpp file
    • 48ac35321 Qt: Disable game list toolbar when no games found
    • 5f8716a9f Qt: Simplify icon scaling
    • f2f06a746 FullscreenUI: Fix game properties title
    • e1c0753d3 Qt: Use path as tie breaker when sort titles equal
    • 3cb275d87 Qt: Use grid layout in cheat code editor (#3543)
    • b8952dafa Qt: Don't use memcard icon cache for window icon when scaled
    • db2f563db dep/googletest: Update to v1.17.0
    • faa75991a Tests: Add more unit tests for common classes
    • e32e64420 StringUtil: Fix logical errors
    • d69935eef Qt: Fix warning
    • e89590be4 Qt: Avoid QPixmap -> QIcon conversion in getIconForGame()
    • 44908fe7f Qt: Respond to DPR change in memory card editor
    • e933716d2 GameDB: Add sort name to several more game series (#3544)
    • 6a0249b03 Qt: Hide game list vertical header (#3545)
    • 91f25b602 Controller: Add Start/Select bindings for the Pop'n Controller (#3546)
    • 6dd78b159 MediaCapture: Fix default video codec on MacOS
    • 126171f5d Qt: Fix memory card icons drawing on themselves
    • 019636b71 Qt: Use DevicePixelRatioChange for DisplayWidget
    • 0867decc8 Qt: Use widget-local device pixel ratio for game list
    • ddaac7eb4 GameList: Use save title for cover image lookup
    • 4b472dd51 GameList: Improve grid size calculations
    • fc29fbab5 Qt: Don't try to load directory as background image
    • 2215f413e GameDB: Restore "(Soviet)" suffix on disc 2 of some C&C games
    • 2514814bb GameDB: A few more sort names
    • 6d2f3dc6c Qt: Fix zooming with mouse wheel in game list (#3549)
    • fd9c3cd2f Update duckstation-qt_pt-BR.ts (#3548)
    • d2a2a7823 Update the Simple-Chinese Translation to latest. (#3547)
    • 2d3ebc867 System: Fix safe mode details not showing
    • 59542b039 Deps: Update Qt, SDL and zlib-ng
    • a39079721 Data: Add new PromptFont glyphs
    • 25b44f428 Qt: Wire up new key glyphs
    • 7c2585d26 Deps: Make Qt build options more consistent
    • e02c99192 Deps: Patch Qt fusion style
    • e573f18b0 GameDB: Disable auto analog for Hellnight (#3551)
    • 3d73c5cac Qt: Fix possible cover loss during load
    • 832728214 GameList: Fix covers for disc sets sometimes missing
    • 76e386c2f CrashHandler: Debug break on abort() if debugger attached
    • fb1bd1e28 FullscreenUI: Fix crash when toggling localized titles
    • 08901c063 Qt: Fix scroll bar desyncing on icon size change
    • c33131d15 InputManager: Use scancodes for key mapping
    • d9dc5074d InputManager: Map 'old' key names to new on load
    • 78fa54344 SmallString: Make constructors explicit
    • 979e850ea Qt: Include full binding text in tooltip
    • 21bede812 ImGuiManager: Initialize to default text font order
    • f7edbdec2 Qt: Remove unused signal
    • b5d5cfd9c GameList: Pack state in struct
    • 393724abd Qt: Save one lookup when loading covers
    • 7e0467164 GameList: Use fixed size for icon column
    • 3ff6287a8 GameList: Use size_t for indexing
    • 587e73d71 Sharper icon scaling (#3553)
    • 5cd8444ad Qt: Consider title when sizing icon column
    • 14b2302e2 Qt: Fix compile warning
    • 0aa8374f7 MSBuild: Don't merge qt_LANG.qm when qtbase_LANG.qm exists
    • 26c4eec87 Qt: Fix another compiler warning
    • da64db69f System: Don't print DATE/TIME
    • 843234f81 MSBuild: Set /d1trimfile and /PDBALTPATH
    • ca504bd0e CMake: Set -fmacro-prefix-map and -ffile-prefix-map
    • 4c6375adc Qt: Fix inconsistent cover caption size at startup
    • 78d22b885 Qt: Swap point size for pixel size in a few places
    • 1275eb1f9 GPU/ShaderGen: Added Hybrid Bilinear scaling (#3554)
    • d7ed9a736 Achievements: Show most recent progress update in pause menu
    • c3e5075c6 Achievements: Show notification when challenge fails
    • 81dca60aa GameDatabase: Use correct titles in compatibility report (#3555)
    • babf4201d Settings: Default to notification achievement indicator mode
    • 0136f721c SDLInputSource: Fix possible negative input to SDL_GetJoystickButton()
    • ec6a411bd Qt: Use Window/AutoFillBackground for game list background
    • dfc650410 Qt: Use RGB32 format for covers/background
    • 627fec4e3 FullscreenUI: Tweak text colours slightly
    • 5794746fa Atualização Português do Brasil (#3557)
    • 0be050080 GameDB: Disable auto analog for Persona 2 - Innocent Sin (#3556)
    • ad3ad6065 Qt: Update Korean translation by Hack茶ん
    • 0296c84ad Qt: Disable UI of settings forced via gamedb traits (#3558)
    • caa865628 Qt: Expand Gamelist background to fill available area (#3560)
    • 6e4da7255 System: Remove use of CDImage title metadata
    • d944966db Qt: Use ARGB32_Premultiplied for transparent covers
    • e470269d0 FileSystem: Remove now-unused function
    • dc7eec7ea Qt: Use hasAlphaChannel() for ARGB32 check
    • d0840c061 GameList: Don't save custom titles to cache
    Downloads
    • duckstation-aarch64.flatpak
      40 MiB
      2026-01-29 18:33:09 +00:00
    • DuckStation-arm64.AppImage
      77 MiB
      2026-01-29 18:33:21 +00:00
    • DuckStation-armhf.AppImage
      74 MiB
      2026-01-29 18:33:35 +00:00
    • duckstation-mac-release.zip
      82 MiB
      2026-01-29 18:33:51 +00:00
    • DuckStation-Mini-arm64.AppImage
      58 MiB
      2026-01-29 18:34:02 +00:00
    • DuckStation-Mini-armhf.AppImage
      57 MiB
      2026-01-29 18:34:15 +00:00
    • duckstation-windows-arm64-release-symbols.zip
      15 MiB
      2026-01-29 18:34:18 +00:00
    • duckstation-windows-arm64-release.zip
      64 MiB
      2026-01-29 18:34:26 +00:00
    • duckstation-windows-x64-release-symbols.zip
      15 MiB
      2026-01-29 18:34:29 +00:00
    • duckstation-windows-x64-release.zip
      64 MiB
      2026-01-29 18:34:39 +00:00
    • duckstation-windows-x64-sse2-release-symbols.zip
      15 MiB
      2026-01-29 18:34:42 +00:00
    • duckstation-windows-x64-sse2-release.zip
      64 MiB
      2026-01-29 18:34:52 +00:00
    • DuckStation-x64-SSE2.AppImage
      89 MiB
      2026-01-29 18:35:05 +00:00
    • DuckStation-x64.AppImage
      89 MiB
      2026-01-29 18:35:15 +00:00
    • duckstation-x86_64.flatpak
      40 MiB
      2026-01-29 18:35:21 +00:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v0.1-9483 09a3c99c3b
    Compare

    Stable

    claunia released this 2025-08-13 06:39:01 +00:00 | 1335 commits to master since this release

    📅 Originally published on GitHub: Wed, 13 Aug 2025 06:49:25 GMT
    🏷️ Git tag created: Wed, 13 Aug 2025 06:39:01 GMT

    Commits

    • 3426bcdc7 Deps: Update for July 2025
    • 6c4300c6c CI/Flatpak: Simplify deps build
    • 83d521f3d CMake: Drop Flatpak workarounds
    • 47fe487c2 README: Add migration instructions for Flatpak->AppImage
    • e82218f82 Qt: Fix changing language while game running
    • 1c8699b8a Host: Add FormatNumber()
    • 9b353f841 Misc: Use host locale formatting for dates
    • f91ee34fa Qt: Merge qttranslations.cpp with qthost.cpp
    • ef320c62a Qt: Cache app locale object
    • 7f5f90338 Qt: Use application locale in most places
    • c82351a14 Qt: Implement 'System Language' language option
    • 96c224497 Qt: Use selected language locale for formatting
    • 29e92705c FullscreenUI: Add option to hide grid view labels
    • 44237146e FullscreenUI: Fix remaining fixed date/time formatting locations
    • 2b18df091 MediaCapture: Don't crash if video codec supports 0 formats
    • 634fac441 CrashHandler: Fix recursive backtrace on Linux
    • 36718c6e9 CMake: Force debug symbols on Linux
    • 0de3ffab0 Data: Update SDL game controller database
    • 71591e821 Qt: Use localized date/time formatting in a few more places
    • 70d6a2d1a Achievements: Revert back to long date format for unlock/submit time
    • 351f67a22 CMake: Use -g1 for Release builds
    • 5bfe5cf12 dep/imgui: Remap non-breaking space to space
    • 300d15832 FullscreenUI: Fix clock position in pause menu
    • df65879d0 GPU: Fix typo
    • 168b80dd4 Qt: Add tooltips to game list
    • fac47b135 Update the Simple-Chinese translation to latest. (#3495)
    • 042930d73 FullscreenUI: Fix focus loss with grid/list button
    • 188be7de0 Deps: Revert Harfbuzz to 11.2.1
    • e821b13ba GameDB: Tweak compat settings for Parasite Eve 2 (#3492)
    • fbca69262 GameDB: Set max speedup cycles to 70000 for Resident Evil 2 (#3496)
    • f569448ea System: Centralize pause checks
    • acf78970c Qt: Create main window before starting EmuThread
    • e5593c973 CI/Flatpak: Hopefully fix build cache
    • ce53e2999 Qt: Fix possible crash on shutdown
    • 30df16cc7 Scripts: Remove PKGBUILD
    • 5ed796139 Qt: Refuse to start in known broken environments
    • 690f843e2 Qt: Auto switch between any/changed values in memory scanner
    • 3768940fb Qt: Fix assertion on shutdown after resize
    • a9ce005a2 Qt: Fix maximized state not saving to config
    • fef553ff1 Qt: Display 'First Value' in memory scanner
    • c8dd9995e GameDatabase: Remove redundant SetRymlCallbacks()
    • 52d9f73f9 Misc: Replace a bunch of static qualifiers with inline
    • 02a1ccbcd Qt: Persist memory scanner watch list across instances
    • a27fedae8 Qt: Various fixes to memory scanner UI
    • 4644db00e GPU: Fix screenshot size in uncorrected mode
    • b81dfa205 GPU: Simplify screenshot size calculation
    • 6c9d33985 PerformanceCounters: Align to 4 elements
    • f464d42be AudioStream: Fix glitches when disabling fast-forwarding
    • 9b4698d48 AudioStream: Back off resets that don't pass threshold over time
    • d3f04dcda AudioStream: SIMD averaging window calculation
    • 143ae49f2 AudioStream: Use larger target size only when intentionally running slow
    • be48e5c68 dep/imgui: Demo window should not enabled
    • fe11c658e ImGuiOverlays: Fix save state selector out-of-order drawing
    • 628e41f84 ImGuiManager: Don't render when skipping present
    • 5c682d232 ImGuiOverlays: Frame time history is aligned
    • e98871ad4 Settings: Remove middle padding
    • 501380ec7 Achievements: Split up overlay setting
    • a2222d805 Qt: Fix inability to exit with HC mode active
    • d2caabd04 Qt: Fix exit on separate window close with FSUI active
    • bc908aa4c GameDB: Adjust crop area for Silent Hill
    • 2669b026d Qt: Remove obsolete comment
    • a080228ee Qt: Don't reset model for every scanned game
    • 76fdbb0b3 Qt: Add tooltips for more fields in game list
    • 73f326cd7 Qt: Use header resize mode for game list column widths
    • bb7833168 Qt: Use header resize mode for memory scanner
    • c6c803921 Qt: Use header resize mode for settings panels
    • 93d6fc64d Qt: Use header resize mode for memory card editor
    • 670027107 Qt: Use header resize mode for disc windows
    • edd63dfd9 Qt: Remove now-unused resize column helpers
    • ebbc1e98b Qt/Updater: Move Download Size indicator to the top (#3499)
    • 5c48f853d GameDB: Fix cropping in Tomb Raider 4 & 5 (#3500)
    • e38039873 Achievements: Infer and display beaten/completed time
    • aa2a0cddb Data: Update SDL game controller database
    • 5fc4fbcf3 Qt: Improve display of version in updater
    • 45a225743 CMake: Update version requirements
    • 09e785555 Qt: Fix updater download size display
    • 42dc5e416 CI: Fix PR builds failing
    • 20e9b8d27 Qt: Fix buffer size help text (#3501)
    • 1984d8c85 GameDB: Disable widescreen for Arc the Lad II
    • 2f8460b90 GameDB: Disable disc speedup on MDEC for Chrono Cross
    • 474d5dc9d GameDB: Delete obsolete comment
    • 4e662f1ff GameDB: Add compatibility rating to a couple of games
    • a5c61383a GameDB: Disable disc speedup on MDEC for Star Ocean - The Second Story
    • 7830a6d23 Deps: Bump to SDL3 3.2.20
    • a84d583c4 CI: Missed one workflow
    • b75be0597 Achievements: Fix counting progression achievements (#3503)
    • 9b99d997f Achievements: Fix display of game completion date
    • d65c8a307 Achievements: Keep track of the earliest unlocked win condition (#3504)
    • 2a2a01185 FullscreenUI: Improve title padding of achievements
    • c519d3ca7 GameDB: Add analog joystick to supported games
    • de2d6d1aa Qt: More accurate game list column width estimation (#3505)
    • 9576a3adf Achievements: Fix "beaten" condition (#3506)
    • cdd0086c5 Qt: Fix toggling read/write breakpoints
    • fc129a973 GameDB: Alien Resurrection
    • a2c015b90 GameDB: Disable WS/PGXP on 2D Final Fantasy games
    • 47e8d90e2 GPU: Fix screenshot size when showing VRAM
    • 0fc9de781 Qt: Fix crash toggling achievements in per-game settings
    • 0a53bc47c Qt: Remove redundant layout from AchievementSettingsWidget
    • 09a3c99c3 AudioStream: Fix crash with timestretch disabled
    Downloads
    • duckstation-aarch64.flatpak
      40 MiB
      2026-01-29 18:31:04 +00:00
    • DuckStation-arm64.AppImage
      77 MiB
      2026-01-29 18:31:15 +00:00
    • DuckStation-armhf.AppImage
      74 MiB
      2026-01-29 18:31:25 +00:00
    • duckstation-mac-release.zip
      81 MiB
      2026-01-29 18:31:36 +00:00
    • DuckStation-Mini-arm64.AppImage
      58 MiB
      2026-01-29 18:31:44 +00:00
    • DuckStation-Mini-armhf.AppImage
      57 MiB
      2026-01-29 18:31:51 +00:00
    • duckstation-windows-arm64-release-symbols.zip
      15 MiB
      2026-01-29 18:31:54 +00:00
    • duckstation-windows-arm64-release.zip
      63 MiB
      2026-01-29 18:32:04 +00:00
    • duckstation-windows-x64-release-symbols.zip
      15 MiB
      2026-01-29 18:32:07 +00:00
    • duckstation-windows-x64-release.zip
      64 MiB
      2026-01-29 18:32:17 +00:00
    • duckstation-windows-x64-sse2-release-symbols.zip
      15 MiB
      2026-01-29 18:32:20 +00:00
    • duckstation-windows-x64-sse2-release.zip
      64 MiB
      2026-01-29 18:32:29 +00:00
    • DuckStation-x64-SSE2.AppImage
      88 MiB
      2026-01-29 18:32:45 +00:00
    • DuckStation-x64.AppImage
      88 MiB
      2026-01-29 18:32:57 +00:00
    • duckstation-x86_64.flatpak
      40 MiB
      2026-01-29 18:33:02 +00:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v0.1-9384 ad4a909aa4
    Compare

    Stable

    claunia released this 2025-07-26 04:03:43 +00:00 | 1434 commits to master since this release

    📅 Originally published on GitHub: Sat, 09 Aug 2025 05:47:26 GMT
    🏷️ Git tag created: Sat, 26 Jul 2025 04:03:43 GMT

    Commits

    • d603e3bc0 Atualização | Idioma Turco (#3466)
    • 9d686f7ba Qt: Hide fullscreen combo if unsupported
    • ebf5c9d0c MediaCapture: Fix HEVC encoding with Media Foundation
    • a59b6357b MediaCapture: Don't repeat frame rate calculations
    • 0978e6ece MediaCatpure: Ensure there are no gaps in sample time
    • 518e0194b MediaCapture: Fix compiler warning
    • e4761823a FullscreenUI: Fix fade on system reset/shutdown
    • b35beb6f2 Qt: Update Korean translation by Hack茶ん
    • 9e045755a FullscreenUI: Add missing std::move (#3467)
    • 36518a8df Bus: Use log colour abstraction for TTY
    • f123677df Log: Fix file log timestamps always enabled
    • eb503c402 Qt: Fix 'Log To File' in Debug menu
    • 5b3e843b0 Qt: Separate window and file log timestamp options
    • 2a6aa89ef FullscreenUI: Avoid more conflicts between emoji and PromptFont
    • d0f4f579e FullscreenUI: Add missing log timestamp preferences
    • 0098c60ee SIO: Add debugging option to redirect to TTY
    • ca322449d FullscreenUI: Add 'Compact Mode' for game list
    • c8087204c FullscreenUI: Fix highlighted option with 'None' background
    • 8484170ec Update the Simple-Chinese translation to latest. (#3468)
    • 38022afa2 FullscreenUI: Fix focus loss on F4 to switch view
    • d85214980 FullscreenUI: Add icons to game list detail lines
    • d4cf7f248 FullscreenUI: Fix default displayed value for FF volume
    • 66341a12d FullscreenUI: Swap file size and uncompressed size in game details
    • 3e61a12b0 GameDB: Consistently use title case in genre
    • b08ca9430 GameDB: Disable read speedup in Spyro 2 & 3 (#3464)
    • 7dcdff35c Qt: Include 'Refresh Progress' button in achievement settings
    • ffe05c853 Increase max read speedup cycles for Breath of Fire IV (#3470)
    • 9b3a29fb5 GameDB: Increase max read speedup cycles for Castlevania - SotN (#3471)
    • 0a267ce15 Common: Add more tests
    • fb7772871 GameDatabase: Use string_view for disc sets
    • 3f7e5ca1c Qt: Always connect the open folder button (#3472)
    • 041145d33 GameDB: Increase max read speedup cycles for Dino Crisis 1 & 2 (#3473)
    • 9ba3129b6 Update the Simple-Chinese translation to latest. (#3474)
    • d8a267162 Qt: Set default button in settings and ISO browser (#3475)
    • 002cb942b Qt: Fix initial UI state of log timestamps checkboxes
    • cacd17464 Qt: Rearrange log settings checkboxes
    • a012d496e Qt: Fix resetting per-game CDROM speedup and SIO settings
    • 1bf248b29 Qt: Swap order of read/seek speedup cycles in Advanced settings
    • 6f3a6d793 Qt: Remove unused includes
    • f273dcff1 GameList: Fix possible bad optional unwrap in ApplyCustomAttributes()
    • 601173b01 ShaderGen: Add UseGLSLInterfaceBlocks()
    • 2d29c6370 ShaderGen: Emit fallback functions for GLSL < 4.0
    • 742cfcb12 ShaderGen: Emit location qualifiers for SPV without interface blocks
    • 80a689257 PostProcessing/GLSL: Support OpenGL 3.1
    • b9a9ea220 PostProcessing/FX: Don't try to compile for GL<3.2
    • 63adf475d VulkanDevice: Avoid defaulting to Vulkan for V3D driver
    • cc3bc120a OpenGLContext: Prefer GLES over GL<3.2
    • 1e930c406 ShaderGen: Drop DRIVER_V3D and DRIVER_POWERVR macros
    • ef26d5cb7 GPUDevice: Backport driver type detection
    • e4e57c674 GPUDevice: Use driver type fields
    • cd2d0503d System: Fix frame advance+runahead stepping 2 frames
    • 5d42bbc49 GameDB: Force software for X2 - No Relief
    • 13e451511 GPU: Send read command in SW if stats are enabled
    • f21ab0b70 GPUDevice: Fix ARM GPU detection
    • 00623ebf8 FullscreenUI: Fix rounding on widget grab rects
    • 9e319ff49 FullscreenUI: Avoid ID duplication in choice dialogs
    • 2308c5ddc Qt: Check cache when getting game icon for window
    • 2fad6478b CDImage: Include the WAV file's details when incompatible
    • 0e9f116a2 Qt: Turn retroachievements.org into a hyperlink
    • d0c3f7d5a Qt: Reduce layout margins in postprocessing settings
    • 7eb2b07e3 Qt: Don't draw a frame if there are no patches
    • 1cad6389a AnalogController: Fix flipped log message
    • 97a0f4669 ShaderGen: Fix use of reserved 'packed' keyword
    • 792b72b95 Qt: Reenable WinPanel style for patches
    • 5e2e39f64 VulkanDevice: Use driver type enum for auto selection
    • 3928eaff5 D3DCommon: Load D3DCompiler dynamically
    • 0195b2886 D3DCommon: Load d3d11.dll dynamically
    • 4ead72747 D3DCommon: Load dxgi.lib dynamically
    • 3bb67c785 D3DCommon: Load d3d12.dll dynamically
    • 43543dded FullscreenUI: Improve icons in file selector
    • be867c815 FullscreenUI: Minor polish to achievements list
    • 8ef97b9b4 FullscreenUI: Sort unlocked achievements by unlock time
    • b93353647 Qt: Clear help text map on reload
    • 2dc25a07a NeGconRumble: Remove unused fields
    • cd77ace12 FullscreenUI: Fix going back to root directory on Linux
    • 5c7a599ca Qt: Couple of consistency fixes
    • 8ca68a052 GPUDevice: Remove unused fields
    • a5e3f163a Misc: Make bitfield unions trivially copyable
    • b07998512 Qt: Refactor render window lifecycle
    • 40b081c8f Atualiazação Português do Brasil (#3480)
    • a890902d5 Qt: Further eliminate redundant window shows
    • da6ba416c Updated Swedish translation (#3481)
    • 2aaeaf6f9 Qt: Add missing event type check
    • 9c8142504 Qt: Fix format strings in es-ES
    • 6f65a15bb CrashHandler: Catch SIGABRT
    • 4b62ccf2f Qt: Redirect Qt messages to logger
    • 6ae334b30 Qt: Avoid wildcard disconnect
    • c6cb3cdd6 Qt: Update Korean translation by Hack茶ん
    • 67381754f Qt: Fix game start flicker with hide-main-window checked
    • 01b81c74e Qt: Fix crash on triggering certain actions before display widget is created (#3482)
    • 21f44b378 Qt: Refactor GameListWidget tool buttons and corresponding menu actions
    • 4b5be29eb Qt: Hide GameListWidget buttons instead of disabling them
    • 2f13538cc Qt: Fix game list icons when toggling disc set merging
    • 1289e045b Qt: Make "Fullscreen" toolbar button and menu item checkable
    • 3f2b6995b Qt: Fix timestamps in log window if file timestamps on
    • 0f2ef9874 Qt: Turn cover downloader into a non-modal window
    • 6b969a0b9 Qt: Refactor and remove multiple sources of truth for render-to-main
    • b2ad19317 Qt: Store window geometry in human-readable form
    • 9442ba74a Qt: Remove window state save
    • 9e15fe176 CI: Check placeholders in translation strings
    • fc613a526 Qt: Fix incorrect placeholders in translations
    • a002fd267 Qt: Include moc sources in main source
    • 6615fc79d Qt: Work around autouic bug causing unnecessary recompiles
    • 05dcb1733 Qt: Fix unused lambda capture warning
    • 210f49248 MetalDevice: Remove pipeline cache
    • b545671d6 MetalDevice: Retain references to layer
    • 24a16db43 Qt: Handle fullscreen cases on MacOS
    • 4c12dc8ab Qt: Don't enable window size menu if system isn't running (#3484)
    • f446e24b2 Qt: Don't exit fullscreen when switching to game list with RenderToSeparateWindow
    • 1b56940ad Qt: Update menu and toolbar state when toggling fullscreen via double click
    • 8bd493eae Qt: Re-update main window geometry on nogui exit
    • 3e232b76b Qt: Improve more window close behaviour
    • c922893b6 GameDB: Bump MGS max speedup cycles to 100k
    • a9862461f FullscreenUI: Add modal progress callback
    • 3453c897d FullscreenUI: Add native cover download
    • 63e0acbe9 FullscreenUI: Fix held colour in popup menus
    • 75314f79d FullscreenUI: Localize base strings (e.g. dir selector)
    • 278614a41 FullscreenUI: Display game cover when loading
    • ad53fc234 Qt: Fix fullscreen UI shutdown on language change
    • a8506f470 Qt: Disable more actions while system starting
    • 47d44701f Update Russian translation (#3486)
    • df432c6c6 Qt: Fix crash booting unscanned games
    • 5fd61b6e3 Qt: Fix disc icon being used for games without icons
    • 4440ae3b7 GPUThread: Store copy of game info
    • 311e93fae FullscreenUI: Use game path for loading screen image
    • df9506fbf FullscreenUI: Center loading screen logo
    • 319961712 FullscreenUI: Use layout scale for loading screen
    • 9e17e38c9 FullscreenUI: Custom draw loading screen
    • f65ca0dab FullscreenUI: Don't round achievements inner progress bars
    • 9321a32d3 Qt: Fix startup cancellation on window close
    • 7c01bde94 Log: Remove redundant channel
    • 161637e3b Qt: Disconnect safe mode widget on recreate
    • a5b46f767 MediaCapture: Fix use-after-free when starting
    • cdd054702 CPU: Log on break exception without PCDrv
    • 51ce5351d CI: Pin AppImageTool version
    • 9ab4e4d70 Qt: Add game list button to toggle game icons (#3488)
    • 69da2df8e Make all single-argument constructors explicit
    • a34aee68a Declare all namespace-scope constants as inline
    • a5826ea6a Qt: Hide apply image patches in game settings
    • 2e56f5d3a Qt: Fix another usage of QObject::disconnect()
    • 46a071f3e Qt: Fix disabling of sprite texture filtering option
    • 56b5b337a PSFLoader: Fix recursive _lib loading (#3489)
    • 932104c58 SPU: Fix VU meter display when scrolling
    • 46cf8e68c SPU: Display reverb environment in debug window
    • 4f1af2f6e Qt: Increase debugger column size
    • b6b1a5e33 CDROM: Add option to disable speedup on MDEC/FMVs
    • fe51439c4 GameDB: Set DisableCDROMSpeedupOnMDEC for a couple of games
    • 830b812fc GameDB: Set max speedup cycles to 40000 for FF8
    • 0522b6ffb CDImagePPF: Ignore out-of-range sectors
    • 13233cc82 PostProcessing/GLSL: Fix compile error with interface blocks
    • 22fb032f9 GPUThread: Fix very rare or impossible FIFO corruption
    • a660c1362 System: Always adjust video size for capture
    • d0e00178c Qt: Fix fullscreen action enabled on startup
    • d28c0a00b Spanish (Spain) update 2025-07-25 (#3490)
    • 6e63ceb5a GameDB: Add missing metadata for Koudelka
    • d63ae9715 GameDB: Add missing controllers and metadata for The Legend of Dragoon
    • 37efd34a9 Qt: Drop renderer option from setup wizard
    • ad4a909aa FullscreenUI: Fix incorrect parent directory button
    Downloads
    • duckstation-aarch64.flatpak
      37 MiB
      2026-01-29 18:28:56 +00:00
    • DuckStation-arm64.AppImage
      72 MiB
      2026-01-29 18:29:06 +00:00
    • DuckStation-armhf.AppImage
      69 MiB
      2026-01-29 18:29:19 +00:00
    • duckstation-mac-release.zip
      81 MiB
      2026-01-29 18:29:28 +00:00
    • DuckStation-Mini-arm64.AppImage
      54 MiB
      2026-01-29 18:29:35 +00:00
    • DuckStation-Mini-armhf.AppImage
      53 MiB
      2026-01-29 18:29:44 +00:00
    • duckstation-windows-arm64-release-symbols.zip
      15 MiB
      2026-01-29 18:29:49 +00:00
    • duckstation-windows-arm64-release.zip
      63 MiB
      2026-01-29 18:30:01 +00:00
    • duckstation-windows-x64-release-symbols.zip
      15 MiB
      2026-01-29 18:30:04 +00:00
    • duckstation-windows-x64-release.zip
      64 MiB
      2026-01-29 18:30:13 +00:00
    • duckstation-windows-x64-sse2-release-symbols.zip
      15 MiB
      2026-01-29 18:30:15 +00:00
    • duckstation-windows-x64-sse2-release.zip
      64 MiB
      2026-01-29 18:30:24 +00:00
    • DuckStation-x64-SSE2.AppImage
      83 MiB
      2026-01-29 18:30:33 +00:00
    • DuckStation-x64.AppImage
      83 MiB
      2026-01-29 18:30:44 +00:00
    • duckstation-x86_64.flatpak
      40 MiB
      2026-01-29 18:30:55 +00:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v0.1-9226 355c17bde9
    Compare

    Stable

    claunia released this 2025-06-28 02:46:27 +00:00 | 1592 commits to master since this release

    📅 Originally published on GitHub: Sat, 28 Jun 2025 03:04:14 GMT
    🏷️ Git tag created: Sat, 28 Jun 2025 02:46:27 GMT

    Commits

    • 98798fec6 mmpx enhance (#3443)
    • 824b91a1f GPU/HW: Split MMPX to MMPX and MMPX Enhanced
    • ac0c4544e GPU/HW: Work around fxc uninitialized variable false positive
    • a8db46a6b GPU/HW: Use signed difference in luma_distance()
    • d37048e4e FullscreenUI: Fix animation glitch on choice select
    • 94b88fad2 GPU/HW: Avoid texture filter dual-source output when unnecessary
    • 39a5bd6e5 FullscreenUI: Remove padding from CD icon
    • a2d351ca9 FullscreenUI: Improve title truncation in game grid
    • 9c4aaca7c FullscreenUI: Avoid losing game list selection inbetween mouse move and popups
    • 5945153e6 Data: Add variable weight fonts
    • 77457a3b1 ImGuiManager: Switch to dynamic fonts
    • 06da45b3f FullscreenUI: Polish dialogs
    • c06da318d FullscreenUI: Fix trophy placement on non-square covers
    • 0026615eb Data: Remove unused base fonts
    • 65ed9b51a Data: Fix glyph conflict with vibration icon
    • 0cf5618a0 FullscreenUI: Fix crash in JogCon controller settings
    • 9ff3edd31 Qt: Disable unmaintained translations
    • 9c4e15ef1 Host: Remove now-unused ReadCompressedResourceFile()
    • 5dc55bb4a Qt: Avoid showing "0 minutes" of played time (#3447)
    • 00330ca39 Qt: Avoid truncating Serial column in game list view on macOS
    • 873c7c9dc Qt: Right align size columns in game list view
    • bb76d7cce Update Indonesian Translation (#3445)
    • 74838e9bd Atualização Português do Brasil (#3444)
    • 2c7d07b24 Qt: Implement reset play time for disc sets
    • 70225f834 Always use CTAD with std::unique_lock
    • a31d67921 SmallString: Use L instead of L+1
    • 9ffded0e7 SmallString: Fix size bug in assign(SmallStringBase&&)
    • bf4a89e82 Qt: Use GameList::FormatTimespan()
    • b98d521ff ImGuiOverlays: Draw larger status indicator icons
    • 3ba05f182 Qt: Use same size for serial across platforms
    • 233c342d6 README: Recommend AppImage over Flatpak
    • e19817c7f README: Fix typo
    • 3a7cbc20d FullscreenUI: Use horizotal layout for about dialog
    • 1a39dece6 FullscreenUI: Don't tint background in landing/game list
    • ba6309c45 FullscreenUI: Keep a one-deep previous window stack
    • 20b353535 ImGuiOverlays: Backport condition tidy-up
    • c32e59080 Qt: Don't hold lock while game list context menu active
    • 42bf2b336 update the Simple-Chinese translation to latest. (#3448)
    • 61f3f86bb GameDB: exclude analog support for Final Fantasy Origins (#3449)
    • 7f066c286 ImGuiOverlays: Fix display with only GPU/latency stats
    • 466ccc5d8 CI: Use maximum compression for zip builds
    • 0c8cf0a4d Qt: Fix incorrect help text
    • 35a8bfa46 FullscreenUI: Warning fixes
    • 308bc5f35 ImGuiOverlays: Warning fixes
    • 4616dd329 Qt: Avoid heap string copy for each context menu action
    • f5c328020 ImGuiOverlays: Remove unused code
    • 0c3ad8a78 GameDB: Fix number of players for Syphon Filter 2 & 3 (#3451)
    • 69399f344 GameDatabase: Missing newline in compatibility report
    • 2edcb2093 GameDatabase: Add three missing settings to compatibility report
    • a2bf5b4f5 GameDatabase: Drop "GPU" prefix from PGXP settings in compatibility report
    • fa7b4ae9f Qt: Convert auto updater to window
    • ce6924df2 Qt: AutoUpdaterDialog -> AutoUpdaterWindow in translations
    • d83ecb058 Qt: Fix return to desktop mode with -nogui -bigpicture
    • 99268f22e Separate mmpx enhance from mmpx (#3453)
    • 6ef3df5a5 Achievements: Use gethostuuid() as machine key on macOS (#3452)
    • 5f885b83b Settings: Add missing case statement
    • 42a9d8c35 Qt: Raise updater window if already shown
    • 1653cf82a GPU/HW: Fix GLSL ES compile error
    • 49d5d8e9a Qt: Fix achievement login dialog sizing on MacOS
    • fa0a92613 Deps: Bump FontAwesome to 6.7.2 (#3456)
    • 6c6cc910e DMA: Invalidate code pages on CD-ROM DMA write
    • ff0add2ed ImGuiManager: Load PF before FA
    • 2ac481d2c Qt: Fix setup wizard achievements page title
    • 102690238 Data: Update SDL game controller database
    • 3b90d18c6 Qt: Fix return code confusion in AchievementLoginDialog
    • 9127198be ImGuiManager: Move font awesome to last priority
    • 5063a49f2 FullscreenUI: Remove hardcoded sizes for menu items
    • 88a63f04b FullscreenUI: More hardcoded size removal
    • 7b03b5453 FullscreenUI: Eliminate last of layout height constants
    • 11cb2217e FullscreenUI: Polish range dialogs
    • ac9be0110 FullscreenUI: Snap CenterImage() to integer coordinates
    • d18910a61 Achievements: Release lock while waiting for HTTP requests
    • 68fa33e07 FullscreenUI: Polish achievements page
    • 5dd64c89c FullscreenUI: Bump animation time for theme change
    • f775a6d06 Qt: Fix achievement login tab order
    • 11bc1935c FullscreenUI: Skip drawing background if transparent
    • 82bb29d18 FullscreenUI: Fix extra padding in resume state popup
    • f9fb591dc Data: Add missing file
    • aafd72efb FullscreenUI: Add cheats/patches icons
    • bf3643243 Qt: Swap console/emulation icons
    • ee0cb6076 Qt: Add additional toolbar properties for labels/icons
    • 7b1c8a040 System: Log init/boot time
    • a7f510507 Qt: Fix toolbar context menu lock inversion
    • e469e33aa Qt: Fix default button in AudioStretchSettingsDialog
    • 74f697eb6 Qt: Add button icons to InputBindingDialog
    • f6d10eb5d Qt: Fix default button in InputBindingDialog
    • 175ed8caf Qt: Fix default button in ControllerLEDSettingsDialog
    • 842f7414d Qt: Simplify connecting to QDialogButtonBox signals
    • 976bf834e Qt: Use QDialog::Accepted/Rejected in more places
    • b67a8c312 Common: Don't include deprecated (and unused) codecvt header
    • 40c495cd1 Qt: Remove last use of SLOT
    • 29ec2fea1 Qt: Fix saving toolbar locked state (#3458)
    • 6fcb1194d FullscreenUI: Further icon improvements
    • ba799f4f8 Qt: Disable toolbar related actions if hidden
    • cdc9206b6 Qt: Fix typo in toolbar icon action
    • 9347c00d9 Qt: Refine use of ellipsis in game list context menu (#3459)
    • 96d085136 Update the Simple-Chinese translation to latest. (#3460)
    • 5b1845553 Qt: Eliminate unnecessary includes in settingwidgetbinder.h
    • c679ffbac Atualização Português do Brasil (#3462)
    • a7d0a8a48 Updated Swedish translation (#3461)
    • 281119b81 Qt: Always perform update check on startup
    • 280c0036e FullscreenUI: Change a few icons for improved consistency (#3463)
    • ebf97c26b dep/imgui: Sync to 5ee9c2a
    • 2bff2098a FullscreenUI: Fix returning to wrong window after back
    • 889df1d8b VulkanDevice: Only reset descriptor pool if used
    • 1b740efc1 FullscreenUI: Avoid ID clash in controller settings
    • 866b77e22 Spanish (Spain) 2025-06-27 translation update (#3465)
    • 5df28de34 Qt: Fix hotkey category heading size on MacOS
    • 71a60f95d Data: Update SDL game controller database
    • 33b1e82e3 Achievements: Fix imgui assertion in leaderboard view
    • 376a2e8d4 FullscreenUI: Fix crash when loading/saving state
    • 355c17bde FullscreenUI: Fix fade on system start/stop
    Downloads
    • duckstation-aarch64.flatpak
      37 MiB
      2026-01-29 18:26:59 +00:00
    • DuckStation-arm64.AppImage
      78 MiB
      2026-01-29 18:27:11 +00:00
    • DuckStation-armhf.AppImage
      73 MiB
      2026-01-29 18:27:21 +00:00
    • duckstation-mac-release.zip
      81 MiB
      2026-01-29 18:27:31 +00:00
    • DuckStation-Mini-arm64.AppImage
      58 MiB
      2026-01-29 18:27:39 +00:00
    • DuckStation-Mini-armhf.AppImage
      56 MiB
      2026-01-29 18:27:47 +00:00
    • duckstation-windows-arm64-release-symbols.zip
      15 MiB
      2026-01-29 18:27:51 +00:00
    • duckstation-windows-arm64-release.zip
      63 MiB
      2026-01-29 18:28:02 +00:00
    • duckstation-windows-x64-release-symbols.zip
      15 MiB
      2026-01-29 18:28:05 +00:00
    • duckstation-windows-x64-release.zip
      64 MiB
      2026-01-29 18:28:13 +00:00
    • duckstation-windows-x64-sse2-release-symbols.zip
      15 MiB
      2026-01-29 18:28:15 +00:00
    • duckstation-windows-x64-sse2-release.zip
      64 MiB
      2026-01-29 18:28:22 +00:00
    • DuckStation-x64-SSE2.AppImage
      90 MiB
      2026-01-29 18:28:35 +00:00
    • DuckStation-x64.AppImage
      90 MiB
      2026-01-29 18:28:45 +00:00
    • duckstation-x86_64.flatpak
      40 MiB
      2026-01-29 18:28:50 +00:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v0.1-9114 9112e38f4e
    Compare

    Stable

    claunia released this 2025-06-13 06:29:06 +00:00 | 1704 commits to master since this release

    📅 Originally published on GitHub: Fri, 13 Jun 2025 06:37:53 GMT
    🏷️ Git tag created: Fri, 13 Jun 2025 06:29:06 GMT

    Commits

    • 24cd6fa11 Hotkeys: Add switch to previous/next disc hotkeys
    • 6b811df6d CDROM: Add "Switch to Next Disc on Stop" option.
    • 2da46f83b dep/imgui: Fix smooth scrolling with >60hz
    • 4164b95cb ImGuiManager: Make OSD message animation match notifications
    • fff7654bc GameDB: Asterix does not support analog mode (#3428)
    • af803eefc GameDB: Various fixes to GTA games (#3429)
    • b195f747c implement ExtConstantBitClear/Set on ExtImprovedSlide (#3430)
    • 6d8e111d7 GameDB: Add ForcePGXPCPUMode to all remaining versions of Aladdin (#3431)
    • 2018eb77f GPU: Adjust draw timing approximation
    • f2caec801 GameDB: Force full boot for Lomax games
    • 0a0ad3f9e Qt: Improve clarity of unknown dump hashes
    • 02d8e1475 ImGuiManager: Avoid deprecated std::memory_order_consume (#3433)
    • 9d59763ba GameDB: Disable upscaling and filtering in Constructor (#3432)
    • 1ad9ca7e9 FullscreenUI: Cancel pending nav on focus reset
    • fc7934a2b FullscreenUI: Fix nav focus loss in leaderboards
    • 2cc085111 GameDatabase: Fix DisableUpscaling trait with auto res
    • 47405b081 GameDatabase: Disable MSAA with DisableUpscaling
    • ae3b295d9 FullscreenUI: Disable menu item borders by default
    • 42813e884 GameDatabase: Actually disable auto scale for DisableUpdating
    • d9367229e Achievements: Avoid duplicate tracker display
    • 62c0a1e7d RISCV: fix flush cache for linux riscv when clang <= 18
    • e55dabfaa GameDB: Two fixes for Alone in the Dark - The New Nightmare (#3434)
    • eee67a30d GPU/HW: Fix off-by-one in sprite UV rect calculation
    • 7fde69711 GPU/TextureCache: Add merging of adjacent palette records
    • 5b40d7902 System: Shut down GPU backend before other components
    • 9ab2608ba GPU/TextureCache: Fix replacement background name length
    • 52cf394bb GameDB: Add PlayStation Mouse Support for Jingle Cats (#3435)
    • 2f2dcb43c GameDB: Fix incorrect controller information + Add PlayStation Mouse for Jingle Cats (#3436)
    • 0205f9fa0 Achievements: Update progress database unconditionally on unlock
    • cb751b099 Data: Update SDL controller database
    • 22089e9b7 Qt: Improve game grid layout calculations
    • f518b8492 Deps: Version updates
    • 808c51b3c CMake: Bump version requirements
    • 95e085584 Qt: Move list/grid setup to subclasses
    • 0a0379f31 Qt: Make game list scrollbar only visible as-needed
    • d54077e34 Achievements: Add 'Refresh Progress' option
    • 59f7d0b2f Cheats: Fix compiler warnings
    • 9cd371d5f SettingsInterface: Drop some unused virtual methods
    • d0b7d9d02 Host: Get rid of base settings interface indirection
    • 5f2355510 Qt: Only write settings ini if it is changed
    • 6bea16b6e INISettingsInterface: Only set changed if the value actually changes
    • 2326fc20d README: Fix typo (#3437)
    • 595f8d062 Atualização Português do Brasil (#3438)
    • 8d2dec463 Updated Swedish translation (#3439)
    • bd9e20616 FullscreenUI: Fix layout calculations in game grid
    • 38aebd0a3 dep/imgui: Add overridable scroll rate
    • 29e55a2e5 FullscreenUI: Use system scroll rate and layout scale
    • cb2dfabee Qt: Backport undo load state timestamps
    • 5eb8578ed System: Save undo state on reset
    • ba78714d4 Qt: More consistent icon handling
    • a4977f986 Qt: Add icons to buttons in patch settings widget
    • c7052a190 Qt: Use restart-line icon for "restore defaults" buttons
    • 7752b2bd2 Qt: Remove redundant nested layouts
    • 5ea64810d Qt: Consistently use QToolButton for "restore default" action
    • e45c04e0d Qt: Simplify grid layout in game summary widget
    • 36b869003 Qt: Use standard key sequences for main window shortcuts
    • 9112e38f4 GPUDevice: Fix incorrect close call during symbol lookup
    Downloads
    • duckstation-aarch64.flatpak
      22 MiB
      2026-01-29 18:25:18 +00:00
    • DuckStation-arm64.AppImage
      53 MiB
      2026-01-29 18:25:28 +00:00
    • DuckStation-armhf.AppImage
      48 MiB
      2026-01-29 18:25:36 +00:00
    • duckstation-mac-release.zip
      57 MiB
      2026-01-29 18:25:44 +00:00
    • DuckStation-Mini-arm64.AppImage
      33 MiB
      2026-01-29 18:25:50 +00:00
    • DuckStation-Mini-armhf.AppImage
      31 MiB
      2026-01-29 18:25:55 +00:00
    • duckstation-windows-arm64-release-symbols.zip
      15 MiB
      2026-01-29 18:25:58 +00:00
    • duckstation-windows-arm64-release.zip
      40 MiB
      2026-01-29 18:26:04 +00:00
    • duckstation-windows-x64-release-symbols.zip
      16 MiB
      2026-01-29 18:26:07 +00:00
    • duckstation-windows-x64-release.zip
      40 MiB
      2026-01-29 18:26:13 +00:00
    • duckstation-windows-x64-sse2-release-symbols.zip
      16 MiB
      2026-01-29 18:26:17 +00:00
    • duckstation-windows-x64-sse2-release.zip
      40 MiB
      2026-01-29 18:26:24 +00:00
    • DuckStation-x64-SSE2.AppImage
      65 MiB
      2026-01-29 18:26:35 +00:00
    • DuckStation-x64.AppImage
      65 MiB
      2026-01-29 18:26:46 +00:00
    • duckstation-x86_64.flatpak
      24 MiB
      2026-01-29 18:26:51 +00:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
  • v0.1-8971 8d80ae123d
    Compare

    Stable

    claunia released this 2025-04-26 04:41:45 +00:00 | 1847 commits to master since this release

    📅 Originally published on GitHub: Sat, 26 Apr 2025 04:50:31 GMT
    🏷️ Git tag created: Sat, 26 Apr 2025 04:41:45 GMT

    Commits

    • 46e11d96d CI: Bump flatpak-github-actions version
    • df2a5a5e6 ImGuiManager: Move drawing out of GPUDevice
    • 876b80ccd ImGuiManager: Fix incorrect backend flag on aux window
    • bd558efaa CMake: Use upstream-compatible Findzstd
    • 1f10cac42 GPUThread: Align commands to 16 bytes
    • 437430cbc System: Pull screenshot format from path extension
    • 1caf45cf6 SmallString: Fix possible non-null-termination in set_size()
    • f4df18b7c Cheats: Make FormatCodeForFile() public
    • b4019f325 GPU/HW: Fix black dots with some texture filters
    • 50ba0fa5b CI: Use flatpak/flatpak-github-actions
    • 41ee9d9ff FullscreenUI: Use path from game list entry on resume
    • 1405004fc GameDB: Set tolerance for Spider-Man games
    • 769e6f2ba GPUThread: Fix command size blow-up
    • b0172a0af Atualização Português do Brasil (#3408)
    • 50e99dd1f D3D12Device: Fix incorrect state when texture uploaded 2x w/o use
    • 559f831c3 Achievements: Defer login/game identify until after RAIntegration load
    • 740758fdd CPU/Recompiler: Call RaiseBreakException() on BP
    • 589b8f513 Justifier: Handle byte 4 IRQ enable flag
    • 773ec046b Justifier: Fix byteswapped RGB colours
    • 674816b6e GameDB: Recompiler ICache for Crypt Killer
    • f8cd1d3d9 Qt: Warn on cheat enable if gamesettings disabled
    • 611bb8fb4 VulkanDevice: Remove hardcoded 1.0 API version
    • d049b3638 Log: Allow read-only access to the log file (#3409)
    • 8d80ae123 Controller: Remove 'f' from string float values
    Downloads
    • duckstation-aarch64.flatpak
      23 MiB
      2026-01-29 18:23:39 +00:00
    • DuckStation-arm64.AppImage
      52 MiB
      2026-01-29 18:23:46 +00:00
    • DuckStation-armhf.AppImage
      48 MiB
      2026-01-29 18:23:53 +00:00
    • duckstation-mac-release.zip
      57 MiB
      2026-01-29 18:24:03 +00:00
    • DuckStation-Mini-arm64.AppImage
      32 MiB
      2026-01-29 18:24:07 +00:00
    • DuckStation-Mini-armhf.AppImage
      31 MiB
      2026-01-29 18:24:12 +00:00
    • duckstation-windows-arm64-release-symbols.zip
      15 MiB
      2026-01-29 18:24:15 +00:00
    • duckstation-windows-arm64-release.zip
      40 MiB
      2026-01-29 18:24:23 +00:00
    • duckstation-windows-x64-release-symbols.zip
      16 MiB
      2026-01-29 18:24:27 +00:00
    • duckstation-windows-x64-release.zip
      40 MiB
      2026-01-29 18:24:35 +00:00
    • duckstation-windows-x64-sse2-release-symbols.zip
      16 MiB
      2026-01-29 18:24:39 +00:00
    • duckstation-windows-x64-sse2-release.zip
      40 MiB
      2026-01-29 18:24:47 +00:00
    • DuckStation-x64-SSE2.AppImage
      64 MiB
      2026-01-29 18:24:57 +00:00
    • DuckStation-x64.AppImage
      64 MiB
      2026-01-29 18:25:06 +00:00
    • duckstation-x86_64.flatpak
      24 MiB
      2026-01-29 18:25:11 +00:00
    • Source Code (ZIP)
    • Source Code (TAR.GZ)
First Previous 1 2 Next Last
Powered by Gitea Version: 1.25.4 Page: 613ms Template: 23ms
English
Bahasa Indonesia Deutsch English Español Français Gaeilge Italiano Latviešu Magyar nyelv Nederlands Polski Português de Portugal Português do Brasil Suomi Svenska Türkçe Čeština Ελληνικά Български Русский Українська فارسی മലയാളം 日本語 简体中文 繁體中文(台灣) 繁體中文(香港) 한국어
Licenses API