Skip to content

Conversation

Greviste
Copy link

This specific joystick model does not use Rx and Ry, which makes proton naively forward Rz as Rx and U as Ry (as it works purely off axis index). For some games that recognise the joystick, this means they will try to read the wrong axis and ignore the active ones.
This is the case for Nuclear Option, which uses Rewired for input handling. I suspect it could be the case for all games that use this library.

I made a local fix to be able to properly play, and I figured I could at least try to share it in case it helps other people too

rbernon and others added 30 commits July 17, 2024 16:40
The default behaviour for gstreamer is to use the URI to create the
stream-id. Without this, gstreamer creates a random stream-id per pad
which can cause inconsistent ordering on the decodebin src pads.

This in turn can cause issues, for example, with audio stream selection.

(cherry picked from commit 752126d)
CW-Bug-Id: #22403
(cherry picked from commit 130b97a)
CW-Bug-Id: #22403
(cherry picked from commit a48d343)
CW-Bug-Id: #22403
This fixes a deadlock that can occur when the stream-start is dropped
by the demuxer when it is in PULL mode.

CW-Bug-Id: #22403
Until it is possible to properly implement exclusive fullscreen ddraw
mode.

CW-Bug-Id: #23858
This matches what Windows does and improves the audio and video sync
if video playback is lagging.

CW-Bug-Id: #22585
This is a port of upstream e39a973.
(to avoid importing a bunch of other changes)

CW-Bug-Id: 22831
Paul Gofman and others added 28 commits August 20, 2024 16:06
(cherry picked from commit 5aad4c2)

CW-Bug-Id: #24160
…Root().

(cherry picked from commit 2957e32)

CW-Bug-Id: #24160
(cherry picked from commit 4131ba6)

CW-Bug-Id: #24160
Calling IAsyncReader_SyncRead() with 0 size may fails, but
we should not return error with 0 size, so we handle it earlier.

(cherry picked from commit 048a480)
…s_virtual_desktop().

Fix a regression from "863fd3a7 win32u: Store desktop flags in shared memory and use that in is_virtual_desktop()."

If flags is after update_serial in desktop_shm_t, then the 64-bit desktop_shm_t layout is different
from 32-bit ones, which cause 32-bit applications to access the wrong member when the 64-bit
desktop_shm_t struct gets mapped into 32-bit address space.

CW-Bug-Id: #24163
…lti-monitor systems.

If there are two monitors and the primary monitor is on the right side and virtual desktop
resolution happens to be the same as the primary monitor, then the X11 desktop window will
not have window frames and show as a fullscreen window before this patch. is_desktop_fullscreen()
should check against the monitor that it is on to decide whether to use fullscreen mode instead of
always checking against the primary monitor.

CW-Bug-Id: #24163
CW-Bug-Id: #24184
…tate change.

Windows returns all zeros in the 'value' output until the first
interaction with the gamepad.

(cherry picked from commit 4bb8b47)

CW-Bug-Id: #23892
(cherry picked from commit 54c7df1)

CW-Bug-Id: #23227
(cherry picked from commit 92e6270)
CW-Bug-Id: #24079
(cherry picked from commit 4de8345)
CW-Bug-Id: #24079
(cherry picked from commit 01bce69)
CW-Bug-Id: #24079
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.