Open Gaming & Graphics

DuckStation v0.1-11894 updates build system and core features

Key Takeaway

DuckStation introduces C++23 support, dynamic library loading, and improved debugger tools in its latest update.

Summary

The DuckStation PlayStation 1 emulator has released version v0.1-11894. This update transitions the codebase to use C++23, implements dynamic loading for several libraries including libpng, libjpeg, and libwebp, and enhances the Qt-based debugger with call stack and thread views. It also introduces the ability to change the console region live during operation.

Technical improvements in DuckStation v0.1-11894

  • Build System: Migrated to C++23 across the entire project and optimized MSBuild by enabling parallel generation of Qt MOC files, translations, and UI headers.
  • Dynamic Loading: Implemented on-demand dynamic loading for libpng, libjpeg, libwebp, libzip, SDL, and FreeType/plutosvg.
  • Debugger Enhancements: Added threads view, call stack, and linked the stack view to the memory view within the Qt interface.
  • System Features: Added support for live-changing console regions and improved error handling for device initialization crashes in the VideoThread.
  • Linux/macOS: Added warnings for LD_LIBRARY_PATH overrides on Linux and made macOS bundle building optional via CMake.

Why it matters

The move to C++23 and dynamic library loading modernizes the emulator's architecture and improves its deployment flexibility across different platforms.

Original reference: github.com →