Skip to content

latest-ls39

Choose a tag to compare

@LinuxServer-CI LinuxServer-CI released this 10 Dec 02:44
· 61 commits to master since this release
af4b388

CI Report:

https://ci-tests.linuxserver.io/linuxserver/duckstation/latest-ls39/index.html

LinuxServer Changes:

Full Changelog: latest-ls38...latest-ls39

Remote Changes:

Commits

  • 5d9309cd5 Qt: Make parented progress callback dialog window modal
  • c9c4997d6 PostProcessing/Slang: Separate original and input textures
  • fd24d9946 CI: Work around Mac runner failing
  • e3332d176 Qt: Fix open button icon in ISO browser (#3638)
  • d4e2f4fb9 GameDB: Disable auto analog for Tenchu (#3636)
  • 795e2d273 ImGuiOverlays: Fix bold with ICache enabled
  • b5316239b Settings: Slightly reduce struct size
  • 2290f31ff ImGuiManager: Remove multiple sources of truth for prescale/margins
  • 1cc5fe081 ImGuiManager: Remove duration parameter from OSD messages
  • e02883eab Settings: Make OSD message durations customizable
  • eb518c8e3 Qt: Eliminate OSD from debug RAM dumping
  • 302ce03fe Qt: Async messageReported() signal should not block
  • db72c78f7 ImGuiManager: Fix incorrect condition in OSD rendering
  • b5392ee2c Regtest: Build fix
  • ce37f0e75 ImGuiManager: Support non-font icons in OSD
  • e012d9780 Achievements: Use RA icon for some notifications
  • a14433e03 FullscreenUI: Fix ImGui asset tripping on empty game grid
  • 267e81f47 README: Remove compatibility list link
  • 79bfa1a65 System: Fix inverted save state overclock warning
  • afc019d58 FullscreenUI: Avoid drawing OSD messages over achievement badges
  • 618d154ee Qt: Swap table for tree in Game Properties track list
  • 17284156d Qt: Swap table view for tree in setup wizard game list
  • 21daf6c87 Qt: Fix window icon for setup wizard
  • f9ca1f224 Qt: Disable game compat comments button instead of hiding it (#3639)
  • 63f929e6f Qt: Fix centering of secondary windows
  • 3b25e7b3a Qt: Use Close button in ControllerCustomSettingsDialog
  • 952b6c90c ImGuiOverlays: Add missing space
  • 225623b78 GameDB: Disable auto analog for some games and add missing info (#3640)
  • f84990bc7 Spanish (Spain) translation update 2025-11-25 (#3641)
  • 0302d6eef Qt: Use metaobject class name for saving/restoration
  • f3523508b FullscreenUI: Add gradient to achievement notification background
  • 8311a0cf5 FullscreenUI: Fix moving achievement points badge
  • 73823edf5 Qt: Make message box utility parameter order consistent
  • 459ee1929 Qt: Add QtUtils::AsyncMessageBox()
  • 5626fe09b Qt: Replace most blocking message boxes with async
  • c00aac646 GameDB: Increase cdromMaxReadSpeedupCycles for Alundra 2 (#3642)
  • 6369f38d6 GameDB: Disable read speedup for Gundam Battle Assault 2 (#3643)
  • e142a321f CDImagePBP: Fix TOC misreporting for some images
  • 249f8cf4a System: Always use async hardcore cancel on boot
  • 93f3be46f Achievements: Remove ConfirmHardcoreModeDisable
  • 08f357f0d System: Avoid load state message on HC disable confirm
  • 7b6fd224a System: Confirm HC disable on undo load state/reset
  • 7ce895924 System: Use ConfirmMessageAsync() for SBI-less boot
  • 5e2b32f33 Host: Remove blocking ConfirmMessage()
  • 90ec75b4e Achievements: Don't display points badge for 0 points
  • 48ec26104 Qt: Center game properties window too (#3644)
  • 548887449 Misc: Eliminate usage of modal progress callback functions
  • 4290f7595 ProgressCallback: Remove modal methods
  • 82a44b19b ProgressCallback: Avoid unnecessary struct padding
  • 3f882cf25 Qt: Add QtAsyncTaskWithProgress class
  • d1519aa09 Qt: Use QtAsyncTaskWithProgress for dump verification
  • d8e1418f3 Qt: Use QtAsyncTaskWithProgress for padtest download
  • cc6bfeb97 Qt: Use QtAsyncTaskWithProgress for ISO Browser extraction
  • 5b1e0117c Qt: Compile warning fix
  • cbbfecc0f HTTPDownloader: Set initial indeterminate state
  • ee1defd43 Qt: Don't try to center on an invisible window
  • 4cbd01d03 Qt: Get rid of nested event loops in achievement login
  • 2b2669056 GPU: Simplify PAR calculation
  • 676165282 Qt: Remove QtAsyncProgressThread
  • 8fcdf1049 Qt: Get rid of nested event loop in updater
  • f6bfb739f Qt: Remove QtModalProgressCallback
  • 243a8afe9 Qt: Simplify updater configuration and process
  • 1ba3efae7 Qt: Better layout for updater window
  • e02611726 Qt: Make auto updater window-modal
  • 9d61e8c4e Qt: Do blocking game list refresh with autoboot without batch
  • 9fb1172a8 GameDB: Disable auto analog for some titles (#3645)
  • 58cb4f2e3 FullscreenUI: Update loading/notification run idle on shutdown
  • 0c6cbf82d Qt: Remove redundant grid layout in updater
  • 97c9daf1b Qt: Remove unused EmuThread::SystemLock
  • cc6428645 Qt: Remove unsafe EmuThread isFullscreen() from UI thread
  • c91446c60 Qt: Remove unused cover downloader signal
  • 33b532d10 Qt: Remove unused focusDisplayWidget()
  • 3c00c4d27 Qt: Remove main window surfaceless hackery
  • b13207a02 Qt: Remove unused fields
  • a5755d12f Qt: Get rid of multiple sources of truth for fullscreen
  • f069570b3 Qt: Show update dialog after fullscreen exit completes
  • 9ee1b02cd Qt: Remove a bunch of unnecessary QSignalBlockers
  • 8bc3f04be Qt: Try to work out the "real" display scale on MacOS
  • 03c2ec2ca OpenGLDevice: Fix creation on MacOS
  • 480d00232 Log: Only include function names for warn/error
  • 3d27de783 Qt: Fix inverted fullscreen condition
  • e71a022ad Qt: Fix crash on updater exit
  • a171c25fb PostProcessing/Slang: Handle option names containing "//"
  • d6f708430 HTTPDownloader: Use release-acquire ordering for request state
  • e2b3f6513 HTTPDownloaderCurl: Use worker thread for processing
  • a1162731a HTTPDownloader: Remove InternalPollRequests()
  • fe8b8f04a HTTPDownloader: Remove unused default user agent
  • db9a9e762 Qt: Add indication that update check is in progress
  • e0a074583 Qt: Fix devbuild check
  • de36fefad GPU: Re-add missing AR correction
  • 65e890f7f Qt: Fix incorrect use of toggled signal
  • b723a8852 GPU: Update CRTC configuration on line offset change
  • 9aeb6ee79 GameDB: Max speedup cycles and other fixes for some games (#3647)
  • e3dfc8556 Atualização Português do Brasil (#3649)
  • d10663961 Qt: Reload game settings after reset to default (#3651)
  • 9fa42e2f6 Qt: Add close button to "About" dialog
  • 7a929b1d4 Qt: Allow copying the version string from interface settings
  • d8a92f7c9 Qt: Fix styling of checked push buttons
  • d612f8eea Qt: Support populating game list entry at runtime
  • ed71c45da Qt: Simplify updateEmulationActions() and updateShortcutActions()
  • 6f80a199f Qt: Pack main window local state in struct
  • 4a445a051 Qt: Disable Game Properties for PSF/GPUDump
  • 521a23f5c Qt: Make disc select dialog window-modal
  • 51524d725 GameDB: Adjust cropping in a number of titles
  • 577f74a7f GameDB: Increase cdromMaxReadSpeedupCycles for Dino Crisis 2
  • e1ca130fd GameDB: Set DisableFastForwardMemoryCardAccess for Lunar
  • c3b1859f4 HTTPDownloaderCurl: Use INT_MAX timeout
  • 177afb2af Achievements: Executable read error should not show when starting BIOS
  • 1706dac0f System: Fix possible deadlock when starting
  • 5859f0dbf Achievements: Don't try to enable HC mode when starting without disc
  • 8cfbaca0e Achievements: Don't enable HC mode on reset without game
  • 682d0075b Achievements: Add missing lock in OnSystemDestroyed()
  • 547d3495e HTTPDownloaderCurl: Fix crash in worker thread
  • f3e0fe90d Qt: Rename QtAsyncTaskWithProgress to QtAsyncTaskWithProgressDialog
  • d1d9008ff Qt: Add QtAsyncTaskWithProgress
  • 1fccee229 Qt: Use QtAsyncTaskWithProgress for cover downloader
  • 259cd846a Qt: Use fine-grained cover invalidate in downloader
  • 621649748 Qt: Disable window rounded corners is only needed on Win32
  • 521eee42b Qt: Remove unnecessary application syncs
  • 843558a16 Qt: Don't create wasteful display container on KDE
  • df75127fc Qt: Disable AA_DontCreateNativeWidgetSiblings hack on KDE
  • 11a0abaa8 Qt: Improve widget device pixel ratio detection
  • 1bf7431b8 Updated Swedish translation (#3648)
  • 7970287d6 GameList: Fix memcard icon extraction for non-database games
  • 8e3a65c15 MemoryCard: Show game icon when saving
  • ceb199b18 System: Add missing game list lock
  • 3e32deebf Qt: Fix power off system hotkey when fullscreen
  • c5c5a8041 Achievements: Fix challenge badge display in pause menu
  • af29ce010 Achievements: Show points for most recent unlock
  • 0172f220e GPU/HW: Draw small fill sprites with software if TC is enabled
  • 42c26cf91 Qt: Use ShowOrRaiseWindow() for main window
  • 84aa42562 Qt: Move lock in ConfirmMessageAsync()
  • 60dbc5ad3 Qt: Remove unused block_until_done parameter
  • b42f26fba SDLInputSource: Log the joystick GUID as well (#3653)
  • e92fb99a1 Qt: Update padtest URL
  • b4b05ed07 README: Remove non-functional link
  • 9a8d9d710 Hotkeys: Fix rotation hotkeys not having any effect
  • 941b62e93 FullscreenUI: Slight tweak to font weights
  • 241f720cb FullscreenUI: Avoid png/svg name clash for disc icon
  • 760b7b474 CI: Revert hardcoded Mac cache key
  • 5650880f9 Deps: Set QT_PREFIX_PATH for Qt on Linux
  • 801114f4c Deps: Bump SDL3 to 3.2.28
  • 1d28a4b38 Deps: Disable GTK when building Qt
  • 27802bf45 Deps: Set PKG_CONFIG_PATH when building
  • 0eaf1dd22 GameDB: Add various fixes for some games (#3654)
  • 9b31d8b57 GameDB: Adjust cropping in a number of titles (part 2) (#3656)