dxvk icon indicating copy to clipboard operation
dxvk copied to clipboard

Starcraft Remastered | Can't enable real time lighting

Open Foxy41 opened this issue 1 year ago • 15 comments

I have been playing Starcraft Remastered, the game is running perfectly but I can't enable the real time lighting option, which requires a minimum of 2gb of vram, even though my GPU is supported.

Software information

Lutris, playing Starcraft remastered through the battle.net in lutris.

System information

  • GPU: RTX 3070 Ti
  • Driver: 560.35.03
  • Wine version: ProtonGE9-16
  • DXVK version: v2.4.1-194-g763b82b1e482e3b

Screenshots

The conditions are having hardware with more than 2gbs of VRAM, and not having the cartooned skin set enabled (Which I haven't enabled) SCR_bug dxvk hud shows the gpu correctly i1mage

Foxy41 avatar Oct 24 '24 13:10 Foxy41

This may be fixed in the next release of dxvk-nvapi if the game uses that. They recently added some functionality that games can use to get VRAM amount. Will try to test here later.

Blisto91 avatar Oct 24 '24 13:10 Blisto91

IIRC we had a report about this game before. I don't remember what the issue was, but it's probably not using DXGI to query the available amount of VRAM because (some) game developers really hate writing simple and reliable code for some reason.

Game might also just not support ≥4GB of VRAM, in which case DXVK_CONFIG="dxgi.maxDeviceMemory=4095" might help.

doitsujin avatar Oct 24 '24 13:10 doitsujin

Game might also just not support ≥4GB of VRAM, in which case DXVK_CONFIG="dxgi.maxDeviceMemory=4095" might help.

Since I dualboot, I also tried running the game natively in Windows and It works fine with 8GB of VRAM (I could enable real time lighting without issues).

Foxy41 avatar Oct 24 '24 14:10 Foxy41

Just so it is noted in the issue. I have only been able to reproduce this issue myself when using older Wine builds like Proton 8 or Wine-GE. When using Proton 9, Experimental, Proton-GE 9-16 etc it works fine. The game doesn't use nvapi and i haven't found that the problem is something to do with dxvk as using a newer dxvk version in Proton 8 doesn't prevent the issue from showing.

Tested with a RTX 4080 (system also have a AMD iGPU)

Blisto91 avatar Oct 25 '24 08:10 Blisto91

https://gitlab.winehq.org/wine/wine/-/merge_requests/4466

eszlari avatar Oct 25 '24 20:10 eszlari

Ah nice :+1:

Blisto91 avatar Oct 25 '24 21:10 Blisto91

Seems to be a wayland issue. On wayland the real-time lighting setting is disabled, but I tried in X11 and the setting works correctly. (I am using KDE Plasma, version 6.2.2) SCRBugReport3

Foxy41 avatar Oct 25 '24 21:10 Foxy41

I guess you are running this under Xwayland and not the experimental native Wayland driver? Then open a bug report for Wine, component "winex11.drv":

https://bugs.winehq.org/buglist.cgi?component=winex11.drv&product=Wine&resolution=---

eszlari avatar Oct 25 '24 21:10 eszlari

I guess you are running this under Xwayland and not the experimental native Wayland driver?

Yes, I am running the game using ProtonGE9-16 under Xwayland

Then open a bug report for Wine, component "winex11.drv":

https://bugs.winehq.org/buglist.cgi?component=winex11.drv&product=Wine&resolution=---

Okay, I will later create a bug report on the component you gave, saying that in Starcraft Remastered VRAM is not reported correctly under Xwayland

Foxy41 avatar Oct 26 '24 13:10 Foxy41

Linking the new Wine issue: https://bugs.winehq.org/show_bug.cgi?id=57351

Blisto91 avatar Oct 31 '24 07:10 Blisto91

For what it's worth, I attempted to work around / test this by using the native Wayland driver and couldn't find a version that could get past the Battle.net login for me to see. All I can do is confirm this occurs using Xwayland but does not in a regular X session. It also occurs for me even in Proton Experimental, latest GE versions, etc.

Whayme avatar Nov 20 '24 15:11 Whayme

Here's something, actually: This bug did not occur under Xwayland when I launched it outside of Lutris with system-installed WINE Staging 9.21-1.1. I'm not sure how to get the Lutris flatpak to use this exact WINE version to see if it works there and narrow down the culprit, but that is at least a workaround.

...a couple other tests, this time through Bottles:

Caffe 9.7 (based on staging): Bug does not occur Soda 9.0-1: Bug does occur

Seems like something in staging avoids the problem but all Valve and stable WINE-based stuff has it. For those looking to work around the issue, the smoothest solution I've found is Bottles with Caffe 9.7 and dxvk 2.5.1.

Whayme avatar Nov 20 '24 16:11 Whayme

Can confirm: Using Bottles with its Caffe runner the setting works.

Foxy41 avatar Nov 22 '24 22:11 Foxy41

Same problem here, a workaround that works for me is to manually set the GPU Device and Vendor Id in a custom dxvk.conf file, for example:

[StarCraft.exe]

dxgi.customDeviceId = 10DE # Nvidia
dxgi.customVendorId = 139B # GTX 960M

d3d9.customDeviceId = 10DE # Nvidia
d3d9.customVendorId = 139B # GTX 960M

With this in place, real-time lighting is enabled.

Tested on two different machines with a Nvidia and an AMD gpu, running Debian Testing, KDE Plasma 6 Wayland session, ProtonGE 9-16 and 9-22.

Interesting fact, the workaround seems to work even when the IDs do not match the GPU in use.

random-stranger-0 avatar Jan 12 '25 20:01 random-stranger-0

With ProtonGE10-1, It looks like a custom dxvk.conf is no longer necessary with xwayland

Foxy41 avatar May 23 '25 18:05 Foxy41