Frogging-Family / wine-tkg-git

The wine-tkg build systems, to create custom Wine and Proton builds
891 stars 159 forks source link

Cyberpunk 2077 #234

Open GoLD-ReaVeR opened 3 years ago

GoLD-ReaVeR commented 3 years ago

Are you keeping an eye on this game? I got the GOG version installed and I can't wait to play it. I tried with a build from yesterday but the game crashed. The wine version before that booted the game but showed a black screen. If you need anything from me, let me know.

Tk-Glitch commented 3 years ago

The game should work fine on a fresh proton-tkg. The most important bit is to have a bleeding edge vkd3d-proton d3d12.dll, and the most recent video driver available is recommended. The game doesn't work correctly on Nvidia at this point though, and will crash pretty fast (you can get it to run for a couple minutes at best) independently of the driver.

Since I can't test it on my end currently as my broadwell iGPU lacks support for needed extensions for vkd3d-proton use, I'm not against a log of a run attempt.

Also keep in mind virtually all GOG games have a file descriptor leak that will prevent some heavy games to run more than a few seconds or make them crash randomly. Using Fsync (with a Fsync kernel) can help, but heavier games are reportedly still running into issues. Due to this, non-GOG versions are preferred.

recke96 commented 3 years ago

I have tried to run it and attached my logs (game and wine) but I am running on NVIDIA and using the lutris wine build (reports as wine-6.0rc1.r0.gd7b71f0b (TkG staging) though). Maybe it helps.

Cyberpunk2077.exe-20201211-142445-540-544.txt Cyberpunk2077.exe-20201211-143344-924-928.txt

Cyberpunk2077_dxgi.log wine-6.0rc1.r0.gd7b71f0b_log.txt

recke96 commented 3 years ago

To clarify: I am not sure why open_builtin_file fails, I checked and the file is there.

Tk-Glitch commented 3 years ago

vkd3d-proton .so builds will not work and are deprecated anyway, so I wouldn't worry too much about that one. Now, that lutris wine might not have all the bits needed, I'm unsure. You can try building yourself a current vkd3d-proton d3d12.dll to put in your prefix (that will need to be set as native as well) to get further. See https://github.com/Frogging-Family/dxvk-tools.

fatino commented 3 years ago

The biggest issue is the sound. I have AMD GPU and cyberpunk works well on proton. But we can't hear environmental sounds. I should be able to run DRM free from steam with your wine build and test it later today.

Tk-Glitch commented 3 years ago

The sound issue is indeed known. There are (different) sound issues on windows, and the game is pretty buggy currently, so this might actually get fixed by an update (along with the crashes on Nvidia GPUs).

recke96 commented 3 years ago

Nice. Fresh build vkd3d works. Game froze during first mission but menu and character creation worked.

vkd3d_proton_wine.log

recke96 commented 3 years ago

try adding --launcher-skip as argument to the game. It fixes NPC audio at least for some people (see protondb)

fatino commented 3 years ago

try adding --launcher-skip as argument to the game. It fixes NPC audio at least for some people (see protondb)

No it doesn't. The guy just mislead all of us :)

GoLD-ReaVeR commented 3 years ago

So I should install your nvidia driver package or should I use arch linux default?

GoLD-ReaVeR commented 3 years ago

cyberpunk.log Here's my current crash log, if you wish to see more please give me debugmsg directions. Game doesn't start for me.

recke96 commented 3 years ago

I'm using the nvidia 455.45.01-6 driver on arch linux 5.9.13. I had to update the drivers before the game started successfully. But I still experience regular freezes

GoLD-ReaVeR commented 3 years ago

I updated everything right before producing those logs. Using the nvidia driver from tkg; using the vulkan dev option. I just now also tried with PROTON_NVAPI_DISABLE=1 on the commandline but that didn't help either. Though again I'm using the GOG version.

EDIT: I forgot to mention, I'm using the zen kernel (which has fsync support) EDIT2: does the wine tkg package compile its own vkd3d libraries when compiling?

aqxa1 commented 3 years ago

But I still experience regular freezes

Not really anything that can be done until the game is fixed (or Nvidia adds a driver that supports VK_VALVE_mutable_descriptor_type).

I'll add that my build of TKG doesn't seem to detect the fact that my driver supports VK_VALVE_mutable_descriptor_type (5700 XT with mesa-git) but proton-5.13-4 does detect it. Does that mean that Wine/Proton needs additional changes to support this extension? I'm using vk3d-proton git in both cases, to be clear.

Nerellus commented 3 years ago

I'll add that my build of TKG doesn't seem to detect the fact that my driver supports VK_VALVE_mutable_descriptor_type (5700 XT with mesa-git) but proton-5.13-4 does detect it. Does that mean that Wine/Proton needs additional changes to support this extension? I'm using vk3d-proton git in both cases, to be clear.

Yes, wine-tkg-git requires this patch to enable VK_VALVE_mutable_descriptor_type.

Tk-Glitch commented 3 years ago

That patch is part of the proton-winevulkan patchset as of https://github.com/Frogging-Family/wine-tkg-git/commit/9ba02e2fdf1dbd16f67323eb98cf317142e15c14

Kron4ek commented 3 years ago

The game (GOG version) works fine (well, some audio is missing like on Proton, but it's a game bug i guess) with Wine-TkG with proton-winevulkan patch applied since the aforementioned commit. And those who compile without proton-win10-default-staging.patch should manually set Windows versions to 10 in winecfg, otherwise the game will crash on launch.

The game works with regular Wine-Staging too (after setting Windows version 10 in winecfg), but since it doesn't support VK_VALVE_mutable_descriptor_type extension yet, the game will crash eventually even on AMD gpus.

Tk-Glitch commented 3 years ago

@GoLD-ReaVeR It seems the GoG version simply doesn't work with wine currently. After asking around a bit, all the people with the GoG version can't get it to run. No exception that I am aware of just yet. Not sure if it's just a configuration issue or if it's deeper. The fd leak of GoG games still might be the culprit considering how heavy the game is. A steam executable might be worth a shot..

EDIT: I forgot to mention, I'm using the zen kernel (which has fsync support)

That should be irrelevant.

EDIT2: does the wine tkg package compile its own vkd3d libraries when compiling?

No, just like for DXVK. But proton-tkg does.

Kron4ek commented 3 years ago

@Tk-Glitch I tried to run it with Wine-Staging 6.0-rc2 and with Wine-TkG 6.0-rc2 about an hour ago, it works (at least on AMD gpu). The only requirement, besides latest Vulkan driver and vkd3d-proton, is to set Windows version to 10 in winecfg (if compiled without proton-win10-default-staging.patch).

Tk-Glitch commented 3 years ago

GoG version? If so that will give some hope to @GoLD-ReaVeR :frog: :+1:

Kron4ek commented 3 years ago

Yep, GOG version :)

IroAlexis commented 3 years ago

Ah so for me, my wine-tkg setup should work then but you haven't encountered crashes (fd leak) ?

GoLD-ReaVeR commented 3 years ago

Setting the windows version to 10 actually solved the function not found problem. Why is wine still masquerading as a windows XP system? D: Game still crashes at start up at the moment though. Going to compile another wine version to see if that helps.

EDIT: No dice :'( cyberpunk.log

Kron4ek commented 3 years ago

you haven't encountered crashes (fd leak) ?

No, but i only played for about 30 minutes.

pollend commented 3 years ago

it seems to work with the GOG version of the game. the only problem I noticed is the audio is a bit distorted. this is the commit I used: 9d2caf40a29cbe3833ba199c24f548a93f865fe5 . I only played a couple minutes.

Tk-Glitch commented 3 years ago

There are audio distortions and crackling on Windows too, but the missing sounds is considered a wine/proton issue.

Kron4ek commented 3 years ago

@GoLD-ReaVeR What about vkd3d-proton, do you use the latest git version? The game crashes for me with vkd3d-proton 2.0, so the git version is required.

GoLD-ReaVeR commented 3 years ago

I recompiled that library just to be sure, but it still crashes with the same issue (as found in the new log file I posted).

pollend commented 3 years ago

At the moment I'm finding that about half of the audio is missing. I can't hear gunshots and enemy voices are missing. there is some strange pop I'm assuming that is also a windows problem as well?

there is also this discussion to keep track of: https://github.com/ValveSoftware/Proton/issues/4450

smCloudInTheSky commented 3 years ago

Hello, I've been able to play the gog version too using a build of proton-tkg made yesterday. However there is still issue with some light effect and I can confirm some of the audio is missing. Do any one need some log to help debug this ?

GoLD-ReaVeR commented 3 years ago

I would like to know how you got the game running. I've tried a fresh wineprefix and the game installs, but when I launch it it still fails. Don't see any hint as to why.

Kron4ek commented 3 years ago

I run it the same way you do: wine Cyberpunk2077.exe

My Wine prefix contains only vkd3d-proton, and Windows version is set to 10, nothing more.

GoLD-ReaVeR commented 3 years ago

Oh, it seems I was compiling the wrong vkd3d... I got hunk failures with the patches though. @Tk-Glitch can you ping me when that is solved? :D

smCloudInTheSky commented 3 years ago

@GoLD-ReaVeR Sure ! I installed through lutris Gog galaxy, then logged in and downloaded Cyberpunk 2077. Then I changed wine version to the custom proton-tkg i built (proton_tkg_6.0rc1.r8.ge015f059), used dxvk-tools to update vkd3d in my gog directory.

recke96 commented 3 years ago

Apart from the usual problems (audio + lighting + freezes) I could generally play the game (GOG version) but now I seem to have hit a spot where I can't get past. The very end of "The Heist" mission always freezing completely. Some waiting for critical section, I have the log attached. vkd3d_proton_freeze_wine.log

IDeathByte commented 3 years ago

In new proton experimental solved problem with missing sounds. will good when patches will available in your builds :)

I playing GOG version. but i not use lutris and just directly add link to .exe in to steam

GoLD-ReaVeR commented 3 years ago

I got it running! There is something weird though, the resolutions supplied are stuck at *x1080 resolutions rather than the 2560x1440 my primary monitor actually supports. It also doesn't allow me to switch monitors it seems, eventhough it detected that multiple are present. I'll try enabling wine desktop and see if that helps.

EDIT: Enabling wine desktop fixes that problem.

Tk-Glitch commented 3 years ago

@IDeathByte The audio fix was added yesterday with https://github.com/Frogging-Family/wine-tkg-git/commit/f51a9627870f5be0747a26374d883927eef1b253 😉

GoLD-ReaVeR commented 3 years ago

Oh eh, I didn't have any audio issues, but if there's anything I can recommend is to run pulseaudio through jackd or forego pulseaudio completely when possible. Pulseaudio has the nasty tendency to allow wine to change the sound hz system wide causing artifacts all over the place. I've also yet to have any other sound issues in other games, while if I run pulseaudio directly I'm likely required to add additional environment variables. The soundlag from this is not noticeable.

Tk-Glitch commented 3 years ago

The missing sounds issue until yesterday's fix in proton were 100% wine related. Nothing to do with pulse.

GoLD-ReaVeR commented 3 years ago

Alright, got a lockup, dmesg is showing me: [338950.574817] NVRM: GPU at PCI:0000:09:00: GPU-21589442-001b-4b23-9b0e-073213285a8d [338950.574820] NVRM: GPU Board Serial Number: [338950.574823] NVRM: Xid (PCI:0000:09:00): 31, pid=683922, Ch 0000003e, intr 10000000. MMU Fault: ENGINE GRAPHICS GPCCLIENT_T1_3 faulted @ 0x1_81ca0000. Fault is of type FAULT_PTE ACCESS_TYPE_READ

I shall try to reproduce it later, if it happens consistently at the same spots I'll try to record it.

EDIT: Question I see the driver list on your package got updated, do I need to install the 460 driver or keep using vulkan dev?

GoLD-ReaVeR commented 3 years ago

@Tk-Glitch ^ I'm awaiting your guidance.

GoLD-ReaVeR commented 3 years ago

Ohoho, I installed the 460 driver, I recompiled wine-tkg, forgot to upgrade the d3d12 library (XD) BUT Cyberpunk 2077 is now running for me without crashing. There seem to be some audio glitches with stuff not playing as reported earlier, but other than that the game is now running fine, performing fine and playing mostly fine. So eh... POGGERS!

EDIT: Seems I cheered too soon. I don't know why the lock ups happen now, I was playing the game for a good hour or 2 before. Maybe it has to do with texture/shader loading? My freezes were with entering shopmode and running down the street at a rapid pace.

GoLD-ReaVeR commented 3 years ago

Yeah content load definitely seems to make the game crashhappy. Even got a critsect timeout: 0114:err:ntdll:RtlpWaitForCriticalSection section 000000158E3F6110 "?" wait timed out in thread 0114, blocked by 0120, retrying (60 sec) ^C0100:fixme:kernelbase:AppPolicyGetProcessTerminationMethod FFFFFFFFFFFFFFFA, 000000000031FD70

recke96 commented 3 years ago

Apart from the usual problems (audio + lighting + freezes) I could generally play the game (GOG version) but now I seem to have hit a spot where I can't get past. The very end of "The Heist" mission always freezing completely. Some waiting for critical section, I have the log attached. vkd3d_proton_freeze_wine.log

Yeah, this freeze has the same critical section timeout:

012c:err:ntdll:RtlpWaitForCriticalSection section 000000158E3F6110 "?" wait timed out in thread 012c, blocked by 0124, retrying (60 sec)
012c:err:ntdll:RtlpWaitForCriticalSection section 000000158E3F6110 "?" wait timed out in thread 012c, blocked by 0124, retrying (60 sec)
xDShot commented 3 years ago

The sound missing before is crackling: npcs talk, car radio, gunfight

GoLD-ReaVeR commented 3 years ago

I installed the 1.06 patch, rather than crashing after a while the game crashes almost immediately now.

Tk-Glitch commented 3 years ago

I have played for a couple hours on 1.1 without any crash. That's on a radeon RX 5700XT with RADV/ACO. Steam version. There was a huge perf regression due to upstream changes that got fixed with https://github.com/Frogging-Family/wine-tkg-git/commit/7c1c5f2ae484fbcea7f63e745e569434ced42e26.

recke96 commented 3 years ago

I gave it a shot once again with freshly build wine-tkg and dxvk and it still hangs indefinitely during the delamain drive to the hotel. Log shows some EXCEPTION_WINE_CXX_EXCEPTION which I have not seen before. Log is attached and for the record I play the GOG build on archlinux with nvidia graphics.

cyberpunk2077.log

SmashleyG commented 3 years ago

I have had a similar issue with the delamain drive to the hotel. I somehow got through it without crashing, but now as I enter the hotel I get a weird bug where the screen just goes black except you can see the hud and the (i) icon. lt's like the lights have gone out. If I use the scanner, I can see, but as soon as I turn it off, it's dark again. it's very weird.

Oh and I use the GOG version with lutris.