Proton
Proton copied to clipboard
Beyond Good and Evil (15130)
Compatibility Report
- Game: Beyond Good & Evil
- AppID: 15130
System Information
- GPU: GTX 1060 (6gb)
- Driver/LLVM version: Nvidia 396.54
- Kernel version: 4.15.0-33
- My System Info
- Proton version: 3.7-6
I confirm:
- [X] that I haven't found an existing compatibility report for this game.
- [X] that I have checked whether there are updates for my system available.
Symptoms
Technically this game runs identically with Proton in Linux as it does in Windows. Unfortunately this game infamously runs like shit in Windows. There are a number of issues that are persistent across operating systems, but the fixes require a little bit more work with Proton.
The first time you launch the game you will be greeted with the settings launcher window. You need to set the graphics and details to low, check manual compatibility and disable hw vertex processing, fastflip and triple-buffering. Despite the age of the game, you will get constant slowdowns and graphical glitches if you don't set everything down low. I've yet to find a way to get the settings to appear again (besides uninstalling and reinstalling the game) so set them the first time. The settings launcher is a separate exe and I can't get it to launch again.
When you start a new game, the first noise you hear will get stuck in a 2 second loop for roughly 5 minutes, playing over the rest of the audio. The lines of dialogue spoken by the characters during combat will be repeated until you finish combat and many lines outside of combat will be repeated until you leave the area. Other sounds will also get stuck in a loop very often during the course of the game.
The only fix that worked for me was to install wine and winetricks through the terminal
sudo apt install wine-stable winetricks
Then you need to get a dsound.dll file from Windows 7 or up (the one shared on the wine page was this one: http://www.down-dll.com/index.php?file-download=dsound.dll&arch=32Bit&version=6.2.9200.16384&dsc=DirectSound ) and replace the one in this games wine bottle (located at <Your Steam Library>/steamapps/compatdata/15130/pfx/drive_c/windows/system32 and " "/syswow64). Then edit the winecfg of the bottle from the terminal:
WINEPREFIX="/home/<user>/<Steam Library>/steamapps/compatdata/15130/pfx" winecfg
and set wine to win7 and add dsound as a native library.
That stops the sound loop, but the audio will be badly out of sync and very choppy. Apparently this is because the game doesn't like it when your CPU slows down so you must force it to run at max performance all the time (when running the game) by opening up a terminal, logging into root (it can't be done with sudo) and setting the scaling governor on all threads of your cpu to "performance" instead of "powersaving"
su root
echo "performance" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
I've yet to find a simple way to set core affinity in Ubuntu (like in Windows task manager). So if there is one, that last step could be simplified quite significantly.
I've yet to find a simple way to set core affinity in Ubuntu (like in Windows task manager). So if there is one, that last step could be simplified quite significantly.
Setting affinity is not exactly the same thing as disabling CPU governor, but maybe it will work in this case. On any Linux, you can change process affinity (without root access) using taskset
(it's in package util-linux
, if it's not installed by default).
Examples:
$ taskset -c 0 <command>
will restrict the new process to run only on the first processor.
$ taskset -c -p 0 <pid>
will change the affinity of an already running process.
More detailed explanation in $ man 1 taskset
.
Compatibility Report
- Name of the game with compatibility issues: Beyond Good & Evil
- Steam AppID of the game: https://steamdb.info/app/15130/
System Information
- GPU: GTX 760
- Driver/LLVM version: NVIDIA 440.44
- Kernel version: 5.4.15
- https://gist.github.com/shoober420/1215c40214cf70e1fabb760b5bd2a341
- Proton version: 4.11-12
SettingsApplication.exe LOG: steam-15130.log
BGE.exe LOG: steam-15130.log
Wine backtrace for SettingsApplication.exe: BGEbacktrace.txt
Symptoms
Game launches, but resolution is way too low. When attempting to run the "SettingsApplication.exe" program to adjust the resolution, there is a crash about EAX.
Regarding the EAX not installed, I found that one solution is to run manually the commands and reg rules defined in the installscript.vdf
I also found this key: HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Ubisoft\\Beyond Good & Evil"
in the wrong path at HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Wow6432Node\\Ubisoft\\Beyond Good & Evil"
Ye their install script has this HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Ubisoft\\Beyond Good & Evil
which in proton seems to end up as HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Wow6432Node\\Ubisoft\\Beyond Good & Evil
So you have to remove the extra \\Wow6432Node
from system.reg
in the games compatdata for the settings app to be able to start.
When launching the "Game Settings" with Proton 7.1 a error message pops up:
The DirectX 9 currently installed is older than 9.0b. Install 9.0b version or greater.
On experimental the error message changes:
Beyond Good & Evil is not properly installed. Please install Beyond Good & Evil.
The game itself runs, but the resolution is too low.
Ye their install script has this
HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Ubisoft\\Beyond Good & Evil
which in proton seems to end up asHKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Wow6432Node\\Ubisoft\\Beyond Good & Evil
So you have to remove the extra\\Wow6432Node
fromsystem.reg
in the games compatdata for the settings app to be able to start.
Works great with the Steam Deck. Once the Settings are opened, you can set the higher resolution tier of 1280x800 instead of the default 800x600 and to change the language to English (defaults to French for whatever reason).
The file that has to be changed on the Steam Deck is in:
/home/deck/.steam/steamapps/compatdata/15130/pfx/system.reg
@friedc , try to change the resolution after you fix the path there.
Ye their install script has this
HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Ubisoft\\Beyond Good & Evil
which in proton seems to end up asHKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Wow6432Node\\Ubisoft\\Beyond Good & Evil
So you have to remove the extra\\Wow6432Node
fromsystem.reg
in the games compatdata for the settings app to be able to start.
Hey, so I am having trouble understand where exactly is the system.reg
, because I am trying to work on this issue but I am very bad with computers. I just want to be able to play the game and the settings isn't launching. Can you explain it with more steps, please? Thank you very much.
@KashiMaadsen , you are looking for .../steamapps/compatdata/15130/pfx/
Depending on your system setup, compatdata
could have different location. 15130
is the game id here.
On my Manjaro system it is:
~/.local/share/Steam/steamapps/compatdata/15130/pfx/system.reg
I've pointed where you can find it on the Steam Deck setup:
/home/deck/.steam/steamapps/compatdata/15130/pfx/system.reg
An easy method to find it:
~ find . -type d -wholename "*/steamapps/compatdata/15130/pfx"
./.local/share/Steam/steamapps/compatdata/15130/pfx
find: ‘./.local/share/containers/storage/overlay/9f32931c9d28f10104a8eb1330954ba90e76d92b02c5256521ba864feec14009/diff/var/cache/apt/archives/partial’: Permission denied
....
Ignore the permission denied dirs and focus only on the successful search result.
A extra note if you aren't playing on a system with a built in frame limiter (like the steam deck) the game can have graphical issues when the fps goes above 60. A built in config haven't been added yet since the game can be a bit weird so needed more testing. But you can insert this into the games launch options in steam to limit it.
DXVK_FRAME_RATE=60 %command%
Ultimately, maybe I did something wrong, but it did not work for me. I am just going to ask for my money back on STEAM and will try playing the game on ubisoft's machine instead. Thanks a lot for the help !
Yes would be nice if steam/proton could handle such a case in the install script and just not include anything that would include a duplicate in the registry path. Is an annoyance people shouldn't have to deal with
Edit: apparently this is a game / steam issue as it also happens on windows. Did not know that earlier.
Ye their install script has this
HKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Ubisoft\\Beyond Good & Evil
which in proton seems to end up asHKEY_LOCAL_MACHINE\\SOFTWARE\\Wow6432Node\\Wow6432Node\\Ubisoft\\Beyond Good & Evil
So you have to remove the extra\\Wow6432Node
fromsystem.reg
in the games compatdata for the settings app to be able to start.
I can confirm that with this the "Game Settings" launch in Proton 7.0-4RC. Here is the change that I applied to sytem.reg in patch format:
diff --git a/system.reg.old b/system.reg
index fe32b2a..da56743 100644
--- a/system.reg.old
+++ b/system.reg
@@ -77311,7 +77311,7 @@ WINE REGISTRY Version 2
74,00,77,00,61,00,72,00,65,00,5c,00,57,00,69,00,6e,00,65,00,5c,00,50,00,6f,\
00,72,00,74,00,73,00
-[Software\\Wow6432Node\\Wow6432Node\\Ubisoft\\Beyond Good & Evil] 1660340790
+[Software\\Wow6432Node\\Ubisoft\\Beyond Good & Evil] 1660340790
#time=1d8ae94fbc72a9a
"Install Path"="Z:\\media\\gamedisk\\steamlibrary\\steamapps\\common\\Beyond Good and Evil"
"InstallLanguage"=dword:00000001
After this change I could set the resolution to 3840x2160 and the refresh rate to 60 Hz. I also set the rest of the graphics settings to their maximum. However I noticed that there were serious glitches when enabling antialiasing. The glitches are well described by this comment. I think that the glitches are still there without antialiasing but they happen very sporadically. (I just played the first five minutes of the game a few times)
@friedc Have you tried setting DXVK_FRAME_RATE=60 %command%
and seeing if the issue goes away?
@friedc Have you tried setting
DXVK_FRAME_RATE=60 %command%
and seeing if the issue goes away?
Unfortunately that doesn't help. With antialiasing enabled I still get a lot of glitches.
From what I can observe, graphical artifacts (as in green/purple blobs or pixelation around models) won't be affected by setting DXVK_FRAME_RATE
.
The audio sync and gameplay speed however will work as expected with DXVK_FRAME_RATE
especially when using a Wayland session with higher refreshrate monitor.
It affects some types of artifacts, like with the UI bugging out. At least what i've observed in a few places.
Could you guys try another thing along with the frame limit?
Make a file called dxvk.conf
next to the exe and insert d3d9.allowDiscard = False
Hmm.. I need to find a good spot to observe the graphical glitches in the first place. Not sure I can observe them on my systems (RX6800 && Steam Deck) within the first 5 minutes of gameplay.
Alright, mystery solved for my systems, @Blisto91 , @friedc
Proton 7.0-3
Using Proton 7.0-3
produces the graphical artifacts as can be seen here:
Screenshots with artifacts with `7.0-3`
The artifacts are far more observable than the screenshot of the gameplay would indicate.
Proton Experimental
Using Proton Experimental doesn't produce the same graphical artifacts:
Screenshots without artifacts with Proton Experimental
Other
As an interesting note, using Lutris wine version lutris-7.2-2-x86_64
:
- Regardless if you use antialising, a few artifacts boxes can be seen in some areas or cutscenes like this one (not present with Proton Experimental):
Screenshot from lutris-7.2-2-x86_64 artifact with low/no antialising
The rest is fine (no green/ purple artifacts)
- If using full antialising with
lutris-7.2-2-x86_64
then the artifacts are almost identical to the observed ones with Proton7.0-3
System Information
- GPU: AMD ATI Radeon RX 6800
- Driver/LLVM version: mesa 22.1.6-1
- Kernel version: 5.19.1-2-MANJARO
Which dxvk version do you use with lutris? A built in conf option was added to dxvk and included in the 1.10.2 release and it brought back some missing effects in the game. Dunno if it touched other stuff like the bugs seen above. I kinda forgot those changes weren't included in stable proton yet. My bad.
Hmm, give me a few minutes to verify.
From what I can see on the Steam Deck, I'm using 1.10.1
with the Lutris install
@Blisto91 , no change with lutris-7.2-2-x86_64
between dxvk versions:
-
v1.10.3
-
v1.10.1
I think sacrificing antialising is good compromise there :smile:
And I have to make sure it's clear for the other people reading - Proton Experimental doesn't even exhibit those sparse artifacts seen with Lutris with no antialising.
Not good that it happens at all 😓 But since it works on experimental it might be fixed on dxvk master 🤔. I will check it out. Thanks slot for the testing! 🙂
It affects some types of artifacts, like with the UI bugging out. At least what i've observed in a few places.
Could you guys try another thing along with the frame limit? Make a file called
dxvk.conf
next to the exe and insertd3d9.allowDiscard = False
It seems that this fixed the glitches with antialiasing enabled .I am using Proton 7.0-4RC
on a RX 480 aka Polaris 10.
On my system with Proton 7.0-3
the dxvk.conf
trick doesn't work.
7.0-3
is using v1.10.1-57-g279b4b7e
: https://github.com/ValveSoftware/Proton/releases/tag/proton-7.0-3
7.0-4RC
is using dxvk 1.10.3
: https://github.com/ValveSoftware/Proton/issues/6062#issue-1330151092
Looks like dxvk 1.10.2
has BGE reference? :thinking: https://github.com/doitsujin/dxvk/releases/tag/v1.10.2
No idea which dxvk version is being used by Proton Experimental. I'm not sure how to try the same dxvk.conf trick with Lutris though :smile:
@psstoyanov Experimental uses a version of master dxvk. It has a ton of changes. A dxvk dev pointed out to me that your colored artifacts issue looks like feedback loop. It's a issue that mostly presents itself on newer gpu's like RDNA and RDNA2, which might be why i haven't seen the same on my R9 380. There's a new vulkan extension coming in mesa 22.2* (i don't think it's in 21.3.6) and master dxvk has work to enable this, this should fix those issues. Other stuff on master might also affect it since alooot of changes have been made so it might be not be an issue there even if the extension isn't used.
But i think we can conclude some things here
d3d9.allowDoNotWait = False
is needed to fix some missing effects in the game. Light shafts and the like. This is the change included in dxvk 1.10.2 which proton 7.0-4RC and experimental includes.
d3d9.allowDiscard = False
to fix some other graphical artifacts. Blinking lights and weird depth issues in some scenes.
And a framerate cap to 60 to fix audio sync issues and also some graphical bugs.
I will look into making a dxvk pr to include the latter two things. The conf version of the frame limiter doesn't work the same as the env var and won't come into effect depending on stuff like game vsync, compositors, high refresh rate display + fshack etc. To work around this until the config frame limiter becomes smarter (the dxvk devs want to look into this at some point) we also have to disable the games vsync through another config option. Hopefully this should be acceptable.
Thanks for the detailed information, @Blisto91 !
Both of my systems are using mesa 22.0+ with RDNA2 GPU. While I can't check with dxvk master on Lutris at the moment, the explanation from the dxvk dev matches my experience exactly. I guess it's a waiting game for those changes from dxvk master to trickle down to Lutris && Proton Experimental :slightly_smiling_face:
Sorry i mean mesa 22.2 😁
I don't know if that particular mesa version is of then :smile: Whatever dxvk master has added, it resolves the antialising with Proton Experimental on both:
On the Ryzen tower with Manjaro: mesa 22.1.6-1
On the Steam Deck: mesa 22.0.2 (git-71648faf15)
I will try to see if I can get dxvk master with Lutris just in case
You can grab a build of latest master, as of this moment, here https://github.com/doitsujin/dxvk/actions/runs/2856568114
You can then make a folder in ~/.local/share/lutris/runtime/dxvk/
, called e.g. master or similar, and extract the dxvk contents in there (x32 & x64 folders and the setup script). Then in lutris under dxvk version you can select manual and just write the folders name to use that.
Oh, sweet! That was a lot simpler than I was initially thinking.
dxvk master + Lutris doesn't have the artifacts on my Ryzen tower. Will check with the Deck and write down the versions in about 2 hours