Skip to content

Switch from X / IceWM to Wayland / Gnome shell #1868

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

Open
wants to merge 14 commits into
base: master
Choose a base branch
from

Conversation

mchf
Copy link
Contributor

@mchf mchf commented Jan 7, 2025

Problem

No problem, just willing to use Wayland and Gnome shell

Solution

  • removed IceWM package(s) and configuration
  • removed (some - see later) X related packages
  • installed gnome-shell, gnome-kiosk and other stuff
  • provided configuration for gnome-shell / gnome-kiosk

Caveats

  1. during development it turned out that Wayland / Gnome is unusable in VirtualBox. Mutter - a wayland display server used by Gnome (or some underlying piece of stack like drivers or so) terribly crashes (core dump or freeze) in 9.5 cases out of 10. Rest of the development was done in libvirtd / virt-manager and QEMU. A discussion with a SUSE's Graphical software engineer turned there were some issues with Mesa drivers. That's where those 0.5 of working cases gets from. After Christmas vacation it started working even in VirtualBox. so probably something got fixed in the meantime. However, it still behaves like frozen in VirtualBox (e.g. you cannot pick a product, click a button or do a whatever interaction with GUI - no reaction).
    Update: After some Mesa upgrades, VirtualBox works

  2. It seems that "Wayland with Gnome" in TW still needs pieces of X. At least one service / script checks for existence of /usr/bin/X. If not present, service crashes with status=6/NOTCONFIGURED. I also found some discussion in Arch Linux forum which kind of confirms that. So far it is not clear whether it can be workarounded by creating the above path manually or there is really a need of X server pieces to be present. X server however is not in dependencies of wayland packages, it has to be added manually. The workaround is in TBD state ;-)
    Update: Seems that creating /usr/bin/X manually is enough and we can get rid of X11 completely then.

  3. firefox --kiosk doesn't work in wayland - shows black screen . Confirmed on various distributions and desktop environments (not only Gnome). It was confirmed even on bare metal not only in virtualization. It could be related to https://bugzilla.mozilla.org/show_bug.cgi?id=1894338 and according to the discussion it could be fixed by a newer release of firefox. Without the --kiosk option everything works. So, check of the fix is another TBD. Last time checked against Firefox 134.0 and issue was still there. Bug on SUSE side: https://bugzilla.suse.com/show_bug.cgi?id=1236073

  4. last TBD is to check whether whole Gnome pattern is neeaded or if it is possible to pick just some packages. However, this is going to be a bit time consuming.
    Update: OS Tumbleweed received Firefox 136 and --kiosk started to work

Everything what made any sense was checked even on common OS TW with GNOME installation (so especially (2))

Testing

  • Tested manually

Screenshots

Agama installer in virt-manager running in Wayland / Gnome shell:
agama-installer-gnome-shell

@mchf mchf requested a review from imobachgs January 7, 2025 13:50
@mchf mchf force-pushed the switch-to-wayland-and-gnome-shell branch 3 times, most recently from 57949e7 to 72511ae Compare January 8, 2025 06:03
@mchf mchf force-pushed the switch-to-wayland-and-gnome-shell branch from 75b2715 to d436e14 Compare January 10, 2025 10:09
@Conan-Kudo
Copy link

What about using Weston's kiosk mode instead?

@mchf mchf force-pushed the switch-to-wayland-and-gnome-shell branch from d436e14 to 0ecfa87 Compare March 21, 2025 09:29
@mchf
Copy link
Contributor Author

mchf commented Mar 21, 2025

With latest OS Tumbleweed packages Firefox works even in --kiosk mode. Firefox 136.

@mchf mchf force-pushed the switch-to-wayland-and-gnome-shell branch 2 times, most recently from 5d74352 to 274248b Compare March 21, 2025 10:24
Copy link
Contributor

@imobachgs imobachgs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks good, let's see if we can finally make the switch. I just added a few comments.

imobachgs added a commit that referenced this pull request Apr 11, 2025
…re to run Agama (#2256)

## Problem

The PXE image is too big and it is not possible to use it on a system
with 2GiB of RAM. It must include a minimal desktop and a browser, which
takes quite some space.

However, in many situations the system can be installed remotely or
using the CLI. For those scenario, we should offer an smaller PXE image
that does not include the desktop stack.

## Solution

Split the main list of packages in two:

* Mandatory packages (basic system, kernel, Agama, etc.).
* Graphical stack (X.org, IceWM, etc.).

Additionally, the MINI image does not contain:

* GPU kernel drivers.
* Wi-Fi and Bluetooth drivers.

> [!WARNING]
> This PR conflicts with the switch to Wayland (#1868), but it can be
adapted later. The same approach still applies.
@mchf mchf force-pushed the switch-to-wayland-and-gnome-shell branch from 74656d9 to e181744 Compare April 17, 2025 07:03
@mchf mchf force-pushed the switch-to-wayland-and-gnome-shell branch from e181744 to be22285 Compare April 23, 2025 07:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants