- Bazzite adalah image kustom berbasis Fedora Atomic yang bertujuan menyediakan lingkungan gaming Linux untuk perangkat genggam seperti Steam Deck hingga desktop dan HTPC
- Proyek ini dimulai untuk mengatasi paket SteamOS yang usang dan tidak adanya manajer paket yang fungsional; meski berbasis image, paket Fedora dapat diinstal dan tetap dipertahankan setelah pembaruan
- Menyediakan berbagai varian seperti
bazzite, bazzite-deck, varian GNOME, dan image driver khusus NVIDIA, serta mencakup Game mode, HDR, Mesa, porting paket SteamOS, rollback, dan dukungan Secure Boot
- Konfigurasi default mencakup Distrobox, Waydroid, vkBasalt, MangoHud, OBS VkCapture, xone, DisplayLink, ROCM OpenCL/HIP, serta dukungan untuk berbagai driver input, RGB, dan tablet
- Menyediakan ISO instalasi dan perintah rebase, image juga mendukung verifikasi tanda tangan cosign, dan pengguna dapat membangun varian Bazzite sendiri dengan GitHub Actions dan kunci Cosign
Tujuan dan fondasi Bazzite
- Bazzite adalah image kustom berbasis Fedora Atomic dan dibangun dengan pendekatan cloud-native dari Universal Blue
- Tujuannya adalah memperluas lingkungan gaming Linux ke desktop, HTPC untuk ruang keluarga, hingga perangkat genggam seperti Steam Deck
- Bazzite dibangun dari ublue-os/main dan menggunakan teknologi Fedora untuk menyediakan dukungan hardware yang lebih luas serta driver bawaan
- Proyek ini dimulai untuk mengatasi paket usang di SteamOS dan tidak adanya manajer paket yang fungsional
- Meski berbasis image, paket Fedora dapat diinstal dari baris perintah, dan paket yang telah dipasang akan tetap dipertahankan setelah pembaruan
- Diperbarui beberapa kali per minggu dengan paket Fedora upstream, serta mendukung kernel Linux terbaru, SELinux yang aktif secara default, Secure Boot, dan enkripsi disk
Fitur gaming dan hardware umum
- Bazzite menggunakan kernel bazzite untuk menyediakan HDR dan dukungan hardware yang lebih luas, serta mencakup berbagai patch
- HDR dapat digunakan dalam Game mode
- Pada build non-NVIDIA, NVK dapat digunakan
- Menyediakan dukungan codec akselerasi hardware untuk decoding H264
- Mendukung runtime ROCM OpenCL/HIP dari AMD
- Mendukung driver xone untuk kontroler Xbox dan DisplayLink
- Menyertakan tema KDE SteamOS dari Valve
- vkBasalt, MangoHud, dan OBS VkCapture terpasang secara default
- Mendukung Winesync/Fastsync/NTsync
- Distrobox sudah terpasang sebelumnya
- Mempermudah instalasi Davinci Resolve berbasis davincibox melalui
ujust install-resolve
- Menyediakan layanan
duperemove otomatis untuk mengurangi ruang disk yang dipakai oleh konten wine prefix
- Mendukung HDMI CEC melalui libCEC
- Menggunakan Google BBR sebagai kontrol kemacetan TCP default
- Input Remapper sudah terpasang dan aktif secara default, sedangkan pada varian Deck tersedia tetapi dinonaktifkan secara default
- Bazzite Portal menyediakan tombol untuk memasang aplikasi dan penyesuaian, serta menjalankan pembaruan image sistem, rebase, dan reset
- Waydroid sudah terpasang sebelumnya untuk menjalankan aplikasi Android
- Untuk mengelola Flatpak dan AppImage, digunakan Flatseal, Warehouse, dan Gear Lever
- Menyertakan driver i2c-piix4 dan i2c-nct6775 untuk OpenRGB guna mengontrol RGB pada sebagian motherboard
- Driver OpenRazer sudah terintegrasi dan dapat digunakan melalui Bazzite Portal atau
ujust install-openrazer
- Aturan udev OpenTabletDriver sudah terintegrasi, dan paket perangkat lunak lengkapnya dapat dipasang melalui Bazzite Portal atau
ujust install-opentabletdriver
- Mendukung keyboard Wooting secara default
- Mendukung GPU AMD Southern Islands HD 7000 dan Sea Islands HD 8000 dengan driver
amdgpu
- Melalui Webapp Manager, situs web dari Firefox dan browser lain dapat dijadikan seperti aplikasi
Varian desktop serta Steam Deck dan HTPC
- Varian umum untuk desktop adalah
bazzite, yang cocok untuk komputer desktop
- Pembaruan otomatis untuk OS, Flatpak, dan lainnya ditangani oleh uupd dan topgrade
- ISO dapat diunduh dari situs unduhan, dan tersedia panduan instalasi
- Dari Fedora Atomic yang sudah ada, pengguna dapat melakukan rebase ke image driver GPU open source
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite:stable
- Perangkat yang memerlukan driver khusus NVIDIA harus direbase ke image
bazzite-nvidia
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-nvidia:stable
- Pengguna dengan Secure Boot aktif harus mengikuti dokumentasi Secure Boot sebelum melakukan rebase
- NVK, opsi open source NVIDIA dari Mesa, pada saat penulisan masih mudah mengalami error, dan masalah terkait NVK harus dilaporkan ke Mesa, bukan ke Ublue/Bazzite
-
bazzite-deck untuk Steam Deck dan HTPC
bazzite-deck dirancang sebagai alternatif SteamOS untuk Steam Deck dan pengalaman ala konsol untuk HTPC
- Langsung boot ke Game mode seperti SteamOS
duperemove otomatis sangat mengurangi ukuran compatdata
- Mesa terbaru membuat shader cache yang lebih kecil dan tidak memerlukan shader cache untuk mencegah stutter
- Tetap bisa boot meski drive penuh
- Mendukung semua bahasa yang didukung Fedora upstream
- Menggunakan Wayland di desktop dan mendukung Steam input
- Mencakup versi porting dari sebagian besar paket SteamOS seperti driver, updater firmware, dan pengontrol kipas dari repository evlaV
- Menggunakan Mesa yang telah dipatch untuk kontrol frame rate yang benar di Gamescope
- Menyertakan patch SteamOS BTRFS sehingga dukungan BTRFS untuk kartu SD tersedia secara default
- Menyediakan porting SDGyroDSU yang aktif secara default
- Saat instalasi, dapat memilih untuk memasang Decky Loader, EmuDeck, RetroDECK, ProtonUp-Qt, dan lainnya
- Menyediakan sistem pembaruan kustom untuk memperbarui OS, Flatpak, dan lainnya dari UI Game mode
- Mempertahankan instalasi GRUB Fedora untuk mendukung dual boot dengan Windows
- Dengan fitur rollback
rpm-ostree, pengguna dapat kembali ke versi Bazzite sebelumnya dan memilih image sebelumnya saat boot
- Steam dan Lutris sudah terpasang sebelumnya di image sebagai layered package
- Secara default menggunakan ZRAM 4GB dengan algoritme kompresi LZ4
- Mencakup scheduler CPU LAVD dan BORE untuk gameplay yang halus dan responsif
- Menggunakan scheduler I/O Kyber untuk mencegah I/O starvation saat memasang game atau ketika
duperemove berjalan di latar belakang
- Menerapkan parameter kernel SteamOS
- Menyertakan profil tampilan kalibrasi warna untuk layar Steam Deck matte dan glossy
- Fitur power user seperti undervolting berisiko rendah untuk Steam Deck, overclock display, dan penerapan VRAM hingga dua kali lipat pada modifikasi RAM 32GB tersedia tetapi dinonaktifkan secara default
- Layanan pembaruan BIOS dan firmware khusus hardware Steam Deck dapat dinonaktifkan dari terminal dengan
ujust disable-bios-updates, ujust disable-firmware-updates
- Layanan ini dinonaktifkan otomatis pada hardware non-Deck serta Deck dengan layar DeckHD atau modifikasi RAM 32GB
- Untuk pengaturan Steam Gaming Mode pada perangkat genggam alternatif, lihat Handheld Wiki
Varian GNOME dan fitur upstream
- Build lingkungan desktop GNOME tersedia baik untuk varian desktop maupun Deck
- Build GNOME mengaktifkan variable refresh rate dan fractional scaling di Wayland
- Menu kustom di bar atas menyediakan kembali ke Game mode, menjalankan Steam, dan menjalankan berbagai utilitas
- GSConnect sudah terpasang sebelumnya dan siap digunakan
- Menyertakan Hanabi extension untuk menyediakan fungsi serupa Wallpaper Engine di KDE
- Berbagai ekstensi GNOME opsional sudah terpasang sebelumnya, bersama penyesuaian pengalaman pengguna
- Firefox GNOME theme dan Thunderbird GNOME theme akan diperbarui otomatis jika terpasang
- Perintah rebase untuk varian desktop GNOME adalah sebagai berikut
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-gnome:stable
- Image GNOME dengan driver khusus NVIDIA direbase dengan perintah berikut
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-gnome-nvidia:stable
- Rilis GNOME untuk Steam Deck/HTPC menggunakan perintah berikut
rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/bazzite-deck-gnome:stable
-
Fitur yang diambil dari Universal Blue dan Fedora
- Fitur berbasis Universal Blue
- Image NVIDIA sudah menyertakan driver khusus NVIDIA
- Flathub diaktifkan secara default
- Menyediakan perintah
ujust untuk kemudahan
- Menyediakan codec multimedia secara default
- Bazzite dapat di-rollback ke build mana pun dalam 90 hari terakhir
- Fitur berbasis Fedora Linux Kinoite dan Silverblue
- Menyediakan fondasi yang stabil
- Paket sistem tetap relatif mutakhir
- Paket Fedora dapat ditambahkan ke image sebagai layer dan tetap dipertahankan setelah pembaruan
- SELinux sudah terpasang dan dikonfigurasi sebelumnya
- Dapat melakukan rebase ke image Fedora Atomic lain tanpa kehilangan data pengguna
- CUPS sudah terpasang sebelumnya untuk mendukung pencetakan
Verifikasi, Secure Boot, dan build sendiri
- Image Bazzite ditandatangani dengan cosign dari sigstore
- Kunci
cosign.pub dari repositori dapat diunduh lalu tanda tangannya diverifikasi dengan perintah berikut
cosign verify --key cosign.pub ghcr.io/ublue-os/bazzite
- Secure Boot didukung dengan kunci kustom, dan kunci publik tersedia di secure_boot.der pada root repositori
- Untuk mendaftarkan kunci Secure Boot sebelum instalasi atau rebase, gunakan perintah berikut
sudo mokutil --timeout -1
sudo mokutil --import secure_boot.der
- Jika sudah menggunakan image Universal Blue, sebagai gantinya dapat menjalankan
ujust enroll-secure-boot-key
- Jika diminta kata sandi, gunakan
universalblue
- Steam Deck tidak dikirim dengan Secure Boot aktif dan juga tidak memiliki kunci terdaftar bawaan, jadi jangan aktifkan jika belum benar-benar memahaminya
- Bazzite dibangun sepenuhnya dengan GitHub Actions
- Versi kustom sendiri dapat dibuat dengan mem-fork repositori, menambahkan kunci penandatanganan pribadi, lalu mengaktifkan GitHub Actions pada fork tersebut
- Menjalankan workflow
Build Bazzite akan membuat image kustom untuk semua varian Bazzite
- Untuk membangun hanya varian yang diperlukan, beri komentar pada varian yang tidak diinginkan dalam daftar
strategy.matrix pada job push-ghcr di .github/workflows/build.yml
- Untuk menyinkronkan fork dengan upstream, dapat menggunakan pengaturan pull app
-
Prosedur penandatanganan image sendiri
- Sebaiknya periksa terlebih dahulu cara pengelolaan secret di GitHub
- Buat pasangan kunci baru dengan Cosign
cosign generate-key-pair
- Ganti
cosign.pub di repositori publik dengan kunci publik yang dihasilkan
- Tambahkan teks kunci privat dalam
cosign.key ke Repository Secret pada repositori fork
- Nama secret harus
SIGNING_SECRET
Dokumentasi dan komunitas
- Dokumentasi
- Komunitas beroperasi di Bazzite Discord
- Arsip thread dukungan dapat dilihat tanpa akun di arsip
1 komentar
Opini Hacker News
Bagus. Sepertinya server media ruang keluarga akan menjadi kuda Troya yang menghidupkan kembali self-hosting, dan pada akhirnya mengubah internet kembali menjadi lebih berorientasi P2P
Jika kebanyakan orang memiliki koneksi simetris dan sistem Linux yang kuat, maka yang tersisa untuk menghalangi orang memakai internet sebagaimana awalnya dimaksudkan—sebagai konsumen sekaligus penerbit—hanyalah masalah perangkat lunak
Lebih baik taruh klien yang kecil, senyap, dan menghormati privasi, misalnya Apple TV, lalu simpan medianya di NAS di tempat lain. Bergantung pada UX klien yang disukai, Anda mungkin perlu aplikasi penyedia media terpisah seperti Plex, atau mungkin tidak perlu seperti Infuse
Apakah server berada di ruang keluarga, kantor, atau homelab, itu tidak banyak berpengaruh pada pemasyarakatan self-hosting; justru pengelolaan pustaka media lokal kemungkinan akan makin kurang populer. Orang-orang sudah melakukan ini selama beberapa dekade, jadi kalau memang ada efek kuda Troya, seharusnya sudah terjadi
Jadi kalau ada produk yang tinggal colok dan langsung jalan di area ini, itu akan sangat menarik
Saya jadi tahu beberapa tool untuk distro rpm-ostree
gnome-randr-rust: https://github.com/maxwellainatchi/gnome-randr-rust
Berperan seperti
xrandruntuk Gnome/Wayland pada distro yang tidak mendukungwlr-randrKernel-fsync: https://copr.fedorainfracloud.org/coprs/sentry/kernel-fsync/
gnome-vrr: https://copr.fedorainfracloud.org/coprs/kylegospo/gnome-vrr/
gsettings set org.gnome.mutter experimental-features "['variable-refresh-rate']"obs-vkcapture: https://copr.fedorainfracloud.org/coprs/kylegospo/obs-vkcapt...
system76-scheduler: https://copr.fedorainfracloud.org/coprs/kylegospo/system76-s...
Senang akhirnya ini muncul. Saat saya mempostingnya beberapa minggu lalu, saya heran kenapa saya tidak mengetahuinya lebih awal, dan mengira ini akan langsung naik ke atas, tetapi ternyata tenggelam begitu saja (https://news.ycombinator.com/item?id=38642298)
Saya cukup terkesan dengan Bazzite. Sejauh ini saya belum melihat kekurangan memakai Bazzite sebagai pengganti SteamOS, sementara kelebihannya banyak. Sudah lama saya ingin memasukkan Deck ke tailnet saya, tetapi itu tidak mudah, dan saya ingin memasang beberapa paket yang kurang berjalan baik lewat Flatpak ke OS dasar; sekarang itu bisa dilakukan
Misalnya, saya menjalankan game di desktop yang kuat lewat Remote Play dan menontonnya di TV, lalu masuk ke host via SSH: di satu pane tmux saya menjalankan htop, dan di pane lain nvtop untuk kartu AMD. Sekarang di AMD pun berjalan dengan baik. Bagi saya rasanya seperti perbedaan antara mengemudi sambil melihat speedometer dan tachometer, dibanding mengemudi tanpa apa pun. Di SteamOS hal sesederhana ini sulit, tetapi di Bazzite mudah
services.tailscale.enable = trueSaya jadi penasaran dengan Bazzite, mungkin perlu membandingkan NixOS dan Bazzite
Terlihat keren. Saya tidak butuh portabilitas dan tidak suka suara kipas, tetapi ingin kemudahan penggunaan Steam, jadi saya sempat mencari sesuatu seperti “PC dengan spesifikasi mirip Steam Deck”
Sekarang sepertinya ada jalan untuk menjalankan game dengan mudah di PC khusus yang umum dan senyap. Namun, sepertinya tidak akan ada optimasi untuk kombinasi GPU/CPU/RAM sembarang seperti yang dilakukan Valve dan AMD untuk Steam Deck
Menarik bahwa patch SteamOS BTRFS disertakan sehingga kartu SD juga mendapat dukungan BTRFS penuh secara default. Saya penasaran apa manfaat BTRFS dalam konteks game atau Steam Deck, lalu setelah melihat https://gitlab.com/popsulfr/steamos-btrfs, disebutkan bahwa kompresi transparan dan deduplikasi dapat menghemat ruang penyimpanan, mengurangi data yang harus dibaca sehingga waktu loading juga bisa membaik, serta snapshot instan memudahkan kembali ke kondisi sebelumnya. Sepertinya berguna untuk rollback sistem atau rollback ke versi lain dari game yang sama
Ia selalu mengalokasikan blok baru, lalu menandai blok lama sebagai bebas ketika tidak lagi dirujuk oleh filesystem aktif atau oleh snapshot jika didukung
Media flash sangat tidak suka penimpaan di tempat, karena blok harus dihapus dulu lalu ditulis lagi. Firmware flash modern pun pada akhirnya berusaha mengalokasikan blok baru, jadi sebagian efeknya terkompensasi, tetapi secara keseluruhan ini adalah pola tulis yang lebih baik untuk flash
Ternyata sebagian besar pekerjaan berat ditangani oleh kernel dan stack Mesa, dan pekerjaan sebenarnya terjadi di sana. Fedora cukup cepat membawa update kernel dan Mesa, sementara klien Steam menangani update Proton
Sinergi antara distro yang berfokus pada gaming seperti Bazzite, ChimeraOS, dan Nobara juga bagus. Banyak berbagi kode dan kolaborasi terjadi, dan semuanya terbuka sehingga siapa pun bisa ikut mengutak-atik
Rasanya seperti Steam Deck besar: performance overlay, controller Xbox, FSR, dan lainnya langsung berjalan baik. Tiap controller memang harus dipairing, tetapi cukup sekali saja. Secara pribadi saya sudah menamatkan campaign AAA seperti God of War, Horizon Zero Dawn, dan Baldur’s Gate 3 dalam 4K, dan saat bepergian progresnya tetap ada di Deck. Ini benar-benar pengalaman multi-perangkat
Ekspektasi tetap harus disesuaikan. VR, game multiplayer yang tidak memilih EAC atau memakai anti-cheat level kernel, serta yang dibuat Epic, pada dasarnya tidak berjalan. Bagi saya ini mirip platform konsol: bisa memainkan banyak game, tetapi sebagian tidak bisa. Pada tahap sekarang, UX Windows maupun Linux sama-sama berantakan, dan launcher pihak ketiga yang buruk adalah masalah terburuk di kedua sisi
Sebagai catatan, saya terlibat di universal blue tetapi tidak berkontribusi langsung ke Bazzite
Jika runtime Proton/Wine disimpan di disk yang sama, deduplikasi juga bisa berguna. Setiap game bisa membutuhkan runtime berbeda, versi terbaru tidak selalu yang terbaik, dan lingkungan Wine tanpa game sama sekali pun bisa memakan ratusan MB hanya dari DLL dan dependensi umum. Deduplikasi dapat mengurangi ruang penyimpanan yang terbuang, tetapi melihat harga media penyimpanan flash sekarang, mungkin tidak terlalu perlu dipusingkan
Ada juga yang menyukai checksum, tetapi menurut saya tanpa memori ECC itu tidak begitu berguna
Keunggulan utamanya adalah kompresi, terutama peningkatan kecepatan baca pada drive terkompresi seperti MicroSD. Deduplikasi BTRFS juga mengatasi masalah Wine prefix dengan dependensi mirip yang memakan ruang lebih dari semestinya
Sedikit terkait, hari ini saya menemukan redistribusi SteamOS untuk mesin biasa. Syaratnya tidak memakai grafis Nvidia: https://github.com/HoloISO/holoiso
Saya tidak terlalu paham detail kompatibilitas GPU di Linux, tetapi kenapa ini bukan sekadar memasang paket closed-source Nvidia saja?
Saya penasaran apa motivasi pembuatan proyek ini dan siapa yang mendukungnya. Rasanya lebih seperti gerakan open source strategis daripada sekadar proyek hobi akhir pekan
Mungkinkah ini ada hubungannya dengan Nvidia?
Awalnya saya menginginkan sesuatu yang mirip SteamOS tetapi tetap bisa memasang paket dan dipertahankan melewati proses update. Setelah memakai Silverblue sekitar setahun, saya menyadari Fedora bisa menyediakan itu. Dari sana proyek ini terus berevolusi dan membesar
Saya baru saja memasukkan HDR ke kanal pengujian, dan juga sedang mengerjakan penandatanganan kernel kustom agar bisa memindahkannya ke kanal stabil tanpa merusak dukungan secure boot
Kalau ingin mendukung sekarang, cara terbaik adalah memasangnya dan melaporkan bug yang ditemukan. Semakin banyak pengguna, semakin baik
Saya penasaran seberapa baik ini berjalan di perangkat yang murni berbasis sentuhan, misalnya tablet
Saya punya ThinkPad X1 Tablet generasi ke-3, dan masih mencari distro Linux yang enak dipakai sebagai tablet saja tanpa keyboard. Fedora bawaan punya bug yang cukup mengganggu pada keyboard layar, dan memasang ekstensi Phosh memang menyelesaikan sebagian besar masalah itu, tetapi memunculkan hal-hal merepotkan lain sehingga penggunaannya jadi tidak nyaman
Selain itu, untuk enkripsi disk, karena tidak ada keyboard layar di Grub, saat boot masih harus menyambungkan keyboard; saya penasaran bagaimana masalah ini diselesaikan di sini
Lihat, Bazzite berjalan di Mac Pro tempat sampah: https://youtu.be/te1AEj_RA64
Beberapa bulan lalu saat merakit PC gaming, ini terlihat seperti opsi yang menarik, jadi saya mencobanya
Saya menemui berbagai masalah dan setelah gagal sekitar 6–7 kali akhirnya menyerah, jadi sekarang saya menetap di Debian (https://blog.c10l.cc/09122023-debian-gaming)
Meski begitu, saya bersedia mencoba Bazzite lagi untuk melihat apakah berbagai masalah yang saya alami saat itu sudah diperbaiki. Namun ada satu batasan yang fatal bagi saya: tidak mendukung dual/multi-boot. Ada yang tahu apakah ini sudah berubah?