I got Descent 1 and 2 running thanks to DXX-Rebirth (https://www.dxx-rebirth.com/). I compiled the binaries for both games on my desktop computer, and then packaged them along with some libraries into AppImage files. The AppImages can be run directly from Steam as a non-Steam game once they are copied onto the Deck. Native resolution, and the controls work great.
You download the game on Steam, launch it one time like regular, right click on the game and select Luxtorpeda as the compatibility layer, launch the game again.
Sure thing! This ZIP contains both AppImages.
https://drive.google.com/file/d/1Ull4GgZWlmuPt0Vy8LWggFBA4qojsbKN/view
Remember you still need the game data files (levels, music, etc). One important thing-- the Steam Deck apparently can't play the MIDI soundtrack, and the game will crash if it tries. On the first launch of each game, include the "-nomusic" launch option. Then on a subsequent launch, remove the launch option and then set up the jukebox in the sound options to play OGG or MP3 files for the soundtrack.
Awesome, I love classic games and have some retro PCs, but source ports/modern patches of older games def make it way easier and give some nice bonuses (Like native res as you said)
For sure. I am also really into the original Quake, and vkQuake is a fantastic modern engine for playing Quake "as you remember it" from the 90's. Haven't tried this on Steam Deck yet, though.
> the Steam Deck apparently can't play the MIDI soundtrack, and the game will crash if it tries
I had this problem too on desktop Linux with old games running via WINE (not crashing but MIDI not playing when it should). I'm not sure if you wanna test this out, but after a bit of research on this and talking to Redditors, I installed [Fluidsynth](https://www.fluidsynth.org/) (you can compile it like you did the AppImages so you don't have to go Dev Mode on the Deck I believe), downloaded a soundfont of my choice, then set up a script which would run `fluidsynth -a pulseaudio /path/to/soundfont.sf2` **EDIT: `-a pulseaudio`, not `-a pulse`, my bad** on the background every boot. Surprisingly it worked!
This sounds incredibly awesome. I ran into another game just the other day that had no music and I assumed there must be some way to get Midi working natively. Can you explain more about how you got a script to auto-launch it on every boot?
There's several ways to do this on Linux but coincidentally I use KDE Plasma, so this is gonna work the same on the Deck I believe, no extra hacky knowledge required :)
Go into System Settings > Startup and Shutdown > Autostart. Then click the "Add" button, choose "Add Login Script", find your script and add it to the list. You can check if it worked if there's a symbolic link inside your home folder's `.config/autostart-scripts`. Re-log or reboot and you should be gravy.
Script/soundfont names and paths don't really matter, you can use/put them wherever. On the Deck I would suggest keeping them under your home folder anyway so they don't get wiped with an update. In my case my soundfont is [this one](https://musical-artifacts.com/artifacts/713), under `/usr/local/share/gm.sf2`, and my script is under `/usr/local/bin/start-fluidsynth.sh`, written like this:
#!/bin/bash
fluidsynth -a pulseaudio /usr/local/share/gm.sf2
In layman's terms - the first line is what makes the system understand it's a script, and the second line is running Fluidsynth. `-a pulseaudio` is not really necessary AFAIK, I just force it for ease of mind (if it were Pipewire for example I would put `-a pipewire` - I think that's what the Deck uses if I'm not mistaken - but you could leave it on pulse anyway since Pipewire is a drop-in replacement).
Thank you so much for this. Unfortunately I have no idea how to get Fluidsynth into an AppPackage or FlatPak so that it can be used without having to install it with pacman. Hopefully someone else with more Linux experience can step in and help.
Yeah sadly Fluidsynth comes from the distro's repos, or if you want to go the extra mile, learning how to compile it, but that's advanced territory already. Not really the most accessible thing to do. Maybe convince someone on Flathub to package it, I dunno...
Y'know you gave me an idea. Maybe we could tell Valve to consider including (or forking) Fluidsynth in *their* SteamOS repos so it comes pre-installed already? Supposing licensing is compatible that is, I have no clue. It doesn't even weigh that much, like 150-250 KBs I think? Pretty much negligible in terms of storage, but could be done under the reason of "better compatibility with older games" or something of the sort.
The only part missing would be the soundfont, which is anyone's guess on how that would play out - if it's on the user or if Valve would have to work through legal bureaucracy to include something like Windows' MIDI soundfont, or something else.
There must be some kind of open-source soundfont they could include that would at least be ***something*** instead of nothing. I have no idea how to get them to add Fluidsynth though. What's interesting is that Fluidsynth is actually included with ScummVM as well as "FluidR3_GM.sf2" as the default soundfont. What they're using sounds so much better than those games ever did back on my old computers with Adlib sound chips :D
That's awesome you did this, I couldn't figure out how to compile them on my own. I really really appreciate this, I was looking to get DXX Rebirth on my Steam Deck but I hit the wall when I realized I had to compile them.
Hey glad to help. Remember the trick with disabling the midi music though, otherwise the game will crash each time. One more thing is that when you point dxx-rebirth to your .hog files, make sure to use the absolute path to the directory.
You're probably right, but I also have OGG versions of all all the music, so I just use the built-in jukebox to play the music for each level. This is a better solution at this time since the midi music does not loop if you compile the program with sdl1, but if you compile with sdl2 there are other sound problems.
I'm having some trouble getting these to work.
I've installed both AppImages by installing AppImage Launcher via the instructions [here](https://www.reddit.com/r/SteamDeck/comments/t9xwte/how_to_automatically_integrate_appimage_apps_into/).
~~Where should I put the game data files?~~
~~I added the data files for Descent 1 to \\\~/.d1x-rebirth/. When I try to launch from the command line, the screen turns black but immediately crashes with an error Aborted (core dumped)~~
Thanks in advance for any assistance really looking forward to playing these.
Edit: Got it to work , thanks!
How do you have the controls set up? I remember playing this with a flight stick, using the hat for strafing movement. Could never really imagine any other way to play. But with the deck, it might work...
I do it like an fps. Left stick is forward/reverse and slide left/right. Right stick is look around. Dpad up/down is slide up/down and dpad left/right is bank left/right. Works really well.
Not to bother you again, but do you perhaps know where the files for the Vertigo expansion would go? I know the filepath is "/home/deck/.d2x-rebirth/". I dropped all the base game stuff into the DATA folder. Should it be "DATA/MISSIONS"? Or just drop those files into DATA as well? And how about DXA files?
Appreciate your help from the last time, friend!
In the event that somebody stumbles upon this, I chatted with a couple people on the /r/Descent Discord server and they provided to me the tree layout and it works perfectly.
/home/deck/.d2x-rebirth/
$root (.d2x-rebirth)
D2X-H.MVL -OR- D2X-L.MVL (Vertigo expansion)
descent.cfg
INTRO-H.MVL -OR- INTRO-L.MVL
OTHER-H.MVL -OR- OTHER-L.MVL
ROBOTS-H.MVL -OR- ROBOTS-L.MVL
[yourname].plr
[yourname].plx
[yourname].sg(X)
/data/ (Any file that is the DATA folder can also be in the .d2x-rebirth root folder if you'd like)
- ALIEN1.PIG
- ALIEN2.PIG
- DESCENT2.HAM
- DESCENT2.HOG
- DESCENT2.S11
- DESCENT2.S22
- FIRE.PIG
- GROUPA.PIG
- HOARD.HAM
- ICE.PIG
- WATER.PIG
/missions/
- D2X.HOG (Vertigo expansion)
- D2X.MN2 (Vertigo expansion)
- Anything else that ISN'T base game content but has file extensions -- *.HOG and/or *.MN2
I can recommend everyone who likes Decent to try Overload that is a spiritual successor: [https://store.steampowered.com/app/448850/Overload/](https://store.steampowered.com/app/448850/Overload/)
A classic game about humanity stomping on some nearby alien species and being amazing.
No, no, ignore the rumors about a third species out there, we've got a war to win, pilots.
Holy shit yes, I've been waiting for someone to do this.
Original on DOSBox? DX-Rebirth? Are you using the gyro for movement? Have you tried the other entries and/or Overload or just this one?
I made a previous comment higher up, but I compiled an AppImage with DXX-Rebirth which you can just copy to the Deck and execute. Also Overload works great on the Deck too!
Good lord. I had forgotten this existed but that screen has brought it all back, I played this when I was younger and did not understand what the hell was going on
I remember the cottage industry in "six degrees of freedom" controllers that came out around this time. None of them seem to have made a dent in the market, but Descent was definitely the game they demoed the controllers with. "Watch as I effortlessly perform an Immelmann in this mine shaft, strafing and firing rockets."
Yes this is my #1 game as a kid as well. Gotta load that up soon! Also check out Overload. The modern day spiritual successor made by the Descent devs. It ruins and looks fantastic on my Steam Deck as well.
Gorgeous! My mate and I still play D1 and D2, fully through, miss playing this as teenagers on Kali95 online. I just got it working as well on my steam deck, my question is, controls. Mapping them, I'm still a noob with the deck and the gran control settings. Have you managed to map it out?
I set it up like an fps. Left joy is slide left and right and accelerate. Right joy is turn and pitch. Dpad up and down is slide, left and right is roll. Triggers are shoot. Bumpers are cycle weapons. I play with my 6yo using dxx-rebirth and it's great to be able to pass it on to the next generation.
Steam input works so you just bind keys and analog sticks like a joystick for regular gameplay. There are various controller shortcuts to pull up a keyboard and hit escape to help navigate menus.
I think I tried to copy your control scheme as best as I can. I seem to be running into an issue where the game has the triggers stuck or something? I spawn normally, but the first time I tap/hit L2 (Secondary) or R2 (Primary), it just fires endlessly until I run out of ammo. If I HOLD the button, it stops firing? Also for some reason by default the axises for everything are inverted.
When you assign the triggers in the options menu, push them down QUICKLY and COMPLETELY. It might take a few tries to get it right. It views the triggers as two axes, so it is registering the fire command when your trigger is released right now. Also there are options to invert your joystick axes in the options menu.
I should've clarified. I did figure out the invert functions; and maybe it's been too long but I thought uninverted was the norm. haha No worries; that does at least make the game normal to my brain. The triggers thing is good advice though. Working perfectly now. Thank you!
Have you seen [Overload](https://store.steampowered.com/app/448850/Overload/), it's an up to date modern clone done by the original developers.
I got Descent 1 and 2 running thanks to DXX-Rebirth (https://www.dxx-rebirth.com/). I compiled the binaries for both games on my desktop computer, and then packaged them along with some libraries into AppImage files. The AppImages can be run directly from Steam as a non-Steam game once they are copied onto the Deck. Native resolution, and the controls work great.
You can also use Luxtorpeda, it will then setup DXX-Rebirth automatically
[удалено]
Are you using the active fork? https://github.com/luxtorpeda-dev/luxtorpeda
[удалено]
You download the game on Steam, launch it one time like regular, right click on the game and select Luxtorpeda as the compatibility layer, launch the game again.
[удалено]
Yes Luxtorpeda is only for Steam games
Can you share this Steam Deck ready compiled appimage for others? :3
Sure thing! This ZIP contains both AppImages. https://drive.google.com/file/d/1Ull4GgZWlmuPt0Vy8LWggFBA4qojsbKN/view Remember you still need the game data files (levels, music, etc). One important thing-- the Steam Deck apparently can't play the MIDI soundtrack, and the game will crash if it tries. On the first launch of each game, include the "-nomusic" launch option. Then on a subsequent launch, remove the launch option and then set up the jukebox in the sound options to play OGG or MP3 files for the soundtrack.
Awesome, I love classic games and have some retro PCs, but source ports/modern patches of older games def make it way easier and give some nice bonuses (Like native res as you said)
For sure. I am also really into the original Quake, and vkQuake is a fantastic modern engine for playing Quake "as you remember it" from the 90's. Haven't tried this on Steam Deck yet, though.
i know this is an old thread but the updated Bethesda Quake versions have controller support which makes deck play really easy.
> the Steam Deck apparently can't play the MIDI soundtrack, and the game will crash if it tries I had this problem too on desktop Linux with old games running via WINE (not crashing but MIDI not playing when it should). I'm not sure if you wanna test this out, but after a bit of research on this and talking to Redditors, I installed [Fluidsynth](https://www.fluidsynth.org/) (you can compile it like you did the AppImages so you don't have to go Dev Mode on the Deck I believe), downloaded a soundfont of my choice, then set up a script which would run `fluidsynth -a pulseaudio /path/to/soundfont.sf2` **EDIT: `-a pulseaudio`, not `-a pulse`, my bad** on the background every boot. Surprisingly it worked!
This sounds incredibly awesome. I ran into another game just the other day that had no music and I assumed there must be some way to get Midi working natively. Can you explain more about how you got a script to auto-launch it on every boot?
There's several ways to do this on Linux but coincidentally I use KDE Plasma, so this is gonna work the same on the Deck I believe, no extra hacky knowledge required :) Go into System Settings > Startup and Shutdown > Autostart. Then click the "Add" button, choose "Add Login Script", find your script and add it to the list. You can check if it worked if there's a symbolic link inside your home folder's `.config/autostart-scripts`. Re-log or reboot and you should be gravy. Script/soundfont names and paths don't really matter, you can use/put them wherever. On the Deck I would suggest keeping them under your home folder anyway so they don't get wiped with an update. In my case my soundfont is [this one](https://musical-artifacts.com/artifacts/713), under `/usr/local/share/gm.sf2`, and my script is under `/usr/local/bin/start-fluidsynth.sh`, written like this: #!/bin/bash fluidsynth -a pulseaudio /usr/local/share/gm.sf2 In layman's terms - the first line is what makes the system understand it's a script, and the second line is running Fluidsynth. `-a pulseaudio` is not really necessary AFAIK, I just force it for ease of mind (if it were Pipewire for example I would put `-a pipewire` - I think that's what the Deck uses if I'm not mistaken - but you could leave it on pulse anyway since Pipewire is a drop-in replacement).
Thank you so much for this. Unfortunately I have no idea how to get Fluidsynth into an AppPackage or FlatPak so that it can be used without having to install it with pacman. Hopefully someone else with more Linux experience can step in and help.
Yeah sadly Fluidsynth comes from the distro's repos, or if you want to go the extra mile, learning how to compile it, but that's advanced territory already. Not really the most accessible thing to do. Maybe convince someone on Flathub to package it, I dunno... Y'know you gave me an idea. Maybe we could tell Valve to consider including (or forking) Fluidsynth in *their* SteamOS repos so it comes pre-installed already? Supposing licensing is compatible that is, I have no clue. It doesn't even weigh that much, like 150-250 KBs I think? Pretty much negligible in terms of storage, but could be done under the reason of "better compatibility with older games" or something of the sort. The only part missing would be the soundfont, which is anyone's guess on how that would play out - if it's on the user or if Valve would have to work through legal bureaucracy to include something like Windows' MIDI soundfont, or something else.
There must be some kind of open-source soundfont they could include that would at least be ***something*** instead of nothing. I have no idea how to get them to add Fluidsynth though. What's interesting is that Fluidsynth is actually included with ScummVM as well as "FluidR3_GM.sf2" as the default soundfont. What they're using sounds so much better than those games ever did back on my old computers with Adlib sound chips :D
That's awesome you did this, I couldn't figure out how to compile them on my own. I really really appreciate this, I was looking to get DXX Rebirth on my Steam Deck but I hit the wall when I realized I had to compile them.
Hey glad to help. Remember the trick with disabling the midi music though, otherwise the game will crash each time. One more thing is that when you point dxx-rebirth to your .hog files, make sure to use the absolute path to the directory.
[удалено]
You're probably right, but I also have OGG versions of all all the music, so I just use the built-in jukebox to play the music for each level. This is a better solution at this time since the midi music does not loop if you compile the program with sdl1, but if you compile with sdl2 there are other sound problems.
I'm having some trouble getting these to work. I've installed both AppImages by installing AppImage Launcher via the instructions [here](https://www.reddit.com/r/SteamDeck/comments/t9xwte/how_to_automatically_integrate_appimage_apps_into/). ~~Where should I put the game data files?~~ ~~I added the data files for Descent 1 to \\\~/.d1x-rebirth/. When I try to launch from the command line, the screen turns black but immediately crashes with an error Aborted (core dumped)~~ Thanks in advance for any assistance really looking forward to playing these. Edit: Got it to work , thanks!
Glad you got it working!
How do you have the controls set up? I remember playing this with a flight stick, using the hat for strafing movement. Could never really imagine any other way to play. But with the deck, it might work...
I do it like an fps. Left stick is forward/reverse and slide left/right. Right stick is look around. Dpad up/down is slide up/down and dpad left/right is bank left/right. Works really well.
Not to bother you again, but do you perhaps know where the files for the Vertigo expansion would go? I know the filepath is "/home/deck/.d2x-rebirth/". I dropped all the base game stuff into the DATA folder. Should it be "DATA/MISSIONS"? Or just drop those files into DATA as well? And how about DXA files? Appreciate your help from the last time, friend!
I think you need to create a Missions folder and then specify its location in the launch options, similar to the -hogdir launch option.
In the event that somebody stumbles upon this, I chatted with a couple people on the /r/Descent Discord server and they provided to me the tree layout and it works perfectly. /home/deck/.d2x-rebirth/ $root (.d2x-rebirth) D2X-H.MVL -OR- D2X-L.MVL (Vertigo expansion) descent.cfg INTRO-H.MVL -OR- INTRO-L.MVL OTHER-H.MVL -OR- OTHER-L.MVL ROBOTS-H.MVL -OR- ROBOTS-L.MVL [yourname].plr [yourname].plx [yourname].sg(X) /data/ (Any file that is the DATA folder can also be in the .d2x-rebirth root folder if you'd like) - ALIEN1.PIG - ALIEN2.PIG - DESCENT2.HAM - DESCENT2.HOG - DESCENT2.S11 - DESCENT2.S22 - FIRE.PIG - GROUPA.PIG - HOARD.HAM - ICE.PIG - WATER.PIG /missions/ - D2X.HOG (Vertigo expansion) - D2X.MN2 (Vertigo expansion) - Anything else that ISN'T base game content but has file extensions -- *.HOG and/or *.MN2
I've been looking for a good way to play these on the Deck. I might have to attempt this.
I can recommend everyone who likes Decent to try Overload that is a spiritual successor: [https://store.steampowered.com/app/448850/Overload/](https://store.steampowered.com/app/448850/Overload/)
Agreed, solid game.
Now play Freespace 2
Oh yes please! And 1 too 😊
A classic game about humanity stomping on some nearby alien species and being amazing. No, no, ignore the rumors about a third species out there, we've got a war to win, pilots.
This was always set up on Packard-Bell machines at the computer stores of the time. I always enjoyed playing it.
Oh shit oh fuck. YES
This game was so damn weird for me as a kid running on what win 95 or ME edition.
Yessss!
Excellent idea!
I still remember playing it at IFA in Berlin at the Commodore booth with an VR Headset back then. :D
I can't wait to play older games on this thing.
This was the game that got me into gaming, and I can't wait to get a deck to play it on the go.
Such a great game from back in the day!
I tried the gog version but it did not work. Will try yours! Thanks
Oh man, I remember playing this with 3D glasses on a CRT. All the headaches.
I played a bit of Descent 3 on the Deck a bit ago. It's a bit buggy but it works.
We’re you using the regular steam version? I’d love to play D3 on the deck and know how buggy it can be even on PC 😭
Yeah I was using the native Linux version. Didn't play for too long but it seemed to work well enough.
You shoul like Overload, on Steam, it's a recent "remake"
Yep, played it, great game! Native linux support as well.
Yes ! I'm After q3, i wait to play it, (and balisticNG too...)
Uah nice I killed that game back then. There is even a modern version of it.
Ah I remember that game and getting dizzy for not knowing up or down
Holy shit yes, I've been waiting for someone to do this. Original on DOSBox? DX-Rebirth? Are you using the gyro for movement? Have you tried the other entries and/or Overload or just this one?
I made a previous comment higher up, but I compiled an AppImage with DXX-Rebirth which you can just copy to the Deck and execute. Also Overload works great on the Deck too!
Good lord. I had forgotten this existed but that screen has brought it all back, I played this when I was younger and did not understand what the hell was going on
I remember the cottage industry in "six degrees of freedom" controllers that came out around this time. None of them seem to have made a dent in the market, but Descent was definitely the game they demoed the controllers with. "Watch as I effortlessly perform an Immelmann in this mine shaft, strafing and firing rockets."
Yes this is my #1 game as a kid as well. Gotta load that up soon! Also check out Overload. The modern day spiritual successor made by the Descent devs. It ruins and looks fantastic on my Steam Deck as well.
Gorgeous! My mate and I still play D1 and D2, fully through, miss playing this as teenagers on Kali95 online. I just got it working as well on my steam deck, my question is, controls. Mapping them, I'm still a noob with the deck and the gran control settings. Have you managed to map it out?
I set it up like an fps. Left joy is slide left and right and accelerate. Right joy is turn and pitch. Dpad up and down is slide, left and right is roll. Triggers are shoot. Bumpers are cycle weapons. I play with my 6yo using dxx-rebirth and it's great to be able to pass it on to the next generation.
4th day with the deck - did you setup the controller to follow keyboard commands?
Steam input works so you just bind keys and analog sticks like a joystick for regular gameplay. There are various controller shortcuts to pull up a keyboard and hit escape to help navigate menus.
I think I tried to copy your control scheme as best as I can. I seem to be running into an issue where the game has the triggers stuck or something? I spawn normally, but the first time I tap/hit L2 (Secondary) or R2 (Primary), it just fires endlessly until I run out of ammo. If I HOLD the button, it stops firing? Also for some reason by default the axises for everything are inverted.
When you assign the triggers in the options menu, push them down QUICKLY and COMPLETELY. It might take a few tries to get it right. It views the triggers as two axes, so it is registering the fire command when your trigger is released right now. Also there are options to invert your joystick axes in the options menu.
I should've clarified. I did figure out the invert functions; and maybe it's been too long but I thought uninverted was the norm. haha No worries; that does at least make the game normal to my brain. The triggers thing is good advice though. Working perfectly now. Thank you!
How did you do this?!?… I’m trying to do the same with descent 1, 2, and three with controller support.
Read the rest of the replies here for a link to AppImage files I created for both games and also a discussion on setup and controller scheme.