ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.5k stars 1.07k forks source link

Baldur's Gate 3 (1086940) #4243

Open cwebster2 opened 4 years ago

cwebster2 commented 4 years ago

Compatibility Report

System Information

I confirm:

Symptoms

Game does not start. fails to run steamapps/common/Baldurs Gate 3/Launcher/LariLauncher.exe

Reproduction

Install game, click Play.

steam-1086940.log

kisak-valve commented 4 years ago

Hello @cwebster2, looks like there's several rough edges in the log, but wine: Call from 0x7b00fc3e to unimplemented function mscoree.dll.GetTokenForVTableEntry, aborting stands out more than the rest.

cwebster2 commented 4 years ago

Hello @cwebster2, looks like there's several rough edges in the log, but wine: Call from 0x7b00fc3e to unimplemented function mscoree.dll.GetTokenForVTableEntry, aborting stands out more than the rest.

Hi @kisak-valve, I agree in that assessment of the log. If there is anything i can test, i am happy to do so.

AnhVanGiang commented 4 years ago

I got the same issues, heres the log: steam-1086940.log

olav-valle commented 4 years ago

Chiming in here to say that the GOG version of this game also crashes if you try to start it with the LariLauncher.exe, but seemingly works very well if you start the bg3.exe instead (not past the character creator yet). This is using wine-tkg 5.17 that I compiled for use with Tony Hawk's Pro Skater 1+2, and includes some additional patches if I remember correctly. I'll see if I can remember what those were, in case they can help.

AnhVanGiang commented 4 years ago

Chiming in here to say that the GOG version of this game also crashes if you try to start it with the LariLauncher.exe, but seemingly works very well if you start the bg3.exe instead (not past the character creator yet). This is using wine-tkg 5.17 that I compiled for use with Tony Hawk's Pro Skater 1+2, and includes some additional patches if I remember correctly. I'll see if I can remember what those were, in case they can help.

You are correct, i tried running bg3.exe with ordinary wine and it runs perfectly well.

przmkg commented 4 years ago

Managed to make it work (Proton 5.0.9) with a similar solution to what's required for Divinity 2:

Run the following from your Baldur's Gate 3 main directory.

mv Launcher Launcherbak
ln -s bin Launcher
ln -s ./bin/bg3_dx11.exe ./bin/LariLauncher.exe
cp ./Launcherbak/*.dll ./bin

Little explanation:

I had to basically trick Steam into thinking it's running the launcher but it's actually the executable. On top of that, I had to copy all the dll files from the Launcher directory into bin. The vulkan version crashed on start for me so I use the dx11 one here.

Edit: It crashes after character creation Edit 2: I switched to amdvlk and it works now with the Vulkan version. It no longer crashes after character creation

Leopard1907 commented 4 years ago

@przmkg Your driver version/compiler ( if there are multiple options exist) and gpu?

olav-valle commented 4 years ago

@przmkg I have no issues running the vulkan version in wine. Might be an issue with your vulkan version?

przmkg commented 4 years ago

@Leopard1907 I have a 5700xt with Mesa 20.1.8 (llvm 10 I think). I have only tried with the ACO shader compiler, maybe that's the issue.

alosarjos commented 4 years ago

Tried the Vulkan version on Arch Linux (5700XT + Mesa 20.2). Just got a black screen, the Dx11 version runs fine. Here are the logs for the Vulkan version (Needed to compress it like ZIP)

I also could run the Vulkan version with the AMDVLK drivers

1086940_20201006233021_1

Vulkan_Log.zip

kisak-valve commented 4 years ago

~Hello @alosarjos, fixme:vulkan:wine_vkCreateDevice Support for allocation callbacks not implemented yet looks like a line of interest from the log. This is followed by a bunch of access violations (c0000005).~ The circumstantial evidence previously mentioned devalues this observation.

alosarjos commented 4 years ago

Hello @alosarjos, fixme:vulkan:wine_vkCreateDevice Support for allocation callbacks not implemented yet looks like a line of interest from the log. This is followed by a bunch of access violations (c0000005).

I have opened an issue on the Mesa GitLab: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3607 in case you can provide more info or logs on what they may need.

GloriousEggroll commented 4 years ago

It needs vcrun2015 or 17 or 19 on newer versions of wine

DX11 crashes after char creation on nvidia, AMDVLK, and RADV Vulkan works on Nvidia and on AMD with AMDVLK Vulkan crashes with RADV Saves work fine. You only need dotnet48 for the launcher, which takes way too long to install and sometimes fails. If you skip the launcher and launch the game directly, it works fine.

Here's a protonfix that works with my latest ge release on vulkan, as noted for AMD you currently need AMDVLK:

1086940.py

""" Game fix for Baldur's Gate 3
"""
#pylint: disable=C0103

from protonfixes import util

def main():
    """ Run script extender if it exists.
    """
    # Fixes the startup process.
    util.protontricks('vcrun2019_ge')
    util.protontricks('d3dcompiler_47')
    util.replace_command('LariLauncher.exe', '../bin/bg3.exe')

Drop it in to Proton-5.9-GE-7-ST/protonfixes/gamefixes/

MrCraigen commented 4 years ago

I used protontricks to install dotnet48 with Proton 5.0-9. The launcher started, Vulkan render works great with Nvidia card and i was able to create a character. Also played for an hour. No crashes and save / load works.

ldust667 commented 4 years ago

@MrCraigen what OS are you on?

patrickholley commented 4 years ago

@GloriousEggroll Your patch worked like a charm; thanks!

1beb commented 4 years ago

Just wanted to add to @MrCraigen comment, with some more explicit instructions:

sudo python3 -m pip install protontricks
protontricks -i baldur # get the (ID) that's in round brackets
protontricks ID dotnet48 # I had to run it twice because something got stuck or it appeared to stop updating
# It will open an agree/continue dialogue window

image

cwebster2 commented 4 years ago

I tested my installing dotnet48 into the game's wineprefix with protontricks and while the launcher appears to have some grapghical glitches, the game does launch and seems to be working fine. havent made it past character creation, and will update once i have some time in game

cwebster2 commented 4 years ago

Game works great!

SET001 commented 4 years ago

@1beb this gives me the error

Unknown arg dotnet48
MrCraigen commented 4 years ago

@MrCraigen what OS are you on?

Im using Manjaro KDE, I installed the protontricks through the AUR

@1beb this gives me the error

Unknown arg dotnet48

What version of winetricks are you using with prontricks? I'm using winetricks 20200412. You can try run protontricks --gui, choose Baldurs Gate 3 on the list and then dontnet48 from there

SET001 commented 4 years ago

after updating winetricks I was able to install dotnet48 and then everything runs just fine )) Thanx! 1086940_screenshots_20201007095008_1

ZarathustraDK commented 4 years ago

Proton installs a bunch of dependencies when the game is first launched through Proton for the first time, so for people using Lutris or Wine you'll need get those dependencies also. I don't know exactly what those dependencies are, but most likely they're the cause of your misery.

For Proton (with dependencies installed) the game will refuse to start without tinkering (as in Play-button turns into "Loading" for a few seconds, then back to "Play"). This is fixed by linking the executable as described in another post above. Alternatively, copy the bg3.exe from the Bin-folder to the Launcher-folder, then, in the launcher-folder, rename LariLauncher.exe to something else, and after that rename the copied bg3.exe to LariLauncher.exe. Game should work then, at least it does for me on an Nvidia-card.

Traxmaxx commented 4 years ago

I did the mentioned steps but it's still crashing. Tried AMDVLK and RADV.

Log: https://gist.github.com/Traxmaxx/826dcfed9d438d69a2438ea08ea4ecc5

ArcanePhysics commented 4 years ago

@Traxmaxx I seem to have the same issue on OS: Pop!_OS 20.04 LTS KERNEL: 5.4.0-7642-generic CPU: Intel Core i5-6500 @ 3.20GHz GPU: AMD Radeon RX 470 GPU DRIVER: 4.6 Mesa 20.0.8 RAM: 16 GB Get Same errors with AMDVLK

sidrew commented 4 years ago

@GloriousEggroll ... Vulkan doesn't seem to want to run on my nvidia Quadro RTX 5000 Mobile chipset... don't usually have issues with getting things to run on this beast. Is this log helpful at all?

steam-1086940.log

alosarjos commented 4 years ago

To me the most consistent way to make it work on AMD GPU has been doing on the Game directory:

cd Launcher
mv LariLauncher.exe LariLauncher.exe_BAK
ln -s ../bin/bg3.exe ./LariLauncher.exe

And running the game with AMDVLK:

VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/amd_icd64.json" %command%

It seems similar to previous solutions, but only changing the Launcher.exe and not the whole folder, etc... is making it work pretty nicely. Still, can't make it work with Mesa....

PD: AMDVLK Version: 2020.Q3.6-1

CoachBudd commented 4 years ago

Ive installed through protontricks the net48 and i am using the workaround for skipping the launcher with this gamefix and the game will start ill see the larian logo and then it crashes right after.

leslielg commented 4 years ago

can't install dotnet48 by protontricks 1086940 dotnet48 stuck here for hours, tried several times image dotnet48 has poped up below message before start: Setup may not run properly, because the Windows Modules Installer Service is not available on this computer.

1beb commented 4 years ago

@leslielg I had to try a couple of times. Ctrl + X / Ctrl + C in the terminal and then restarting the process. Only then did it move forward. It did seem to take a long time. But maybe like 5-7 minutes... not hours.

leslielg commented 4 years ago

@leslielg I had to try a couple of times. Ctrl + X / Ctrl + C in the terminal and then restarting the process. Only then did it move forward. It did seem to take a long time. But maybe like 5-7 minutes... not hours.

Tried more attempts, still not installed. I'm using MX Linux KDE, it doesn't have systemd, will that be a problem? And my network is blocked by China GFW, is it OK?

robgriff444 commented 4 years ago

I'm using GE's 5.09 , added 1086940.py as above (confirmed it's active by checking vcrun2019_ge was installed), applied AMDVLK in game launch and downloaded dotnet48 (although this is only for the launcher right?).

The game starts with a hand pointer, arrow sound and the intro screen (same as DOS2) for a second and then quits before the arrow sound is finished. I think I can prove AMDVLK is applied because if I remove if from the launcher code I get no intro at all.

I'm on openSUSE TW with AMD 570.

mozo78 commented 4 years ago

@leslielg I had to try a couple of times. Ctrl + X / Ctrl + C in the terminal and then restarting the process. Only then did it move forward. It did seem to take a long time. But maybe like 5-7 minutes... not hours.

Tried more attempts, still not installed. I'm using MX Linux KDE, it doesn't have systemd, will that be a problem? And my network is blocked by China GFW, is it OK?

You are with a very old winetricks version. The game is running great both on Mint 20 and Arch: https://youtu.be/aaUK6BlEhQs

leslielg commented 4 years ago

@mozo78 my winetricks version is: winetricks --version 20200412 - sha256sum: 7651c93e39fcb080483c38836513bf912273a87ea97d137f6b958ed3d9628c3d

alosarjos commented 4 years ago

The dotnet and winetricks are only required for the launcher, and you can bypass it by changing it by the game binary. I don't think you should spend time there if you are trying to play the game.

mozo78 commented 4 years ago

@mozo78 my winetricks version is: winetricks --version 20200412 - sha256sum: 7651c93e39fcb080483c38836513bf912273a87ea97d137f6b958ed3d9628c3d

Hmm, it's the latest version, I don't know what it could be than :(

leslielg commented 4 years ago

The dotnet and winetricks are only required for the launcher, and you can bypass it by changing it by the game binary. I don't think you should spend time there if you are trying to play the game.

could you share me how? I already spend half day on this... Actually I have done ls Launcher/LariLauncher.exe -l lrwxrwxrwx 1 leslie leslie 14 10月 8 13:28 Launcher/LariLauncher.exe -> ../bin/bg3.exe

Seems not enough for play the game

alosarjos commented 4 years ago

The dotnet and winetricks are only required for the launcher, and you can bypass it by changing it by the game binary. I don't think you should spend time there if you are trying to play the game.

could you share me how? I already spend half day on this... Actually I have done ls Launcher/LariLauncher.exe -l lrwxrwxrwx 1 leslie leslie 14 10月 8 13:28 Launcher/LariLauncher.exe -> ../bin/bg3.exe

Seems not enough for play the game

Nvidia or AMD GPU? If Nvidia get latest drivers, if AMD, are you setting up AMDVLK?

leslielg commented 4 years ago

@alosarjos nvidia, and I already installed nv 440 driver, I can play games like witcher3 and sekiro leslie@leslie-home ~/Games/SteamLibrary/steamapps/common/Baldurs Gate 3 $ apt list --installed nvidia* 正在列表... 完成 nvidia-alternative/mx,now 440.100-1~mx19+1 amd64 [已安装,自动] nvidia-detect/mx,now 440.100-1~mx19+1 amd64 [已安装] nvidia-driver-bin/mx,now 440.100-1~mx19+1 amd64 [已安装,自动] nvidia-driver-libs-i386/mx,now 440.100-1~mx19+1 i386 [已安装,自动] nvidia-driver-libs/mx,now 440.100-1~mx19+1 amd64 [已安装,自动] nvidia-driver-libs/mx,now 440.100-1~mx19+1 i386 [已安装,自动] nvidia-driver/mx,now 440.100-1~mx19+1 amd64 [已安装] nvidia-egl-common/mx,now 440.100-1~mx19+1 amd64 [已安装,自动] nvidia-egl-icd/mx,now 440.100-1~mx19+1 amd64 [已安装,自动] nvidia-egl-icd/mx,now 440.100-1~mx19+1 i386 [已安装,自动] nvidia-installer-cleanup/stable,now 20151021+9 amd64 [已安装,自动] nvidia-kernel-common/stable,now 20151021+9 amd64 [已安装,自动] nvidia-kernel-dkms/mx,now 440.100-1~mx19+1 amd64 [已安装] nvidia-kernel-support/mx,now 440.100-1~mx19+1 amd64 [已安装,自动] nvidia-legacy-check/mx,now 440.100-1~mx19+1 amd64 [已安装,自动] nvidia-modprobe/stable,now 418.56-1 amd64 [已安装,自动] nvidia-settings/mx,now 440.100-1~mx19+1 amd64 [已安装] nvidia-smi/mx,now 440.100-1~mx19+1 amd64 [已安装,自动] nvidia-support/stable,now 20151021+9 amd64 [已安装,自动] nvidia-vdpau-driver/mx,now 440.100-1~mx19+1 amd64 [已安装,自动] nvidia-vulkan-common/mx,now 440.100-1~mx19+1 amd64 [已安装,自动] nvidia-vulkan-icd/mx,now 440.100-1~mx19+1 amd64 [已安装,自动] nvidia-vulkan-icd/mx,now 440.100-1~mx19+1 i386 [已安装,自动] leslie@leslie-home ~/Games/SteamLibrary/steamapps/common/Baldurs Gate 3 $

alosarjos commented 4 years ago

@leslielg I'm not sure if the Proton version may be something, are you on the next branch? It took me lots of tries yesterday to get it working but I ended up with it working pretty nicely just doing what I commented on my last post. I used Steam Proton on next branch but maybe you can also give it a try to GEs build.

leslielg commented 4 years ago

@alosarjos thanks, will try

elg34 commented 4 years ago

I have the same issue on Arch (Kernel 5.8.13) with a 5700XT - tried 5.0.9 as well as the newest GE, then bypassed the Launcher by using the .py workaround, then switched to amdvlk, both 32 and 64bit (through launch options) but still no luck. (Also installed dotnet48 now I can use the Launcher, but of course get the same error on starting the game.) Attached the log for a GE 64bit amdvlk run: steam-1086940.log

Kernel-Panic-Gaming commented 4 years ago

Pop!_OS here using TK-Glitch 5.8 Kernel and latest Nvidia drivers. I just had to use protontricks to install dotnet48 and Vulkan client works using 5.09 Proton.

Edit.

GloriousEggRoll 5.11MF also will work but It may have some more stutters. It could be that shader cache is needing to build up though. Once I can get TKG-Proton to work I will test that out as well.

leslielg commented 4 years ago

steam-1086940.log Tried below steps, not working, attached steam log Dоwnlоаd Рrоtоn-5.9-GЕ-7-ЅТ, сrеаtе а ~/.ѕtеаm/rооt/соmраtіbіlіtуtооlѕ.d dіrесtоrу іf іt dоеѕ nоt ехіѕt, ехtrасt thе rеlеаѕе tаrbаll іntо ~/.ѕtеаm/rооt/соmраtіbіlіtуtооlѕ.d/, rеѕtаrt Ѕtеаm аnd еnаblе рrоtоn-gе-сuѕtоm. Рut thе 1086940.ру fіlе іntо Рrоtоn-5.9-GЕ-7-ЅТ/рrоtоnfіхеѕ/gаmеfіхеѕ/.

alosarjos commented 4 years ago

@leslielg Have you tried with regular Steam Proton on next branch?

leslielg commented 4 years ago

@leslielg Have you tried with regular Steam Proton on next branch?

Not yet, seems it need to build manually, do you have something like nightly build of it?

alosarjos commented 4 years ago

@leslielg You only need to go to Proton properties on Steam (Inside your library it should appear as another game) go to betas tab and select the next branch

ArcanePhysics commented 4 years ago

@leslielg Have you tried with regular Steam Proton on next branch?

Hey, that did it for me. Regular proton, replace LariLauncher.exe with bg3.exe, AMDVLK.

Game Launched.

Thank you!

leslielg commented 4 years ago

@alosarjos just tried next branch, with LariLauncher.exe replaced to bg3.exe, after click play, it shows a blackscreen, then returned back to steam and game exit. steam-1086940.log

alosarjos commented 4 years ago

@alosarjos just tried next branch, with LariLauncher.exe replaced to bg3.exe, after click play, it shows a blackscreen, then returned back to steam and game exit. steam-1086940.log

Did you replace it by copying or with a symlink? Also try with the dx11 version just in case