Is there a way to run several processes simultaneously in the same prefix?
Specifically I’m trying to run windows game and CheatEngine with cheat table for this game. For this to work CheatEngine needs to access games memory, so they have to run on the same prefix at the same time.
I can make this work using Steam Tinker Launch (fork custom command), it would be nice to run CheatEngine from Lutris. Or be able run the game using Steam Tinker Launch from Lutris.
Right now what happens - if I start a game via Lutris, I can try to run another app using “Run EXE inside Wine prefix” option, but it only starts after I quit the game, and vice versa.
My google-fu has failed me when trying to find a solution.
Weird, “Run EXE inside Wine prefix” should work concurrently with anything running via the “Play” button. I suppose you could try writing a batch script to automate what you want to achieve, and launch the game via the script?
Personally, I’ve been utilising SUWSF (Somewhat Universal Widescreen Fix) as an in-memory editor, which is hooked via Ultimate ASI Loader. SUWSF won’t have the vast feature-set of CheatEngine, but does support variables for current resolution/aspect ratio, as well as the TinyExpr library for one-liner mathematical expressions (for example, I’ve combined aspect ratio variables and atan to calculate widescreen hor+ FOV values).
This is quite an interesting issue. I’ve tried it myself and once a “secondary tool” is running starting the game will have it wait until the first process is terminated. If I then press the same button again to terminate the game it instead terminates the Cheat Engine and the game suddenly proceeds booting up. The Lutris front-end however doesn’t seem to be aware of this anymore.
Given wine itself doesn’t prevent you from running an arbitrary amount of programs inside the same prefix simultaneously I’d assume this problem to be located in Lutris’ wine handler, more specifically lutris/runners/wine.py or lutris/runners/commands/wine.py. Both the button for running .exe files as well as starting the game is calling the _run_executable() function which then calls wineexec().
I’m not versed in the ways Lutris handles things, however from what I can see it doesn’t look as if it’s meant to handle multiple processes being started simultaneously.
Definitely something worth a github issue. In the meantime you could try running Cheat Engine through another Terminal, just make sure to use exactly the same launcher for the prefix. Or you look into Game Conqueror / scanmem or wine’s native gdb feature.
Thank you for suggestions, I’ll try a batch approach. I’ts good to know I’m not imagining things. Somehow vaguely remember, running another exe used to work fine before, so this must have been a regression somewhere down the line.
By the way, how do I figure exact runner and prefix being used, to be able to run manually?
Right now I kind of circumvented the whole thing by using steam “deck mode” as a launcher, and using decky plugin “CheatDeck”.
Another question - how do I fill a bug report for recent Lutris, and to be fair getting bleeding edge Lutris to try if problem is still there?
I’m on Nobara Linux.
Update: I’m not sure why all this is happening, I saw in proton launcher for Lutris there’s an environment variable “PROTON_VERB” which is set to something like “waitforexitandrun”, if this variable is set to “run” when starting CheatEngine, I get the window to appear, but it doesn’t work as supposed.
I went another way - modified protonhax script to be able to work with Lutris, it’s not thoroughly tested yet, but seems to start Cheat Engine properly for me. I’ll need to fork it on GitHub, I have to set that up yet.
Where did you find the PROTON_VERB variable? Would be nice to see it myself.
If you figure out how to make Lutris launch a game with Cheat Engine, I am interested.
If you figure out how to make a bug report to Lutris, I am also interested. Maybe it helps when more then one person experiences the same problem.
I have not used proton hax before, but could try to understand how it works as well, but, having Lutris to handle this natively would be lovely.
Hi, just a quick reply, I have forked protonhax, announcement here: Announcing "protonhax" tool fork for use with Lutris
Hope you can sort out how to use it. I’ve not tested it with flatpak version of Lutris. Otherwise seems to work, but I am just one person who tested it, ymmv.
Will update a bit later, busy right now.
Ah, and PROTON_VERB was an environment variable, I saw it being used inside lutris launch scripts internally (written in Python), I forgot where exactly.
How I did it in the past, and still do and it works last time I tried, is just make a seperate entry.
I played a lot of untranslated visual novels with textractor and one with LunaTranslator. Just have you game entry, have your tool(cheat engine I guess) in a diferent entry, in cheat engine’s configuration tab set the prefix into the game’s prefix and as long as both use the same proton version you can launch both at the same time and they can interact with each other.
But ofc if you want to use cheat engine with anoter game you’ll need to change it’s prefix and proton version to match with the other game.