sirjuddington / SLADE

It's a Doom editor
https://slade.mancubus.net
GNU General Public License v2.0
686 stars 104 forks source link

[Linux + Wayland's lack of mouse warping functionality] Spinning in 3D preview is happening again #1595

Open JPLeBreton opened 7 months ago

JPLeBreton commented 7 months ago

SLADE Version: 3.2.4 Operating System: Linux (Manjaro, stable branch)

Issue Details: Steps to reproduce:

  1. Open a map in Slade's map editor
  2. Press Q to enter the 3D preview mode
  3. Observe: the view is looking straight down at the ground and spinning (rolling). Mouse and keyboard input can change the orientation but the spinning can't be stopped, making it impossible to work in the 3D view.

I know this has been reported and fixed a couple times already in the history of the project, but it's started happening again. Unlike one previous occurrence of it, I don't have a HiDPI display - just a standard 1920x1080 one.

I'm on a Linux system with an Nvidia GPU (535 drivers) on a GNOME desktop with the Wayland display server. Every other aspect of Slade runs flawlessly, including the 2D map editor view.

eGax commented 7 months ago

That issue was referencing MAC/OSX builds with spinning issues though. I'm not sure if it related to Linux builds.

sirjuddington commented 7 months ago

Looks like this is another one of those Wayland issues - apparently mouse pointer warping (which 3d mode mouselook relies on to work) is not implemented at all in Wayland (see https://github.com/wxWidgets/wxWidgets/issues/23778). Not sure if I can do anything about it until it's added unfortunately, as I don't think there is any other way to get mouselook to work using wxWidgets.

JPLeBreton commented 7 months ago

Looks like this is another one of those Wayland issues - apparently mouse pointer warping (which 3d mode mouselook relies on to work) is not implemented at all in Wayland (see wxWidgets/wxWidgets#23778). Not sure if I can do anything about it until it's added unfortunately, as I don't think there is any other way to get mouselook to work using wxWidgets.

Thanks for looking into this, I'll see if there's anything I can do to coax the support along upstream.

JPLeBreton commented 6 months ago

For anyone else affected by this, the relevant upstream issue to follow is this:

https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/158

The Wayland project seems to move pretty slowly with regards to adding new features, so it's unclear when this will be fixed (and then wx and various other projects will have to add code to take advantage of the Wayland feature). Until then, you can work around this by running SLADE as an xwayland application with:

GDK_BACKEND=x11 slade