Skip to content

NVIDIA proprietary / Ampere: yserver-hw and MATE start successfully, but MATE control-center windows drag poorly #32

Description

@ariel3259

Summary

I tested yserver on Void Linux with an NVIDIA RTX 3060 Ti using the proprietary NVIDIA driver. The result is more functional than I expected from the current NVIDIA proprietary warning in the README.

yserver-hw starts successfully on real hardware, and yserver-mate-hw starts a usable MATE session. xterm, Caja and general desktop interaction work.

However, some MATE applications, especially MATE Control Center / central settings panels, have visibly poor interactive window dragging. The window eventually lands where the pointer stops, but intermediate movement is not smooth.

Enabling hardware cursor with YSERVER_V2_HW_CURSOR=1 improves the general feel, but it does not fully fix the poor dragging behavior for those MATE settings/control-center windows.

Environment

  • Distribution: Void Linux

  • GPU: NVIDIA GeForce RTX 3060 Ti

  • GPU generation: Ampere

  • Driver: NVIDIA proprietary

  • NVIDIA driver version: 595.71.05

  • nvidia-drm.modeset: enabled

  • yserver commit: 0849769  

  • Rust version: 1.96.0

  • Cargo version: 1.96.0

  • Just version: 1.96.0

yserver-env-info.txt

Validation

The project builds and validates successfully:

cargo check
cargo test
cargo clippy
cargo +nightly fmt --check

All passed.

Runtime commands tested

LIBSEAT_BACKEND=seatd YSERVER_V2_HW_CURSOR=1 RUST_LOG=warn just yserver-hw
LIBSEAT_BACKEND=seatd YSERVER_V2_HW_CURSOR=1 RUST_LOG=warn just yserver-mate-hw

What works

  • yserver-hw starts on real hardware.
  • xterm clients appear.
  • yserver-mate-hw starts MATE.
  • MATE is usable.
  • Caja and xterm are usable.
  • General behavior improves when using YSERVER_V2_HW_CURSOR=1.

Remaining issue

Some MATE applications, especially MATE Control Center / central settings panels, drag poorly. The visible window movement is not smooth, although the final position follows the pointer correctly.

This looks less like raw pointer lag and more like an interactive move / repaint / Damage / Present / frame pacing issue for specific MATE/GTK windows.

Relevant log excerpt

During window dragging, yserver/libinput logged event processing lag warnings such as:

client bug: event processing lagging behind by 21ms
client bug: event processing lagging behind by 24ms
client bug: event processing lagging behind by 32ms
client bug: event processing lagging behind by 23ms
client bug: event processing lagging behind by 25ms
WARNING: log rate limit exceeded

After correcting input permissions and running with:

LIBSEAT_BACKEND=seatd YSERVER_V2_HW_CURSOR=1

general behavior improved, but the MATE Control Center drag issue remains.

Notes

This report is not claiming full NVIDIA proprietary support. I have not validated GLX_EXT_texture_from_pixmap, Compiz, or full compositor-heavy behavior.

The narrower observation is:

  • NVIDIA proprietary on Ampere can start yserver-hw and yserver-mate-hw.
  • MATE can run on real hardware.
  • Some MATE windows still expose an interactive drag/performance issue.

Void Linux / virtme note

The just yserver virtme target was not usable out of the box on Void Linux:

  • Void does not appear to package a Venus / vulkan-virtio ICD equivalent.
  • The virtme target failed Vulkan initialization because the virtual GPU did not expose the required Vulkan external memory/fence extensions.
  • Therefore, these tests were run with the real hardware target.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions