Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

Daphne install on ubuntu 18.04 x86_64



  • Hello
    i have made a update in the daphne.sh script
    it can now install the daphne emulator on a ubuntu 18.04 x86_64 machine
    just copy this to you /RetroPie-Setup/scriptmodules/emulators/daphne.sh script
    and run retropie_setup.sh ;)

    #!/usr/bin/env bash
    
    # This file is part of The RetroPie Project
    #
    # The RetroPie Project is the legal property of its developers, whose names are
    # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source.
    #
    # See the LICENSE.md file at the top-level directory of this distribution and
    # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md
    #
    
    rp_module_id="daphne"
    rp_module_desc="Daphne - Laserdisc Emulator"
    rp_module_help="ROM Extension: .daphne\n\nCopy your Daphne roms to $romdir/daphne"
    rp_module_licence="GPL2 https://raw.githubusercontent.com/RetroPie/daphne-emu/master/COPYING"
    rp_module_section="opt"
    rp_module_flags="!mali !kms"
    
    function depends_daphne() {
        getDepends libsdl1.2-dev libvorbis-dev libglew-dev zlib1g-dev
    }
    
    function sources_daphne() {
            if uname -m |grep "x86_64"; then
            gitPullOrClone "$md_build" https://github.com/DavidGriffith/daphne.git
            else
            gitPullOrClone "$md_build" https://github.com/RetroPie/daphne-emu.git retropie
            fi
            }
    
    function build_daphne() {
        cd src/vldp2 || exit
        if uname -m |grep "x86_64"; then
        ./configure --disable-accel-detect
        else
        ./configure
        fi
        if uname -m |grep "x86_64"; then
        make -f Makefile.linux_x64
        else
        make -f Makefile.rp
        fi
        cd ..
        if uname -m |grep "x86_64"; then
        ln -s Makefile.vars.linux_x64 Makefile.vars
        else
        ln -sf Makefile.vars.rp Makefile.vars
        fi
        if uname -m |grep "x86_64"; then
        make
        else
        make STATIC_VLDP=1
        fi
        if uname -m |grep "x86_64"; then
            cp "$HOME/RetroPie-Setup/tmp/build/daphne/libvldp2.so" /lib
            fi
    }
    
    function install_daphne() {
        md_ret_files=(
            'sound'
            'pics'
            'daphne.bin'
            'COPYING'
        )
    }
    
    function configure_daphne() {
        mkRomDir "daphne"
        mkRomDir "daphne/roms"
    
        mkUserDir "$md_conf_root/daphne"
    
        if [[ ! -f "$md_conf_root/daphne/dapinput.ini" ]]; then
            cp -v "$md_data/dapinput.ini" "$md_conf_root/daphne/dapinput.ini"
        fi
        ln -snf "$romdir/daphne/roms" "$md_inst/roms"
        ln -sf "$md_conf_root/$md_id/dapinput.ini" "$md_inst/dapinput.ini"
    
        cat >"$md_inst/daphne.sh" <<_EOF_
    #!/bin/bash
    dir="\$1"
    name="\${dir##*/}"
    name="\${name%.*}"
    
    if [[ -f "\$dir/\$name.commands" ]]; then
        params=\$(<"\$dir/\$name.commands")
    fi
    
    "$md_inst/daphne.bin" "\$name" vldp -nohwaccel -framefile "\$dir/\$name.txt" -homedir "$md_inst" -fullscreen \$params
    _EOF_
        chmod +x "$md_inst/daphne.sh"
    
        chown -R "$user":"$user" "$md_inst"
        chown -R "$user":"$user" "$md_conf_root/daphne/dapinput.ini"
    
        addEmulator 1 "$md_id" "daphne" "$md_inst/daphne.sh %ROM%"
        addSystem "daphne"
    }
    


  • Thanks for this script!
    On a brand new Ubuntu 18.04 x86_64 install, it errored out - Daphne.bin not found.
    Logs showed an error during compile indicating - sdl-config not found.
    My system had sdl2-config instead.
    I ended up installing libsdl1.2-dev, then Daphne install completed without error.
    After placing the laserdisc files and roms in their proper directories, i'm now able to launch and play from emulationstation on my amd64 Linux PC.
    THANKS AGAIN !!!!



  • I have update the script above fix the share lib problem

    #!/usr/bin/env bash
    
    # This file is part of The RetroPie Project
    #
    # The RetroPie Project is the legal property of its developers, whose names are
    # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source.
    #
    # See the LICENSE.md file at the top-level directory of this distribution and
    # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md
    #
    
    rp_module_id="daphne"
    rp_module_desc="Daphne - Laserdisc Emulator"
    rp_module_help="ROM Extension: .daphne\n\nCopy your Daphne roms to $romdir/daphne"
    rp_module_licence="GPL2 https://raw.githubusercontent.com/RetroPie/daphne-emu/master/COPYING"
    rp_module_section="opt"
    rp_module_flags=" !mali !kms"
    
    function depends_daphne() {
            if uname -m |grep "x86_64"; then
            dpkg --add-architecture i386
            getDepends libsdl1.2-dev:i386 libvorbis-dev:i386 libxmu6:i386 libxi-dev:i386 libglewmx1.13:i386 libpangox-1.0-dev:i386
            else
        getDepends libsdl1.2-dev libvorbis-dev libglew-dev zlib1g-dev
        fi
    }
    
    function sources_daphne() {
            if uname -m |grep "x86_64"; then
        wget http://www.daphne-emu.com/download/daphne-1.0beta-linux.tar.gz
        tar -xf daphne-1.0beta-linux.tar.gz
        cd daphne || exit
      #  cp libvldp2.so /lib
        mv daphne daphne.bin
        mv * ../ ../
        else
        gitPullOrClone "$md_build" https://github.com/RetroPie/daphne-emu.git retropie
        fi
            
    }
    
    
    function build_daphne() {
            if uname -m |grep "x86_64"; then
            echo ok
            else
        cd src/vldp2 || exit
        ./configure
        make -f Makefile.rp
        cd ..
        ln -sf Makefile.vars.rp Makefile.vars
        make STATIC_VLDP=1
        fi
    }
    
    function install_daphne() {
            if uname -m |grep "x86_64"; then
            md_ret_files=(
            'sound'
            'pics'
            'daphne.bin'
            'lib'
            'libvldp2.so'
       )
           if grep -q "/opt/retropie/emulators/daphne/lib" /etc/ld.so.conf.d/randomLibs.conf; then
                   :
            else
             echo '/opt/retropie/emulators/daphne/lib' > /etc/ld.so.conf.d/randomLibs.conf
           fi
    
    ldconfig
            else
        md_ret_files=(
            'sound'
            'pics'
            'daphne.bin'
            'COPYING'
        )
        fi
       
    }
    
    function configure_daphne() {
        mkRomDir "daphne"
        mkRomDir "daphne/roms"
    
        mkUserDir "$md_conf_root/daphne"
    
        if [[ ! -f "$md_conf_root/daphne/dapinput.ini" ]]; then
            cp -v "$md_data/dapinput.ini" "$md_conf_root/daphne/dapinput.ini"
        fi
        ln -snf "$romdir/daphne/roms" "$md_inst/roms"
        ln -sf "$md_conf_root/$md_id/dapinput.ini" "$md_inst/dapinput.ini"
    
        cat >"$md_inst/daphne.sh" <<_EOF_
    #!/bin/bash
    dir="\$1"
    name="\${dir##*/}"
    name="\${name%.*}"
    
    if [[ -f "\$dir/\$name.commands" ]]; then
        params=\$(<"\$dir/\$name.commands")
    fi
    
    "$md_inst/daphne.bin" "\$name" vldp -nohwaccel -framefile "\$dir/\$name.txt" -homedir "$md_inst" -fullscreen \$params
    _EOF_
        chmod +x "$md_inst/daphne.sh"
    
        chown -R "$user":"$user" "$md_inst"
        chown -R "$user":"$user" "$md_conf_root/daphne/dapinput.ini"
    
        addEmulator 1 "$md_id" "daphne" "$md_inst/daphne.sh %ROM%"
        addSystem "daphne"
    }
    
    


  • Somehow, I missed this thread in September. Thanks from another (K)ubuntu 18.04 user!



  • I can at least now get it to load the emulator but when I run the games it just bounces back to the game selection. I have the file structure the same as on my Pi3b+

    roms/daphne/ace.daphne/"All the files for the game .ogg, .dat, .commands, .txt and .m2v"

    ace.zip is in roms/daphne/roms/



  • You do know Daphne-Singe can be ran through wine right? I made a tutorial and setup files over in the "ideas & development" section a while back. So you could be playing everything.. Timegal, Fire n Ice, Chantzes Stone (Strahl), etc. The shooting games even work with dolphinbar.



  • @HoJo215 well i have made a new git and got the Daphne emu to run singe games also
    im well update the script when i got some time ;)



  • @MrCoolSpan

    Now that sounds good. Through wine cmd, I have a little pop up window every time a game loads.. If your setup takes that away. I'll run with it.



  • @MrCoolSpan

    Are you using DavidGriffith's git or DirtBagXon's git for your version's git?

    Because both seem to have issues playing Timegal / Ninja Hayate.

    David's 1.14 Singe shuts down when pressing start and DirtBag's 1.18 Singe has sound speed issues as well as the shutdown on pressing start issue.



  • daphne emu with singe
    i have used a lot of time to make this

    Add this to you ~/RetroPie-Setup/platforms.cfg

    alg_exts=".daphne"
    alg_fullname="American Laser Games"
    

    then replace ~/RetroPie-Setup/scriptmodules/emulators/daphne.sh

    #!/usr/bin/env bash
    
    # This file is part of The RetroPie Project
    #
    # The RetroPie Project is the legal property of its developers, whose names are
    # too numerous to list here. Please refer to the COPYRIGHT.md file distributed with this source.
    #
    # See the LICENSE.md file at the top-level directory of this distribution and
    # at https://raw.githubusercontent.com/RetroPie/RetroPie-Setup/master/LICENSE.md
    #
    
    rp_module_id="daphne"
    rp_module_desc="Daphne - Laserdisc Emulator"
    rp_module_help="ROM Extension: .daphne\n\nCopy your Daphne roms to $romdir/daphne and alg games to $romdir/alg"
    rp_module_licence="GPL2 https://raw.githubusercontent.com/RetroPie/daphne-emu/master/COPYING"
    rp_module_section="opt"
    rp_module_flags=" !mali !kms"
    
    function depends_daphne() {
            if uname -m |grep "x86_64"; then
            dpkg --add-architecture i386
            getDepends libsdl1.2-dev libsdl2-mixer-dev libglew-dev libvorbis-dev libsdl-image1.2-dev libsdl-ttf2.0-dev zlib1g-dev libxmu-dev
            else
        getDepends libsdl1.2-dev libvorbis-dev libglew-dev zlib1g-dev
        fi
    }
    
    function sources_daphne() {
            if uname -m |grep "x86_64"; then
        gitPullOrClone "$md_build" https://github.com/MrCoolSpan/Daphne.git
        else
        gitPullOrClone "$md_build" https://github.com/RetroPie/daphne-emu.git retropie
        fi
            
    }
    
    
    function build_daphne() {
            if uname -m |grep "x86_64"; then
            cd src/vldp2 || exit
            ./configure --disable-accel-detect
            make -f Makefile.linux_x64
            cd ../game/singe
            make -f Makefile.linux_x64
            cd ../..
            ln -s Makefile.vars.linux_x64 Makefile.vars
            make
            else
        cd src/vldp2 || exit
        ./configure
        make -f Makefile.rp
        cd ..
        ln -sf Makefile.vars.rp Makefile.vars
        make STATIC_VLDP=1
        fi
    }
    
    function install_daphne() {
            if uname -m |grep "x86_64"; then
            md_ret_files=(
            'sound'
            'pics'
            'daphne.bin'
            'libvldp2.so'
            'libsinge.so'
            'singe.sh'
            'COPYING'
       )
           if grep -q "/opt/retropie/emulators/daphne/lib" /etc/ld.so.conf.d/randomLibs.conf; then
                   :
            else
             echo '/opt/retropie/emulators/daphne/lib' > /etc/ld.so.conf.d/randomLibs.conf
           fi
    # Mayflash Sensor DolphinBar
          FILE=/etc/udev/rules.d/80-dolphinbar.rule
          if [ -f "$FILE" ]; then
          :
          else 
          cat >"/etc/udev/rules.d/80-dolphinbar.rule" <<_EOF_
          SUBSYSTEM=="hidraw", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0306", MODE="0666"
          SUBSYSTEM=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="0330", MODE="0666"
    _EOF_
    
          fi
    
    ldconfig
    
            else
        md_ret_files=(
            'sound'
            'pics'
            'daphne.bin'
            'COPYING'
        )
        fi
       
    }
    
    function configure_daphne() {
        mkRomDir "daphne"
        mkRomDir "alg"
        mkRomDir "daphne/roms"
        mkRomDir "alg/roms"
    
        mkUserDir "$md_conf_root/daphne"
        mkUserDir "$md_conf_root/alg"
    
        if [[ ! -f "$md_conf_root/daphne/dapinput.ini" ]]; then
            cp -v "$md_data/dapinput.ini" "$md_conf_root/daphne/dapinput.ini"
        fi
        ln -snf "$romdir/daphne/roms" "$md_inst/roms"
        ln -snf "$romdir/alg/roms" "$md_inst/singe" 
        ln -sf "$md_conf_root/$md_id/dapinput.ini" "$md_inst/dapinput.ini"
          
    echo '
    #!/bin/bash
    mkdir ~/RetroPie/roms/alg/tmp
    ln -s ~/RetroPie/roms/alg/roms/* ~/RetroPie/roms/alg/tmp/ && ls -l ~/RetroPie/roms/alg/tmp/
    cd tmp
    for i in *; do mv "$i" "$i".daphne; done
    mv *.* ~/RetroPie/roms/alg
    rm -r ~/RetroPie/roms/alg/tmp' > "$romdir/alg/symlink.sh"
    
    
        cat >"$md_inst/daphne.sh" <<_EOF_
    #!/bin/bash
    # point to our linked libs that user may not have
    export LD_LIBRARY_PATH=$SCRIPT_DIR:$DAPHNE_SHARE:$LD_LIBRARY_PATH
    dir="\$1"
    name="\${dir##*/}"
    name="\${name%.*}"
    
    if [[ -f "\$dir/\$name.commands" ]]; then
        params=\$(<"\$dir/\$name.commands")
    fi
    
    "$md_inst/daphne.bin" "\$name" vldp -nohwaccel -framefile "\$dir/\$name.txt" -homedir "$md_inst" -fullscreen \$params
    
    xrandr --output "HDMI-0" --mode 1920x1080
    _EOF_
       
    echo '
    #!/bin/bash
    # point to our linked libs that user may not have
    export LD_LIBRARY_PATH=$SCRIPT_DIR:$DAPHNE_SHARE:$LD_LIBRARY_PATH
    
    SCRIPT_DIR=`dirname "$0"`
    if realpath / >/dev/null; then SCRIPT_DIR=$(realpath "$SCRIPT_DIR"); fi
    DAPHNE_BIN=daphne.bin
    DAPHNE_SHARE=/opt/retropie/emulators/daphne
    
    function STDERR () {
    	/bin/cat - 1>&2
    }
    
    echo "Singe Launcher : Script dir is $SCRIPT_DIR"
    cd "$SCRIPT_DIR"
    
    dir="$1"
    name="${dir##*/}"
    name="${name%.*}"
    
    "/opt/retropie/emulators/daphne/daphne.bin" singe vldp -FULLSCREEN -framefile "$dir/$name.txt" -script "$dir/$name.singe" -homedir "$DAPHNE_SHARE" -datadir "$DAPHNE_SHARE" -sound_buffer 2048 -noserversend -x 800 -y 600
    
    xrandr --output "HDMI-0" --mode 1920x1080' > "$md_inst/singe.sh"
    
    
        chmod +x "$md_inst/daphne.sh"
        chmod +x "$md_inst/singe.sh"
        chmod +x "$romdir/alg/symlink.sh"
    
        chown -R "$user":"$user" "$md_inst"
        chown -R "$user":"$user" "$md_conf_root/daphne/dapinput.ini"
        chown -R "$user":"$user" "$romdir/alg/"
    
        addEmulator 1 "$md_id" "daphne" "$md_inst/daphne.sh %ROM%"
        addSystem "daphne"
        addEmulator 1 "$md_id" "alg" "$md_inst/singe.sh %ROM%"
        addSystem "alg"
    }
    
    
    

    then copy your games to ~/RetroPie/roms/alg/roms
    etc like this ~/RetroPie/roms/alg/roms/crimepatrol
    then run ~/RetroPie/roms/alg/symlink.sh

    edit /opt/retropie/emulators/daphne/daphne.sh and change this line

    xrandr --output "HDMI-0" --mode 1920x1080
    

    and set you current display resolution
    do the same with /opt/retropie/emulators/daphne/singe.sh

    you can chance the emu display resolution also x-320 y-240

    start retropie and you games is in alg ;)



  • @MrCoolSpan

    I'm already setup withe mine now but this is great for end users.
    You should checkout DirtBagXon's git. They have an update Singe for x64 Linux!
    Singe 1.18 - I thought I never see that.. It supports multiple mice among other updates.

    For resolution, I usually do:

    -fullscreen_window

    It fits to the the screen with 4:3 ar



  • I cart edit my poste
    But There is a mistake in the top is is Not ~/RetroPie-Setup/scriptmodules/emulators/dolphin.sh BUT ~/RetroPie-Setup/scriptmodules/emulators/daphne.sh you need to edit



  • @MrCoolSpan Normally, you should be able to edit your post even years ago. What was the exact problem?



  • @Clyde said in Daphne install on ubuntu 18.04 x86_64:

    @MrCoolSpan Normally, you should be able to edit your post even years ago. What was the exact problem?

    Well i dont know but it is okay now😁



  • Here goes my modified system art to represent Daphne Singe for whomever.
    Place it in the opt/emulationstation/themes/carbon/daphne/art folder.

    Edit the Daphne theme.xml to read:

    <image name="logo">
    <path>./art/system.png</path>
    

    system.png



  • @HoJo215 Nice Thanx



  • @MrCoolSpan I made a copy of /themes/carbon/daphne and renamet to alg and put you img ind
    and it looks real good



  • @MrCoolSpan Hey there MrCoolSpan. I saw your post about running the Daphne emu with Singe on RetroPie. Do you have this running decent at this point? I am trying to put together a RetroPie image that runs only Daphne and I would love to get Singe working as I am mainly trying to get Time Gal and Ninja Hayate working. I have the two working on my PC but I am relatively new to working on the Raspberry Pi and there is not a lot of info... anywhere on getting singe to work on Raspberry Pi. Can you suggest anywhere for documentation or are the details that you posted everything that is needed? (Besides roms and video files, obviously) Going to try to throw a Rasp Pi together this weekend with Daphne - but it will feel incomplete unless I can get singe going. Thoughts?



  • @MrCoolSpan
    First, thanks for your great work.

    Please can you show an exact strucure files when you say :
    then copy your games to ~/RetroPie/roms/alg/roms



  • @MrCoolSpan

    Anybody care to help... Installed and compiled with the daphne.sh dated Feb28 at 4:13. Seemed to go fine but, when the emulator is run out of EmulationStation, I get the following error message.

    /opt/retropie/emulators/daphne/daphne.bin: error while loading shared libraries: libGLEW.so.1.3: cannot open shared object file: No such file or directory
    

    I'm a bit new at this but would really love to get Dragon's Lair running. Any help would be greatly appreciated! :)


Log in to reply
 

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.