One wouldn't normally associate these together, but after encountering the pebble in the shoe for far too long, it is nice to have a 'mostly' resolution.
My first introduction to the wonders of Wayland was when I assembled my new computer based upon the Asus ProArt X670E-CREATOR WIFI motherboard (motherboard works just fine) and installed Debian Trixie with the KDE windowing system. In this install, the default rendering manager is Wayland. For a user running a single monitor and a single virtual desktop, this is probably the cat's meow.
However, having used LXDE with virtual desktops, and when ever restarting Firefox, all my multitude of FireFox windows were placed in their original positions on my multiple monitors and across my virtual desktops. Trying to do this in the world of KDE/Wayland turned out to be impossible.
My interim solution was to create a Firefox profile for each virtual desktop. At least that provided the ability to keep the windows local. It also reduced the number of windows in each profile, and accessing content was a bit snappier, as there were fewer windows. I don't know why multiple windows will slow down Firefox, but it started back in the v90's I think.
Then when I installed an NVidia RTX 5070 TI, and moved my monitors over to it, my mouse got shaky and stuttery. Some forum users suggested disconnecting and reconnecting one or more video cables may shake the problem loose. This was not a solution for me.
I was thinking that Wayland was my only option and there was no going back to X11. But yes it was possible. I simply needed to logout, choose a setting in tiny print in the lower left of the screen and select X11.
When logging in with X11, the mouse stuttering stopped.
And by happenstance, when I brought Firefox back up with all the windows, the Windows started shifting over to their original locations.
Prior to this, I didn't know: Wayland doesn’t let applications set their position, but it does allow them to set their size - so that is why I can't restore my Firefox windows to their original locations.
Wayland's positioning problem leads to a KiCad remark: KiCad's development team recently came out saying Wayland was feature poor and kind of buggy which results in their application not running well on it. Some of it due to this window placement problem.
Overall, my primary problems have disappeared, but I find that running three 4K monitors off an RTX 5070 Ti in X11 mode, everything appears a bit 'laggy'. Next weekend, I'll switch my monitors back to the on-board Video and see if the lag is more or less.
One of the reasons for moving the monitors to the NVidia card was that when monitors went into sleep mode when I was away from the computer, a few apps including a couple Wine based apps had their windows closed. Now, if I move back to the onboard video card, and retain monitor power-off, I'll see if this works.
And at the same time, maybe I can save an extra 30W that nvidia-smi says it consumes when driving my monitors.
Note, I got the NVidia card, not for gaming, but for running PyTorch/libtorch based simulations.
As a side note, there is a world of difference when running nvidia-settings when in Wayland mode and when in X11 mode.
One more reminder for myself, to use the NVidia card for monitors instead of the onboard video card, this was needed:
cat /etc/modprobe.d/nvidia.conf options nvidia-drm modeset=1
With the following note:
Setting modeset=1 doesn’t actually install a framebuffer console. All it really does is enable the DRIVER_MODESET capability flag in the nvidia-drm devices so that DRM clients can use the various modesetting APIs. In addition to allowing clients that talk to the low-level DRM interface to work, it’s also necessary for some PRIME-related interoperability features.
The downside, if you want to call it that, is that loading nvidia-drm with modeset=1 causes it to configure and initialize all GPUs immediately rather than waiting for a client to open the /dev/nvidia* device files. This means that some options that require a userspace application to configure them before the GPUs are initialized won’t work if they were already configured by nvidia-drm. The big example at the moment is SLI Mosaic, which is enabled by the X driver if /etc/X11/xorg.conf says it should be.
Resources:
- Wayland does work and does stuff people claim it can’t - long discussion of Wayland capabilities and non-capabilities
- Wayland + Firefox, can’t restore windows to correct location - others have had my problem with Firefox windows returning to position when using Wayland