Chiaki4Deck项目:自行构建Flatpak包的完整指南
前言
Chiaki4Deck是一款专为游戏串流设计的开源软件,基于Chiaki项目进行了优化和改进。本文将详细介绍如何在Linux系统上从源代码构建Chiaki4Deck的Flatpak包,适合希望自定义构建或深入了解构建过程的高级用户。
构建前的准备工作
系统要求
- 操作系统:需要Linux发行版(可通过虚拟机、WSL2等方式运行)
- 必要工具:
- gpg:用于签名验证
- curl:文件下载工具
- flatpak:应用程序容器化技术
- flatpak-builder:Flatpak构建工具
各发行版安装指南
Ubuntu/Debian系
sudo apt update && sudo apt install -y gnupg curl flatpak flatpak-builder
RHEL/CentOS系
sudo yum update && sudo yum install -y gnupg curl flatpak flatpak-builder
Arch Linux系
sudo pacman -Syy && sudo pacman -S gnupg curl flatpak flatpak-builder
Steam OS特殊说明
由于Steam OS采用只读文件系统,需要额外步骤:
- 临时禁用只读模式
sudo steamos-readonly disable
- 初始化密钥环
sudo pacman-key --init
sudo pacman-key --populate archlinux holo
- 安装依赖
sudo pacman -Syy && sudo pacman -S flatpak-builder
- 恢复只读模式
sudo steamos-readonly enable
配置Flatpak环境
添加Flathub仓库(默认的Flatpak应用源):
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
构建过程详解
获取构建依赖
- 安装KDE运行时和开发工具包:
flatpak install -y flathub org.kde.Platform//6.8 flathub org.kde.Sdk//6.8
- 创建工作目录:
mkdir -p ~/build-chiaki-ng-flatpak && cd ~/build-chiaki-ng-flatpak
- 获取构建清单文件:
curl -Lo chiaki-ng.yaml https://raw.githubusercontent.com/streetpea/chiaki-ng/main/scripts/flatpak/chiaki4deck.yaml
- 获取必要的补丁文件:
curl -LO https://raw.githubusercontent.com/streetpea/chiaki-ng/main/scripts/flatpak/0001-Vulkan-Don-t-try-to-reuse-old-swapchain.patch
curl -LO https://raw.githubusercontent.com/streetpea/chiaki-ng/main/scripts/flatpak/0001-vulkan-ignore-frames-without-hw-context.patch
创建GPG签名密钥
- 生成GPG密钥对:
gpg --quick-gen-key chiaki-ng-diy
- 导出公钥(私钥保留在本地):
gpg --export chiaki-ng-diy > chiaki-ng-diy.gpg
实际构建过程
- 执行构建命令:
flatpak-builder --repo=chiaki-ng-diy --force-clean build chiaki-ng.yaml --gpg-sign chiaki-ng-diy
构建时间说明:首次构建需要完整编译所有依赖项和主程序,根据系统性能可能需要15分钟以上。后续构建会利用缓存,速度会显著提升。
- 生成静态增量更新(优化用户更新体验):
flatpak build-update-repo chiaki-ng-diy --generate-static-deltas --gpg-sign=chiaki-ng-diy
安装自定义构建版本
- 添加本地构建仓库:
flatpak --user remote-add --gpg-import chiaki-ng-diy.gpg chiaki-ng-diy ~/build-chiaki-ng-flatpak/chiaki-ng-diy
- 安装自定义构建的Chiaki4Deck:
flatpak --user install chiaki-ng-diy io.github.streetpea.Chiaki4deck
技术要点解析
- Flatpak技术优势:通过容器化技术确保应用在不同Linux发行版上运行一致
- Vulkan补丁作用:解决特定硬件环境下图形渲染问题
- GPG签名重要性:确保构建产物的完整性和来源可信
- 静态增量更新:减少用户更新时的下载量
常见问题排查
- 构建失败:检查网络连接,确保所有依赖已正确安装
- 签名问题:确认GPG密钥配置正确
- 运行时错误:验证KDE运行时版本是否匹配
通过以上步骤,您已成功构建并安装了自定义的Chiaki4Deck Flatpak包。这种构建方式不仅让您能够使用最新代码,也为进一步定制开发奠定了基础。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



