New port Doom 3 (dhewm3)
-
Ooops! Sorry. It's fixed now.
-
@gderber Build is failing:
https://pastebin.com/kNCX7jqf -
@quicksilver I've updated the dependencies in the script. Please let me know how it works.
-
@gderber it works now but as you can see, without running in an x session the graphics are broken
I'd recommend adding
xorg
as a dependency and launching dhewm3 withXINIT:
. The only issue I have is that on my test setup I'm getting a connection refused error. On my personal setup the above solution works just fine. I suspect that at some point I modified the Xwrapper.config to allow all users permission. I'm not sure if this is correct way to achieve the right result. A further complication is that when dhewm3 is run viaXINIT:
, when exiting the game, it doesnt exit the X session and requires akillall xinit
to get it to close. A work around is to configure the keyboard in raspi-config to allow cntrl+alt+backspace to close an X session.But as you can see with the X window the graphics are correct
-
I've made the change to add XINIT for rpi and updated the help information. Thank you for your tips.
I still haven't decided how I want to tackle the mod. I don't like the idea of forcing it on people who don't want it, but that may be the simplest and easiest way to install it instead of creating it's own installer script.
-
@gderber maybe it's best to not do anything with the mod right now. But if the main script is accepted into RetroPie officially then we can put instructions on how to install it on the doom 3 documentation page.
-
Something else I think I'd like to do, and might make improve the odds of approval, all of these games have their configuration in
$home/.local/share/{dhemw3,openjk,openjo,rbdoom3bfg}
and in the case of dhewm3 also$home/.config/dhewm3
. I'd like to get them to use/opt/retropie/configs/ports/{dhewm3,openjk,openjo,rbdoom3bfg}
.The easy solution is a mvConfigDir which creates a symlink. I think the better solution would be to determine the right cmake configuration option (if available).
-
@gderber said in New port Doom 3 (dhewm3):
I've made the change to add XINIT for rpi and updated the help information.
Need to add xorg as a dependency if we want XINIT to work.
@mitu Sorry for the direct ping. I would value your expertise yet again. It seems XINIT doesnt work unless I modify the Xwrapper.config to allow all users permission (otherwise I get a connection refused error). Is this the correct way to do it? I tried looking at the lincity-ng.sh build script which also uses XINIT but I dont see how it gets around this issue (but maybe I dont know quite what im looking at). Thank you in advance for any insight. :)
-
I've updated the dependcies. Good catch.
-
@quicksilver said in New port Doom 3 (dhewm3):
It seems XINIT doesnt work unless I modify the Xwrapper.config to allow all users permission (otherwise I get a connection refused error). Is this the correct way to do it?
Not quite. X.org should work as regular user, granted you're running it from a regular terminal (like starting it via EmulationStation). There's no need for additional settings.
I tried looking at the lincity-ng.sh build script which also uses XINIT but I dont see how it gets around this issue
runcommand
uses theXINIT
marker to start the emulator viastartx
- see here. Same process is used for all emulators which have the running command prefixed byXINIT
.If you have an error log, post it on pastebin.com and we can see how/where it fails.
-
@mitu I restored the Xwrapper.config back to default to test and of course its still working properly. Im not sure why I was getting a connection refused error before. I have been testing on a fresh retropie install but maybe I need to wipe the card again and try from scratch to see if I can replicate the problem again.
@gderber latest build script works great btw. Minus the issue with the x server not closing properly after quitting the game (though im not sure what can be done about that).
-
@quicksilver I do wonder if we can modify the .sh file to look more like
runcommand.sh .... && kill xserver
Although there needs to be an if. We don't want to kill the xserver for people who are running a desktop environment. It's probably more complicated than it's worth, and more likely to introduce more bugs
-
If I wanted to run a particular Doom 3 mod on Retro Pie (the one in question is Phantasm Beyond 2 The Never Dead) is it a simple case of installing dhewm3 and then placing the mod in the mods folder like on a PC?
-
@aidy80-s it has to be a doom 3 mod that is compatible with the dhewm3 engine. You'll likely need to compile the dhewm3 SDK for it as well (assuming it's compatible in the first place).
-
I see this topic is old. I was trying to figure out where to put the killall xinit to shutdown the X server after dhewm3 is terminated. I ended up writing a monitor script that runs before dhewm3 and waits for the defunct process to appear and then shuts down the X server. Is there an easier way?
-
@russellb I'm not sure of the best way to solve the issue. Unfortunately it looks like the originator of the script has gone AWOL.
-
@quicksilver - the way I setup works, I just hate having a custom startup script but so be it. Bad code somewhere in dhewm3 preventing a proper shutdown.
-
@russellb as a work around I was using cntrl+alt+backspace to force close the x server after closing dhewm3.
-
@quicksilver I'm trying to see if I can get xboxdrv running with it so I can use a gamepad. Might be able to map that key sequence.
-
@quicksilver. So I didn't actually try playing it after it goes into the game. It's not recognizing the keyboard on the Pi4. Do you run it on the 4, and if so, can you share your executable?
Ugh, just did a test... with X server, it responds to keystrokes. With X server, it doesn't. Other games that use X work fine, e.g. Hurrican.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.