Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

support wlr-layer-shell #3

Open
colemickens opened this issue Dec 31, 2022 · 3 comments
Open

support wlr-layer-shell #3

colemickens opened this issue Dec 31, 2022 · 3 comments
Labels
enhancement New feature or request

Comments

@colemickens
Copy link

https://wayland.app/protocols/wlr-layer-shell-unstable-v1#zwlr_layer_shell_v1

By supporting wlr-layer-shell, vukan-shadertoy-launcher could be a wallpaper replacement for users of wlroots-based wayland compositors.

@danilw
Copy link
Owner

danilw commented Jan 1, 2023

Well, this is very interesting way to make live-wallpaper, I did not know about it.

I remember I was looking to render shaders in Gnome Desktop in Wayland - and it was actually impossible, even thru Gnome extensions, only KDE-extension in Wayland allow to render shadertoy shaders on desktop.
This shader https://www.shadertoy.com/view/NslGRN has two links for my implementation (there old Gnome3, but as I know Gnome4 has same limitations so works only in x11 Gnome3)

Speaking about your context:
wlr-layer-shell-unstable-v1#zwlr_layer_shell_v1 look like it is unstable feature?

As I mention in https://github.com/danilw/vulkan-shadertoy-launcher/blob/master/os_utils/wayland_utils.h :

// Wayland does not have stable "decoration" support, xdg-decoration not supported
// zxdg_toplevel_decoration_v1 is unstable

Reason why I have not added decoration support to Wayland - because I have not found "stable example" that works everywhere, only stable I saw was - Gnome Wayland integration, but integrating dependency from Gnome - it just explodes binary size from 50Kb to 500Kb+

I need to recheck it again, maybe there is some simple way to do correct decoration in Wayland without exploding binary and code size.

I mean I had it in "TODO", il add your request also to "future-TODO", currently im finishing/working on my other projects.

I say - I may look on to do it in next few months, ofc you can make it faster if you want to and Pull request.

Note to Pull request - only if there simple way to make it without new dependency and not exploding code, this is not wallpaper/screensaver - only if solution small I will add it to this repository.
If solution big - better make your own fork of this my vulkan-shadertoy-launcher and add all changes there, il add link to your fork to this description page.

@danilw danilw added the enhancement New feature or request label Jan 1, 2023
@danilw danilw mentioned this issue Jan 3, 2023
@theoparis
Copy link

I have figured out how to create this functionality using Qt6 and QML as a separate project. I can even set a web browser (with qt webengine) as my wallpaper 😂 I can interact with it if nothing is in the way.

I used https://invent.kde.org/plasma/layer-shell-qt along with dynamically loading a qml file that displays something. I have not tested shaders yet but considering there is a vulkan backend built into Qt6 and that I managed to get a 3d scene and a web browser working I think it is definitely possible.

I will share my repository here soon in case anyone's interested 😄

@danilw
Copy link
Owner

danilw commented Jul 15, 2023

@theoparis cool, but this my project main point is - small size, 30Kb size and almost no memory-ram usage.
I thought it "have sense" to make wayland-native-wallpaper support for reason - "no overhead".
But I have way too many other plans for now, so even if I make something for this project - it will be months latter if in this year.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants