Closed carn1x closed 2 years ago
Where did you get your copy of Raze from? Did you compile it yourself?
Where did you get your copy of Raze from? Did you compile it yourself?
Latest Linux build from https://github.com/coelckers/Raze/releases/download/1.4.1/Raze-Linux-1.4.1.zip unzipped and tried to run it. However I've since found that Raze works just fine through Steam Play / Proton, absolutely no issues. If this is an acceptable objective of the project then I'm happy to close this, since Steam Play on the Steam Deck is quite a common solution available to pretty much every Deck owner.
Having not the hardware myself, I would have to dedicate a machine to running SteamOS to diagnose this, unless it can be fixed on Arch, directly, which I doubt. I do not consider Proton the ideal solution, however I am happy that it at least works. So I think it best to leave this open, for now.
It seems, something fails to initialize as it crashes during shutdown. Please post content of ~/Raze/raze.log
file.
I've been playing Raze on my Steam Deck, and it runs perfectly after some tinkering. I just used the binary release .zip as linked above. There may be a crash on exit which I haven't tried to debug yet, but for now here's some pointers on how I got it working:
/home/deck/.config/raze
; I was testing the GoG release of Redneck Rampage, with subfolders for each game under raze
. Without some data Raze has nothing to do and will just exit (and crash as above).kdialog
via pacman
; it's not included on the system by default. You'll need to get pacman working and also re-do this with every OS update as the rootfs gets blown away. Raze needs this tool to show you the graphical launch menu.raze
executable to Steam as a non-Steam game, then in the launch options, put: KDE_FULL_SESSION=true %command%
. This tricks Raze into using kdialog
to show you the game selection menu even when the KDE desktop isn't running, otherwise it will appear to hang (I think it falls back on console input and the Steam Game Mode UI doesn't support this).Hope this helps. I'll try to debug the crash on my Deck if I get some time.
Ok, I've got a better understanding of what's happening now. There are a few things going on here that need some attention.
The crash occurs because of a null pointer dereference that occurs only when there is a joystick present on the system, and Raze exits because it can't find any game data. I've created a PR to try to address that with #688. The crash can be reproduced on any Linux system with a joystick/pad connected; it's not unique to Steam Deck.
Raze assumes that the kdialog
tool must be present on the system if KDE is running (detected via the KDE_FULL_SESSION=true
environment variable). However, SteamOS does not ship with kdialog
, so error dialogs/game selection dialogs are not shown to the user (e.g. "Unable to find any game data") if the game is launched from the Steam Deck's Desktop Mode, which is KDE. I've submitted PR #689 to try to improve the kdialog
detection, so that it can fall back on GTK dialogs if KDE is running, but kdialog
is not present.
For the current Linux release binary, if Raze is launched from Steam Deck's Game Mode, KDE_FULL_SESSION
is not set, so Raze should fall back on GTK game selection/error dialogs. However, it seems like the current Linux binary was not compiled with GTK support, because it doesn't try to dynamically load the GTK libraries and show the dialog.
Running strings raze | grep libgtk
on the current release does not return any results, whereas my custom build with GTK support returns libgtk-3.so.0
and libgtk-x11-2.0.so.0
; these are the strings the dynamic loading code uses to open the libraries: https://github.com/coelckers/Raze/blob/390cd2ca98d476952f01613a2afa866db1f6059d/source/common/platform/posix/unix/gtk_dialogs.cpp#L433
In summary, if the two PRs I've opened are merged, and the team releases a new binary with GTK support enabled, Raze should function properly in both of Steam Deck's modes without any workarounds and without having to install kdialog
(which is inconvenient on SteamOS).
Cheers, -Dale
Hi Dale (@dwhinham ),
Firstly, thank you for your excellent information and reconnaissance here, it's very much appreciated especially when none of us have a Steam Deck to do testing with.
PR #688 has been merged as I'm sure you're aware of, so thank you for that.
PR #689 I've requested a minor name change of your static function, but other than that it's good to go.
Regarding how the Linux binary is built, I believe @madame-rachelle kindly builds these for the project. I've never heard of GTK issues in the past so I'm wondering if something just went amiss for 1.4.1. Could you possibly try 1.3.0 or another release to see if they were built against GTK+? A new point release is scheduled soon so I'm sure this can be addressed.
I'm going to close this for now since it seems like once #689 is resolved and merged, everything will be sorted. Once again, our many thanks for your time and efforts.
Cheers, Mitch.
Hi Mitch! (@mjr4077au)
You are most welcome, I am more than happy to help. Raze and GZDoom are fantastic projects and are my favourite way to play Doom and Build engine games. They run buttery-smooth on the Steam Deck and the controls feel great!
Thank you for taking a look at my PRs! I can't see any review comments for #689 yet but am more than happy to make any amendments if you could highlight them over on the PR.
Re: Linux binaries - I was only able to find a Linux binary for 1.4.1 in the GitHub releases area; the older versions only seem to have binaries for Windows and macOS. If I'm looking in the wrong place, please let me know where to find the older builds and I'll test them out.
Thanks again for your reply, once again I'm glad to be of help.
Cheers! -Dale
Haha I only tagged you to make sure you got a notification, it's not too often people sign off their messages with their actual name so I wanted to make sure I replied formally 😁
I properly fixed up that review on the PR, and you're not looking in the wrong place at all; it just appears I thought there were always Linux releases but 1.4.x must have been the first release where one was offered. I'm sure the next one we can have properly built against GTK+ to facilitate fallback as you've suggested though.
No problem at all, I was just making sure you got a ping too! :laughing:
I've taken care of tweaking the PR and hopefully it will be easy enough to resolve the GTK/build issue.
Thanks! :slightly_smiling_face:
I'm having the same/similar issues with Raze on an clean install of SteamOS on my Steam Deck. In the past I was able to run Duke3D and Blood by simply running Raze with Luxtorpeda as the compatibility layer. After reinstalling my deck in desktop mode the system just freezes for a minute when trying to run raze, then the process crashes crashes and the system becomes responsive again. In gaming mode the system freezes first, then the Steam Deck restarts.
I noticed the Luxtorpeda version of Raze dates back to 2019, so i also tried the latest stand-alone build, as well as all the workarounds mentioned by @dwhinham, such as moving some game data into the .config/raze folder, (re-)installing the mentioned dependencies and setting up the launch options. No dice.
Any idea what I could do?
Raze version
1.4.1
Which game are you running with Raze?
No response
What Operating System are you using?
Linux x86_64
Please describe your specific OS version
Linux steamdeck 5.13.0-valve10.3-1-neptune-02176-g5fe416c4acd8 #1 SMP PREEMPT Wed, 23 Feb 2022 20:55:35 +0000 x86_64 GNU/Linux
Relevant hardware info
Steam Deck 256Gb UK
Have you checked that no other similar issue already exists?
A clear and concise description of what the bug is.
Executing
raze
and nothing happens. raze-crash.log is created containing:Steps to reproduce the behaviour.
Explain how to reproduce
Your configuration
Provide a Log
No response