Sharing two things from getting UT2004 ECE running with a controller on Linux (Bazzite, native x86-64 build, OldUnreal patch 3374), in case it helps others or the devs.
1. Native joystick appears dead on the SDL3 Linux backend (patch 3374)
The new SDL3 [SDLDrv.SDLClient] backend doesn't seem to implement native joystick input:
- Setting UseJoystick=True in ~/.ut2004/System/UT2004.ini (game closed) has no effect — the client rewrites it back to UseJoystick=False at startup. Confirmed the on-disk value is False while the game is running, right after setting it True with the game closed.
- The log never shows a joystick being opened, and no Joy* binds do anything.
- [WinDrv.WindowsClient] UseJoystick is Windows-only and irrelevant here.
Controller was a standard XInput pad, present in evdev and /dev/input/js0, so the pad itself is fine. If this is a known SDL3-backend limitation (or a config I'm missing), I'd love a pointer; otherwise flagging it as a possible gap in the SDL3 joystick path.
Workaround that works: launch via Steam and use Steam Input — right stick → mouse-look, left stick → movement. If the left-stick click (L3) halts movement, set the left stick Behavior to Directional Pad (bound to your movement keys) rather than "Joystick Move".
Controller mapping (Steam Input + User.ini)
This is what I ended up with — it plays well and avoids the L3 problem. Movement is on the arrow keys (left stick as a Directional Pad), so no WASD dependency. Two halves: the Steam Input layout (start from the "Keyboard (WASD) and Mouse" template, then set these), and the matching User.ini binds.
Steam Input layout:
- Left stick -> Directional Pad, bound to arrow keys (move + strafe)
- Left stick click -> None (avoids the L3 movement-halt bug)
- Right stick -> As Mouse (aim)
- Right trigger -> Mouse Left Click (fire)
- Left trigger -> Mouse Right Click (alt-fire)
- A -> Enter (Use)
- B -> Space (Jump)
- X -> Page Up (PrevWeapon)
- Y -> Page Down (NextWeapon)
- LB -> Left Ctrl
- RB -> Left Alt
- Start / Menu -> Tab (chat)
- Back / View -> Escape (menu)
Matching ~/.ut2004/System/User.ini binds (edit with the game closed — User.ini is rewritten on exit):
Up=MoveForward
Down=MoveBackward
Left=StrafeLeft
Right=StrafeRight
Enter=Use
Space=Jump
PageUp=PrevWeapon
PageDown=NextWeapon
Tab=Type
Escape=ShowMenu
Delete=LookUp
The idea is just: pick whatever key each pad button sends in your Steam Input layout, then bind that key to the UT2004 action you want in User.ini. Adjust to taste.
2. Bonus: invisible menu cursor under gamescope / Game Mode → use a borderless window
On a SteamOS-style Game Mode session (gamescope), the Steam-Input emulated mouse cursor vanished in menus and wouldn't come back (it's an upstream gamescope hide-timer issue, ValveSoftware/gamescope#1602 — emulated stick motion doesn't reset the timer).
Fix that worked without touching Steam Input or gamescope flags: run the game as a borderless window at native resolution instead of exclusive fullscreen —
[SDLDrv.SDLClient]
BorderlessWindow=True
StartupFullscreen=False
WindowedViewportX=<native width>
WindowedViewportY=<native height>
Cursor stays visible and aim is unaffected. (Raising gamescope's hide-cursor delay and using an absolute mouse_region pointer did not help; borderless did.)
Setup: native Linux build, patch 3374, 4K@60 display. Happy to provide logs/ini if useful.
For direct access use https://forums.oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com
It's been quite a while since oldunreal had an overhaul, but we are moving to another server which require some updates and changes. The biggest change is the migration of our old reliable YaBB forum to phpBB. This system expects you to login with your username and old password known from YaBB.
If you experience any problems there is also the usual "password forgotten" function. Don't forget to clear your browser cache!
If you have any further concerns feel free to contact me: Smirftsch@oldunreal.com
UT2004 — game controller and cursor fix ; Steam Input + borderless-window notes
-
keigimada
- Posts: 1
- Joined: Mon Jul 13, 2026 11:08 pm