At any time are you using a more modern Wine to modify the Proton prefix? That can cause the prefix to become in an unstable state, which will cause iscriptevaluator to spin forever.
At any time are you using a more modern Wine to modify the Proton prefix? That can cause the prefix to become in an unstable state, which will cause iscriptevaluator to spin forever.
Yes, most likely at least in the case of they are billions, on dark souls the system installed version of wine is more recent but I only used winecfg, if you think that would be enough though... I suppose I can try reinstalling it and modifying it with the same version of wine I used for ds on my desktop. (The difference is that on my desktop in dark souls' case I was still using just the current stable version of wine; but since then I switched to wine-staging for both systems).
I don't know what you mean about unstable prefix though, everything seems to be working fine as far as the games are concerned. Are there any safer ways to do such modifications? Or perhaps a way to trick iscriptevaluator to think everything is normal?
Are there any safer ways to do such modifications?
Yes, use protontricks - it's just like winetricks, but runs wine bundled in Proton and sets up all relevant env variables correctly.
Yes, but that is not a substitute for winecfg. Unless you mean to say that I should launch winecfg through protontricks?
Yes, but that is not a substitute for winecfg. Unless you mean to say that I should launch winecfg through protontricks?
dreamer is correct in part, prototricks isn't a replacement for winetricks, it's actually a wrapper for winetricks that takes over setting up the env variables so you don't have to, it uses the Proton copy of Wine & not the standard Wine which is where your problem came from.
with Protontricks you just have to type "protontricks (game number) winecfg" in terminal to get what you want.
(slightly off topic) I tried to use protontricks to make a fresh install of they are billions run, but not only did it fail to install dotnet4.6.1 or newer, it also failed to install vcrun (any version of it) which winetricks will easily do. It also could not install wmp9 or 10 due to 64 bit prefix. I also tried a bunch of tricks like say setting the prefix to windows xp instead of windows 7, but it didn't have a positive effect. Clearly protontricks needs some work and will not always be able to solve problems that winetricks can. Sometimes a more recent wine prefix may even be needed to solve certain issues. I eventually did manage to solve this issue with they are billions though.
Back on topic though, I think it's clear that yes there are ways to avoid getting this issue with iscriptevaluator, but this is still an issue that needs solving, either there needs to be an official method for modifying proton prefixes that prevents this from happening (more than just protontricks, I mean the ability to potentially create a completely new prefix, for example you may want to switch to a 32-bit arch prefix) or iscriptevaluator needs to have a timeout function so it doesn't hang and mess things up for users who fail to notice it in the first place. (I only noticed it because I have a conky that shows me processes that use a lot of CPU; most users won't have that nor even the know-how to guess their way into figuring it out)
dotnet3+ has to be run twice to get it to install, the second time choose repair from the menu that appears & it's done, BUT & this is the important part, DO NOT use the ones listed in winetricks, download the full installers from microsoft instead, they will work.
I tried that method several times and it didn't work for the proton prefix. I did however as I said if you had kept reading, get it working with just protontricks. It's apparently able to install up to 4.6, but cannot install 4.6.1 or later. It did it, and it did it on a prefix configured for windows 7 too.
Back on topic though, I think it's clear that yes there are ways to avoid getting this issue with iscriptevaluator, but this is still an issue that needs solving, either there needs to be an official method for modifying proton prefixes that prevents this from happening
You can use the PROTON_DUMP_DEBUG_COMMANDS variable to dump some scripts that you can use to run winecfg or other arbitrary programs. As mentioned, protontricks runs the correct version of Wine, too, which won't corrupt your prefix like this. Running some other Wine against Proton prefixes is not going to be supported.
So a command like this would work without breaking anything?
WINEPREFIX=.../2990 PROTON_DUMP_DEBUG_COMMANDS winetricks
PROTON_DUMP_DEBUG_COMMANDSx2 2018-10WINEPREFIX=.../2990x1 2018-10
Sometimes iscriptevaluator.exe seems to hang for certain games after I press play, I have no idea really what this executable does, but if I end the process the games will run just fine afterwards. The simplest solution I think would be to set a timeout for this application so that if it keeps running for more than 5 seconds it terminates itself...
I've had this issue with two games, first dark souls on my laptop, a mostly clean install, post-installation I used winetricks to add dinput8 support (for dsfix) should probably be enabled by default for most games I think.
The second time I had it with they are billions on my desktop, this time I couldn't get the game working with proton directly, so I installed it via Lutris which somehow managed to make it work (the issue was that I could not get dotnet framework 4.6 or 4.7 to install in proton for the record). So I copied the wine prefix created by lutris and overrode the proton prefix with it. The game works now with proton as well, however I get the iscriptevaluator.exe issue there.
The issue might be related to the fact that I made some modifications to the proton prefix for both games, however coincidentally I made the exact same changes to dark souls's prefix on my desktop as I did on my laptop, but am not having this issue there.
The only workaround in the meantime is manually killing the process after launching the game in question.