New port Doom 3 (dhewm3)
-
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.
-
@russellb said in New port Doom 3 (dhewm3):
Ugh, just did a test... with X server, it responds to keystrokes. With X server, it doesn't.
Wait, do you mean with or without? Dhewm3 needs an x server to run without issues as it uses desktop opengl.
Does the script in the original post not work anymore?
-
@quicksilver - I kept running into issues compiling it due to 32/64-bit during cmake.
I compiled it on another machine and installed it by hand.
-
@quicksilver said in New port Doom 3 (dhewm3):
@russellb said in New port Doom 3 (dhewm3):
Ugh, just did a test... with X server, it responds to keystrokes. With X server, it doesn't.
Wait, do you mean with or without? Dhewm3 needs an x server to run without issues as it uses desktop opengl.
Does the script in the original post not work anymore?
Running it with X Server it does not respond to keyboard strokes. Graphics look great, but can't play.
I take it back... when I run it from Pixel Desktop it works. Running it from EmulationStation has the keyboard problem.
I tried on a different RetroPie install and it works, so I'm going to debug it any further.
-
@russellb i have come across the keyboard problem as well. i have it fixed i think...but im not totally sure. i still need to test
as for killing XINIT. i just made a bash script that i used mapped keys with xboxdrv that will kill it for me, so i can exit just like all the ir- core systems.
i will test later to see if my keyboard works or not
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.