While you're here, please consider supporting GamingOnLinux on:
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Reward Tiers: Patreon. Plain Donations: PayPal.
This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!
You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register
- Unofficial PC port of Zelda: Majora's Mask, 2 Ship 2 Harkinian has a big new release out
- Steam Controller 2 is apparently a thing and being 'tooled for a mass production' plus a new VR controller
- Half-Life: Blue Shift remake mod Black Mesa: Blue Shift - Chapter 5: Focal Point released
- Linux kernel 6.12 is out now with real-time capabilities, more gaming handheld support
- Steam Deck OLED: Limited Edition White and Steam Deck Australia have launched
- > See more over 30 days here
-
The Sci-Fi Shooters Humble Bundle is a top deal with Sy…
- tuubi -
The Sci-Fi Shooters Humble Bundle is a top deal with Sy…
- ElectricPrism -
S.T.A.L.K.E.R. 2: Heart of Chornobyl review - works on …
- Shmerl -
S.T.A.L.K.E.R. 2: Heart of Chornobyl review - works on …
- Xpander -
The Sci-Fi Shooters Humble Bundle is a top deal with Sy…
- Technopeasant - > See more comments
- What do you want to see on GamingOnLinux?
- Ehvis - Weekend Players' Club 11/22/2024
- Xpander - Types of programs that are irritating
- Cyril - Our own anti-cheat list
- Liam Dawe - Spare gog keys
- on_en_a_gros - See more posts
View PC info
No freezes for me, my Geralt is level 15.
The big hole of Stream Output slows a little the game on my configuration. I haven't tested on AMD graphics card.
This is my experience, i'm sure there is other experiences that doesn't confirm my experience. Dxvk is in developpement, i know that.
View PC info
That's how rotfiends look in dxvk because of missing stream output:
That's not called fully playable.
View PC info
Here's hoping that the Vulkan spec gains stream output relatively soon, hopefully they will have seen this sort of thing and may add it sooner rather than later.
I do wonder how Feral works around stream output limitations in their ports; because Im sure some of the games they have ported with Vulkan must use that DX feature and so they must have had to resolve somehow.
View PC info
They might implement it in inefficient manner. It's an option, but @YoRHa-2B wants a better one, which is a good thing.
I suppose anyone can implement such thing (Vulkan driver would need to anyway, when the spec will be expanded), it's just probably far from trivial.
View PC info
Oh for sure the feral solution may not be elegant, we have no way of telling, but if if DXVK could implement a similar method in the short term it can alsways be updated out if/when vulkan supports stream output in the future. Sadly it is beyond my ability to do it myself (wouldnt even know where to start!)
If the game doesn't care about the ordering guarantees that D3D11 Stream Output provides, a rather efficient workaround is trivial: Just use SSBO writes and an atomic counter. Done.
If the game does care about the ordering guarantees, things get hairy. If the game doesn't use indirect draws and if the geometry shaders unconditionally write data to their output streams and if the game doesn't rely on overflow behaviour, you can still use SSBO stores combined with some gl_PrimitiveID and gl_InstanceID magic.
Feral know what their game needs and can adjust their wrapper accordingly. DXVK can't, it needs to satisfy all possible use cases.
View PC info
Theoretically, radv or any Vulkan implementation sits above the kernel driver anyway, so it's userland implementation of the feature. I suppose it means anyone can do it same way as Vulkan implementation would for some potential new spec, or it might require some changes to underlying compilers which makes it a hard task?
View PC info
I've been following this thread for the last several months (with great interest I might add). Recently I was able to purchase a copy of The Witcher 3 GOTY edition from GOG during their last sale. Using Lutris I've setup a Wine-Staging 3.6 prefix and used the GOG installer to install the game.
I'm able to start and run the game fine using Wine-Staging 3.6 (d3d to opengl), but the performance is fairly poor. The next step is for me to try to get DXVK setup. I decided to use the easy approach and simply download the d3d11.dll and dxgi.dll from here: https://haagch.frickel.club/files/dxvk/latest/64/bin/
I placed both DLLs in the c:/Windows/System32 directory (within my prefix) and setup the appropriate library overrides using the Wine configuration tools - setting both the d3d11 and dxgi to native.
Now when I try to launch The Witcher 3, I get a crash (without much useful information). Here are the details:
Unhandled exception: page fault on write access to 0x7f05e3050720 in 64-bit code (0x00007f05e2e5bb52).
Register dump:
rip:00007f05e2e5bb52 rsp:000000000212dd30 rbp:0000000000000002 eflags:00010202 ( R- -- I - - - )
rax:00007f05e2b165e0 rbx:00007f05e30eab18 rcx:00007f05e2b165e0 rdx:0000000000000008
rsi:00007f05e3050720 rdi:0000000000000000 r8:000000000000ffff r9:00000000000000ff r10:00007f0fef1ea3a0
r11:0000000000000202 r12:00007f05dd52d773 r13:0000000000000014 r14:000000007ce62f90 r15:00007f05dda297e8
Stack dump:
0x000000000212dd30: 000000007d048a60 000000000000000c
0x000000000212dd40: 0000000000000111 00007f05dda296e0
0x000000000212dd50: 000000007ce62f90 000000007ce01430
0x000000000212dd60: 000000007ce008a0 00007f05e2e5c374
0x000000000212dd70: 000000007ce01430 0000000000000000
0x000000000212dd80: 0000000000000007 000000000212de50
0x000000000212dd90: 00007f0f000000c2 00007f050000001f
0x000000000212dda0: 0000000000000106 000000007ce048d0
0x000000000212ddb0: 0000000000000000 00007f05e30ead00
0x000000000212ddc0: 00000007e30e56a0 00007f05e30eab00
0x000000000212ddd0: 000000147cdaa7a0 00007f0fefc9f130
0x000000000212dde0: 00000000efa88d31 000000007d048a60
Backtrace:
=>0 0x00007f05e2e5bb52 (0x0000000000000002)
0x00007f05e2e5bb52: movq %rax,(%rsi)
Modules:
Module Address Debug info Name (42 modules)
PE 2130000- 2328000 Deferred physx3common_x64
PE 2330000- 2339000 Deferred nvcamerasdk64
PE 2340000- 2425000 Deferred gfsdk_ssao.win64
PE 6a340000- 6a510000 Deferred d3d11
PE 6f200000- 6f376000 Deferred dxgi
PE 7a850000- 7a858000 Deferred opengl32
PE 7b420000- 7b5d5000 Deferred kernel32
PE 7bc40000- 7bc52000 Deferred ntdll
PE 140000000- 14354a000 Deferred witcher3
PE 180000000- 180404000 Deferred d3dcompiler_47
PE 7f0fe3b40000- 7f0fe3b45000 Deferred uxtheme
PE 7f0fe5720000- 7f0fe5725000 Deferred winex11
PE 7f0fe57c0000- 7f0fe57c5000 Deferred hid
PE 7f0fe57e0000- 7f0fe57f6000 Deferred setupapi
PE 7f0fe5850000- 7f0fe5855000 Deferred dinput8
PE 7f0fe5870000- 7f0fe5875000 Deferred vcomp
PE 7f0fe5890000- 7f0fe5895000 Deferred vcomp110
PE 7f0fe58b0000- 7f0fe58b5000 Deferred xinput1_3
PE 7f0fe58c0000- 7f0fe58c6000 Deferred imm32
PE 7f0fe58f0000- 7f0fe58f4000 Deferred usp10
PE 7f0fe5940000- 7f0fe5992000 Deferred comctl32
PE 7f0fe5a90000- 7f0fe5a9a000 Deferred aclui
PE 7f0fe5ac0000- 7f0fe5acf000 Deferred shlwapi
PE 7f0fe5b60000- 7f0fe5d44000 Deferred shell32
PE 7f0fe5e80000- 7f0fe5e89000 Deferred wined3d
PE 7f0fe5fe0000- 7f0fe5fe5000 Deferred d3d9
PE 7f0fe6050000- 7f0fe6067000 Deferred msvcr110
PE 7f0fe6140000- 7f0fe61ba000 Deferred winmm
PE 7f0fe6220000- 7f0fe624c000 Deferred ole32
PE 7f0fe63c0000- 7f0fe63c5000 Deferred dsound
PE 7f0fe6430000- 7f0fe6449000 Deferred msvcr120
PE 7f0fe6560000- 7f0fe6588000 Deferred msvcp120
PE 7f0fe6680000- 7f0fe6686000 Deferred ws2_32
PE 7f0fe68e0000- 7f0fe68e7000 Deferred dbghelp
PE 7f0fe6950000- 7f0fe695b000 Deferred rpcrt4
PE 7f0fe6a00000- 7f0fe6a10000 Deferred msvcrt
PE 7f0fe6ac0000- 7f0fe6ac7000 Deferred winevulkan
PE 7f0fe6b00000- 7f0fe6b06000 Deferred vulkan-1
PE 7f0fe6b20000- 7f0fe6b2b000 Deferred advapi32
PE 7f0fe6bc0000- 7f0fe6bcc000 Deferred gdi32
PE 7f0fe6e50000- 7f0fe6f1e000 Deferred user32
PE 7f0fef6a0000- 7f0fef6a5000 Deferred version
Threads:
process tid prio (all id:s are in hex)
0000000e services.exe
[C:\windows\system32\services.exe]
00000022 0
0000001d 0
00000015 0
00000014 0
00000013 0
00000010 0
0000000f 0
00000011 winedevice.exe
[C:\windows\system32\winedevice.exe]
0000001a 0
00000019 0
00000018 0
00000017 0
00000016 0
00000012 0
0000001b plugplay.exe
[C:\windows\system32\plugplay.exe]
0000001f 0
0000001e 0
0000001c 0
00000020 winedevice.exe
[C:\windows\system32\winedevice.exe]
00000027 0
00000026 0
00000025 0
00000024 0
00000023 0
00000021 0
00000028 explorer.exe
[C:\windows\system32\explorer.exe /desktop]
0000002c 0
0000002b 0
0000002a 0
00000029 0
0000003d (D) C:\GOG Games\The Witcher 3 Wild Hunt GOTY\bin\x64\witcher3.exe
["C:\GOG Games\The Witcher 3 Wild Hunt GOTY\bin\x64\witcher3.exe"]
0000003e 0 <==
00000041 explorer.exe
[C:\windows\system32\explorer.exe /desktop]
00000045 0
00000044 0
00000043 0
00000042 0
System information:
Wine build: wine-3.6 (Staging)
Platform: x86_64
Version: Windows 7
Host system: Linux
Host version: 4.16.3-200.fc27.x86_64
Have I missed any steps that are neccessary to get DXVK setup? I know in the past you needed to install the Vulkan SDK (in the wine prefix) and add add a winevulkan.json file. This is no longer necessary correct?
Thanks!
View PC info
You can use provided script that creates symlinks and overrides. See here. I think what you did manually looks very similar, so not sure why it's crashing. How exactly are you launching the game? If manually, make sure you are in the directory where the binary is located.
And you don't need Wine staging with TW3. Regular Wine works just as well.
Also, note that neither wined3d nor dxvk provide perfect solution now. winde3d as you noted, still has poor performance (Wine developers are working on it), and dxvk is missing features like stream output, that results in various broken graphics.
View PC info
Thanks for the reply. I'm currently using Lutris to manage my Wine installations, so I'm launching the application through the Lutris UI. That being said, I believe this translates to:
WINEPREFIX=~/Games/Lutris/witcher-3; ~/.local/share/lutris/runners/wine/3.7-x86_64/bin/wine ./witcher3.exe
From within the following directory:
/home/robert/Games/Lutris/witcher-3/drive_c/GOG Games/The Witcher 3 Wild Hunt GOTY/bin/x64
I did run the scripts you mentioned, and they appeared to do same thing as I had manually done previously (albeit using symlinks instead of copying the .dll files into the c:\windows\system32 directory directly).
I've also tried using Wine 3.7 (as opposed to Wine-Staging 3.6). I do receive a different error, but it still results in a register dump.
One thing worth mentioning is that I'm using a Nvidia GTX 1060 with driver 390.48. Are there some additional environment variables that I need to set? I seem to remember something with shaders changing with the later versions of the Nvidia drivers.
Thanks again for the help!
Man I can't wait to move to Vega, I've had it with this binary driver bullshit...