mirror of
https://github.com/tangerineturtle1/NX2navi.git
synced 2026-11-15 19:19:58 -04:00
Let an AppImage without NVIDIA's DLSS library download it beside the game on machines with NVIDIA's driver.
An AppImage made with --no-dlss carries no NVIDIA file, and its builds had no DLSS. After a build its AppRun now downloads the pinned libnvidia-ngx-dlss.so.<version> from NVIDIA's DLSS SDK repository when /proc/driver/nvidia exists and the game folder holds no such library, checks its SHA-256 and writes the notice that names its licence. NX2NAVI_NO_DLSS=1 skips it, and a failed download is a warning. Pull request #290 by loteran, written again on top of the pin that came with the bundled library: - the version, file name, checksum and address come from tools/dlss_pin.py when the AppImage is made, instead of a second copy in the script, and the notice is dlss_pin's own text, carried in the kit; - it runs only when no library is beside the game, so it adds nothing to a build that placed the kit's and leaves a player's own version alone; - the download goes to a name that does not start like the library's: the game takes any file with that prefix, and an interrupted download would have been one. The generated AppRun passes bash -n; nothing was run on Linux here. Co-Authored-By: Claude Fable 5.2 <noreply@anthropic.com>
This commit is contained in:
@@ -117,7 +117,9 @@ game's own scaling and swapchain as they are (the log says so).
|
||||
NVIDIA DLSS (RTX cards) needs the driver's own `libnvidia-ngx.so.1` on the library path (the proprietary driver's
|
||||
utilities package, `nvidia-utils` on Arch) and NVIDIA's DLSS library `libnvidia-ngx-dlss.so.<version>` beside
|
||||
`ocarina`. The AppImage's kit has the library in `bin/` with `libnvidia-ngx-dlss-NOTICE.txt`, which names its licence,
|
||||
and the build copies both beside `ocarina` (`tools/make_appimage.py --no-dlss` leaves it out). From a source checkout,
|
||||
and the build copies both beside `ocarina` (`tools/make_appimage.py --no-dlss` leaves it out; such an AppImage
|
||||
downloads the same pinned library from NVIDIA's repository after a build on a machine with NVIDIA's driver, checks its
|
||||
SHA-256 and writes the notice, unless `NX2NAVI_NO_DLSS=1` is set or a library is already there). From a source checkout,
|
||||
or to use another DLSS version, put the library there yourself: NVIDIA publishes it as
|
||||
`lib/Linux_x86_64/rel/libnvidia-ngx-dlss.so.<version>` in [its DLSS repository](https://github.com/NVIDIA/DLSS), tagged
|
||||
`v<version>`, and `tools/dlss_pin.py` names the version the kit carries. Later builds keep a library they did not
|
||||
|
||||
Reference in New Issue
Block a user