-
Notifications
You must be signed in to change notification settings - Fork 37
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
Crash with DLSS Enabled in Star Citizen #174
Comments
Running under Proton, that version included 0.64, although I have switched to wine-ge-8-26-x86_64 which allows 0.70 to be utilized. The same issue is reproduced |
The two "unknown function id's" are afaik for debugging purposes and not really used. As to the "DRS" settings, it would probably not mean anything other than a "profile is not found". I do not know if this game NEEDS a particular profile tho, but meh. Unsure if the game uses DX11, 12 or Vulkan tho? Can you "select renderer" or something like that? |
Thanks for the report. Could you try the build from this PR? #178 The log says:
This might actually be interesting. That said, this is quite early in the logs, so also likely completely unrelated to DLSS. |
The build from #178 appears to have the same issue, but those two items you referenced have changed, I have the log below. Details
|
The game uses DX11 and Vulkan, currently when you switch to Vulkan, you must set WINE_HIDE_NVIDIA_GPU=1 otherwise the game crashes when you attempt to launch it. When that is set, DLSS is not available to enable. |
Thanks for the fast response. Looks like it goes further and starts querying GPU info. What happens if you add https://github.com/Saancreed/wine-nvml in your prefix together with the nvapi version from above PR? You should see a statement in the DXVK-NVAPI logs when NVML has been found and loaded. |
I was able to add it into the prefix, and it appears to initialize correctly however the rest of the log appears to be the same. Details
|
What is also odd to me, is that before I attempt to enable DLSS, the log looks like the following: Details
However, as soon as I enable DLSS, these items seem to trigger as soon as DLSS is selected: Details
Could it be possible that Star Citizen is expecting an application profile and attempts to query it several times and crashes when a profile is unable to be identified/provided? |
Let's find out. I've added a second commit that let's that method succeed. |
I've tested that- it appears that now it can find the game, it's looping on not being able to find settings just before/during the crash. Log goes from this before enabling DLSS: Details
To this: Details
|
Thanks. It is not looping, but trying to read different settings (the setting-id is always a new one). Considering that it doesn't stop after the first settings, I think the game handles not existing settings (or not existing profiles) just fine. I don't know what comes after this and tbh no idea what causes the crash based on the game log. Is there a way to increase the log level for the game log itself? |
I see there is a "play for free until 29/5" thingy on the SC site, so i will try to download the game and see if i can get it running. |
Well.. After the couple of hours of fun downloading and actually getting this to run at all, atleast i can confirm the same issue.. So the report is atleast "valid" 😏 Anyho.. The probably unrelated stuff first:
I would claim that the DRS stuff is not important... And that kind of leave us with this:
Yeah.. i removed the "alreadylogged" thingy to see how many calls it was.. But for all i know it could be fairly reasonable to call this thing 3 times. This atleast is used by DLSS me thinks.. and from various other reports it can also be used with some sort of cuda function, but i see no attempt to load nvcuda.dll in the log, so not sure whats up with that. The "FatbinPTX" is as far as i would think for cuda tho, so it could possibly try to set up some cuda PTX kernel maybe? Will continue to hack around a bit more with this, but it is a horrible thunderstorm outside atm, so not overly eager to spend time in front of the PC 🫨 |
Also, if you guys happen to have an opportunity to do so, can you get me a log with standard Proton logging channels enabled? So And while you're at it, I would also be interested in the a log made with Vulkan renderer and without
@SveSop It's like this because DLSS is pretty much CUDA in disguise in the middle of D3D or Vulkan pipeline, only the driver APIs accessed here are not those exposed by
|
Here is the log from running that PR: Details
|
@Saancreed I have the log from Proton with Vulkan attached Here is the Proton log with DirectX 11: Details
|
@etgbrown Okay, although your log is not as detailed as I was hoping it to be because you have
This is the first device created by the launcher using DXVK. It fails, for which DXVK is actually prepared: https://github.com/doitsujin/dxvk/blob/7df8017e46692e972c710435261950c941b03acd/src/dxvk/dxvk_adapter.cpp#L483-L499 So immediately after we can see DXVK retry, but this time without NVX extension, so without DLSS support:
And this time it succeeds. When later the itself game attempts to run, it asks DLSS SDK for extensions it should enable, DLSS replies "please enable
Last I've seen this it was caused by Nvidia driver not being able to fully initialize its stuff. Can you try running |
The modprobe did not help for this game-error.. i get the same issue:
However the DLSS demo ran just fine with -d3d11, -d3d12 and -vulkan.
And so on for the -d3d11 version. The NVIDIA RTX Demo "Attic" also run fine with D3D12 and DLSS. So, i kind of believe the extension itself is working, and winevulkan probably do things correct... unless there is some strange data in this sc game that is not being used correctly or somecrap? |
Kind of hard to compare the log from SC and this demo, as i need to start SC before switching ON DLSS, where as the demo has it default on i guess... This little tidbid from the SC log seems weird, although possibly harmless? Dunno:
EDIT: And have these two lines there:
Atleast shortens the vulkan bits of the logs some... |
@SveSop There could be some other parameter passed by the game's Vulkan renderer to Some more requests from me:
|
Since i am a complete n00b, and dont know how to do this abruptly and in a timely manner + just about to go out for a few hours, i am not entirely sure i can make that in time for the trial period thingy to end... 😢 Will see if i can get some time to look at it when i got home, but it looks somewhat grim... |
Hopefully of some use with the Validation Layers.. (if i did it correct).
|
I tried to capture this using:
And it output a few files, and the main one around 5GB or so i suspect would be the "replay" file, but it failed to play.. Showed a black window and crashed on Using the above two setting and running Will see if i can log on tomorrow with the free account, or if it is closed. |
Weird, this doesn't happen to me and looking at DXVK code I don't see why would this be reported. But you're probably right that it's likely to be unrelated to the issue at hand. Unfortunately, VVL output doesn't appear to be useful. About gfxrecon I just found out that I guess this is about as much as we can figure out with the tools at our disposal. I can only think of NSight captures at this point and I have absolutely no experience with them so I suppose this is the time where we report an issue to NV (I just sent an email about this). |
Well... It seems i cant log in anymore as the trial thing is over. Atleast i do not get a "Lauch Game" button, and it was supposed to last until 29 may. I suppose this issue could be somewhat related to the issue with War Thunder and DLSS? It seems the game without DLC is F2P, so i might just download that and try to see if the errors seems similar... (Removing the disable-wt-patch thingy) |
Not a problem, I think we already know everything we can know without NV's assistance. Let's just wait and see if my report catches anyone's attention.
Unlikely, according to the logs War Thunder attempts to create a texture with bind/usage flags that make no sense, DXVK rightfully refuses and the game blows up. Probably a game bug over there but maybe you'll see something more. |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This seems to be a problem with memory allocation... unrelated to DXVK-NVAPI. When creating a Vulkan device with VK_NVX_binary_import and/or VK_NVX_image_view_handle extensions... libcuda tries to allocate memory in a specific area already used by the game, so... failing. I made a patch... that increases the area allowed for memory allocation. |
What have you found that libcuda was trying to allocate exactly? Is it a mmap call? |
libcuda tries to find space in a specific area to allocate(from 0x0200000000 to 0xFFF8000000, x64, traversing /proc/self/maps). |
Your example code allocates the whole range in which Cuda appears to do its allocations (I am waiting on feedback from Cuda driver engineers for specifics). In that case it makes sense that Cuda will fail to initialize. Eating up some of the VA space in this range is fine, but it's in that range that Cuda allocations will go, if I understand correctly. So there needs to be enough free VA space there. |
This game, right at the beginning, makes two beautiful VirtualAllocs with size 0x8000000000... that alone exceeds 0xFFF8000000. |
Not exactly, I believe these workarounds were introduced to avoid breaking setups that have NVIDIA drivers that support |
🤔 |
This patches libcuda.so with the approach seen here: jp7677/dxvk-nvapi#174 (comment) This may also be useful for other games that over-allocate memory when enabling DLSS.
I've been experiencing crashes in Star Citizen whenever I enable DLSS since it was added in the 3.23 patch.
This stood out a bit from the log:
Unknown Function IDs:
Application Profile Not Found:
There are repeated messages about the application profile for Star Citizen not being found? It appears to hit the log 5 times when the application crashes.
NvAPI_DRS_FindApplicationByName (C:\Program Files\Roberts Space Industries\StarCitizen\LIVE\Bin64\StarCitizen.exe): Executable not found
Also getting this missing settings line a few times
NvAPI_DRS_GetSetting (0x10e41df2/Unknown): Setting not found
Any help or pointers on how to fix this would be much appreciated!
Thanks!
Here is my system info:
NVIDIA-SMI 555.42.02 Driver Version: 555.42.02 CUDA Version: 12.5
The text was updated successfully, but these errors were encountered: