请访问我们的网站 了解Bazzite的新手指引。此自述文件将深入介绍所有内容。
Bazzite 是一个OCI镜像,可以作为Steam Deck的替代操作系统,以及适用于台式电脑和客厅家庭影院PC的类似SteamOS的即开即用型游戏系统。
Bazzite是使用Fedora技术基于ublue-os/main 和 ublue-os/nvidia构建的,这意味着更多的硬件支持和内置驱动程序。此外,Bazzite还添加了以下特性:
- 使用了 fsync kernel 来实现HDR和扩展的硬件支持, 以及包含许多其他的补丁。
- HDR 在游戏模式下可用。
- NVK 可用于非Nvidia版本。
- 完全支持H264编码的硬件加速编/解码器。
- 完全支持AMD的ROCM OpenCL/HIP运行时。
- 适用于Xbox控制器的xone 驱动程序。
- 完全支持 DisplayLink。
- 包含来自SteamOS的 Valve's KDE 主题。
- 可选的 Valve-inspired GTK3/4 主题对应 SteamOS的Vapor and VGUI2。安装 Gradience 以启用它们。
- LatencyFleX, vkBasalt, MangoHud,和 OBS VkCapture 默认安装并可用。
- Patched Switcheroo-Control 修复了默认损坏的iGPU/dGPU开关。
- 支持 Wallpaper Engine。 (仅限KDE)
- 包含ROM Properties Page shell extension 。
- 完全支持 Winesync/Fastsync/NTsync.
- 预装Distrobox 并添加了已创建容器的自动更新。
- Ptyxis 用作所有镜像的默认终端。此终端专为你将在Bazzite中使用的容器工作流设计。如果你想切换回原始终端,请运行
ujust _restore-original-terminal
。 duperemove
服务进程用于减少wine前缀内容所占用的磁盘空间。- 通过libCEC支持HDMI CEC。
- 预装System76-Scheduler,为你的重点应用程序提供自动的进程优先级调整,并将后台进程的CPU时间保持在最低限度。
- 使用附加规则自定义System76-Scheduler配置。
- 默认启用 Google's BBR TCP congestion control 。
- 预装并启用Input Remapper (在Deck变体上默认禁用(或可用),可运行
ujust _restore-input-remapper
以启用)。 - Bazzite Portal 提供了一个安装应用程序和调整系统的简单方式,包括安装 LACT 和 GreenWithEnvy。
- 预装了Waydroid 用于运行Android应用程序。阅读这篇快速指南对其进行设置。
- 使用 Flatseal,Warehouse,和Gear Lever管理应用程序。
- OpenRGB i2c-piix4 和 i2c-nct6775驱动程序用于控制某些主板上的RGB装置。
- 内置了OpenRazer驱动程序,在Bazzite Portal中选择安装OpenRazer或者在终端运行
ujust install-openrazer
来启用它。 - 内置了OpenTabletDriver设备管理规则,完整的应用程序可以通过Bazzite Portal或者在终端运行
ujust install-opentabletdriver
来安装。 - 开箱即用的Wooting键盘支持。
- 内置
amdgpu
驱动程序以支持Southern Islands (HD 7000) 和 Sea Islands (HD 8000) AMD GPUs。 - XwaylandVideoBridge可用于Wayland上的Discord屏幕共享。
- Webapp Manager可用于从各种浏览器(含Firefox)正在浏览的网站上创建应用程序。
bazzite
适用于台式计算机的通用变体。
- 操作系统,Flatpaks,和所有Distrobox容器的自动更新 - 由ublue-update 和 topgrade提供支持。
从已安装的上游Fedora Atomic桌面变基(rebase)到此镜像:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite:stable
或者针对Nvidia GPU的设备:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-nvidia:stable
对于设置了安全启动的用户: 请遵循我们的安全启动文档进行变基(rebase)。
[!重要]
非Steam Deck设备同样可以使用bazzite-deck
镜像, 但该设备必须使用现代的AMD GPU。Intel Arc GPU也已经被确认可以正常工作。
bazzite-deck
变体被设计用在Steam Deck上作为SteamOS的替代系统,并在HTPCs上提供类似控制台的操作体验,此变体可用作:
- 和SteamOS一样直接启动到游戏模式。
- 自动
duperemove
大大减少compatdata的大小。 - 最新版本的Mesa创建更小的着色器缓存,并且不需要它们来防止卡顿。
- 即便驱动器已满,也能启动。
- 支持上游Fedora系统支持的每种语言。
- 在桌面使用Wayland图形应用协议,支持Steam input。
- 包含HHD以提供非Valve手持设备的扩展输入支持。
- evlaV仓库包含大多数SteamOS软件包的移植版本,包括驱动程序,固件升级和风扇控制器。
- 修补了Mesa以便于Gamescope提供合适的帧率控制。
- 自带SteamOS BTRFS补丁以默认对SD card提供完整的BTRFS支持。
- 附带SDGyroDSU的移植副本,默认启用。
- 可选则安装Decky Loader,EmuDeck,RetroDECK,和ProtonUp-Qt,以及其他许多有用的软件包。
- 自定义更新系统允许从由ublue-update 和 topgrade提供支持的游戏模式直接更新操作系统、Flatpaks、和Distrobox镜像。
- 内置对Windows双系统的支持,这要归功于Fedora的安装保持了GRUB的完整性。
- 更新破坏了一些东西?借助于
rpm-ostree
的回滚功能,你可以轻松回滚到先前版本的Bazzite。你甚至可以在启动时选定先前版本的镜像。 - Steam and Lutris作为分层包预装在镜像上。
- 为Discord预装了Discover Overlay,如果Discord已经安装,则会在游戏模式和桌面模式自动启动。在此查看官方文档。
- 默认情况下将使用ZRAM(4GB) 及ZSTD压缩算法。可以选择切换回1GB交换文件,然后根据需要自定义其大小。
- Kyber I/O 调度程序用来防止安装游戏或后台运行
duperemove
进程时出现I/O starvation。 - 应用SteamOS的内核参数。
- 包括用于磨砂和镜面Steam Deck屏幕的颜色校准显示配置文件。
- 默认禁用的高级用户功能,包括:
- Steam Deck硬件特定的服务可以通过在终端中运行
ujust disable-bios-updates
和ujust disable-firmware-updates
以禁用。这些服务在非Deck硬件、改装了DeckHD显示屏或改装了32GB内存的Deck上自动禁用。 - 更多关于Bazzite Steam Deck镜像的信息可以在此处找到。
[!警告]
由于上游错误,Bazzite目前无法在具有64GB eMMC存储空间的Steam Deck上使用。升级存储空间可以解决此问题。
从已安装的上游Fedora Atomic桌面变基(rebase)到此镜像:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-deck:stable
请参阅我们的掌上电脑Wiki了解所需要的设置更改以及你的掌机在Steam游戏模式下需要的Decky Loader插件。
如果你在Steam Deck之外的掌机上使用此镜像,你可以通过SimpleDeckyTDP Decky Loader插件获得TDP控制。
- 首先安装Decky Loader:
ujust setup-decky
- 其次安装SimpleDeckyTDP:
ujust setup-decky simpledeckytdp
如果你使用的是hhd支持的掌机(例如联想 Legion Go 和 华硕ASUS Ally),你还可以将插件集成到游戏模式的菜单选项中:ujust setup-decky hhd-decky
请务必同时阅读hhd文档,一些掌机需要特别的设置更改/调整才能正常运行。
我们还提供了用于安装各种CSS Loader主题的ujust
命令。这些主题在CSS Loader商店中找不到。这些主题如果被安装,将随着Bazzite一起自动更新。
# 为CSS Loader安装ROG Ally主题(https://github.com/semakusut/SBP-ROG-Ally)
ujust install-rog-ally-theme
# 为CSS Loader安装Lenovo Legion Go主题(https://github.com/frazse/SBP-Legion-Go-Theme)
ujust install-legion-go-theme
# 为CSS Loader安装Handheld Controller主题(https://github.com/victor-borges/handheld-controller-glyphs)
ujust install-hhd-controller-glyph-theme
# 为hhd & CSS Loader安装PS5-to-Xbox glyph主题(https://github.com/frazse/PS5-to-Xbox-glyphs)
ujust install-hhd-xbox-glyph-theme
桌面和Deck版本都可以使用GNOME桌面环境构建。这些版本具有如下的额外特性:
- Wayland协议下支持可变刷新率和非整数倍缩放。
- 顶部栏中的自定义菜单,可用于返回游戏模式,启动Steam和打开许多有用的实用程序。
- 默认安装启用GSConnect。
- 包含了Hanabi扩展以提供与KDE中Wallpaper Engine类似的功能。
- 预装了许多可选的扩展,包括重要的用户体验修复。
- 自动更新Firefox GNOME主题 和 Thunderbird GNOME 主题。 (如果已安装)
从已安装的上游Fedora Atomic桌面变基(rebase)到此镜像:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-gnome:stable
将现有的ostree系统变基(rebase)到Nvidia驱动的桌面系统版本:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-gnome-nvidia:stable
[!警告]
由于上游错误,Bazzite目前无法在具有64GB eMMC存储空间的Steam Deck上使用。
将现有的ostree系统变基(rebase)到Steam Deck/HTPC版本:
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-deck-gnome:stable
对于设置了安全启动的用户: 请遵循我们的安全启动文档进行变基(rebase)。
- 预装了专有的Nvidia驱动程序(仅限Nvidia镜像)。
- 默认启用Flathub。
- 方便使用的
ujust
命令。 - 开箱即用的多媒体编解码器。
- 从任何最近90天内的版本回滚Bazzite。
- 坚如磐石的基础。
- 系统软件包保持相对最新。
- 可以将Fedora软件包部署到镜像中以防止更新时丢失。
- 预装和设置好开箱即用的SELinux以关注安全性。
- 如果需要的话,可以在不丢失用户数据的情况下变基(rebase)到不同的Fedora Atomic镜像。
- 预装CUPS以支持打印机。
Bazzite项目最初的目的是在于解决困扰SteamOS的一系列问题,主要是过时的软件包(尽管基于Arch)和缺少一个软件包管理器。
尽管此项目是基于镜像的,你仍然可以直接通过命令行安装任何Fedora软件包。这些软件包在更新后依然会保留(所以尽管放心的去安装那些你需要花费一个小时以上才能在SteamOS上正常工作的晦涩的VPN软件)。此外,Bazzite每周都会多次更新来自上游Fedora的软件包,在稳定的基础上为你提供最佳性能和最新特性。
Bazzite带来最新的Linux内核,默认启用的SELinux为安全启动提供了完整的支持(如果系统提示注册密钥,那么运行ujust enroll-secure-boot-key
并输入密码ublue-os
)和磁盘加密。使此系统成为大众计算机的一个明智的解决方案。(是的,你可以从Bazzite打印)
阅读常见问题解答以了解Bazzite不同于其它Linux操作系统的细节。
查看有关该项目的其他文档。
查看我们定期发布的时事通讯以了解项目的最新信息。
移植的SteamOS和ChimeraOS软件包,以及Bazzite使用的其他软件包,都是在bazzite和bazzite-multilib的Copr存储库构建的。
Package | Status |
---|---|
ds-inhibit | |
duperemove | |
extest | |
gamescope | |
gamescope-session-plus | |
gamescope-session-steam | |
gamescope-shaders | |
galileo-mura | |
gnome-randr-rust | |
gnome-shell | |
gnome-shell-extension-bazzite-menu | |
gnome-shell-extension-caribou-blocker | |
gnome-shell-extension-compiz-windows-effect | |
gnome-shell-extension-hanabi | |
gnome-shell-extension-hotedge | |
joystickwake | |
jupiter-fan-control | |
jupiter-hw-support-btrfs | |
jupiter-sd-mounting-btrfs | |
kf6-kio | |
mangohud | |
mesa | |
pipewire | |
powerbuttond | |
python3-hid | |
ryzenadj | |
sdgyrodsu | |
steamdeck-dsp | |
steamdeck-gnome-presets | |
steamdeck-kde-presets | |
steamdeck-kde-presets-desktop | |
steam_notif_daemon | |
ublue-update | |
udisks2 | |
unl0kr | |
upower | |
vpower | |
wireplumber | |
xwiimote-ng |
此外,以下软件包来自于其他Copr存储库:
这些镜像使用sigstore的cosign。你可以通过此存储库下载 cosign.pub
密钥,并运行以下命令来验证签名:
cosign verify --key cosign.pub ghcr.io/ublue-os/bazzite
[!警告]
Steam Deck用户:Steam Deck并未启用安全启动功能,并且默认情况下也未提供任何注册的密钥。不要启用此功能,除非你确切的知道自己在做什么。
我们的自定义密钥支持安全启动。公钥可以在此存储库的根目录中找到。 如果要在安装或变基之前注册此密钥,请下载该密钥并运行如下命令:
sudo mokutil --timeout -1
sudo mokutil --import secure_boot.der
对于已安装Universal Blue镜像的用户,你可以改为运行ujust enroll-secure-boot-key
。
如果要求输入密码,就使用ublue-os
。
Bazzite是社区努力的结果,离不开每个人的支持。以下是那些一路帮助过我们的人:
- rei.svg - 创作了我们的徽标和整体品牌。
- SuperRiderTH - 创作了我们Steam游戏模式的启动视频。
- evlaV - 使Valve的代码可用并成为this person.
- ChimeraOS - For gamescope-session and for valuable support along the way.
- Jovian-NixOS - 支持我们解决技术问题并创建了一个类似的项目。Seriously, go check it out. It's our Nix-based cousin.
- sentry - 帮助提供所需的内核补丁和创建我们现在使用的kernel-fsync 仓库。
- nicknamenamenick - 作为MVP,几乎单枪匹马维护着我们的文档和支持文献,和无数的帮助用户的案例。
- Steam Deck Homebrew - 尽管需要额外的工作,但还是选择支持SteamOS以外的发行版,特别感谢PartyWumpus使Decky Loader在SELinux下正常工作。
- cyrv6737 - 最初的灵感和成为Bazzite-arch的基础。
Bazzite完全在GitHub上构建,创建你自己的版本只需要fork此仓库,添加私钥,然后启用GitHub actions。
熟悉github加密机制。你需要生成带有cosign的新密钥对。公钥可以放置在你的公有仓库中(你的用户需要用它来检查签名),你可以用SIGNING_SECRET
作为名字把私钥粘贴到Settings -> Secrets -> Actions
。
如果你想使你的fork与上游保持同步,我们同样提供了一个流行的pull app的设置。在你的仓库上启用此应用程序以追踪Bazzite的更新,同时进行你自己的修改。
你可以在Universal Blue Discord找到我们,同时免账号查看支持文档。
在Universal Blue Discourse 论坛上讨论并创建用户指南。
在Mastodon上关注Universal Blue。