- fixed AppImage not accepting arguments (for example -f -g ROM_file to start directly)
- adjusted AppImage build.sh so it can find Qt libs on Fedora (#98)
- perl-Digest-SHA package is needed for shasum on Fedora
- added option do disable linking against LLVM 17 (Steam Deck specific)
- updated build-for-linux.md (Steam Deck specific)
- Return to original NVN bias values which better cover the full range of storage buffer accesses:
- offset_begin: 0x110 -> 0x100
- offset_end: 0x610 -> 0x700
The wider range ensures we catch all valid storage buffer accesses
while maintaining the same alignment requirements.
ref: 2564e721df
- Updated Horizon OS version to 19.0.1 and NintendoSDK version to 1.0. Adjusted `VERSION_HASH`, `DISPLAY_VERSION`, and `DISPLAY_TITLE` to match the new firmware versions.
ref: fcb6444037
- Updated Horizon OS version constants from 12.1.0 to 19.0.0.
- Changed the version hash from `76b10c2dab7d3aa73fc162f8dff1655e6a21caf4` to `52971eebbba7ab9e6e23d73753aa63e0c3794b16`.
- Updated `DISPLAY_TITLE` and `DISPLAY_VERSION` to reflect the new firmware version "NintendoSDK Firmware for NX 19.0.0-4.0".
- Incremented Atmosphere release version constants to 1.8.0.
ref: 3276bf8780
Tested as working.
It is self-contained with no dependencies, uses relative paths, downloads what it needs on the fly, requires the main repo to already be cloned and built for native linux, so it doesn't need to be a separate repo.
- Copied the `build.sh` file and `assets` folder into a new `AppImageBuilder` folder on the torzu repo root.
- Created a `AppImage-build.sh` shortcut on the repo root that checks if an executable is already in `build/bin`. If it doesn't find one, it prompts the user to build a native version first. If it does find one:
- enters the `AppImageBuilder` folder
- runs the command `./build.sh ../build ./torzu.AppImage`, using the correct relative path to the build folder (if they followed the build instructions as directed)
- moves the resulting `torzu.AppImage` executable back into the main `torzu` folder
- returns back to the main folder and shows current directory contents
- Added relevant entries to `.gitignore`
- Added AppImage section to linux build guide, with some clarifying explanation for Flatpaks, and section separators
Co-authored-by: anon <anon@no.reply>
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/78
Co-authored-by: anon <anon@noreply.localhost>
Co-committed-by: anon <anon@noreply.localhost>
Windows
- added summary Overview section for MSVC
- consolidated Visual Studio settings screens for C++ etc at the beginning (instead of providing them in the CMake GUI steps if they get an error)
- added notes to dependencies, to add them to Windows PATH if they ask for it
- moved the MSVC command line section (from the very bottom of the page under the Clion section), to between "dependency installation" and the "GUI method of building"
- prioritizing MSVC command line over GUI since it's much shorter and easier if all dependencies are installed correctly
- moved/duplicated contents of MSVC "Clone with Git" section into both the "MSVC command line" and "MSVC GUI" sections, so all steps are together for each and not split up
- changed some header sizes for better separation
- added a large separator bar area between MSVC, MinGW and CLion sections, and smaller separator bar areas between the three main sections of MSVC for readability
- added a specific repo-to-use note to the Clion cloning section
- corrected repo urls
Linux/Debian
- added flatpak build section at the top, labeled the existing as native builds
- added qttools5-dev and libva-dev to dependency cut and paste (were needed to compile on Debian)
- corrected repo url
MacOS
- removed redundant to-do items
- corrected repo url
Android
- corrected repo url
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/65
Co-authored-by: anon <anon@noreply.localhost>
Co-committed-by: anon <anon@noreply.localhost>
If unsafe read is done there can sometimes be corrupt data in the
KeplerCompute::ProcessLaunch qmd structure.
Fixes GPU crashes in 'Princess Peach: Showtime!' when using vulkan
renderer. Requires using "Accuracy Level High" (crashes will still
happen if using "Normal").
Tested on Radeon 6750XT, Linux 6.11.2, Mesa 24.2.5 (RADV driver).
Unsafe read was introduced in 115792158d
"VideoCore: Implement DispatchIndirect"
How did I debug this:
- Used VK_LAYER_KHRONOS_validation which found invalid vkCmdDispatch
(along with a lot of other noise!)
- Instrumented all calls to vulkan Dispatch(), set breakpoint when
grid_dim_x > 1024 (an obviously invalid value). Found dispatch came
from RasterizerVulkan::DispatchCompute().
- Commented out DispatchCompute() entirely, game runs with no crashes
but some graphics effects are missing.
- Keep going one layer up, observe corrupted `launch_description` in
KeplerCompute::ProcessLaunch()
- Attempted safe ReadBlock (`which = VideoCommon::CacheType::All`)
instead of ReadBlockUnsafe in KeplerCompute::ProcessLaunch(), did not
help
- Go one layer up to DmaPusher. Switch to safe_process(). No more
corrupt `launch_description`.
lol, has the emulator been running in a slower debug mode, even in release builds, ever since it was yuzu? This has been there since 4176. I was wondering why *.pdb debugging files still get generated.