I use Attractmode as a frontend on each cab, mostly because these driving cabs grew out of the GroovyMAME stuff i was tinkering with and i had no idea there were more powerful frontends out there. I reckon i've been through most of the challenges you mention, added to which i use PVM-2730's as the monitors for my side-by-side cabs. So i run everything at 15kHz 4:3 just for fun
TBH i doubt there's a frontend that could do anything as complex as i find I need it to. Tthere's always something i want to add, or want a game to do, and profilers or injectors or redraw programs often fail to find games running under Teknoparrot's umbrella - they find some TP process instead, not the game exe, if there even is one. To get around that I'm using batch files and Autohotkey (AHK), along with a combination of Joytokey, RTSS, specialK, DxWnd, DisplayChanger2 and a few other programs, depending on what i need to do to get a game to work. Each setup of mine uses a G25 wheel, along with at least two other joysticks. I also use AHK to swap out eeprom files to switch between single-player and LAN for some games that need it - because TP always uses the same user/appdata/roaming/teknoparrot folder for eeproms, no matter where it launches from.
I'll normally make sure to get games running first, then get them to LAN, then work on how to config them to launch from the frontend and close to the frontend cleanly - the last often being more complicated than it sounds. Running different programs as admin (or even not as admin) can make a big difference to permissions, which can affect the way things work. In one case, to change IP addresses on the fly, i need to launch a batfile that launches a shortcut to an exe, that itself launches more batfiles. Extensive testing of other methods failed to work.
I'll start with an example that covers a few tricks - ID5 on Teknoparrot. Attactmode launches a shortcut that points to a compiled AHK exe called ID5.exe, which looks like this:
process, close, attract.exe
Run "C:\games\TeknoParrotUi_1.0.0.528\ID5.bat"
sleep 500
run "C:\Program Files\Logitech\Gaming Software\LWEMon.exe"
winwaitactive, ahk_class FREEGLUT
WinGet, WindowID, ID, A
WinSet, Style, -0xC40000, ahk_id %WindowID%
WinMove, ahk_id %WindowID%, , 0, 0
~q::
send, esc
process, close, ahk_class FREEGLUT
process, close, teknobudgie
process, close, budgieloader.exe
process, close, LWEMon.exe
sleep 500
Run "C:\games\TeknoParrotUi_1.0.0.528\ID5-close.bat"
sleep 500
run "C:\Program Files\Logitech\Gaming Software\LWEMon.exe"
sleep 1000
process, close, LWEMon.exe
Run "C:\games\TeknoParrotUi_1.0.0.528\Attractmode.lnk"
exitapp
return
In addition to the above, joytokey is used to bind one of the shifter buttons to "q", of course, which is the hotkey bind that starts to close everything and resets to the frontend cleanly. The game runs windowed (to remove v-sync from the 50Hz video modes i use) and the Winget/set/move commands push it to borderless fullscreen.
The referenced batfile ID5.bat looks like this: (UCR is a joystick remapper I no longer use.)
@echo off
rem cd\
rem cd C:\utils\UCR
rem Start C:\utils\UCR\UCR-ID5
reg add "HKCU\Software\Logitech\Gaming Software\GlobalDeviceSettings\G25" /f /v OperatingRange /t REG_DWORD /d 0x0000384
cd\
cd C:\utils
start C:\utils\dc2.exe -configure="C:\utils\1024x576.xml"
cd\
cd C:\games\TeknoParrotUi_1.0.0.528
start C:\games\TeknoParrotUi_1.0.0.528\TeknoParrotUi.exe --profile=ID5.xml
And the batfile ID5-close.bat look like this:
@echo off
rem cd\
rem cd C:\utils\UCR
rem Start C:\utils\UCR\UCR-Default
reg add "HKCU\Software\Logitech\Gaming Software\GlobalDeviceSettings\G25" /f /v OperatingRange /t REG_DWORD /d 0x0000010e
cd\
cd C:\utils
start C:\utils\dc2.exe -configure="C:\utils\800x600.xml"
I have no idea if newer Logitech wheels are this clunky to remap on the fly, but... the reg edit is to change the degrees of freedom on the G25, as the software doesn't work properly with game profiles for things like TP. At best it will identify the TP shell exe, which means you can't change settings per-game. After changing the degrees in the registry, you can either open the Windows joy.cpl file or whatever it's called (or open the controlpanel > devices & printers > G25 > properties) which never worked for me, or i can launch the LWEmon software (The old logitech profiler for the G25). Letting it load for a second activates the regword change, then it can be closed (i think i leave it open during gameplay, here). Then the reverse to set it back to 270 (10e in hex) at the end. It's also possible, at least on the G25, to hold a few buttons down and move to a few preset angles, but they're all a bit off what you actually want, IMO.
I could no doubt move some commands between the batfiles and the ID5 ahk exe, and change the delay times, but i find that with running all the different games and emulators, nothing gets much simpler
If you do go this route, i'm happy to share config files for anything i have working. But if Launchbox does everything you need, i'd just use that.