Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compatibility Rework with DLSS handling #26

Open
wants to merge 12 commits into
base: compatibility-rework-2
Choose a base branch
from

Conversation

rankynbass
Copy link
Owner

This is the compatiblity rework 2 with added patches for DLSS. It adds dxvk-nvapi and nvidia nvngx.dll handling, as well as a field for extra WINEDLLOVERRIDES. This will allow users to pass in extra windows dlls for reshade and other things. Most notably, the DLSS quality mod and FSR2 replacement mod both require passing a few extra dll overrides. Formatting is checked via the WineSettings.WineDLLOverrideIsValid() function. The "Enable DLSS" option will not appear if the nvngx.dll file cannot be found.

The launcher will search for nvngx.dll so the user does not have to do anything extra. It will search, in order, ~/.xlcore/compatibilitytool/nvidia, /lib64, /lib, /usr/lib64, and /usr/lib. As soon as it finds one, it will stop searching. This does work with flatpaks as well.

Two extra environment variables are provided to help:

Variable Description
XL_FORCE_DLSS Set to "1" to skip DLSS checks and assume that the nvngx dlls are in the game folder.
XL_NVNGXPATH Set a custom path for the folder containing nvngx.dll and _nvngx.dll. Most useful for NixOS, which has unusual paths. Example: XL_NVNGXPATH=/lib/nvidia/wine

This also includes a placeholder download for a newer wine version beta-9.17.r0.g27b121f2 on my repo so that testing can actually be done. This will hopefully be replaced by an official link before this is used in a release build.

DLSS requires a newer version of wine. 9.0 and later should work, as well as most wine-ge builds >= 8 and my valvebe builds>= 8. It also requres DXVK >= 2.0. And a compatible nvidia gpu, of course.

This can be merged as is, or merged later over the top of PR goatcorp#64 (Compatibility rework 2). This requires the "Compatibility Rework with DLSS handling" PR in FFXIVQuickLauncher to be merged.

Working versions can be found here: https://github.com/rankynbass/XIVLauncher.Core/releases/tag/cr2-dlss-v1 (tarball, flatpak and AppImage)

Wine Tab:
xlcore-dlss-wine-tab
Dxvk Tab, showing DLSS option:
xlcore-dlss-dxvk-tab

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant