Someone has already made a nice wrapper that installs Emulation Station on the Steam Deck called EmuDeck. This provides a very nice interface for emulating older game systems. It is highly reliant on the RetroArch system, but takes a lot of the pain out of setting it up. One thing that is missing from RetroArch, and from the EmuDeck install is the engine to play laser disc games like Dragon’s Lair. On the user guide page for Emulation Station, there is a section that tells you how to get the games working, but I thought I would write up a quick summary to make it as simple as possible.
At this point, I assume you already have EmuDeck configured and in a working state, already have ssh set up on the Deck, and know how to copy files to it.
Follow those instructions to install the Hypseus Singe package. When you are logged in as the “deck
” user do the following:
cd ~
mkdir -p Applications
cd Applications
tar zxvf ~/Downloads/hypseus-singe_2.8.2a_ES-DE.tar.gz
For the tar command, substitute the correct path and name to the file you downloaded.
Now you will need the Daphne files. Download them and extract the zip file.
Inside the zip file you download, you’ll find a lot of files inside the “Daphne
” folder. The ones you need to extract are the folders “Daphne/roms
“, “Daphne/vidp
“, and “Daphne/vidp_dl
“, and everything below. You will not need anything else in the Daphne folder.
I installed it to an SD card (properly formatted by the Steam Deck), so everything will be installed in:
/run/media/mmcblk0p1/Emulation/roms/daphne/
First, copy the folders out of “Daphne/vidp
“, and “Daphne/vidp_dl
” and put them in the above folder. Rename each one to have the extension “.daphne
“. Copy the “roms
” folder as is.
There are two games that have incorrect names and will not work with Hypseus as they come in the download:
The Galaxy Rangers folder is named “galaxyr
“. Just rename it to “galaxy
“, and the file inside called “galaxyr.txt
” to “galaxy.txt
“.
Similarly, the Roadblaster game is named “rb
“, but should be called “roadblaster
“, and the file inside called “rb.txt
” should be renamed to “roadblaster.txt
“.
Your daphne folder should now have the following:
ace.daphne bega.daphne esh.daphne interstellar.daphne mach3.daphne roms uvt.daphne
astron.daphne cliff.daphne galaxy.daphne lair2.daphne roadblaster.daphne sdq.daphne
badlands.daphne cobra.daphne gpworld.daphne lair.daphne readme.txt tq.daphne
Now, inside each of the “.daphne
” folders, you need to create an empty file of the same name as the folder. This is just a peculiarity of how Emulation Station works, and it will not run them correctly unless you do.
A quick way to create the files is:
for file in *.daphne; { touch "$file/$file"; }
The Hypseus app looks for the rom files in its own folder, which breaks the idea of placing this completely on the SD card, but you can use symbolic links to refer to the actual zip files in the daphne
folder. In in the folder “/home/deck/Applications/hypseus-singe
” there is already a “roms
” folder. Normally, I would just remove this and link the whole roms folder, but since there is already something there, I just link all the zip files from the “daphne/roms
” folder into this one. It is simple to do all of them in one go:
cd /home/deck/Applications/hypseus-singe/roms
for file in /run/media/mmcblk0p1/Emulation/roms/daphne/roms/*.zip; { ln -s "$file"; }
For the emulator, leave it set to the default for “Daphne
“, not “Singe
“. This is the default, so you should not need to change the emulator setting.
If you need to give individual games specific command line options, it it possible by creating a file called “<game>.commands
” in the ROM’s directory. e.g. for Dragon’s Lair, you would create a file called “lair.commands
” inside the lair.daphne
folder. Inside the file, you would put the additional command line parameters. For example:
-fastboot -fullscreen
A list of command line options and supported games is available on the Daphne site.
Now when you run EmuDeck, and it goes in to Emulation Station, you should see the “Daphne
” section, and the games should play.
If you have any problems, you can see what happened in “/home/deck/.emulationstation/es_log.txt
“. Near the end of the log file, you will see the command that it attempted, similar to:
Jun 05 22:52:31 Info: Launching game "Dragon's Lair"…
Jun 05 22:52:31 Info: Expanded emulator launch command:
Jun 05 22:52:31 Info: /home/deck/Applications/hypseus-singe/hypseus.bin lair vldp -framefile /run/media/mmcblk0p1/Emulation/roms/daphne/lair.daphne/lair.txt
You can run the command by hand to see any errors or issues.
Great doc, and confirmed it worked.
Did you have any issues with Dragons Lair 2? It launched literally once, then it refuses to launch. Everything else worked just fine, although I just dumped the rom files into the Perseus roms directory.
Good timing on the question; I had just factory reset my Deck, and had to set the Daphne stuff back up. I followed the instructions above and (with one correction; see below), everything is working. I just tested DL2, and it loads fine for me multiple times.
Try running from a terminal: /home/deck/Applications/hypseus-singe/hypseus.bin lair2 vldp -framefile /run/media/mmcblk0p1/Emulation/roms/daphne/lair2.daphne/lair2.txt
That will show you any errors you are getting. I did notice one error in my instructions where you link the files into the roms directory; I had it linking them in the root of hypseus, not in the roms directory. That has been fixed.
I had a question maybe you can answer. I am trying to play Cliff Hanger but the buttons do not seem to be working correctly. Is there a way to go in and set them up for each individual game. Cliff hanger had a 4 way joystick and (2) buttons. One was “hand action” and the other was “foot action”. The strange thing was that the “foot action” was also the player 1 or player 2 start button. I know on PC you can run DaphneLoader and there is a way to configure controls. Does something similar exist or EmuDeck?
Yes. In the folder ~deck/Applications/hypseus-singe, there is a file called hypinput.ini where you can configure the inputs.
According to that same file, there is a tool to configure the joystick: https://github.com/DirtBagXon/hypjsch
And all the various keyboard keys keys are:
https://github.com/DirtBagXon/hypseus-singe/blob/master/doc/keylist.txt
I have not yet tested modifying the keys yet. When I get a little more time, I’ll play around with it and see if I can tweak it. Let me know if you get it working in the meantime.
I figured it out for Cliff Hanger. There was a line in the hypinput.ini file
KEY_BUTTON2 = SDLK_LALT SDLK_s 0
I changed it to read
KEY_BUTTON2 = SDLK_LALT SDLK_s 2
The “foot” was then mapped to button B on the steam deck. Everything seems to be working.
Great! Hopefully that will help anyone else having the problem.
I’m trying to figure out how to compile that config tool. For some inexplicable reason, SteamOS comes with a compiler, but no include files (even though pacman says they should be there, Valve apparently manually removed the entire /usr/include folder).
Can you post your entire button config? Mine looks a little different and while I got the foot working thanks to your contribution, hands are still an issue apparently as I can’t get into the car 🙂
Actually A is working fine. It looks like all the directional button mappings are messed up though. If you can paste the entire config that would be awesome.
Thank you for the write-up!!
Where are the cmd line switches setup to run each game? I’d like to adjust them and cannot figure out where they are defined for Emulation Station. Thank you!!
I forgot…it’s the commands file…
I had not done this, so I had to look it up. I have updated the write-up to reflect how to do it. (I have not tested it as I don’t have my Deck with me at the moment).
Howdy! This post couldn’t be written any better! Reading through this post reminds me of my old room mate! He always kept talking about this. I will forward this post to him.
First of all, thanks for this guide. I tried the classical laser games all ok, but there is a way to play also the other lasergames like Time Gal because I didnt find any roms zip file for this game, only the MPEG, ogg, framefile etc…, I read about dat file but don’t understand. Also for the HD versions of DL or Cliff Hanger, I don’t find the rom folder with .bin files requested from hypseus Daphne steam deck to find the game.
I don’t have those games to test. I’ll see if I can find them and get them to work.
Where is the launch file? Looks like you just put it in a timegal.singe folder and use the command as per the systeminfo.
Something like: %EMULATOR_HYPSEUS-SINGE% singe vldp -framefile %GAMEDIR%/%BASENAME%.txt -script %GAMEDIR%/%BASENAME%.singe %INJECT%=%BASENAME%.commands
works fine on PC, but there is already a file called timegal.singe in the main directory
Was familiar with Rpi’s and PC’s but not Steamdeck, this guide was great to get it up and running. Just not sure about keyboard layout, the default I can’t find any button that will work so I’ll have to edit the files. Cant shoot in Cobra or Use sword in DL, etc.
Can someone please post an entire hypinput.ini for steamdeck. Thanks in advance 🙂
Nevermind found one, got all the Daphne games to work, still trying to get the singe games to work though.
Hooray, great for you. That really helps the rest of us with the thought of knowing you’ve found the correct steam deck config to enjoy the games. I wish we knew.