Bazzite:专为游戏打造的即用型操作系统
项目简介
Bazzite是一个基于Fedora Atomic Desktop技术的OCI镜像,可作为Steam Deck的替代操作系统,以及适用于台式电脑和客厅家庭影院PC的即开即用型游戏系统。它基于ublue-os/main和ublue-os/nvidia构建,提供了完整的硬件支持和优化的游戏体验。
功能特性
核心功能
- 预装NVIDIA专有驱动 - 为NVIDIA显卡提供完整的开箱即用支持
- 完整的H.264编解码器支持 - 无需额外配置即可享受硬件加速
- BTRFS文件系统 - 默认使用ZSTD压缩,提供更好的存储空间利用率
- Steam Deck优化 - 专为手持设备优化的游戏模式和界面
- 多种桌面环境 - 支持GNOME和KDE Plasma桌面环境
- Distrobox集成 - 轻松创建和管理容器化应用环境
游戏增强
- Gamescope支持 - 包括为老款GPU(如Polaris)提供的gamescope-legacy二进制文件
- HHD设备支持 - 新增Minisforum V3等设备支持
- UMU启动器 - 增强的游戏兼容性支持
- ProtonUp-Qt - 方便安装和管理自定义Proton版本
- Lutris预装 - 更好的非Steam游戏支持
系统优化
- 镜像体积优化 - 通过rechunker技术,镜像体积减少1GB,更新包减小85%
- 智能调度器 - 通过HHD可选择的可选调度器scx-sheds
- 安全启动支持 - 完整的Secure Boot兼容性
- 自动更新 - 每日构建,自动集成Fedora的最新更新
安装指南
系统要求
- 支持UEFI启动的x86_64设备
- 至少4GB内存(推荐8GB以上)
- 20GB可用存储空间(游戏用户推荐更大容量)
下载安装
- 访问Bazzite官方网站的镜像选择器,根据硬件配置选择合适的镜像版本
- 下载对应的ISO文件
- 使用Etcher或Ventoy等工具创建启动盘
- 从启动盘启动并按照安装向导完成安装
快速开始
对于Steam Deck用户,推荐使用Bazzite-Deck版本;对于台式机用户,可根据显卡选择标准版或NVIDIA版本。
使用说明
基本命令
# 查看所有可用命令
ujust# 查看系统信息
fastfetch# 切换欢迎信息显示
ujust toggle-user-motd# 查看更新日志
ujust changelog
游戏相关
# 安装Decky Loader
ujust setup-decky install# 添加应用到Steam
steamos-add-to-steam /path/to/application
软件管理
# 使用Distrobox管理软件
ujust distrobox# 更新系统和应用
rpm-ostree update
核心代码解析
系统构建脚本
#!/usr/bin/bash
# Bazzite镜像构建核心逻辑
set -exo pipefail# 内核交换和初始化ramfs重建
kernel_pkgs=(kernelkernel-corekernel-modules
)
dnf -y versionlock delete "${kernel_pkgs[@]}"
rpm --erase -v --nodeps "${kernel_pkgs[@]}"
dnf -yq install "${kernel_pkgs[@]}"# 包含NVIDIA GPU固件包
dnf install -yq nvidia-gpu-firmware || :
dnf clean all -yq
此脚本负责在构建过程中交换内核并重建initramfs,确保Secure Boot兼容性,同时集成NVIDIA驱动支持。
文件管理器扩展
import os
from urllib.parse import unquote
from gi.repository import Nautilus, GObject
from typing import Listclass AddToSteamExtension(GObject.GObject, Nautilus.MenuProvider):def _add_to_steam(self, file: Nautilus.FileInfo) -> None:filename = unquote(file.get_uri()[7:])os.system("/usr/bin/steamos-add-to-steam " + filename)def menu_activate_cb(self, menu: Nautilus.MenuItem, file: Nautilus.FileInfo) -> None:self._add_to_steam(file)def get_file_items(self, files: List[Nautilus.FileInfo]) -> List[Nautilus.MenuItem]:if len(files) != 1:return []file = files[0]if file.get_uri_scheme() != "file":return []if file.is_directory():return []if not os.access(unquote(file.get_uri()[7:]), os.X_OK):return []item = Nautilus.MenuItem(name="SteamOS::steamos_add_to_steam",label="Add to Steam",)item.connect("activate", self.menu_activate_cb, file)return [item]
这个Python脚本为文件管理器添加了"添加到Steam"的右键菜单功能,方便用户将应用和游戏添加到Steam库中。
系统初始化配置
#!/usr/bin/env bash
# Bazzite Anaconda安装器配置
set -exo pipefail# 安装Anaconda Web UI和相关依赖
dnf install -qy anaconda-live libblockdev-{btrfs,lvm,dm}
mkdir -p /var/lib/rpm-state# Bazzite特有的Anaconda配置文件
cat >/etc/anaconda/profile.d/bazzite.conf <<EOF
[Profile]
profile_id = bazzite[Profile Detection]
os_id = bazzite[Storage]
default_scheme = BTRFS
btrfs_compression = zstd:1
default_partitioning =/ (min 1 GiB, max 70 GiB)/home (min 500 MiB, free 50 GiB)/var (btrfs)
EOFecho "Bazzite release $VERSION_ID ($VERSION_CODENAME)" >/etc/system-release
此脚本配置了Bazzite的安装环境,设置了BTRFS作为默认文件系统并配置了合理的分区方案。
Bazzite通过精心设计的架构和优化的配置,为游戏玩家提供了开箱即用的Linux游戏体验,结合了Fedora的稳定性和最新的游戏技术栈。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码

公众号二维码
