Skip to content

Commit 7482890

Browse files
committed
add wayland init
1 parent e5a7bff commit 7482890

4 files changed

Lines changed: 45 additions & 0 deletions

File tree

README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ This container is based on [Docker Baseimage Selkies](https://github.com/linuxse
8888

8989
| Variable | Description |
9090
| :----: | --- |
91+
| PIXELFLUX_WAYLAND | **Experimental** If set to true the container will initialize in Wayland mode running [Smithay](https://github.com/Smithay/smithay) and Labwc while enabling zero copy encoding with a GPU |
9192
| CUSTOM_PORT | Internal port the container listens on for http if it needs to be swapped from the default `3000` |
9293
| CUSTOM_HTTPS_PORT | Internal port the container listens on for https if it needs to be swapped from the default `3001` |
9394
| CUSTOM_WS_PORT | Internal port the container listens on for websockets if it needs to be swapped from the default 8082 |
@@ -142,6 +143,30 @@ To launch the desktop session in a different language, set the `LC_ALL` environm
142143
* `-e LC_ALL=nl_NL.UTF-8` - Netherlands
143144
* `-e LC_ALL=it_IT.UTF-8` - Italian
144145

146+
### SealSkin Compatibility
147+
148+
This container is compatible with [SealSkin](https://github.com/linuxserver/docker-sealskin).
149+
150+
SealSkin is a self-hosted, client-server platform that provides secure authentication and collaboration features while using a browser extension to intercept user actions such as clicking a link or downloading a file and redirect them to a secure, isolated application environment running on a remote server.
151+
152+
* **SealSkin Server:** [Get it Here](https://github.com/linuxserver/docker-sealskin)
153+
* **Browser Extension:** [Install Here](https://chromewebstore.google.com/detail/sealskin-isolation/lclgfmnljgacfdpmmmjmfpdelndbbfhk)
154+
155+
### All GPU Acceleration - use sane resolutions
156+
157+
When using 3d acceleration via Nvidia DRM or DRI3 it is important to clamp the virtual display to a reasonable max resolution. This can be achieved with the environment setting:
158+
159+
* `-e MAX_RESOLUTION=3840x2160`
160+
161+
This will set the total virtual framebuffer to 4K, you can also set a manual resolution to achieve this.
162+
By default the virtual monitor in the session is 16K to support large monitors and dual display configurations. Leaving it this large has no impact on CPU based performance but costs GPU memory usage and memory bandwidth when leveraging one for acceleration. If you have performance issues in an accelerated session, try clamping the resolution to 1080p and work up from there:
163+
164+
```
165+
-e SELKIES_MANUAL_WIDTH=1920
166+
-e SELKIES_MANUAL_HEIGHT=1080
167+
-e MAX_RESOLUTION=1920x1080
168+
```
169+
145170
### DRI3 GPU Acceleration
146171

147172
For accelerated apps or games, render devices can be mounted into the container and leveraged by applications using:
@@ -569,6 +594,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
569594

570595
## Versions
571596

597+
* **28.12.25:** - Add Wayland init logic.
572598
* **31.08.25:** - Update AppImage ingestion.
573599
* **14.08.25:** - Rebase to Ubuntu Noble to ingest approved appimage.
574600
* **12.07.25:** - Rebase to Selkies, HTTPS IS NOW REQUIRED.

readme-vars.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,7 @@ init_diagram: |
109109
"bambustudio:latest" <- Base Images
110110
# changelog
111111
changelogs:
112+
- {date: "28.12.25:", desc: "Add Wayland init logic."}
112113
- {date: "31.08.25:", desc: "Update AppImage ingestion."}
113114
- {date: "14.08.25:", desc: "Rebase to Ubuntu Noble to ingest approved appimage."}
114115
- {date: "12.07.25:", desc: "Rebase to Selkies, HTTPS IS NOW REQUIRED."}

root/defaults/autostart_wayland

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Enable dark mode if defined
2+
if [ "${DARK_MODE}" = "true" ] && [ ! -f "$HOME/.config/gtk-3.0/settings.ini" ]; then
3+
mkdir -p $HOME/.config/gtk-3.0
4+
echo '[Settings]' > $HOME/.config/gtk-3.0/settings.ini
5+
echo 'gtk-application-prefer-dark-theme=1' >> $HOME/.config/gtk-3.0/settings.ini
6+
elif [ "${DARK_MODE}" != "true" ] && [ -f "$HOME/.config/gtk-3.0/settings.ini" ]; then
7+
rm -f "$HOME/.config/gtk-3.0/settings.ini"
8+
fi
9+
10+
/opt/bambustudio/AppRun

root/defaults/menu_wayland.xml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<openbox_menu xmlns="http://openbox.org/3.4/menu">
3+
<menu id="root-menu" label="MENU">
4+
<item label="foot" icon="/usr/share/icons/hicolor/48x48/apps/foot.png"><action name="Execute"><command>/usr/bin/foot</command></action></item>
5+
<item label="FireFox" icon="/usr/share/icons/hicolor/48x48/apps/firefox.png"><action name="Execute"><command>/usr/bin/firefox</command></action></item>
6+
<item label="Bambu Studio" icon="/opt/bambustudio/BambuStudio.png"><action name="Execute"><command>/opt/bambustudio/AppRun</command></action></item>
7+
</menu>
8+
</openbox_menu>

0 commit comments

Comments
 (0)