- Notifications
You must be signed in to change notification settings - Fork1.3k
proton: Populate NVIDIA_WINE_DLL_DIR when available#8087
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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.
Already on GitHub?Sign in to your account
base:experimental_9.0
Are you sure you want to change the base?
proton: Populate NVIDIA_WINE_DLL_DIR when available#8087
Conversation
NVIDIA-software may check the environment variable `NVIDIA_WINE_DLL_DIR`for a path where DLLs provided by the NVIDIA Linux driver can be found.This needs to be set by `proton` script, as it is ran inside of thepressure-vessel environment, so the paths returned will be valid withinthe environment.Tested with an application that reads `NVIDIA_WINE_DLL_DIR` from theenvironment and tries to load a known DLL from it. As expected manuallysetting the environment variable to the on-disk location did not work,as the path is not accurate within the pressure-vessel environment.#8087
adamdmoss left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
For what my ex-nvidia-employee opinion is worth: LGTM. I infer from the lack of specifics (and not privileged knowledge) that this is to enable some future tech work, but if there is an existing title which needs this then pointing it out would be good for verification purposes.
liam-middlebrook commentedSep 17, 2024
Noting from a side-discussion between myself@ivyl, pgofman, and zf. This environment variable isn't ideal because it creates wine/proton specific behavior. Since the way this would be read on Windows isn't currently supported in Wine, this environment variable will only be read as a fallback. That way, in the future if the primary path is supported, this logic could be removed. In the meantime there's some cleanup things to do here (like avoiding running through the C_DLL logic twice). |
NVIDIA-software may check the environment variable `NVIDIA_WINE_DLL_DIR`for a path where DLLs provided by the NVIDIA Linux driver can be found.This is done as a fallback for when the "DriverStore" cannot be detectedvia the D3DDDI functions for querying an adapter-specific registry key.Tested with an application that reads `NVIDIA_WINE_DLL_DIR` from theenvironment and tries to load a known DLL from it. As expected manuallysetting the environment variable to the on-disk location did not work,as the path is not accurate within the pressure-vessel environment.
34e90a8 tod380d66Compare124cdc3 to2a4943dCompareNVIDIA-software may check the environment variable `NVIDIA_WINE_DLL_DIR`for a path where DLLs provided by the NVIDIA Linux driver can be found.This needs to be set by `proton` script, as it is ran inside of thepressure-vessel environment, so the paths returned will be valid withinthe environment.Tested with an application that reads `NVIDIA_WINE_DLL_DIR` from theenvironment and tries to load a known DLL from it. As expected manuallysetting the environment variable to the on-disk location did not work,as the path is not accurate within the pressure-vessel environment.ValveSoftware#8087
5d2111a to7f6b0ffCompareNVIDIA-software may check the environment variable `NVIDIA_WINE_DLL_DIR`for a path where DLLs provided by the NVIDIA Linux driver can be found.This is done as a fallback for when the "DriverStore" cannot be detectedvia the D3DDDI functions for querying an adapter-specific registry key.Tested with an application that reads `NVIDIA_WINE_DLL_DIR` from theenvironment and tries to load a known DLL from it. As expected manuallysetting the environment variable to the on-disk location did not work,as the path is not accurate within the pressure-vessel environment.Link:#8087
NVIDIA-software may check the environment variable `NVIDIA_WINE_DLL_DIR`for a path where DLLs provided by the NVIDIA Linux driver can be found.This is done as a fallback for when the "DriverStore" cannot be detectedvia the D3DDDI functions for querying an adapter-specific registry key.Tested with an application that reads `NVIDIA_WINE_DLL_DIR` from theenvironment and tries to load a known DLL from it. As expected manuallysetting the environment variable to the on-disk location did not work,as the path is not accurate within the pressure-vessel environment.Link:#8087
1753216 todcf29c3Compare
NVIDIA-software may check the environment variable
NVIDIA_WINE_DLL_DIRfor a path where DLLs provided by the NVIDIA Linux driver can be found. This needs to be set byprotonscript, as it is ran inside of the pressure-vessel environment, so the paths returned will be valid within the environment.Tested with an application that reads
NVIDIA_WINE_DLL_DIRfrom the environment and tries to load a known DLL from it. As expected manually setting the environment variable to the on-disk location did not work, as the path is not accurate within the pressure-vessel environment.