Greetings faraway friends and neighbors! 'Tis I, Discodan the Caveman.
I have FINALLY gotten Dragons Lair working on Daphne on my Ubuntu 17.04 32bit workstation. And now that I have this working, I'm confident that Dragons Lair 2 and Space Ace will work as well. Getting this to work has been a very very confusing process. But now that I have it kinda-sorta figured out; I wanted to share a minimal skeleton of how I did it. And open myself up to questions in case I can help anyone else out there. Be aware, this is a cumbersome clunky process. My apologies in advance.
Notes:
It is very possible that there is a better method out there than the one listed below. It is very possible that somewhere in this forum there is a perfect recipe for getting daphne to work on ubuntu. But I couldn't find it. I've been using google to do all my research. And I have not found anything that specifically addresses daphne on current versions of linux of any flavor, much less ubuntu. Everyone seems to be using windows ( and that was the key to getting this to work. Details in a minute. )
In general, my best assessment is, if you want to use linux for daphne, you have to skip over the daphneloader all together. The #1 problem with this is that the daphneloader is also a torrent server. And if we all start skipping the loader, then eventually the files we need won't be available, and this beautiful app will die. Hopefully there will always be enough windows users out there to seed the required files. But you never know... In addition, without the daphneloader there are no auto-updates. I guess this is could be both good or bad depending on your point of view.
OK now, on to the goods
Rough Description of Process:
Get yourself a windows workstation; download daphne, use the daphneloader to get all the files setup. Once you can launch the game(s) you want successfully in windows, go to your **32bit** linux workstation, download daphne (not source). Extract the daphne folder. Then open a terminal, (I have been running everything as root, but this may not be needed).
SUPER IMPORTANT DETAIL: you must export the library path. I've been doing this manually each time I run the game. I'm sure there's a place to add it permanently, i just haven't looked it up. Also, you may need to be root for this, I don't know. The command is : "export LD_LIBRARY_PATH=./lib" (no quotes). This is listed in the daphneloader script file. That's how I found it. When I didn't do this, I got: "error while loading shared libraries: libGLEW.so.1.3: cannot open shared object file: No such file or directory"
OK, so, were in the terminal (maybe as root) Move to the daphne folder ( for me this was cd /home/user/daphne ). Then launch ./daphne . What we're doing here is looking for any missing packages or libraries. The terminal will report each missing package one at a time. Example, I know I had to install SDL1.2. I don't remember exactly which package it is. But I simply googled, "how to install [library name referenced in terminal] ubuntu". Generally within a few hits from the top there is a website with very obvious instructions saying apt-get install ... So for the sdl example, I did an apt-get install for something like SDL1.2-dev. Then I relaunched ./daphne and a different missing package was listed. This means I installed the correct package. YAY! If it lists the same package. You either didn't get the right one, or its a 32bit vs 64bit issue. BOO! (Remember SDL1.2-dev was just an example, I don't know if that's a package you need or not.) Getting these packages installed really wasn't as bad as it sounds. I'm sorry, I don't have the list of packages I used that worked. Maybe someone else reading this will keep track of the packages they needed, and and post it so we'll end up with a good working list of packages needed. RE: 32bit vs 64bit. All I can say is: I got it to work under 32bit 17.04. Thus all the apt-getting grabbed 32bit versions by default. I know there's a neat trick to force apt-get to install 32bit packages by default, and I'm pretty sure the 32bit packages are required. So, someone out there may want to try it under a 64bit OS and apt-getting 32bit versions of the packages. It would be good know if we can start with a 64bit OS or not.
OK... it only took me about 3 or 4 apt-get installs to get all the packages installed. You know you're finished when ./daphne returns an error asking for a game title: "ERROR: Unknown game type specified"
This is good. We are almost there...
Go back to your known good working windows workstation with daphne and the games installed and working. Launch the game you want on your linux workstation. Then close it right away (unless you want to play it, heehee). Now look at the daphnelog. At the top you should see the proper command and options to launch the game. SaveAs that file onto a usb, and also copy **all** folders in your daphne folder from your windows workstation onto the usb. I used a blank 8GB and it fit ok. Be careful not to copy any of the files that live directly in the daphne folder. Just the folders, not the files. Then go back to your linux workstation and copy all the folders from your usb to the daphne folder on your linux workstation. If you're doing it right it should take about 15 minutes on USB2 and should copy around 6GB.
And now finally, open the daphne log file, execute the command at the top in a terminal (you do need to be in the daphne folder, and you do need that lib path exported. Maybe re-execute the EXPORT command right before launching daphne. Here's an example for the command that is working for me to launch dragons lair. It doesn't seem to need all the options listed in the log file:
./daphne lair vldp -framefile vldp_dl/lair/lair.txt
And if the stars are aligned, if your shakras are balanced, and if the second hand on your watch is on an even number... you should see the game loading. What?? you don't have a watch with a second hand???
I'm sorry for the super rough formating and instructions in this post, but hopefully this will be a help for others out there even though. I know if I had this info, I would have had this going long ago. Yes, it sucks to have to build a windows PC specifically for this single purpose. And it is also mildly sucky that the daphneloader cannot function "out of the box" straight off the website. In my opinion, the problem is in daphneloader.bin. In case it's helpful, I found no way to get past the error:
libpng warning: Application jmp_buf size changed
Segmentation fault (core dumped).
There is nothing on google helpful for this. I saw a note to recompile daphne from source. This also didn't work for me. The best I can say about the recompile process is that errors abound. "make -i" (no quotes) will get you past them. But it still doesn't render a working version of daphneloader. I did read the compile instructions contained with the source. I followed them as best I could. There are a few packages that it says are required. When I gave up, I was having trouble getting sdl-config to see the vorbis ogg a glew libraries despite being installed. Maybe I had the wrong packages, maybe I needed another EXPORT command, maybe my shakras were out of balance. Like I said, I gave up and figured out how to skip over daphneloader.
Thats it: my solution to this paltry geometric dilemma: daphne-emu on ubuntu 32bit skipping the loader. I am open to all questions, comments, curses, and criticisms. Always share data, my friends, always... share... data....
Most sincerely,
Discodan the caveman