Arena and Daggerfall Installers for Linux

Off topic discussion. Talk about gaming and life in general. Be awesome to each other.
Taemos
Posts: 41
Joined: Sun May 24, 2015 3:31 am

Arena and Daggerfall Installers for Linux

Post by Taemos »

--Arena--
Latest version (v0.50)
-Game files are now automatically downloaded from Bethesda, so the script is much smaller and can be hosted on Github
-Set CPU cycles to "max" as the default of "auto" was quite slow
-Set output default to overlay (instead of surface)
-Default window size is now 1024x768

--Daggerfall--
Latest version (v0.60) (link expired)
-Hopefully made the desktop icon functionality more robust
-Set output default to overlay (instead of surface)
-Default window size is now 1024x768

This has been tested on the following distributions:
Xubuntu 16.10
Ubuntu 18.04 (MATE desktop environment)
Debian
Raspbian (performance is poor because of the slow CPU, even on a Raspberry Pi 3)


Older versions:
(v0.54) (link expired)
Updates from last release
-Bug fixes

(v0.53) (link expired)
Updates from last release
-WASD/mouselook option should work now (inverted by default)
-DOSBox session closes automatically now

(v0.51) (link expired)
Updates from last release:
-Desktop shortcut made more robust
-WASD/Mouselook default control scheme option added
-Fixed some bugs/oversights

(v0.45) (link expired)
Updates from last release:
-Code cleanup/additional sanity checks added
-Desktop icon added (credit: blakegedye @ DeviantArt)
-Additional deletion option added
-Pirates of Tamriel mod install option added
-It should now work with openSUSE, however it has not been tested

Known issues:
-An icon will be added with the patched install, regardless of whether DOSBox is installed or not
-The icon does not work properly in Debian/Raspbian due to a conservative default PATH; fix is planned

(v0.3) (link expired)
- Added a desktop shortcut
- Added an uninstall option
- Code cleanup
- Pirates of Tamriel has been added to the archive. An install option will be in the next release.
(v0.2) (link expired)


==Original post==
Would there be any interest in such an "application" (technically a self-extracting shell script)?

The idea is to offer original (i.e. unpatched with the exception of 2.13 and NoCD), patched (DOS32A, patched quests, bios, etc.), and extended (extra quests) install options.

The script works and I could have it completed in a few days at most since the time consuming parts are done. I just need somewhere to upload it. Obviously this would need to be removed if anyone from Bethesda complains.

I know the majority of Linux users can set this up by themselves, but there are a handful of people who want to use the OS without committing to be their own sysadmins. This is targeted at the latter group, and also myself since I get tired of going through the same process every time I want to play ;). Thoughts/opinions?

Edit: In case it wasn't clear, this pertains to the original game and has nothing to do with Daggerfall Unity.
Last edited by Taemos on Wed Feb 12, 2020 3:20 am, edited 24 times in total.

User avatar
Jay_H
Posts: 4059
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Daggerfall Setup for Linux

Post by Jay_H »

I run Linux native (Debian base), but I have to run Daggerfall in a virtual machine. If you know a way to make Daggerfall run in native Linux I'd certainly be interested.

As a side-note, I tried Dosbox via wine, but that reduced the music quality a lot.

Taemos
Posts: 41
Joined: Sun May 24, 2015 3:31 am

Re: Daggerfall Setup for Linux

Post by Taemos »

This should work fine in a base Debian install so long as you have an internet connection. The script checks for DOSBox from the repositories, installs it if it isn't already, then proceeds to unpack Daggerfall and additional patches (if that's what was selected).

I've seen a handful of people use Wine in conjunction with the Daggerfall Setup utility. I'm not knowledgeable enough to say if that has any negative impact, but as I understand it DOSBox is mostly built around SDL (which is cross-platform) so I would think that it should work alright. Not sure if there is a performance impact, however. If there is it would probably be negligible.

I can't speak for the quality of music; this could be something lacking in the SDL translation from Wine but this is just a guess. Having played Daggerfall on "real" hardware growing up, I can certainly tell you that the music does not sound as good through an emulated Soundblaster vs. the real thing. This can be mostly mitigated through use of external MIDI software and sound fonts, although for now that's outside the scope of this tool. I've had fun writing it so far, though, so I very well may implement this later, especially since I'm picky about my music and it bugs me, too.

Taemos
Posts: 41
Joined: Sun May 24, 2015 3:31 am

Re: Daggerfall Setup for Linux

Post by Taemos »

I've uploaded a "teaser" -- it's pretty bare-bones but it successfully installs and configures DOSBox and Daggerfall in Xubuntu. This is essentially "feature complete" in comparison with Daggerfall Setup for Windows, with the current exceptions of extra quests, additional languages other than English, and Eye of Argonia. It "should" work in anything using the yum package manager (assuming DOSBox is in the standard repositories...) but I haven't tested it. DOSBox is breaking in my Debian VM, but that could just be due to it being a VM.

You are running this at your own risk. This shouldn't break anything, but it needs to be said. I would be very surprised (and interested) if it does anything detrimental to your system, however. Anyway, here it is. The link will expire in a few weeks since I don't have any hosting of my own.

To install, just run "sh <the file>" in a terminal. Once complete, "sh ~/dagger.sh" should start DOSBox/Daggerfall automatically. If anyone actually uses this thing I'll probably add a desktop shortcut later.

Thoughts/suggestions are welcome and appreciated.

User avatar
Interkarma
Posts: 7234
Joined: Sun Mar 22, 2015 1:51 am

Re: Daggerfall Setup for Linux

Post by Interkarma »

This is very cool! It would be awesome for Linux users to have another option for rolling out the game files.

User avatar
Jay_H
Posts: 4059
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Daggerfall Setup for Linux

Post by Jay_H »

I tested it on Debian, and it's solidly made. One error during installation was that mkdir failed to create /home/USER/.config/ since it already existed but that was trivial. A very convenient way to get into Daggerfall for Linux.

If you're going to improve on it, I have two suggestions:

1. At Y/N prompts, Y would be a convenient default rather than abort.

2. dagger.sh was created in my home folder, but the installer didn't tell me to go there. It wasn't hard to find but still had no instruction for it.

Other than that, it's a great tool for Daggerfall. Thank you for putting in the effort.

Taemos
Posts: 41
Joined: Sun May 24, 2015 3:31 am

Re: Daggerfall Setup for Linux

Post by Taemos »

I'm glad to hear it should see some use! I've also noticed that the MIDI device wasn't properly selected, so that should be fixed in the next release. It actually sounds quite close to what I remember hearing in 1996, although I'm not sure if this is due to my using a decent dedicated sound card or the fact that I'm not using Windows (and whatever it uses to interpret MIDI). I'll take it, either way. If I stick with this I may add an option to download Timidity and install sound fonts, if something with appropriate distribution rights can be found. The last thing I want to do is anger or disrespect any third parties.
Jay_H wrote:I tested it on Debian, and it's solidly made. One error during installation was that mkdir failed to create /home/USER/.config/ since it already existed but that was trivial. A very convenient way to get into Daggerfall for Linux.
"Solidly made" is generous, but I appreciate it :lol:.The mkdir error was a typo on my part. I noticed it the other night and I guess I was too tired to realize what was missing. Quickly fixed.
If you're going to improve on it, I have two suggestions:

1. At Y/N prompts, Y would be a convenient default rather than abort.
Agreed and implemented.
2. dagger.sh was created in my home folder, but the installer didn't tell me to go there. It wasn't hard to find but still had no instruction for it.
That's odd, because there should've been. At any rate, I've tried to make it stand out a bit more. I'll probably wind up moving the script and config file in a later release to somewhere that makes more sense ($HOME/bin, for example), in addition to making a desktop icon.
Other than that, it's a great tool for Daggerfall. Thank you for putting in the effort.
Cheers! Thanks for the suggestions.

Planned improvements:
A bit more error handling (thinking of SIGINT, although this may be unnecessary; it really just needs to clean up any temporary files and it seems to do that already)
Clean up the script, because I'm a perfectionist and it's probably kind of fugly to those more experienced in bash
Desktop icon
Options for additional quests/mods (AndyFall, Pirates of Tamriel, etc.)
Possible additional language support
Possible Timidity/soundfont install
Maybe some surprises down the road

I have other things I should really be focusing on, but this is a good learning experience for me. I'll upload a new release soon-ish and probably post this on reddit and/or somewhere else so it can get a bit more exposure.

User avatar
Jay_H
Posts: 4059
Joined: Tue Aug 25, 2015 1:54 am
Contact:

Re: Daggerfall Setup for Linux

Post by Jay_H »

DaggerfallSetup.exe on Wiwiland covers a lot of third-party mods and patches to Daggerfall. Would it save you work to use it as a base?

Taemos
Posts: 41
Joined: Sun May 24, 2015 3:31 am

Re: Daggerfall Setup for Linux

Post by Taemos »

DaggerfallSetup is what initially gave me the idea to do this for Linux; I guess that would've been more clear had I not put the space in the title of the thread. The author used Inno Setup, for which (as far as I know) there is no Linux equivalent, so I have to go about this in a different way. I'm using makeself to create the self-extracting shell script from a directory of files, including my own bash script (which is the most hands-on/time consuming part of the installer). GOG uses a combination of makeself and mojosetup in their installers. Eventually I may try to use mojosetup instead but that involves learning a bit of Lua, and my goal was to get this out sooner rather than attempting to learn yet another language that currently serves no purpose for me outside of this project.

So while I am using it as a model, it unfortunately does not save me work. If anything, it adds more since I would love for my installer to be as comprehensive and user-friendly as theirs.

I'm going to add the additional options, but extracting and repackaging these files in a manner that works with this installer is tedious and easily the most boring part of the project. I have some less fun things to take care of, but once I feel that I've adequately addressed my real-life responsibilities I'll upload an updated package.

Taemos
Posts: 41
Joined: Sun May 24, 2015 3:31 am

Re: Daggerfall Setup for Linux

Post by Taemos »

New version. I'm just going to update the top post from now on.

Interkarma, if this thread needs to go elsewhere please feel free to move it. I didn't see a "General Daggerfall" area so this seemed like the best place.

Changes:
-Added graphical fixes by MrFlibble
-Cleaned up the script a bit - it now creates $HOME/bin (if it doesn't already exist) and drops a "Daggerfall" shortcut in there. What does this mean? Open a terminal, type "Daggerfall" (case sensitive) after installing and press Enter; you should be in the game.
-"Y/n" questions default to "Y". The script will still exit if you do not specify a type of install.
-It should now be possible to install the Daggerfall files without DOSBox, in the event you just want them for Daggerfall Unity.

More to come, but I have somewhere I need to be and am already late. Happy New Year!

Post Reply