World of Warcraft: Difference between revisions

From Pengwings
No edit summary
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
WoW 3.3.5a mostly works with Proton. but mouse camera movement is borked for all monitors except the primary monitor (camera of chaos). Video: https://www.youtube.com/watch?v=zl-WrmCkNsY
WoW 3.3.5a mostly works with Proton. Environment variable PROTON_FORCE_LARGE_ADDRESS_AWARE=1 must be set to allow LAA and avoid Dalaran and DBM crashes.


Borked behaviour occurred with Proton-GE, Proton Experimental and Wine-GE so it seems to impact most of the common Wine/Proton variants.
Initial window sizing seems to be borked on GE-Proton10-29. This issue does not occur with GE-Proton9-27. Game should have "Use Hardware Cursor" selected to avoid mouse acceleration problems.
 
=== Mouse Camera Bug ===
Unfortunately, mouse camera movement is borked for all monitors except the primary monitor (camera of chaos). Video: https://www.youtube.com/watch?v=zl-WrmCkNsY
 
This appears to be caused by some issue with the way the X11 window and mouse cursor positions are being handled in Wine, possibly related to XWayland shenanigans.
 
Borked behaviour occurs with Proton-GE, Proton Experimental, Proton-EM and Wine-GE so it seems to impact most of the common Wine/Proton variants.


Here are some workaround options, although all of them suck in their own ways, none of them give native behaviour like on Windows.
Here are some workaround options, although all of them suck in their own ways, none of them give native behaviour like on Windows.


==== Gamescope ====
==== Gamescope ====
This option is to run the game inside Valve's gamescope compositor. This does work to resolve the camera issue, but you don't get clipboard, which is annoying when trying to copy-paste your login password from your password manager. The window also can't be dynamically resized under gamescope, resulting in incorrect font sizing, letterboxing or pillarboxing.
This option is to run the game inside Valve's gamescope compositor, documented here: [[Run a game using gamescope]].
 
This does work to resolve the camera issue, but you don't get clipboard, which is annoying when trying to copy-paste your login password from your password manager. The window also can't be dynamically resized under gamescope because it emulates a fixed size display. This results in incorrect font sizing, letterboxing or pillarboxing (depending on what options you set for scaling).
 
Using gamescope requires "Use Hardware Cursor" to be unticked to prevent the cursor disappearing. Doing this causes the cursor to get captured upon clicking in the window.


==== Gamescope with clipboard ====
==== Gamescope with clipboard ====
If you want clipboard, pass:
Gamescope clipboard only works in SDL backend at the moment. Using the SDL backend therefore fixes the clipboard. You also have to tell the SDL backend to use Wayland for windowing.
 
Pass this additional command line argument to gamescope:
  --backend sdl
  --backend sdl


Line 15: Line 28:
  SDL_VIDEODRIVER=wayland
  SDL_VIDEODRIVER=wayland


Unfortunately this causes the OS mouse cursor to be rendered over the top of the regular cursor.
Camera and clipboard both work now!
 
Unfortunately, this causes the OS mouse cursor to be rendered over the top of the regular cursor. Ugh!


==== PROTON_ENABLE_WAYLAND ====
==== PROTON_ENABLE_WAYLAND ====
You can force Proton to use Wayland by setting env var:
You can force Proton to use Wayland directly rather than going through XWayland by setting this env var:
  PROTON_ENABLE_WAYLAND=1
  PROTON_ENABLE_WAYLAND=1
Unfortunately this breaks the window border; you get a Wine-rendered border and the window can't be moved or resized properly. This setting is therefore only useful if you want to play in borderless windowed mode.
This fixes the cursor issue, the clipboard works, and the mouse cursor visibility is also correct. Unfortunately the Wayland implementation in Proton is unfinished - using PROTON_ENABLE_WAYLAND breaks the window border and you get a Wine-rendered border instead. The window then can't be moved or resized properly. The only practical option when using PROTON_ENABLE_WAYLAND is to run the game in borderless windowed mode, then you can move the window between monitors using Win+Shift+Arrow without the camera breaking. It's no good if you want to run in regular windowed mode sadly. Possibly this will improve once Wayland implementation in Proton is actually finished.
 
==== /console rawMouseEnable 1 ====
Sadly not able to test to see if this fixes the issue, because this setting wasn't added until 7.1.0 client version.
 
==== Change primary monitor before launching game, change it back after ====
This fixes the issue without having to do any other shenanigans, you'll end up with the game on the desired monitor and the camera works, but you still can't move the window between monitors.

Latest revision as of 17:01, 13 February 2026

WoW 3.3.5a mostly works with Proton. Environment variable PROTON_FORCE_LARGE_ADDRESS_AWARE=1 must be set to allow LAA and avoid Dalaran and DBM crashes.

Initial window sizing seems to be borked on GE-Proton10-29. This issue does not occur with GE-Proton9-27. Game should have "Use Hardware Cursor" selected to avoid mouse acceleration problems.

Mouse Camera Bug

Unfortunately, mouse camera movement is borked for all monitors except the primary monitor (camera of chaos). Video: https://www.youtube.com/watch?v=zl-WrmCkNsY

This appears to be caused by some issue with the way the X11 window and mouse cursor positions are being handled in Wine, possibly related to XWayland shenanigans.

Borked behaviour occurs with Proton-GE, Proton Experimental, Proton-EM and Wine-GE so it seems to impact most of the common Wine/Proton variants.

Here are some workaround options, although all of them suck in their own ways, none of them give native behaviour like on Windows.

Gamescope

This option is to run the game inside Valve's gamescope compositor, documented here: Run a game using gamescope.

This does work to resolve the camera issue, but you don't get clipboard, which is annoying when trying to copy-paste your login password from your password manager. The window also can't be dynamically resized under gamescope because it emulates a fixed size display. This results in incorrect font sizing, letterboxing or pillarboxing (depending on what options you set for scaling).

Using gamescope requires "Use Hardware Cursor" to be unticked to prevent the cursor disappearing. Doing this causes the cursor to get captured upon clicking in the window.

Gamescope with clipboard

Gamescope clipboard only works in SDL backend at the moment. Using the SDL backend therefore fixes the clipboard. You also have to tell the SDL backend to use Wayland for windowing.

Pass this additional command line argument to gamescope:

--backend sdl

You also need to run it with this env var:

SDL_VIDEODRIVER=wayland

Camera and clipboard both work now!

Unfortunately, this causes the OS mouse cursor to be rendered over the top of the regular cursor. Ugh!

PROTON_ENABLE_WAYLAND

You can force Proton to use Wayland directly rather than going through XWayland by setting this env var:

PROTON_ENABLE_WAYLAND=1

This fixes the cursor issue, the clipboard works, and the mouse cursor visibility is also correct. Unfortunately the Wayland implementation in Proton is unfinished - using PROTON_ENABLE_WAYLAND breaks the window border and you get a Wine-rendered border instead. The window then can't be moved or resized properly. The only practical option when using PROTON_ENABLE_WAYLAND is to run the game in borderless windowed mode, then you can move the window between monitors using Win+Shift+Arrow without the camera breaking. It's no good if you want to run in regular windowed mode sadly. Possibly this will improve once Wayland implementation in Proton is actually finished.

/console rawMouseEnable 1

Sadly not able to test to see if this fixes the issue, because this setting wasn't added until 7.1.0 client version.

Change primary monitor before launching game, change it back after

This fixes the issue without having to do any other shenanigans, you'll end up with the game on the desired monitor and the camera works, but you still can't move the window between monitors.