Getting Daphne Games Working On EmuDeck On Your Steam Deck

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.

11 thoughts on “Getting Daphne Games Working On EmuDeck On Your Steam Deck”

  1. 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.

    Reply
  2. 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.

    Reply
  3. 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?

    Reply
    • 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.

      Reply
      • 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.

        Reply
        • 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).

          Reply
  4. 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!!

    Reply

Leave a Comment