Skip to content

wayblueorg/wayblue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Notice: These images are considered beta.

wayblue

wayblue Discord

This repo takes the BlueBuild template and builds out minimally-opinionated Fedora Atomic operating system images for the following wayland compositors:

  • wayfire (with wf-shell)
  • hyprland (with waybar)
  • sway (with waybar)
  • river (with waybar)

What

Changes and decisions in the images:

  • Set saner SDDM defaults
  • Set saner wf-shell defaults
  • Set saner waybar defaults
  • Add a reasonable suite of tools that are needed to have a working desktop with a wayland compositor
  • Build in a minimally opinionated config for each compositor and tools that work out of the box

Why

The Fedora Atomic ecosystem provides excellent base images and tooling for immutable image building. Aside from sway however, there aren't images available for wayland compositors. This repo aims to provide those images and provide them with sane defaults.

For more info on BlueBuild, check out the BlueBuild homepage.

Customization

If you want to add your own customizations on top of wayblue, you are advised strongly against forking. Instead, create a repo for your own image by using the BlueBuild template, then change your base-image to a wayblue image. This will allow you to apply your customizations to wayblue in a concise and maintainable way, without the need to constantly sync with upstream.

Installation

Available Images

Note

nvidia-open images are recommended for systems with Nvidia GPUs Turing or newer.

nvidia images are recommended for systems with Nvidia GPUs Pascal or older.

SDDM images (recommended)

Name WM Nvidia Support
wayfire Wayfire No
wayfire-nvidia Wayfire Yes, closed drivers
wayfire-nvidia-open Wayfire Yes, open drivers
sway Sway No
sway-nvidia Sway Yes, closed drivers
sway-nvidia-open Sway Yes, open drivers
hyprland Hyprland No
hyprland-nvidia Hyprland Yes, closed drivers
hyprland-nvidia-open Hyprland Yes, open drivers
river River No
river-nvidia River Yes, closed drivers
river-nvidia-open River Yes, open drivers

GDM images (not recommended) why?

Name WM Nvidia Support
wayfire-gdm Wayfire No
wayfire-nvidia-gdm Wayfire Yes, closed drivers
wayfire-nvidia-open-gdm Wayfire Yes, open drivers
sway-gdm Sway No
sway-nvidia-gdm Sway Yes, closed drivers
sway-nvidia-open-gdm Sway Yes, open drivers
hyprland-gdm Hyprland No
hyprland-nvidia-gdm Hyprland Yes, closed drivers
hyprland-nvidia-open-gdm Hyprland Yes, open drivers
river-gdm River No
river-nvidia-gdm River Yes, closed drivers
river-nvidia-open-gdm River Yes, open drivers

Rebasing

To rebase an existing Silverblue/Kinoite/Sericea installation to the latest build:

Important

The only supported tag is latest.

Note

The two reboots described below are not optional. During installation, the initial boot into wayblue will provision the required sddm user. This is a one time step, all subsequent boots will succeed.

  • First rebase to the unsigned image, to get the proper signing keys and policies installed:
    rpm-ostree rebase ostree-unverified-registry:ghcr.io/wayblueorg/$IMAGE_NAME:latest
    
  • Reboot to complete the rebase:
    systemctl reboot
    
  • Then rebase to the signed image, like so:
    rpm-ostree rebase ostree-image-signed:docker://ghcr.io/wayblueorg/$IMAGE_NAME:latest
    
  • Reboot again to complete the installation
    systemctl reboot
    

Post-install

Nvidia

If you are using an nvidia image, run this after installation:

rpm-ostree kargs \
    --append-if-missing=rd.driver.blacklist=nouveau \
    --append-if-missing=modprobe.blacklist=nouveau \
    --append-if-missing=nvidia-drm.modeset=1 \
    --append-if-missing=nvidia-drm.fbdev=1

You may also need this (solves flickering and LUKS issues on some nvidia hardware):

rpm-ostree kargs \
    --append-if-missing=initcall_blacklist=simpledrm_platform_driver_init

Nvidia optimus laptop

If you are using an nvidia image on an optimus laptop, run this after installation:

ujust configure-nvidia-optimus

Screenshots

sway

hyprland

Contributing

Follow the contributing documentation, and make sure to respect the CoC.

Development

For local Development building locally is the recommended approach.