Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
RataUnderground

The state of Doom on Linux

Recommended Posts

EDGE-Classic should be pretty easy to compile as long as you have CMake and libsdl2-dev (or your package manager's equivalent) installed

Share this post


Link to post
Posted (edited)

What would be needed to port UDB to Linux?

 

In term of launchers, there's this CLI program called twad (of which I also have a fork with some tweaks currently not working) that has many nice features, like integration with rofi and dmenu.

Edited by Antkibo

Share this post


Link to post
15 minutes ago, RataUnderground said:

(The only aspect where I consider that playing on Linux has a weak point is in the sound and midi emulation. Fluidsynth, opl and Timidity++ sound strange and foreign to me after having played for so many years in sourceports on Windows, but it is a minor complaint.)

 

If you like the default Windows MIDI synth (Microsoft GS Wavetable Synth), download RLNDGM.SF2 and configure your source port to use it with FluidSynth. Also, if the source port allows it, disable reverb and chorus for FluidSynth. The Windows synth doesn't support those features, and FluidSynth's implementation is poor.

Share this post


Link to post
40 minutes ago, RataUnderground said:

Odamex - Supported? (compiling source code, but I couldn't make it work)

Odamex runs in Linux, from DRD Team’s repository.

image.png.4beaab2b463ff6892eda2a8039d5b0fd.png

Share this post


Link to post
Posted (edited)
33 minutes ago, Antkibo said:

What would be needed to port UDB to Linux?

 

UDB is written in C# 4.8, using Windows Forms , the closest thing you can use as runtime is Mono but there are some differences.

I know someone tried that and got some errors because of said differences like in System.Drawing methods.

Share this post


Link to post
Posted (edited)
13 minutes ago, LuciferSam86 said:

 

UDB is written in C# 4.8, using Windows Forms , the closest thing you can use as runtime is Mono but there are some differences.

I know someone tried that and got some errors because of said differences like in System.Drawing methods. 

Searched a little and found this thread in Reddit about exchanging System.Drawing methods with another library like SkiaSharp. Would that be feasible here? Got no idea about C#

Share this post


Link to post

UDB is a beast and SkiaSharp is another library and a different beast from the Windows Forms.

I guess it could become a nightmare to port to another library and there might be problems with the legacy code.

Share this post


Link to post

I think I've heard people getting UDB to run under Wine or Mono or whatever but my linux knowledge isn't strong enough to figure that out (despite using it as my main OS since 2017). I use Slade's map editor but I'd jump ship immediately if I got UDB working. I use the Flatpak version and I'm stuck with 3.2.1 because the linux mint package manager hasn't updated it and this old version has a bug where the longer you have the map editor open, the slower it gets, to the point it becomes unusable after a few hours and you have to restart it. It's super annoying. A lot of this is my fault though becasue again I'm little more than a noob at the OS that I've used for several years. Still better than using Windows 10/11 tho :P

Share this post


Link to post

ChocoRenderLimits/CRL and International Doom are both Linux-compatible, but both require compiling from source using CMake. I rarely use Debian in a virtual machine, just to make sure that both ports are still compile and run on Linux, but that's about it, unfortunately.

Share this post


Link to post

Heh; I found someone more anti-Windows than me. Actually, I was more anti-Windows before

Windows XP. Back around twenty years ago, I decided to use the OS that was best suited for

whichever task I had at hand. This meant I had a hodge podge of different machines lying

around my living room each with their own OS, (Win98se, Win2kPro, WinXP and various

Linux distros). Just over ten years ago, Microsoft pulled XP from their list of supported versions.

I made sure to apply all updates to fresh installs of my SIX XP machines. I intended to just

stick to those but I then got deep into Xubuntu Linux by the next year and realized I preferred

living there. Nowadays, I have one XP machine turned on where I still use DoomBuilder 1.68

for my mapping needs and if I want to have music when running ZDaemon.

 

On my Xubuntu machines, I run NeoPaint under WINE for my main graphics editor but do

palette work using a port of an Amiga program to Linux called GrafX2. My resource

management is all on SLADE for Linux. Recently, I was doing a ZDaemon conversion of my

latest map and now am using WINE to run ZDaemon on Linux with sound but not music.

 

For playing Doom, I use the following:

Zandronum 3.1 on Linux; my primary target for my work, therefore the port I use most

generally.

LzDoom 3.88 on Linux for testing the compatibility of the same work because I find I just

don't like GzDoom.

Odamex 10.4 on Linux because it's so much improved from where it used to be. One day,

I might even target it to develop maps for it.

PrBoom-Plus v2.6.2 for Linux because I like it.

Zdoom 2.8.1 for Linux because Final stable
dsda-doom v0.27.4 for Linux because I could
Woof 11.3.0 for Linux again because I could

ZDaemon 1.10.24 for Windows under WINE in Linux

 

I'm an old curmudgeon who uses a flip phone for his daily telecommunications otherwise

known as a crazy old hermit who lives beyond the Dune Sea.

 

Share this post


Link to post

UDB is genuinely the only thing really holding me back from using Linux. It's too good for me to really let go. While my first map editor was Euerka back when I was using a Raspberry Pi as a personal computer, I doubt I'd remember anything from when I used it and it would be such a struggle for me to even get used to it after the luxury of using UDB.

Share this post


Link to post

Thanks for starting this conversation, Following as I'm interested.

 

Spoiler

 

Planning to get GZDoom installed & running on my Steam Deck this weekend as I need to take it to visit my cousin next weekend and don't want to also take my [gaming] laptop as usual.

...my laptop that I usually keep at work (mostly for web surfing & text chatting with my friends on our private Discord), which Friday evening I just wiped entirely and installed Ubuntu.  I used to dual-boot Ubuntu & keep Windows "just in case" on previous personal laptops I'd have at work (and have used Ubuntu since ~2005, a time when I had to manually run the WiFi driver every boot to get WiFi to work) so it's cool.

This is in prep for my beast PC in the future moving solely to a Linux distro when I must. To hell with Windows 11! There are several, good, reasons I will never use it on my personal computers. I doubt Win12 will be better. I keep TPM 2.0 turned off in the BIOS so while Microsoft can keep telling me it wants to force Win11 on me, it can't actually do it via any mandatory "Update & Shutdown" BS. >:-]

I'll get Win11 exposure at work when we update there.

I only ever updated my previous PC from Win7 to Win10, not because MS stopped support, because Win7 didn't support the multiple, virtual screens feature I've been loving in VR for years now.

 

All ^that^ said... I refuse to make maps these days without the AWESOME features of GZ Doom Builder.  I started making maps with DoomCAD & DEU and tried every editor back then in the 90s.  GZ Doom Builder truly feels like stepping into the sci-fi future in comparison. Map making was rough back in the day, I won't go back! (lol)

Share this post


Link to post

Small aside: I did just fire up UDB in WINE without any problem. I have no idea how well it will actually run but it open a map successfully without crashing or anything and entered 3D view.

                    I can't offer any insight otherwise because that was the first time I ever fired up UDB. 

 

Share this post


Link to post
Posted (edited)
4 minutes ago, kalensar said:

Small aside: I did just fire up UDB in WINE without any problem. I have no idea how well it will actually run but it open a map successfully without crashing or anything and entered 3D view.

                    I can't offer any insight otherwise because that was the first time I ever fired up UDB. 

 


Its very unstable, has a lot of graphical glitches and has problems generating nodes in the save process. I can't gamble with the wad files of my maps.
Small edit: My GPU its nvidia, and that can be too a source of pain in these situations.

Share this post


Link to post
Posted (edited)

I, and many other people, use UDB on Linux just fine. I used the native/mono version for a while but recently switched to running the Windows version through wine because it works better -- thanks to an old post from @Remilia Scarlet for the tip. The only step I need to take beforehand was installing dotnet 4.7.2 with winetricks. And then it's easier to test maps from UDB using windows versions of source ports, but they all run fine through wine also.

 

For the native version, to get nodebuilders working you want to delete the exe's in the Compilers/Nodebuilders directory, and then copy or symlink the Linux versions there with a .exe extension. Or with no extension and edit the nodebuilder cfg's to change the program entry to not have an exention, e.g. "zdbsp" instead of "zdbsp.exe"

Edited by plums

Share this post


Link to post
54 minutes ago, Julia Nechaevskaya said:

ChocoRenderLimits/CRL and International Doom are both Linux-compatible, but both require compiling from source using CMake. I rarely use Debian in a virtual machine, just to make sure that both ports are still compile and run on Linux, but that's about it, unfortunately.


I just compiled and tested both of them right now. Worked beautifully, so no complains for my part : ) thank you!

Share this post


Link to post
Posted (edited)

Also: Doom Retro compiles from source and runs fine for me on Linux.

Same with Eternity, it requires a few extra steps beyond most other source ports (documented on their github page) but otherwise no problems.

Share this post


Link to post
4 minutes ago, plums said:

Also: Doom Retro compiles from source and runs fine for me on Linux.

Same with Eternity, it requires a few extra steps beyond most other source ports (documented on their github page) but otherwise no problems.

+1 to Eternity. I have compiled it from source on both Void Linux and NixOS. It's pretty straightforward in that regard.

Share this post


Link to post
3 hours ago, RataUnderground said:

Slade - Supported (Flatpak)

Slade can also be compiled from source or installed from the DRD Team repo on Debian-based systems, described here. The flatpak is affected by the TEXTUREx bug described here and can result in the TEXTUREx window appearing blank, or crashing the program. I have encountered a separate bug in DRD/source-compiled versions where palette tweaking can causes crashes, but I've never been able to reproduce exactly what causes it to happen, nor am I sure if it's a bug within SLADE or a dependency.

 

UDB used via Mono has always worked fine for my Ubuntu and Pop!_OS systems, with the caveat that there is a 100% reproducible crash that I have to work around (right clicking while holding left click at the same time). Running the Windows binary releases through Wine has always been untenable to me, due to the fact that editing tag numbers via inputting with the keyboard will immediately crash, and clicking the arrows to iterate by +1 and -1 is far too tedious.

Share this post


Link to post
3 hours ago, dasho said:

EDGE-Classic should be pretty easy to compile as long as you have CMake and libsdl2-dev (or your package manager's equivalent) installed


Okay, I downloaded the source code and compiled it, and it seemed to have done well, but when trying to boot the binary, I get this error and it doesn't run. Maybe I did something wrong?

bgIDFIC.png

Share this post


Link to post
3 hours ago, ducon said:

Odamex runs in Linux, from DRD Team’s repository.

image.png.4beaab2b463ff6892eda2a8039d5b0fd.png

 

Thanks! Didn't know about that. Now its on the list.

Share this post


Link to post

re: UDB on Linux, what it really needs right now is a developer who uses Linux to dive in and fix up some things. Running it with Mono (i.e. no Wine) is very close to boing in a working state, but there are some UI bugs and crashes that need fixing up before it becomes properly usable (I've tried it several times and the issues are intrusive enough to halt the mapping process entirely unfortunately).

 

The amount of effort needed to get it working 100% is probably not as big as people think -- all the hard stuff that was blocking DB2 from being Linux-viable back in the day (e.g. switching from SlimDX to OpenGL) has been done.

Share this post


Link to post

This is a timely thread for me as I finally migrated to Linux Mint just last week and have been stumbling around trying to tweak things to my liking.  So far, I've installed both SLADE 3.2.5 and WhackEd 1.2.4 for utilities.  My favourite launcher is Doom Runner and luckily there's a native version of that which runs perfectly.  I also use Woof! as my preferred port these days and those guys supply an appimage which also works like a charm.  So, yeah, the 'basics' are taken care of but I agree that not having something like UDB is a big weakness.

 

I have an Nvidia GTX1080 ti which is a great card on windows but because of lack of drivers and, I presume, a reliance on x11 in Mint performance under Linux has been disappointing.  I can't use G-Sync without stuttering and without it I have a fair bit of screen tearing which drives me bonkers!  If I understand correctly Wayland will help with that but I'm a total noob so I may have misunderstood.  Also, as mentioned above, the MIDI does sound a bit off to me regardless of soundfont and audio in general is a bit flaky.  Sometimes it sounds like I'm listening down a ye olde telephone with a bad line.  These issues aren't peculiar to Doom but I thought I'd share my full experience as a Linux noob playing Doom.

 

So, to summarise, I have most of the software I need and most of it runs well but there are definite drawbacks regarding video and audio output and a lack of a full-featured mapping tool is a serious gap in my set up.

Share this post


Link to post
Posted (edited)
1 hour ago, RataUnderground said:


Okay, I downloaded the source code and compiled it, and it seemed to have done well, but when trying to boot the binary, I get this error and it doesn't run. Maybe I did something wrong?

bgIDFIC.png

 

Did you move the binary? The edge_defs folder that will be in the same directory that the executable is copied to (project root folder) should suffice. On my Debian box, edge-classic finds the colocated edge_defs folder just fine. EPKs are more for ease of redistribution in the case of Windows releases, but if you want to make those you can run 'cmake --build (build folder) --target GenerateEPKS'  to build the edge_defs EPK and game-specific EPKs.

Share this post


Link to post
5 hours ago, RataUnderground said:

DSDA - Supported (deb package, not the last version, kind of hidden?)

I believe there's a package the official Debian package repositories now: https://tracker.debian.org/pkg/dsda-doom (haven't tried it myself since I'm on Fedora, I just build it from source)

 

5 hours ago, RataUnderground said:

Woof - Supported (compiling source code)

This has an AppImage provided by the devs, like Nugget Doom.

Share this post


Link to post
59 minutes ago, dasho said:

 

Did you move the binary? The edge_defs folder that will be in the same directory that the executable is copied to (project root folder) should suffice. On my Debian box, edge-classic finds the colocated edge_defs folder just fine. EPKs are more for ease of redistribution in the case of Windows releases, but if you want to make those you can run 'cmake --build (build folder) --target GenerateEPKS'  to build the edge_defs EPK and game-specific EPKs.


It was something strange. I was trying to run a binary called simply edge that was in the folder I made for the build. Then, looking better, I saw that in the root of the sourceport folder the compiler had created the Edge-Classic binary and everything necessary.
It works perfectly now, but it was a moment of confusion. I don't know whether to tell you if it was my fault doing the process or what exactly happened.
In any case, thank you very much for your attention :)

 

1 hour ago, Shepardus said:

I believe there's a package the official Debian package repositories now: https://tracker.debian.org/pkg/dsda-doom (haven't tried it myself since I'm on Fedora, I just build it from source)

 

This has an AppImage provided by the devs, like Nugget Doom.


Thanks! Post updated.

Share this post


Link to post
Posted (edited)
4 hours ago, oneselfSelf said:

UDB is genuinely the only thing really holding me back from using Linux. It's too good for me to really let go. While my first map editor was Euerka back when I was using a Raspberry Pi as a personal computer, I doubt I'd remember anything from when I used it and it would be such a struggle for me to even get used to it after the luxury of using UDB. 

For me It's both UDB as well as this monitoring software (HWINFO64), I get very anxious about my PC temps while gaming without it, and so far I haven't found a good Linux equivalent. :(

Edited by Scorcher

Share this post


Link to post

Speaking as someone who is increasingly curious about Linux, but otherwise totally ignorant on it, and who also values ease of workflow: if it became possible that Ultimate Doom Builder was just "make rocket go now" on Linux, that's probably all it would take to get me to switch over. 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×