ScummVM lag with joystick control
-
I'm also having this lagging problem with joystick output. I'm guessing mapping the Xbox driver to act as a mouse would interfere with all the other emulators installed on RetroPie, as clever a get around as it is?
There's an additional problem I'm having with Zork: Grand Inquisitor, in that I'd like to be able to access it via a joypad type controller (Xbox 360/PS3 standard) - but I can't exit the game. Some Scumm games allow you to pull up a ScummVM menu (e.g. Monkey Island - using the RB button). This allows you to quit the game. Zork doesn't have this.
Is this more something to post on the ScummVM forums I suppose?
Would be great to see a virtual keyboard be introduced to this too.
-
@OneSwitch said in ScummVM lag with joystick control:
I'm guessing mapping the Xbox driver to act as a mouse would interfere with all the other emulators
Using a modifier button as seen in the above example is one way around that. However, that means that you constantly need to be pressing a button to use the mouse. I mainly use that configuration for Amiga, Macintosh and DOS games, as they only need the occasional mouse input. Anyone aiming to use a single set of gamepad controls throughout all the emulators included with RetroPie will never find a perfect all-in-one solution. I've settled on a series of scripts that I launch from the Emulation Station menu that reconfigure my controller to whatever scenario I need. When I want to play ScummVM games, I select and launch a script that maps mouse movements to the left thumbstick as it's primary action. When I'm done, I simply launch my main configuration for general use.
There is also a way to have a controller configuration of this kind automatically launch and exit alongside the chosen emulator. To do that, you would map your controller in the same way that is shown in the steam link above, adding only a path to the desired emulator as the last argument to xboxdrv. The description below details how to accomplish this automatic mapping in a shell script. However, the same command would rather be added to an emulator's launch command in RetroPie in order to launch and exit the mapping when a game is selected for play. After that's configured once, the end user would never know anything was happening other than the desired control scheme would "just work" and the original control scheme would return when the emulator exits, making it a completely transparent solution.
From: http://pingus.seul.org/~grumbel/xboxdrv/xboxdrv.html
When you want full game specific configurability and automatic launching of xboxdrv, it is easiest to write little startup scripts for your games that will launch xboxdrv, launch your game and then when the game is finished tear down xboxdrv:
#!/bin/sh exec xboxdrv \ --trigger-as-button -s \ -- \ your_favorite_game # EOF #
Here your_favorite_game is the executable of your game and is passed to xboxdrv as last argument. This will cause xboxdrv to start the game and keep running as long as the game is running, when the game is done, xboxdrv will quit automatically.
If you want to pass parameters to the game you have to add a -- separator, as otherwise your options to the game would be eaten up by xboxdrv.
-
Thanks for all this. I like the idea of a script kicking in to make ScummVM smooth and accessible via a joypad controller (with a few additional key-commands available too), then releasing control upon exit. I'll give this a go ASAP. Thank you. This might especially be useful as Zork Grand Inquisitor has no joypad method to exit the game.
-
@OneSwitch said in ScummVM lag with joystick control:
with a few additional key-commands available too
Yeah, I forgot to mention that my ScummVM mapping also includes left and right mouse clicks as buttons 'A' and 'B', along with 'F5' being mapped to the start button to bring up the options menu. It's a very comfortable setup and makes playing these games from a controller feel much more natural.
This might especially be useful as Zork Grand Inquisitor has no joypad method to exit the game.
That's a great idea and should work well.
-
Has anyone figured out just a quick fix for this? On my Pi 2 everything ran perfect with ScummVM, but now with a Pi 3 and 4.0, the 360 controller lags horribly for this, and makes point and click games (with the controller) unbearable! I don't want to go about mapping things, as I'm making this for my younger brother and I don't want him to have to worry about fixing it or changing it if he wants to play other games and no mouse/keyboard either would be nice, just wireless 360 controllers.
-
@Dominus said in ScummVM lag with joystick control:
Has anyone figured out just a quick fix for this? On my Pi 2 everything ran perfect with ScummVM, but now with a Pi 3 and 4.0, the 360 controller lags horribly for this, and makes point and click games (with the controller) unbearable! I don't want to go about mapping things, as I'm making this for my younger brother and I don't want him to have to worry about fixing it or changing it if he wants to play other games and no mouse/keyboard either would be nice, just wireless 360 controllers.
I haven't found an simple solution for this. You said you don't want to use mapping, but I followed the tutorial from @mediamogul and had it working in a bit more than an hour. ScummVm now works perfectly without "fixing and changing" anything. No conflicts with other emulators too.
Here's the link th the thread:
https://retropie.org.uk/forum/topic/2861/guide-advanced-controller-mappings -
Has anyone tried to just put the old ScummVM onto Pi? Is that even possible? I just don't understand how it can work great with the previous version, now it lags horribly and is unplayable?
-
@Dominus I copied a ScummVM binary, version 1.7.0, from a previous RetroPie build to replace the latest one, version 1.8.1. I'm using a PS3 controller and version 1.7.0 works fine.
In building version 1.7.0, I had edited the code to remap the buttons for the Dualshock so using the old binary just seems the easiest solution for now.
-
@dudleydes I use a 360 wireless controller so I should just be able to copy the binary from a previous install, install it and be good?
-
@Dominus Yes, you should be. I copied the binary using the
sudo cp
command. There was no installation as such.I did have an issues with the GUI themes. The Modern (orange and yellow) theme wasn't working, just the Classic (green and black) one. This is easy to fix if you run into the same issue.
Download the Modern theme, scummmodern.zip, from the ScummVM github page. Note that this is for version 1.7.0. If you are using a different version, then make sure you choose the appropriate branch.
Transfer the zip file to your pi. Launch ScummVM from ES and select Options. In the Paths tab, you can choose the Theme Path (the location of scummmodern.zip) and in the Misc tab, you can choose your theme by pressing the Theme button.
-
So I should just be able to copy
/opt/retropie/emulators/scummvm/bin/scummvm
from an old install and replace it on my current one? -
@dudleydes Hmm I tried my above method but it didn't work. Where do I find the binary? or is there more files to copy over?
-
@Dominus Strange. I copied the ScummVM binary from the location you mentioned on a previous build to the home directory on the latest build. Then I ran the following command to copy the binary to the correct location:
sudo cp scummvm /opt/retropie/emulators/scummvm/bin/scummvm
That was it. I ran the +Start ScummVM script and version 1.7.0 launched without issue except for the classic GUI theme being used as outlined above.
-
@herb_fargus Has this been fixed with the 4.1 release? How do I just copy an older version of ScummVM over to a new version of RetroPie?
-
Any help with this yet? :-(
-
I have the same problem. Any news on this?
-
What I did was took all the scummvm folders I could find in an older version. (I think it was the 3.7 image?) Just WinSCP over and copy all of the
/opt/retropie/emulators/scummvm
files. Save to your desktop and then load up your newest image and replace the files. Pretty sure this will work. I thought there might have been another folder to copy, but I don't think that one mattered. Let me know if it works for you. I just made a new image, so when I have time I'll have to do it again anyway. -
@Dominus Tested with the one in Retropie v3.7 => ScummVM 1.8.1pre
Same issue.
Now i will try with an older version... -
OK, with SCUMMVM 1.7.0 works. Can be taken from Retropie v3.6.
-
@darkav Ok good to know! Maybe eventually they'll just scrap the updated Scumm and go back to the older version? or just fix the problem in future versions.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.