Skip to content

Conversation

@thelamer
Copy link
Member

These are the needed files for wayland mode to function properly. In general openbox and labwc format is compatible so this is not strictly needed but stuff like using foot instead of xterm and app by app variables needed for native wayland support vs xwayland it is better to have them in their own files.

This can be tested with:

docker run --rm -it --shm-size=1gb -p 3001:3001 -e PIXELFLUX_WAYLAND=true lsiodev/chromium bash

Zero copy AMD/Intel:

docker run --rm -it --shm-size=1gb -p 3001:3001 -e PIXELFLUX_WAYLAND=true --device /dev/dri:/dev/dri lsiodev/chromium bash

Zero copy Nvidia:

docker run --rm -it --shm-size=1gb -p 3001:3001 -e PIXELFLUX_WAYLAND=true --runtime nvidia --gpus all  lsiodev/chromium  bash

Labwc always shows the decorations on launch, down the line this can be disabled at the DE level but you can right click the bar and disable use system title bars.

Known wayland issues:

  1. wl-copy and paste is slow and clipboard operations are sync right now (pending next release) so when refocusing into the tab you have to click a couple times before it responds to actions.
  2. The cursor rendering is a placeholder for now as I cannot reliably get the cursor off of smithay
  3. Resizing the window with a fullscreen high motion thing running in nvidia zero copy can make the chromium window go black, the session is alive and it can be closed and re-opened. This does not occur on intel or amd in my testing.
  4. Changing video setting without firing a resize can cause clipping until another resize event.

This massively increases performance on systems with a GPU and sees a good uptick without one as well due to the nature of the new rendering pipelines, controlling the framebuffer, and being able to manage a dmabuf on an egl device. This translates to native performance as the screen is being rendered exactly like it would if it was plugged into a monitor and the encoding occurs on the card in a minimal memory copy manner. It also means we are not using an unknown path for 3d acceleration under Linux this works just like a real desktop despite it being a virtual framebuffer. So no hacks for zink support or patching of a software framebuffer.

For example here is an N97 running at 80 fps 1080p:

2025-12-20_11-58-47.mp4

@thelamer thelamer requested a review from a team December 20, 2025 17:07
@LinuxServer-CI LinuxServer-CI moved this from PRs to PRs Ready For Team Review in Issue & PR Tracker Dec 20, 2025
@LinuxServer-CI
Copy link
Collaborator

I am a bot, here are the test results for this PR:
https://ci-tests.linuxserver.io/lspipepr/chromium/3778308c-pkg-3778308c-dev-eea7ef80c5d85d57e13cb3f70e058e2b63181803-pr-67/index.html
https://ci-tests.linuxserver.io/lspipepr/chromium/3778308c-pkg-3778308c-dev-eea7ef80c5d85d57e13cb3f70e058e2b63181803-pr-67/shellcheck-result.xml

Tag Passed
amd64-3778308c-pkg-3778308c-dev-eea7ef80c5d85d57e13cb3f70e058e2b63181803-pr-67
arm64v8-3778308c-pkg-3778308c-dev-eea7ef80c5d85d57e13cb3f70e058e2b63181803-pr-67

@github-project-automation github-project-automation bot moved this from PRs Ready For Team Review to PRs Approved in Issue & PR Tracker Dec 20, 2025
@thelamer thelamer merged commit 85e02c8 into master Dec 20, 2025
6 checks passed
@LinuxServer-CI LinuxServer-CI moved this from PRs Approved to Done in Issue & PR Tracker Dec 20, 2025
@thelamer thelamer deleted the wayland branch December 20, 2025 17:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Development

Successfully merging this pull request may close these issues.

4 participants