RataUnderground Posted May 26 (edited) It's been a while since I posted a new map, and I've unfortunately missed the dates for some community projects I joined late last year. And it's a shame, because having been mentioned in the Cacowards, I started 2024 with great desire and energy to carry out projects. A big part of this is due to one simple reason: Not wanting to waste even one more second using Windows on my personal PC, I have made a complete migration to Linux without looking back. I am an experienced Linux user, but the difference is that this time I don't even have windows in dual boot. Why has this stopped me from creating maps? The reason is simple. It is not possible to use Ultimate Doom Builder (nor GzDoom Builder, nor Doom Builder X) on Linux with my current setup. Not with the Wine compatibility layer, nor by compiling it myself, nor using a virtual machine (Each of these methods presents problems and incompatibilities that make real use impossible). The only way I've seen it be feasible (theoretically) would be to get a second graphics card and boot it into a KVM virtual machine with GPU passthrough. I don't want to create misunderstandings, my experience in Linux is fantastic and it is a step that I recommend everyone take in order to maintain some independence and some human dignity. However, it is not Linux's fault that some programs, especially those that are made without profit like UDB, understandably do not provide good support given that its users are still a minority and due to the absence of means, either human or economic. (I don't want to bother Boris or the rest of the collaborators with requests that could be a bit selfish on my part, since I understand that if UDB is not native to Linux it is mainly because none of them use this OS, but if They are interested in it, I can report in detail the problems that I have encountered, test new versions, report bugs and whatever is necessary) I could talk about the alternatives that are available in Linux such as Slade or Eureka, but although they have their virtues, as map editing applications I am simply unable to adapt to their workflow. For me, they lack absolutely essential tools and I find it so frustrating to use them that, if I had to map with them, I would abandon the hobby completely. Now I am going back to making maps using a setup that, without being ideal, is at least usable, using an old laptop running Windows. I would like to have avoided this if possible, but at the moment I don't have much of a choice. This situation has made me think about writing this thread about the situation of Doom in Linux, in order to list the status of the most important projects and applications and the support they have today, try to give information and guidance to those who also want to migrate, and encourage devs to support Linux. I invite anyone who wants to complete this information and talk about their experience. If I forget something or have said something wrong, tell me and I will add it to this header post. Everything in the following list has been tested by me personally. Sourceports supported distributed in binary form Chocolate Doom (debian, aur, apk, dnf, snaps... ) https://www.chocolate-doom.org/wiki/index.php/Installing_Chocolate_Doom_on_Linux Crispy Doom (debian repositories, aur repositories) https://github.com/fabiangreffrath/crispy-doom Doomsday (tarball, debian repositories, rpm, flatpak...) https://dengine.net/ DSDA (deb package, debian repositories) https://tracker.debian.org/pkg/dsda-doom GzDoom (deb packages, snaps, flatpak) https://zdoom.org/downloads Nugget Doom (App image) https://www.doomworld.com/forum/topic/125256-nugget-doom-310-updated-may-16th-24/ Odamex Debian packages in the DRDteam repository for it and other cool things) PrBoom+ (apt repositories, aur repositories) Woof (appimage) https://www.doomworld.com/forum/topic/112333-this-is-woof-1450-apr-30-2024/ Zandronum (tarball) https://www.doomworld.com/forum/topic/126262-zandronum-31-released/ Helion (Binary) (https://github.com/Helion-Engine/Helion) Sourceports supported distributed only in source code ChocoRenderLimits https://github.com/JNechaevsky/CRL EDGE https://github.com/edge-classic/EDGE-classic Eternity engine https://github.com/team-eternity/eternityInternational Doom https://github.com/JNechaevsky/international-doom Doom Legacy (Binary in an zip file, I couldn't get it to work despite following the instructions in the readme and despite searching and installing the libraries it asks for by hand.) Doom Retro https://github.com/bradharding/doomretro/ Editing tools Slade - Supported (Flatpak) Eureka - Supported (Snap, apt repositories, tarball) Doom Builder x- Not supported GzDoomBuilder - Not supported Ultimate Doom Builder - Not supported Launchers ZDL - Supported (Tarball) twad - Supported (cool terminal launcher, binary and sourcecode: https://github.com/zmnpl/twad ) Doom Runner (Binary) https://github.com/Youda008/DoomRunner/releases/tag/v1.8.2 ) (Also, has a flatpak, but does some weird things) Doom Launcher - Not Supported Rocket Launcher - Not Supported (Compilable, didn't test it) DSDA Launcher - Not Supported (Compilable, didn't test it) Resources: Microsoft midi soundfont https://musical-artifacts.com/artifacts/724 Threads of interest Spoiler [2024-05-26] In short, I find that the options to play are more than enough to keep any Linux user satisfied and not miss anything from the experience. (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.) Unfortunately, I think the platform is behind in terms of editor and launcher support, which for creators and modders is far from ideal. Edited June 18 by RataUnderground 21 Quote Share this post Link to post
dasho Posted May 26 EDGE-Classic should be pretty easy to compile as long as you have CMake and libsdl2-dev (or your package manager's equivalent) installed 0 Quote Share this post Link to post
Antkibo Posted May 26 (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 May 26 by Antkibo 2 Quote Share this post Link to post
ceski Posted May 26 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. 0 Quote Share this post Link to post
ducon Posted May 26 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. 4 Quote Share this post Link to post
LuciferSam86 Posted May 26 (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. Edited May 26 by LuciferSam86 0 Quote Share this post Link to post
Antkibo Posted May 26 (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# Edited May 26 by Antkibo 0 Quote Share this post Link to post
LuciferSam86 Posted May 26 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. 0 Quote Share this post Link to post
Plerb Posted May 26 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 0 Quote Share this post Link to post
Julia Nechaevskaya Posted May 26 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. 4 Quote Share this post Link to post
prfunky Posted May 26 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. 3 Quote Share this post Link to post
oneselfSelf Posted May 26 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. 3 Quote Share this post Link to post
DiavoJinx Posted May 26 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) 1 Quote Share this post Link to post
LuciferSam86 Posted May 26 AFAIK GZDB is not maintained anymore. You should switch to UDB. 1 Quote Share this post Link to post
kalensar Posted May 26 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. 1 Quote Share this post Link to post
RataUnderground Posted May 26 (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. Edited May 26 by RataUnderground 2 Quote Share this post Link to post
plums Posted May 26 (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 May 26 by plums 2 Quote Share this post Link to post
RataUnderground Posted May 26 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! 2 Quote Share this post Link to post
plums Posted May 26 (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. Edited May 26 by plums 2 Quote Share this post Link to post
Antkibo Posted May 26 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. 0 Quote Share this post Link to post
Maribo Posted May 26 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. 3 Quote Share this post Link to post
RataUnderground Posted May 26 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? 0 Quote Share this post Link to post
RataUnderground Posted May 26 3 hours ago, ducon said: Odamex runs in Linux, from DRD Team’s repository. Thanks! Didn't know about that. Now its on the list. 1 Quote Share this post Link to post
Xaser Posted May 26 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. 10 Quote Share this post Link to post
Average Posted May 26 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. 2 Quote Share this post Link to post
dasho Posted May 26 (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? 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. Edited May 26 by dasho 0 Quote Share this post Link to post
Shepardus Posted May 26 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. 4 Quote Share this post Link to post
RataUnderground Posted May 26 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. 1 Quote Share this post Link to post
Scorcher Posted May 26 (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 May 26 by Scorcher 0 Quote Share this post Link to post
Somniac Posted May 26 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. 5 Quote Share this post Link to post
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.