Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mouse pointer does not work with some games #66

Open
tyressk opened this issue Oct 27, 2024 · 18 comments
Open

Mouse pointer does not work with some games #66

tyressk opened this issue Oct 27, 2024 · 18 comments

Comments

@tyressk
Copy link

tyressk commented Oct 27, 2024

In games where there is a mouse pointer which can be used to select a menu option for example, there are some issues with the cursor (using Niri as compositor)

For example:

Borderlands 3 - hovering over any menu items does not select it
Supermarket Together - focuses on things on the right side of the screen (language selection) even when you are focusing on the left "New Game" menu items, etc, so it becomes impossible to play the game

The cursor works ok on Gnome

@Supreeeme
Copy link
Owner

Hmm, this sounds like the output positioning issues. Are you using the latest git commit? There have been quite a few fixes since 0.4.

@tyressk
Copy link
Author

tyressk commented Oct 27, 2024

Yes @Supreeeme , git log says I'm on commit 67efa2c . I also did cargo clean just in case. I could have sworn the Borderlands 3 menu clicking worked before a recent git pull, but I went through the past commits after 0.4 and couldn't make it work on any of them

@Supreeeme
Copy link
Owner

Could you run satellite with RUST_LOG=1 and post the log while running those games?

@tyressk
Copy link
Author

tyressk commented Oct 27, 2024

Sure, this is the output for both games. Both start when RUST_LOG=1 cargo run was called, game was started from launcher, and run until the first menu (where the mouse cursor can't click some items)

Borderlands 3: https://gist.github.com/tyressk/e11013737d3cbe418b7002c657fb8b7e

For Supermarket Together:

2024-10-27T19:29:51.395Z INFO  xwayland_satellite > Connected to Xwayland on :0
 2024-10-27T19:29:51.404Z INFO  xwayland_process   > The XKEYBOARD keymap compiler (xkbcomp) reports:
 2024-10-27T19:29:51.404Z INFO  xwayland_process   > > Warning:          Unsupported maximum keycode 708, clipping.
 2024-10-27T19:29:51.404Z INFO  xwayland_process   > >                   X11 cannot support keycodes above 255.
 2024-10-27T19:29:51.405Z INFO  xwayland_process   > > Warning:          Could not resolve keysym XF86KbdInputAssistPrevgrou
 2024-10-27T19:29:51.405Z INFO  xwayland_process   > > Warning:          Could not resolve keysym XF86KbdInputAssistNextgrou
 2024-10-27T19:29:51.406Z INFO  xwayland_process   > Errors from xkbcomp are not fatal to the X server
 2024-10-27T19:29:56.359Z INFO  xwayland_process   > The XKEYBOARD keymap compiler (xkbcomp) reports:
 2024-10-27T19:29:56.359Z INFO  xwayland_process   > > Warning:          Unsupported maximum keycode 708, clipping.
 2024-10-27T19:29:56.359Z INFO  xwayland_process   > >                   X11 cannot support keycodes above 255.
 2024-10-27T19:29:56.359Z INFO  xwayland_process   > > Warning:          Could not resolve keysym XF86KbdInputAssistPrevgrou
 2024-10-27T19:29:56.359Z INFO  xwayland_process   > > Warning:          Could not resolve keysym XF86KbdInputAssistNextgrou
 2024-10-27T19:29:56.360Z INFO  xwayland_process   > Errors from xkbcomp are not fatal to the X server
 2024-10-27T19:29:56.370Z INFO  xwayland_process   > The XKEYBOARD keymap compiler (xkbcomp) reports:
 2024-10-27T19:29:56.370Z INFO  xwayland_process   > > Warning:          Unsupported maximum keycode 708, clipping.
 2024-10-27T19:29:56.370Z INFO  xwayland_process   > >                   X11 cannot support keycodes above 255.
 2024-10-27T19:29:56.371Z INFO  xwayland_process   > Errors from xkbcomp are not fatal to the X server
 2024-10-27T19:29:57.683Z INFO  xwayland_process   > The XKEYBOARD keymap compiler (xkbcomp) reports:
 2024-10-27T19:29:57.683Z INFO  xwayland_process   > > Warning:          Unsupported maximum keycode 708, clipping.
 2024-10-27T19:29:57.683Z INFO  xwayland_process   > >                   X11 cannot support keycodes above 255.
 2024-10-27T19:29:57.684Z INFO  xwayland_process   > > Warning:          Could not resolve keysym XF86KbdInputAssistPrevgrou
 2024-10-27T19:29:57.684Z INFO  xwayland_process   > > Warning:          Could not resolve keysym XF86KbdInputAssistNextgrou
 2024-10-27T19:29:57.684Z INFO  xwayland_process   > Errors from xkbcomp are not fatal to the X server
 2024-10-27T19:29:57.718Z INFO  xwayland_process   > The XKEYBOARD keymap compiler (xkbcomp) reports:
 2024-10-27T19:29:57.718Z INFO  xwayland_process   > > Warning:          Unsupported maximum keycode 708, clipping.
 2024-10-27T19:29:57.718Z INFO  xwayland_process   > >                   X11 cannot support keycodes above 255.
 2024-10-27T19:29:57.719Z INFO  xwayland_process   > Errors from xkbcomp are not fatal to the X server
 2024-10-27T19:29:58.423Z INFO  xwayland_process   > The XKEYBOARD keymap compiler (xkbcomp) reports:
 2024-10-27T19:29:58.423Z INFO  xwayland_process   > > Warning:          Unsupported maximum keycode 708, clipping.
 2024-10-27T19:29:58.423Z INFO  xwayland_process   > >                   X11 cannot support keycodes above 255.
 2024-10-27T19:29:58.424Z INFO  xwayland_process   > > Warning:          Could not resolve keysym XF86KbdInputAssistPrevgrou
 2024-10-27T19:29:58.424Z INFO  xwayland_process   > > Warning:          Could not resolve keysym XF86KbdInputAssistNextgrou
 2024-10-27T19:29:58.424Z INFO  xwayland_process   > Errors from xkbcomp are not fatal to the X server
 2024-10-27T19:29:58.436Z INFO  xwayland_process   > The XKEYBOARD keymap compiler (xkbcomp) reports:
 2024-10-27T19:29:58.436Z INFO  xwayland_process   > > Warning:          Unsupported maximum keycode 708, clipping.
 2024-10-27T19:29:58.436Z INFO  xwayland_process   > >                   X11 cannot support keycodes above 255.
 2024-10-27T19:29:58.437Z INFO  xwayland_process   > Errors from xkbcomp are not fatal to the X server
 2024-10-27T19:30:02.305Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1428 }
 2024-10-27T19:30:02.305Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: WmCapabilities { capabilities: [3, 0, 0, 0] }
 2024-10-27T19:30:02.308Z WARN  xwayland_satellite::server        > Non popup (Some(Toplevel(Some(ToplevelData { toplevel: XdgToplevel { id: ObjectId(xdg_toplevel@29, 31), version: 6, data: Some(ObjectData { .. }), backend: WeakBackend { inner: WeakInnerBackend { state: (Weak) } } }, xdg: XdgSurfaceData { surface: XdgSurface { id: ObjectId(xdg_surface@28, 30), version: 6, data: Some(ObjectData { .. }), backend: WeakBackend { inner: WeakInnerBackend { state: (Weak) } } }, configured: true, pending: None }, fullscreen: false })))) being reconfigured, behavior may be off.
 2024-10-27T19:30:02.313Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1430 }
 2024-10-27T19:30:07.310Z WARN  xwayland_satellite::xstate        > unrecognized message: Atom { res_id: 252 }
 2024-10-27T19:30:07.310Z WARN  xwayland_satellite::xstate        > unrecognized message: Atom { res_id: 252 }
 2024-10-27T19:30:07.310Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1428 }
 2024-10-27T19:30:07.310Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: WmCapabilities { capabilities: [3, 0, 0, 0] }
 2024-10-27T19:30:07.320Z WARN  xwayland_satellite::server        > Non popup (Some(Toplevel(Some(ToplevelData { toplevel: XdgToplevel { id: ObjectId(xdg_toplevel@114, 125), version: 6, data: Some(ObjectData { .. }), backend: WeakBackend { inner: WeakInnerBackend { state: (Weak) } } }, xdg: XdgSurfaceData { surface: XdgSurface { id: ObjectId(xdg_surface@113, 124), version: 6, data: Some(ObjectData { .. }), backend: WeakBackend { inner: WeakInnerBackend { state: (Weak) } } }, configured: true, pending: None }, fullscreen: false })))) being reconfigured, behavior may be off.
 2024-10-27T19:30:14.904Z WARN  xwayland_satellite::xstate        > unrecognized message: Atom { res_id: 252 }
 2024-10-27T19:30:14.904Z WARN  xwayland_satellite::xstate        > unrecognized message: Atom { res_id: 252 }
 2024-10-27T19:30:14.904Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1428 }
 2024-10-27T19:30:14.904Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: WmCapabilities { capabilities: [3, 0, 0, 0] }
 2024-10-27T19:30:16.739Z WARN  xwayland_satellite::xstate        > unrecognized message: Atom { res_id: 252 }
 2024-10-27T19:30:17.671Z WARN  xwayland_satellite::xstate        > unrecognized message: Atom { res_id: 252 }
 2024-10-27T19:30:17.671Z WARN  xwayland_satellite::xstate        > unrecognized message: Atom { res_id: 252 }
 2024-10-27T19:30:17.671Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1428 }
 2024-10-27T19:30:17.671Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: WmCapabilities { capabilities: [3, 0, 0, 0] }
 2024-10-27T19:30:17.681Z WARN  xwayland_satellite::server        > Non popup (Some(Toplevel(Some(ToplevelData { toplevel: XdgToplevel { id: ObjectId(xdg_toplevel@42, 182), version: 6, data: Some(ObjectData { .. }), backend: WeakBackend { inner: WeakInnerBackend { state: (Weak) } } }, xdg: XdgSurfaceData { surface: XdgSurface { id: ObjectId(xdg_surface@38, 181), version: 6, data: Some(ObjectData { .. }), backend: WeakBackend { inner: WeakInnerBackend { state: (Weak) } } }, configured: true, pending: None }, fullscreen: false })))) being reconfigured, behavior may be off.
 2024-10-27T19:30:27.726Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1428 }
 2024-10-27T19:30:27.726Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: WmCapabilities { capabilities: [3, 0, 0, 0] }
 2024-10-27T19:30:31.282Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1430 }
 2024-10-27T19:30:31.290Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1430 }
 2024-10-27T19:30:39.761Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1428 }
 2024-10-27T19:30:39.769Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1428 }
 2024-10-27T19:30:40.512Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1430 }
 2024-10-27T19:30:40.520Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1430 }
 2024-10-27T19:30:42.787Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1428 }
 2024-10-27T19:30:42.790Z WARN  xwayland_satellite::server::event > unhandled xdgtoplevel event: ConfigureBounds { width: 2522, height: 1428 }

@Supreeeme
Copy link
Owner

Sorry lol, I actually meant RUST_LOG=debug.

@tyressk
Copy link
Author

tyressk commented Oct 28, 2024

haha no prob, I actually saw there wasn't a difference without RUST_LOG=1 but just wanted to do what you said 🤷

Supermarket Together: https://gist.github.com/tyressk/d50836af0f6268b072b6dd30bf88c656
Borderlands 3: https://gist.github.com/tyressk/c5696a164080dd377b3cfceb495b0d97

@Supreeeme
Copy link
Owner

Can you post the output of niri msg outputs?

@tyressk
Copy link
Author

tyressk commented Oct 29, 2024

Sure here it is:

Output "BOE 0x0A9B Unknown" (eDP-1)
  Current mode: 2560x1600 @ 165.004 Hz (preferred)
  Variable refresh rate: supported, disabled
  Physical size: 340x210 mm
  Logical position: 2560, 0
  Logical size: 2560x1600
  Scale: 1
  Transform: normal
  Available modes:
    [email protected] (current, preferred)
    [email protected] (preferred)
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]
    [email protected]

@Supreeeme
Copy link
Owner

Does it still happen if you move your display to position 0,0?

@tyressk
Copy link
Author

tyressk commented Oct 30, 2024

@Supreeeme ohh, that worked. I don't have the issue when my monitor is in position 0,0

@Supreeeme
Copy link
Owner

Does it happen again if you move the monitor back to where it was? (2560, 0)

@Supreeeme
Copy link
Owner

May be related to #58

@tyressk
Copy link
Author

tyressk commented Nov 6, 2024

Yup it definitely happens again if the monitor is moved back to that

@Supreeeme
Copy link
Owner

Is it only those two games or is it everything?

@tyressk
Copy link
Author

tyressk commented Nov 7, 2024

Actually might be all games? But since this only involves the mouse pointer, if a game allows any other input device such as a controller or keyboard and you use those, you won't really notice a problem

@odomingao
Copy link

odomingao commented Nov 18, 2024

I'm having the same issue on 0.5-2. Monitor is at position 0x0, but I'm on Hyprland.

Using a keyboard shortcut and clicking around sometimes fixes it temporarily

@Supreeeme
Copy link
Owner

@odomingao @tyressk Could you guys check if the latest commit affects this at all?

@odomingao
Copy link

I'm still having the issue.

Also, it seems like the latest version of wine in arch completely breaks it (e.g. cursor doesn't work at all).. wine 9.21-1 still somewhat works fine for the app I'm testing if I do the workaround I mentioned before, though it's a bit buggy.

Not sure if it helps, but the app I'm running here isn't a game and isn't on fullscreen, it's a windows-only .NET app.

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

No branches or pull requests

3 participants