mirror of
https://github.com/ublue-os/bazzite.git
synced 2025-01-29 00:32:52 +00:00
chore(readme): Bring in improvements from docs
This commit is contained in:
parent
bada3f2b14
commit
019adb428a
70
README.md
70
README.md
@ -10,20 +10,20 @@
|
||||
|
||||
## About & Features
|
||||
|
||||
Bazzite is an OCI image that serves as an alternative operating system for the [Steam Deck](https://www.steamdeck.com/), and a ready-to-game SteamOS-like for desktop computers and living room home theater PCs.
|
||||
Bazzite is an OCI image that serves as an alternative operating system for the [Steam Deck](https://www.steamdeck.com/), and a ready-to-game SteamOS-like for desktop computers and living room home theater PCs.
|
||||
|
||||
Bazzite is built from [ublue-os/main](https://github.com/ublue-os/main) and [ublue-os/nvidia](https://github.com/ublue-os/nvidia) using [Fedora](https://fedoraproject.org/) technology, which means expanded hardware support and built in drivers are included. Additionally, Bazzite adds the following features:
|
||||
Bazzite is built from [ublue-os/main](https://github.com/ublue-os/main) and [ublue-os/nvidia](https://github.com/ublue-os/nvidia) using [Fedora](https://fedoraproject.org/) technology, which means expanded hardware support and built in drivers are included. Additionally, Bazzite adds the following features:
|
||||
|
||||
- Proprietary Nvidia drivers pre-installed.
|
||||
- Full hardware accelerated codec support for H264 decoding.
|
||||
- Full support for AMD's ROCM OpenCL/HIP runtimes.
|
||||
- Full support for AMD's ROCM OpenCL/HIP run-times.
|
||||
- [xpadneo](https://github.com/atar-axis/xpadneo) driver for wireless Xbox One controllers.
|
||||
- Full support for [DisplayLink](https://www.synaptics.com/products/displaylink-graphics).
|
||||
- Includes Valve's KDE themes from SteamOS.
|
||||
- [LatencyFleX](https://github.com/ishitatsuyuki/LatencyFleX), [vkBasalt](https://github.com/DadSchoorse/vkBasalt), [MangoHud](https://github.com/flightlessmango/Mangohud), and [OBS VkCapture](https://github.com/nowrep/obs-vkcapture) installed and available by default
|
||||
- Support for [Wallpaper Engine](https://www.wallpaperengine.io/en). <sub><sup>(Only on KDE)</sup></sub>
|
||||
- [Distrobox](https://github.com/89luca89/distrobox) preinstalled with automatic updates for created containers.
|
||||
- Automated duperemove services for reducing the disk space used by wine prefix contents.
|
||||
- Automated `duperemove` services for reducing the disk space used by wine prefix contents.
|
||||
- [System76-Scheduler](https://github.com/pop-os/system76-scheduler) preinstalled, providing automatic process priority tweaks to your focused application and keeping CPU time for background processes to a minimum.
|
||||
- Customized System76-Scheduler config with additional rules and CFS parameters from [Linux-TKG](https://github.com/Frogging-Family/linux-tkg).
|
||||
- Uses [Google's BBR TCP congestion control](https://github.com/google/bbr) by default.
|
||||
@ -35,7 +35,7 @@ Bazzite is built from [ublue-os/main](https://github.com/ublue-os/main) and [ubl
|
||||
- [GCAdapter_OC](https://github.com/hannesmann/gcadapter-oc-kmod) driver for overclocking Nintendo's Gamecube Controller Adapter to 1000hz polling.
|
||||
- Out of the box support for [Wooting](https://wooting.io/) keyboards.
|
||||
|
||||
### Desktop/HTPCs
|
||||
### Desktop/Home Theater PCs (HTPCs)
|
||||
|
||||
Common variant available as `bazzite` and suitable for desktops and HTPCs.
|
||||
|
||||
@ -45,13 +45,17 @@ Common variant available as `bazzite` and suitable for desktops and HTPCs.
|
||||
> [!IMPORTANT]
|
||||
> **ISOs can be downloaded from our releases page [here](https://github.com/ublue-os/bazzite/releases), and a helpful install guide can be found [here](https://universal-blue.org/images/bazzite/installation/).**
|
||||
|
||||
If you're on an existing Universal Blue image follow [these instructions](https://universal-blue.org/images/#image-list). To rebase an existing upstream Fedora Silverblue/Kinoite ostree system to this image:
|
||||
If you're on an existing Universal Blue image follow [these instructions](https://universal-blue.org/images/#image-list). To rebase an existing upstream Fedora Silverblue/Kinoite ostree system to this image:
|
||||
|
||||
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite:latest
|
||||
```bash
|
||||
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite:latest
|
||||
```
|
||||
|
||||
or for devices with Nvidia GPUs:
|
||||
|
||||
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia:latest
|
||||
```bash
|
||||
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-nvidia:latest
|
||||
```
|
||||
|
||||
**For users with Secure Boot enabled:** Once you've installed or rebased to a Nvidia build, [be sure to follow step 3 from the ublue-os/nvidia guide](https://github.com/ublue-os/nvidia#3-enable-secure-boot-support).
|
||||
|
||||
@ -60,7 +64,7 @@ or for devices with Nvidia GPUs:
|
||||
Variant designed for usage as an alternative to SteamOS on the Steam Deck, available as `bazzite-deck`:
|
||||
|
||||
- Directly boots to Gamemode matching SteamOS's behavior.
|
||||
- **Automatic duperemove greatly trims the size of compatdata.**
|
||||
- **Automatic `duperemove` greatly trims the size of compatdata.**
|
||||
- **Latest version of Mesa creates smaller shader caches and does not require them to prevent stutter.**
|
||||
- **Able to be booted even if the drive is full.**
|
||||
- Uses Wayland on the desktop with [full support for Steam input](https://github.com/Supreeeme/extest).
|
||||
@ -71,12 +75,12 @@ Variant designed for usage as an alternative to SteamOS on the Steam Deck, avail
|
||||
- Option to install [Decky Loader](https://github.com/SteamDeckHomebrew/decky-loader), [EmuDeck](https://www.emudeck.com/), and [ProtonUp-Qt](https://davidotek.github.io/protonup-qt/), among numerous other useful packages on installation.
|
||||
- Custom update system allows for the OS, Flatpaks, and Distrobox images to be updated directly from the Gamemode UI.
|
||||
- Built in support for Windows dual-boot thanks to Fedora's installation of GRUB being left intact.
|
||||
- Update break something? Easily roll back to the previous version of Bazzite thanks to rpm-ostree's rollback functionality. You can even select previous images at boot.
|
||||
- Update break something? Easily roll back to the previous version of Bazzite thanks to `rpm-ostree`'s rollback functionality. You can even select previous images at boot.
|
||||
- Steam and Lutris preinstalled on the image as layered packages.
|
||||
- Exclusively uses ZRAM by default with the option to switch back to a swap file and set a custom size if desired. <sub><sup>(1GB by default)</sup></sub>
|
||||
- BFQ I/O scheduler to prevent I/O starvation when installing games or during background duperemove processes.
|
||||
- BFQ I/O scheduler to prevent I/O starvation when installing games or during background `duperemove` processes.
|
||||
- TLS/SSL secured DNS and NTP by default. <sup><sub>(This is a handheld PC you're likely to use on random public networks after all)</sub></sup>
|
||||
- Applies SteamOS's kernel parameters and enables amd-pstate by default.
|
||||
- Applies SteamOS's kernel parameters and enables `amd-pstate` by default.
|
||||
- Default-disabled power-user features, including:
|
||||
- Service for low-risk undervolting of the Steam Deck via [RyzenAdj](https://github.com/FlyGoat/RyzenAdj), see `ryzenadj.service` and `/etc/default/ryzenadj`.
|
||||
- Service for limiting the max charge level of the battery, see `batterylimit.service` and `/etc/default/batterylimit`. <sup><sub>(Works even when the device is off)</sub></sup>
|
||||
@ -92,7 +96,9 @@ Variant designed for usage as an alternative to SteamOS on the Steam Deck, avail
|
||||
|
||||
If you're on an existing Universal Blue image follow [these instructions](https://universal-blue.org/images/#image-list). To rebase an existing upstream Fedora Silverblue/Kinoite ostree system to this image:
|
||||
|
||||
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:latest
|
||||
```bash
|
||||
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck:latest
|
||||
```
|
||||
|
||||
### GNOME
|
||||
|
||||
@ -107,26 +113,32 @@ Builds with the GNOME desktop environment are available in both desktop and deck
|
||||
> [!IMPORTANT]
|
||||
> **ISOs can be downloaded from our releases page [here](https://github.com/ublue-os/bazzite/releases), and a helpful install guide can be found [here](https://universal-blue.org/images/bazzite/installation/).**
|
||||
|
||||
To rebase an existing ostree system to the **desktop** release:
|
||||
To rebase an existing ostree system to the **desktop** release:
|
||||
|
||||
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome:latest
|
||||
```bash
|
||||
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome:latest
|
||||
```
|
||||
|
||||
To rebase an existing ostree system to the **desktop with Nvidia drivers** release:
|
||||
To rebase an existing ostree system to the **desktop with Nvidia drivers** release:
|
||||
|
||||
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome-nvidia:latest
|
||||
```bash
|
||||
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-gnome-nvidia:latest
|
||||
```
|
||||
|
||||
> [!WARNING]
|
||||
> **Due to an upstream bug, Bazzite cannot be used on Steam Decks with 64GB eMMC storage at this time.**
|
||||
|
||||
To rebase an existing ostree system to the **Steam Deck** release:
|
||||
|
||||
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck-gnome:latest
|
||||
```bash
|
||||
podman pull ghcr.io/ublue-os/config && rpm-ostree install --assumeyes --apply-live --force-replacefiles $(find ~/.local/share/containers -name ublue-os-signing.noarch.rpm 2>/dev/null) && rpm-ostree rebase --uninstall $(rpm -q ublue-os-signing-* --queryformat '%{NAME}-%{VERSION}-%{RELEASE}.%{Arch}') ostree-image-signed:docker://ghcr.io/ublue-os/bazzite-deck-gnome:latest
|
||||
```
|
||||
|
||||
## Why
|
||||
|
||||
Bazzite started as a project to resolve some of the issues that plague SteamOS, mainly out of date packages despite an Arch base and the lack of a functional package manager.
|
||||
Bazzite started as a project to resolve some of the issues that plague SteamOS, mainly out of date packages (despite an Arch base) and the lack of a functional package manager.
|
||||
|
||||
Despite this project also being image-based you are able to install any Fedora package straight from the command line. These packages will persist across updates <sub><sup>(So go ahead and install that obscure VPN software you spent an hour trying to get working in SteamOS)</sup></sub>. Additionally, Bazzite is updated multiple times a week with packages from upstream Fedora, giving you the best possible performance and latest features - all on a stable base.
|
||||
Despite this project also being image-based, you are able to install any Fedora package straight from the command line. These packages will persist across updates <sub><sup>(So go ahead and install that obscure VPN software you spent an hour trying to get working in SteamOS)</sup></sub>. Additionally, Bazzite is updated multiple times a week with packages from upstream Fedora, giving you the best possible performance and latest features - all on a stable base.
|
||||
|
||||
Bazzite ships with the latest Linux kernel and SELinux enabled by default with full support for secure boot and disk encryption, making this a sensible solution for general computing. <sup><sub>(Yes, you can print from Bazzite)</sub></sup>
|
||||
|
||||
@ -185,7 +197,9 @@ Additionally, the following packages are used from other Copr repos:
|
||||
|
||||
These images are signed with sigstore's [cosign](https://docs.sigstore.dev/cosign/overview/). You can verify the signature by downloading the `cosign.pub` key from this repo and running the following command:
|
||||
|
||||
cosign verify --key cosign.pub ghcr.io/ublue-os/bazzite
|
||||
```bash
|
||||
cosign verify --key cosign.pub ghcr.io/ublue-os/bazzite
|
||||
```
|
||||
|
||||
## [![Repography logo](https://images.repography.com/logo.svg)](https://repography.com) / Recent Activity [![Time period](https://images.repography.com/35181738/ublue-os/bazzite/recent-activity/Th70YH5TPWj_xtgglSDUV9CY1CtpE2JkmmfhzTTj4Vg/D6pCB2LvmFrU9T9B0Kp9QIfQCmY5U2q5aHoeVk0Tdds_badge.svg)](https://repography.com)
|
||||
[![Timeline graph](https://images.repography.com/35181738/ublue-os/bazzite/recent-activity/Th70YH5TPWj_xtgglSDUV9CY1CtpE2JkmmfhzTTj4Vg/D6pCB2LvmFrU9T9B0Kp9QIfQCmY5U2q5aHoeVk0Tdds_timeline.svg)](https://github.com/ublue-os/bazzite/commits)
|
||||
@ -200,16 +214,16 @@ These images are signed with sigstore's [cosign](https://docs.sigstore.dev/cosig
|
||||
|
||||
Bazzite is a community effort and wouldn't exist without everyone's support. Below are some of the people who've helped us along the way:
|
||||
|
||||
- [evlaV](https://gitlab.com/evlaV) - For making Valve's code available and for being [this person](https://xkcd.com/2347/).
|
||||
- [ChimeraOS](https://chimeraos.org/) - For gamescope-session and for valuable support along the way.
|
||||
- [Jovian-NixOS](https://github.com/Jovian-Experiments) - For supporting us with technical issues and for creating a similar project. Seriously, go check it out. It's our Nix-based cousin.
|
||||
- [Steam Deck Homebrew](https://deckbrew.xyz) - For choosing to support distributions other than SteamOS despite the extra work, and a special thanks to [PartyWumpus](https://github.com/PartyWumpus) for getting Decky Loader working with SELinux for us.
|
||||
- [cyrv6737](https://github.com/cyrv6737) - For the initial inspiration and the base that became bazzite-arch.
|
||||
- [evlaV](https://gitlab.com/evlaV) - For making Valve's code available and for being [this person](https://xkcd.com/2347/).
|
||||
- [ChimeraOS](https://chimeraos.org/) - For gamescope-session and for valuable support along the way.
|
||||
- [Jovian-NixOS](https://github.com/Jovian-Experiments) - For supporting us with technical issues and for creating a similar project. Seriously, go check it out. It's our Nix-based cousin.
|
||||
- [Steam Deck Homebrew](https://deckbrew.xyz) - For choosing to support distributions other than SteamOS despite the extra work, and a special thanks to [PartyWumpus](https://github.com/PartyWumpus) for getting Decky Loader working with SELinux for us.
|
||||
- [cyrv6737](https://github.com/cyrv6737) - For the initial inspiration and the base that became bazzite-arch.
|
||||
|
||||
## Build Your Own
|
||||
|
||||
Bazzite is built entirely in GitHub and creating your own custom version of it is as easy as forking this repository, adding a private signing key, and enabling GitHub actions.
|
||||
|
||||
[Familiarize yourself](https://docs.github.com/en/actions/security-guides/encrypted-secrets) on keeping secrets in github. You'll need to [generate a new keypair](https://docs.sigstore.dev/cosign/overview/) with cosign. The public key can be in your public repo <sub><sup>(Your users need it to check the signatures)</sup></sub>, and you can paste the private key in `Settings -> Secrets -> Actions` with the name `SIGNING_SECRET`.
|
||||
[Read the docs](https://docs.github.com/en/actions/security-guides/encrypted-secrets) on keeping secrets in github. You need to [generate a new keypair](https://docs.sigstore.dev/cosign/overview/) with cosign. The public key can be in your public repo (your users need it to check the signatures), and you can paste the private key in Settings -> Secrets -> Actions.
|
||||
|
||||
We also ship a config for the popular [pull bot](https://github.com/apps/pull) if you'd like to keep your fork in sync with upstream. Simply enable this bot on your repo.
|
||||
We also ship a config for the popular [pull bot](https://github.com/apps/pull) if you'd like to keep your fork in sync with upstream. Enable this bot on your repo to keep track of Bazzite changes while also making your own modifications.
|
||||
|
Loading…
x
Reference in New Issue
Block a user