Hello,
I couldn't find anything specific on Wayland. I tried to run Daggerfall Unity and i'm using Wayland and the program would run but I wouldn't see anything. In the terminal I could see Started on Desktop 0 at 0 x 0 by 0 hz.
I thought this might be a Wayland issue and it turns out it is? Maybe. I got Daggerfall Unity running with the following:
SDL_VIDEODRIVER=x11 ./DaggerfallUnity.x86_64
Is there anyone else runs into this issue? How to solve it?
Daggerfall Unity on Linux with Wayland
-
- Posts: 1
- Joined: Fri May 31, 2024 3:30 am
- Deepfighter
- Posts: 141
- Joined: Sun Mar 22, 2015 10:24 am
- Location: Iliac-Bay
- Contact:
Re: Daggerfall Unity on Linux with Wayland
It's a well known problem and won't be fixable for the time being (see here).
Head of the German Daggerfall translation - www.daggerfalldeutsch.de
and German translator for The Elder Scrolls V: Skyrim and Lore-Expert for The Elder Scrolls: Online
and German translator for The Elder Scrolls V: Skyrim and Lore-Expert for The Elder Scrolls: Online
-
- Posts: 1
- Joined: Mon Aug 19, 2024 7:00 am
Daggerfall Unity and Linux
So I just went through an ordeal with playing Daggerfall Unity on Linux. When I would try to start it, I would get output that it started on Desktop 0 at 0 x 0 hz. This led me down a rabbit hole but I fislope gamegured it out. It has to do with running Wayland. Daggerfall Unity doesn't seem to work with Wayland out of the box. This is easy to get past though just use XWayland. You can accomplish this by the following:
SDL_VIDEODRIVER=x11 <your daggerfall unity executable>
Just thought I would share this here if anyone else ran into this problem.
SDL_VIDEODRIVER=x11 <your daggerfall unity executable>
Just thought I would share this here if anyone else ran into this problem.
- pango
- Posts: 3463
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Daggerfall Unity on Linux with Wayland
The topic was already mentioned, merging threads.
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
- pango
- Posts: 3463
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Daggerfall Unity on Linux with Wayland
On a slightly different topic (but still about obsolescence under Linux), Unity3D 2019.4 may eventually become an issue for development under Linux, because the Editor depends on a library that's no longer even installed by recent distros, but at least that library can still be installed manually (and importantly the Unity games don't depend on it)
https://tooter.social/@pango/112873596335376669
https://tooter.social/@pango/112873596335376669
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
- pango
- Posts: 3463
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Daggerfall Unity on Linux with Wayland
Not related to Wayland, only to Linux, but I noticed that some mods (like Distant Terrain) fail with a strange exception
It turns out it's an incompatibility between old versions of mono and the new format terminfo entries. Since we don't really have the opportunity to upgrade the mono version bundled inside Unity 2019.4 player, a workaround is to define TERM to point to some terminfo entry in old format:
source
Code: Select all
System.TypeInitializationException: The type initializer for 'System.Console' threw an exception
Code: Select all
TERM=xterm ./Daggerfall\ Unity.x86_64
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
- pango
- Posts: 3463
- Joined: Wed Jul 18, 2018 6:14 pm
- Location: France
- Contact:
Re: Daggerfall Unity on Linux with Wayland
I tried setting $TERM from inside DFU as a workaround, but it doesn't seem to prevent the crash
Code: Select all
diff --git a/Assets/Game/Addons/ModSupport/ModManager.cs b/Assets/Game/Addons/ModSupport/ModManager.cs
index a4e4d68eb..3de5dd831 100644
--- a/Assets/Game/Addons/ModSupport/ModManager.cs
+++ b/Assets/Game/Addons/ModSupport/ModManager.cs
@@ -779,6 +779,12 @@ namespace DaggerfallWorkshop.Game.Utility.ModSupport
try
{
+ // Workaround for an incompatibility between the version of Mono bundled with Unity3D 2019.4 and new terminfo format
+ // That trigger an exception inside System.Console https://github.com/mono/mono/issues/6752
+#if UNITY_STANDALONE_LINUX || UNITY_EDITOR_LINUX
+ System.Environment.SetEnvironmentVariable("TERM", "xterm");
+ Debug.LogFormat("TERM forced to {0}", System.Environment.GetEnvironmentVariable("TERM"));
+#endif
assembly = Compiler.CompileSource(source, true);
return assembly;
}
Mastodon: @pango@fosstodon.org
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart
When a measure becomes a target, it ceases to be a good measure.
-- Charles Goodhart