Open nickbailuc opened 4 days ago
Your startup log looks completely normal. The unknown event is likely SDL_CLIPBOARDUPDATE = 0x900
, which is not explicitly handled by the game's eventloop. However, one good thing is that it shows the event loop is running.
As an aside, the only unexpected thing is that your implementation does not seem to support VK_EXT_memory_budget
. I don't think this will cause problems since it's only used for the overlay stats display. Once you get things working I would like to know if you can set com_showFPS 2
in the console. I don't want the game to crash if this Vulkan extension is not supported.
Back to the original problem, the only thing I can think of is SDL which provides windowing, events, and keyboard/mouse input handling. How did you install your SDL library and what version is it?
We know the game compiles and runs fine on arm64, but is officially tested on this arch using macOS not linux. It would be cool to get this working if possible.
Your startup log looks completely normal. The unknown event is likely
SDL_CLIPBOARDUPDATE = 0x900
, which is not explicitly handled by the game's eventloop. However, one good thing is that it shows the event loop is running.As an aside, the only unexpected thing is that your implementation does not seem to support
VK_EXT_memory_budget
. I don't think this will cause problems since it's only used for the overlay stats display. Once you get things working I would like to know if you can setcom_showFPS 2
in the console. I don't want the game to crash if this Vulkan extension is not supported.Back to the original problem, the only thing I can think of is SDL which provides windowing, events, and keyboard/mouse input handling. How did you install your SDL library and what version is it?
We know the game compiles and runs fine on arm64, but is officially tested on this arch using macOS not linux. It would be cool to get this working if possible.
Here's the result of dpkg -l | grep sdl
ii libsdl1.2-dev:arm64 1.2.68-2+b1 arm64 SDL 1.2 binary compatibility library - development files
ii libsdl1.2debian:arm64 1.2.68-2+b1 arm64 SDL 1.2 binary compatibility library wrapping SDL 2.0
ii libsdl2-2.0-0:arm64 2.30.9+dfsg-1 arm64 Simple DirectMedia Layer
ii libsdl2-dev:arm64 2.30.9+dfsg-1 arm64 Simple DirectMedia Layer development files
ii libsdl2-doc 2.30.9+dfsg-1 all Reference manual for libsdl2
ii libsdl2-gfx-1.0-0:arm64 1.0.4+dfsg-5+b2 arm64 drawing and graphical effects extension for SDL2
ii libsdl2-gfx-dev:arm64 1.0.4+dfsg-5+b2 arm64 development files for SDL2_gfx
ii libsdl2-gfx-doc 1.0.4+dfsg-5 all documentation files for SDL2_gfx
ii libsdl2-image-2.0-0:arm64 2.8.2+dfsg-1+b2 arm64 Image loading library for Simple DirectMedia Layer 2, libraries
ii libsdl2-image-dev:arm64 2.8.2+dfsg-1+b2 arm64 Image loading library for Simple DirectMedia Layer 2, development files
ii libsdl2-image-tests 2.8.2+dfsg-1+b2 arm64 Image loading library for Simple DirectMedia Layer 2 - tests
ii libsdl2-mixer-2.0-0:arm64 2.8.0+dfsg-1+b3 arm64 Mixer library for Simple DirectMedia Layer 2, libraries
ii libsdl2-mixer-dev:arm64 2.8.0+dfsg-1+b3 arm64 Mixer library for Simple DirectMedia Layer 2, development files
ii libsdl2-net-2.0-0:arm64 2.2.0+dfsg-2+b2 arm64 Network library for Simple DirectMedia Layer 2, libraries
ii libsdl2-net-dev:arm64 2.2.0+dfsg-2+b2 arm64 Network library for Simple DirectMedia Layer 2, development files
ii libsdl2-tests 2.30.9+dfsg-1 arm64 Simple DirectMedia Layer automated and manual tests
ii libsdl2-ttf-2.0-0:arm64 2.22.0+dfsg-1+b1 arm64 TrueType Font library for Simple DirectMedia Layer 2, libraries
ii libsdl2-ttf-dev:arm64 2.22.0+dfsg-1+b1 arm64 TrueType Font library for Simple DirectMedia Layer 2, development files
I haven't had any issues with SDL on this system (whether the game is from Debian packages, or compiled). I'm assuming the SDL instance is probably fine, unless Doom 3 requires some bleeding edge version, or some kind of extension not provided in Debian packages.
How can I get SDL to ignore the unknown event SDL_CLIPBOARDUPDATE = 0x900
. Is there an environment variable I can try launching the game with? I was also wondering if this is an X.org issue (the game launches in Xwayland and I'm unable to force it to launch in pure Wayland). That often causes/fixes input issues as well.
The SDL version seems fine (needs to be sdl2). Unknown events are ignored by default, so no worry there.
Wayland might be an issue - I have never tried it personally, although others use it successfully. And if I understand it correctly, XWayland is an X compatibility layer on top of Wayland, so that could be something to look into.
Some suggestions for now:
SDL_Init( SDL_INIT_GAMECONTROLLER )
for game controllers. Do you have a PS4 or other game controller that you could plug in via USB? Might be worth a try.
System
Vulkan (backstory)
Since the Asahi project recently added conformant Vulkan support, I decided to compile some Vulkan games. The system runs the
vkcube
model as well as GZDoom and vkQuake perfectly, but I wanted something that actually has some nice visuals and thought of RBDOOM-3-BFG's move to Vulkan.How I installed Doom 3
Anyways, there's no aarch64-linux build of Vulkan SDK, so I first compiled Vulkan SDK, added the binaries to
$PATH
, compiled RBDOOM-3-BFG, copied thebase/
from the latest patched install ongog.com
.The problem
Launching the executable opens a window, loads the screen where you select Doom 1, 3, or 2, plays the music, but I have no mouse cursor to move around nor does it respond to any keyboard input. Given this odd platform (aarch-64-linux) I have to compile most of my games. Thus far, I haven't had any issues with other 3D games utilizing SDL and Vulkan/OpenGL, so I think the system (Mesa, Vulkan, SDL) are functioning correctly. The
stdout
produces some missing file errors, however not sure if that's causing the no input issue. I've tried the originalbase/
from GOG, as well as applying the 1.3 or 1.5 patches from Moddb (one of them didn't launch the game at all, the other launched and same no input result).stdout
Here's the
stdout
. I am determined to get this port working, so I am willing to do further tests and provide whatever info necessary.