Nested GNOME Shell without mutter-devel #4246
Replies: 5 comments 9 replies
-
|
Hi @jiesou! I'm Dosu and I’m helping the bluefin team. Currently, there's no built-in devcontainer or toolbox template for GNOME extension development in Bluefin. However, you have a few options: Recommended: Use a Fedora Toolbox Create a Fedora toolbox and install toolbox create -d fedora
toolbox enter fedora-toolbox-42
# Inside the toolbox:
sudo dnf install mutter-devkit gnome-shell gjsGUI applications from toolboxes work through Wayland/X11 socket passthrough, so running a nested GNOME Shell should work. The fedora-toolbox already includes GTK theming for basic GUI compatibility. Alternative: Custom Devcontainer You could create a Regarding bluefin-dx defaults: There's currently no For more on container-based development workflows, see the Bluefin documentation. To reply, just mention @dosu. How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other |
Beta Was this translation helpful? Give feedback.
-
|
Can you see how big the package is? Might be something to consider to add onto the image. |
Beta Was this translation helpful? Give feedback.
-
|
I concur - but
I used this script config in "scripts": {
"nested": "env SHELL_DEBUG=all GNOME_SHELL_SLOWDOWN_FACTOR=2 MUTTER_DEBUG_DUMMY_MODE_SPECS=1024x768 dbus-run-session -- gnome-shell --nested --wayland 2>&1 | tee nested.log",
...
}However, for 49+ the gnome-shell cli changed. See the tip box at https://gjs.guide/extensions/development/creating.html#wayland-sessions. But from within a distrobox based on Fedora 43 (quay.io/fedora/fedora:43-x86_64) - I am getting this: $ sudo dnf search mutter-devkit
Updating and loading repositories:
Repositories loaded.
No matches found.
It looks like $ sudo dnf repoquery -i /usr/libexec/mutter-devkit
Updating and loading repositories:
Repositories loaded.
#
# SNIP - older mutter-devel rpm versions ...
#
Name : mutter-devel
Epoch : 0
Version : 49.4
Release : 1.fc43
Architecture : x86_64
Download size : 589.1 KiB
Installed size : 5.6 MiB
Source : mutter-49.4-1.fc43.src.rpm
Repository : updates
Summary : Development package for mutter
URL : http://www.gnome.org
License : GPL-2.0-or-later
Description : Header files and libraries for developing Mutter plugins. Also includes
: utilities for testing Metacity/Mutter themes.
Vendor : Fedora ProjectI am not setup to do local bluefin-dx bootc image creation and so cannot accurately answer the dependency question raised by @castrojo . FWIW, the Is someone else setup to answer his question quickly? HEADS UP: I tried to do a |
Beta Was this translation helpful? Give feedback.
-
|
A devcontainer for GNOME development because would be distro agnostic, does anyone have one of those? |
Beta Was this translation helpful? Give feedback.
-
|
@jiesou FYI - I'll start another discussion after I get my approach more organized, but ... WARNING - do not do what I do. Please follow Jorge's advice. It's the best advice.
But in general I plan to install GNOME OS 50 Beta in a VM to test my extension for compatibility. I'll integrate source code control via a git server I have running on my LAN. Once it is working (and commits pushed) I'll pull the result back onto the bluefin-dx host and install as I have been doing with 49 and bluefin-dx. From there I'll push the merged result up to GitHub. I believe that with the skills I have, this will be the most effective way for me to get my extension ready for 50. I spent the last couple of years fighting with devcontainers for complex pre-released cpython data science use cases using CUDA support and before that I was compiling a nightly build of ziglang to create a WASM module for use in a web app. Both failed miserably with devcontainers (but not for the lack of trying) and I had to resort to roll my own distrobox to get those projects done on time ( pi day - 3/14 ;) ). Wish me luck. I'll create the discussion with a link to a wiki article containing the details (including approach rationale) and progress - just as I have done with the other experiments I have documented. As promised, please see #4261 for an article about my next experiment. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Edit: package name is mutter-devel not mutter-devkit
I'm trying to develop a GNOME extension, need a nested gnome shell, and I followed:
But, it looks like the
mutter-devkitpackage is necessary, or I will meet this:Details
I don't really want layered packages. Are there any other ways to get a nested GNOME Shell without layer
mutter-devkit?Or, can I develop GNOME extensions in a devcontainer (without huge dependencies, like even qemu) ? Is there such a template?
Or, could bluefin-dx make mutter-devkit a default?
Beta Was this translation helpful? Give feedback.
All reactions