Skip to content

Instantly share code, notes, and snippets.

@holmraven
Last active October 6, 2023 18:34
Show Gist options
  • Save holmraven/fa82f6106f4367f9efb36a842c9f947f to your computer and use it in GitHub Desktop.
Save holmraven/fa82f6106f4367f9efb36a842c9f947f to your computer and use it in GitHub Desktop.
Daggerfall Unity for Steam Daggerfall on Linux

Redundant since Luxtorpeda already includes Daggerfall Unity package!

Please consider only downloading Luxtorpeda!

Disclaimer!

I am not the owner, nor creator of luxtorpeda or daggerfall-unity. daggerfall-unity package for luxtorpeda was created by d10sfan, just not merged with master branch because of critical daggerfall-unity bug on Linux, a fix for which was committed by ahouts but did not get into a release yet. All software cloned on my repos is being used according to its licenses.

Daggerfall Unity for Steam Daggerfall on Linux

Since the release of The Elder Scrolls II: Daggerfall on Steam as a free game, there has been no way to launch Daggerfall Unity from Steam without obscure file manipulation or any other sorts of dances with drums. Thus I present you a guide for running Daggerfall Unity from Steam as a native game without much hassle by using a Steam Play compatibility tool called Luxtorpeda.

Installation

First, download TES II: Daggerfall on Steam and make sure that you have Steam Linux Runtime installed by running steam steam://install/1070560 command in the terminal.

Next, if you don't have it, install luxtorpeda. I would recommend installing it by using ProtonUp-Qt. You also will need to select luxtorpeda as a compatibility tool specifically for TES II: Daggerfall in the game properties.

Finally, create a file called user-packages.json in ~/.config/luxtorpeda (create the folder if you don't have it) and paste in the following code:

{
    "1812390": {
        "game_name": "The Elder Scrolls II: Daggerfall",
        "download": [
            {
                "name": "dfu_linux",
                "url": "https://github.com/holmraven/daggerfall-unity/releases/download/v0.13.5-beta_fixed/",
                "file": "dfu_linux_64bit-v0.13.5-beta_fixed.zip"
            },
            {
                "name": "daggerfall-unity-pkg",
                "url": "https://github.com/holmraven/packages/releases/download/daggerfall-unity-1/",
                "file": "daggerfall-unity-1812390-1.tar.xz"
            },
            {
                "name": "dag213",
                "url": "https://en.uesp.net/dagger/files/",
                "file": "dag213.exe"
            },
            {
                "name": "dosbox-staging",
                "url": "https://github.com/luxtorpeda-dev/packages/releases/download/dosbox-staging-15/",
                "file": "dosbox-staging-common-15.tar.xz",
                "cache_by_name": true
            }
        ],
        "download_config": {
            "dfu_linux": {
                "decode_as_zip": true,
                "extract_location": "../"
            },
            "dag213": {
            	"copy_only": true,
                "extract_location": "../"
            },
            "daggerfall-unity-pkg": {
                "extract_location": "./"
            },
            "dosbox-staging": {
                "extract_location": "./dosbox-staging"
            }
        },
        "app_ids_deps": [
            1070560
        ],
        "choices": [
            {
                "name": "Daggerfall Unity",
                "engine_name": "Daggerfall Unity",
                "command": "./run-daggerfall-unity.sh",
                "download": [
                    "dfu_linux",
                    "dag213",
                    "daggerfall-unity-pkg",
                    "dosbox-staging"
                ]
            },
            {
                "name": "dosbox-staging",
                "command": "./dosbox-staging/run-dosbox-staging.sh",
                "download": [
                    "dosbox-staging"
                ]
            }
        ],
        "use_original_command_directory": true,
        "cloudAvailable": true
    },
    "engines": {
        "Daggerfall Unity": {
            "engine_link": "https://github.com/Interkarma/daggerfall-unity",
            "version": "0.13.5",
            "author": "d10sfan",
            "author_link": "https://github.com/d10sfan",
            "license": "MIT",
            "license_link": "https://github.com/Interkarma/daggerfall-unity/blob/master/LICENSE",
            "controllerSupported": true
        },
        "dosbox-staging": {
            "engine_link": "https://github.com/dosbox-staging/dosbox-staging",
            "version": "0.78.1",
            "author": "d10sfan",
            "author_link": "https://github.com/d10sfan",
            "license": "GPLv2",
            "license_link": "https://github.com/dosbox-staging/dosbox-staging/blob/master/COPYING",
            "controllerSupportedManualGame": true
        }
   }
}

Post scriptum

Now you can run TES II: Daggerfall on Steam and select Daggerfall Unity as a launch option. You will also be prompted to install Daggerfall patches in a dosbox window, just enter y and press Enter, both two times.

{
"1812390": {
"game_name": "The Elder Scrolls II: Daggerfall",
"download": [
{
"name": "dfu_linux",
"url": "https://github.com/holmraven/daggerfall-unity/releases/download/v0.13.5-beta_fixed/",
"file": "dfu_linux_64bit-v0.13.5-beta_fixed.zip"
},
{
"name": "daggerfall-unity-pkg",
"url": "https://github.com/holmraven/packages/releases/download/daggerfall-unity-1/",
"file": "daggerfall-unity-1812390-1.tar.xz"
},
{
"name": "dag213",
"url": "https://en.uesp.net/dagger/files/",
"file": "dag213.exe"
},
{
"name": "dosbox-staging",
"url": "https://github.com/luxtorpeda-dev/packages/releases/download/dosbox-staging-15/",
"file": "dosbox-staging-common-15.tar.xz",
"cache_by_name": true
}
],
"download_config": {
"dfu_linux": {
"decode_as_zip": true,
"extract_location": "../"
},
"dag213": {
"copy_only": true,
"extract_location": "../"
},
"daggerfall-unity-pkg": {
"extract_location": "./"
},
"dosbox-staging": {
"extract_location": "./dosbox-staging"
}
},
"app_ids_deps": [
1070560
],
"choices": [
{
"name": "Daggerfall Unity",
"engine_name": "Daggerfall Unity",
"command": "./run-daggerfall-unity.sh",
"download": [
"dfu_linux",
"dag213",
"daggerfall-unity-pkg",
"dosbox-staging"
]
},
{
"name": "dosbox-staging",
"command": "./dosbox-staging/run-dosbox-staging.sh",
"download": [
"dosbox-staging"
]
}
],
"use_original_command_directory": true,
"cloudAvailable": true
},
"engines": {
"Daggerfall Unity": {
"engine_link": "https://github.com/Interkarma/daggerfall-unity",
"version": "0.13.5",
"author": "d10sfan",
"author_link": "https://github.com/d10sfan",
"license": "MIT",
"license_link": "https://github.com/Interkarma/daggerfall-unity/blob/master/LICENSE",
"controllerSupported": true
},
"dosbox-staging": {
"engine_link": "https://github.com/dosbox-staging/dosbox-staging",
"version": "0.78.1",
"author": "d10sfan",
"author_link": "https://github.com/d10sfan",
"license": "GPLv2",
"license_link": "https://github.com/dosbox-staging/dosbox-staging/blob/master/COPYING",
"controllerSupportedManualGame": true
}
}
}
@DoctorSnakes
Copy link

I was literally just looking into how to do this on Ubuntu, and luckily I find this guide that was coincidentally made a couple of days ago. Works great, thanks a lot!

@flarn2006
Copy link

flarn2006 commented Oct 3, 2022

I just set the game's Launch Options to /home/sara/Games/DaggerfallUnity/DaggerfallUnity.x86_64 #%command%. Works perfectly, and no need to install additional software. (Change the part before #%command% to the full path to your Daggerfall Unity executable.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment