编译 Kodi 是一个复杂但非常有价值的过程,它允许你使用最新的功能、针对特定硬件进行优化,或者集成自定义的插件。
最重要的参数
对于大多数用户来说,最关心的优化参数是:
-DWITH_PLATFORM=DEBIAN: 指定目标平台为 Debian/Ubuntu,这会自动处理很多依赖和打包规则。-DCMAKE_BUILD_TYPE=Debug: 开发者模式,包含调试信息,编译速度慢,但便于排查问题。普通用户应使用Release。-DCMAKE_BUILD_TYPE=Release: 发布模式,编译速度最快,生成的程序性能最高,这是普通用户的首选。-DCMAKE_INSTALL_PREFIX=/usr: 指定安装路径,Debian/Ubuntu 的官方包管理器就是安装到/usr下的。-DWITH_CPU=generic: 通用 CPU 优化,如果你想针对特定 CPU 架构优化(如 Intel, ARM),可以替换为x86_64或armv8-a等。
编译前的准备(基础环境)
在开始编译之前,你必须准备好所有必要的依赖,缺少任何一个依赖都可能导致编译失败。
安装构建工具和依赖库
打开终端,执行以下命令,这是一个比较全面的列表,覆盖了 Kodi 及其所有组件(如 PVR clients, addons, etc.)的依赖。
# 更新软件包列表
sudo apt update
# 安装编译工具、Git、CMake 等
sudo apt install -y build-essential cmake git-core ninja-build ccache
# 安装自动依赖检查工具(非常推荐!)
sudo apt install -y aptitude
sudo aptitude build-dep kodi
# 手动安装一些关键依赖(aptitude 可能无法覆盖所有)
sudo apt install -y \
libass-dev libasound2-dev libavahi-client-dev libbluetooth-dev libcap-dev \
libcdio-paranoia-dev libcurl4-openssl-dev libdbus-1-dev libfontconfig1-dev \
libfreetype6-dev libfribidi-dev libinput-dev libjpeg-dev liblirc-dev libmicrohttpd-dev \
libmodplug-dev libnfs-dev libpcre3-dev libplist-dev libpng-dev libsmbclient-dev \
libsqlite3-dev libssl-dev libtag1-dev libtinyxml2-dev libudev-dev libvdpau-dev \
libx11-dev libxrandr-dev libxrender-dev libxslt1-dev libxt-dev libyajl-dev \
libzlib1g-dev mesa-common-dev python3-dev python3-pil swig \
uuid-dev libcrossguid-dev libfmt-dev libspdlog-dev \
libcec-dev libpulse-dev libmad0-dev libmp3lame-dev libflac-dev libogg-dev libvorbis-dev \
libbz2-dev libiso9660-dev libmicrohttpd-dev libssh-dev libbluray-dev \
libsamplerate0-dev liblilv-dev libmysofa-dev libsnappy-dev
说明:
sudo aptitude build-dep kodi是最关键的一步,它会自动分析并安装 Kodi 的编译依赖。- 后续的手动安装是为了补充
aptitude可能遗漏的一些依赖,特别是较新版本的 Kodi 可能需要更新的库。
获取 Kodi 源代码
Kodi 使用 Git 进行版本控制,你从哪里获取源代码决定了你将编译哪个版本。
# 创建一个工作目录 mkdir kodi-build cd kodi-build # 克隆官方 Kodi 仓库 # 主分支 (master) 是最新的开发版,可能不稳定。 # 推荐从 release 分支或特定标签编译稳定版。 git clone https://github.com/xbmc/xbmc.git # 如果你想要编译最新的稳定版,可以切换到 release 分支 # cd xbmc # git checkout master # 或者 Matrix (19.x), Nexus (21.x) 等具体分支
配置与编译(核心步骤)
现在你有了源代码和所有依赖,可以开始真正的编译了。
创建构建目录(强烈推荐)
不要在源代码目录中直接编译,这会污染源码,创建一个独立的构建目录。
cd kodi-build mkdir build cd build
运行 CMake 进行配置
这是最关键的一步,你在这里告诉 CMake 如何编译 Kodi,我们将把所有参数集中在一个命令中。
基本编译命令(针对 Debian/Ubuntu 用户):
cmake ../xbmc \
-DWITH_PLATFORM=DEBIAN \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release
详细参数解释与常用选项:
下面是一个更详细的 cmake 命令示例,包含了多种常见配置选项:
cmake ../xbmc \
# --- 平台与基础设置 ---
-DWITH_PLATFORM=DEBIAN # 【关键】指定为 Debian/Ubuntu 平台
-DCMAKE_INSTALL_PREFIX=/usr # 【关键】安装路径,与系统包一致
-DCMAKE_BUILD_TYPE=Release # 【关键】发布模式,性能最优,调试用 Debug
# --- 硬件加速与视频后端 ---
-DWITH_CPU=x86_64 # 【关键】CPU 架构优化,generic(通用), x86_64, armv8-a 等
-DENABLE_INTERNAL_DDCSCALER=OFF # 是否使用内置的 DDScaler(用于高清倍率)
-DENABLE_VAAPI=ON # 启用 VA-API (Intel/AMD 显核硬件加速)
-DENABLE_VDPAU=ON # 启用 VDPAU (NVIDIA 硬件加速)
-DENABLE_OPENGL=ON # 启用 OpenGL (默认开启)
-DENABLE_OPENGLES=ON # 启用 OpenGL ES (用于 ARM 设备)
# --- 功能开关 ---
-DENABLE_PULSEAUDIO=ON # 启用 PulseAudio 音频支持
-DENABLE_LIRC=ON # 启用 LIRC 遥控支持
-DENABLE_BLUETOOTH=ON # 启用 蓝牙支持
-DENABLE_CEC=ON # 启用 CEC (HDMI-CEC) 支持
-DENABLE_NFS=ON # 启用 NFS 网络文件系统支持
-DENABLE_SMBCLIENT=ON # 启用 SMB/CIFS 网络共享支持
-DENABLE_AIRTUNES=ON # 启用 AirPlay 支持
-DENABLE_MDNS=ON # 启用 Zeroconf (mDNS) 服务发现
-DENABLE_UDEV=ON # 启用 udev 设备管理
# --- 编译器优化 ---
-DCMAKE_CXX_FLAGS="-march=native" # 【高级】针对本机 CPU 架构优化 GCC/Clang
-DCMAKE_C_FLAGS="-march=native" # 【高级】同上,C 语言编译器
-DUSE_CCACHE=ON # 启用 ccache,大幅加速二次编译
如何选择参数?
- 新手/普通用户: 只需要使用
基本编译命令即可,它会编译一个功能完整、适合你 Debian 系统的 Kodi。 - 硬件优化: 如果你使用 Intel 或 AMD 的 APU,可以加上
-DENABLE_VAAPI=ON,如果你有 NVIDIA 显卡且较旧,可以加上-DENABLE_VDPAU=ON。-DWITH_CPU=x86_64会让 Kodi 针对你的 CPU 进行优化,提升性能。 - 开发者: 使用
-DCMAKE_BUILD_TYPE=Debug,并加上-DWITH_TESTS=ON来编译单元测试。
执行编译
配置完成后,使用 make 命令开始编译,Kodi 代码量很大,首次编译可能需要很长时间(从几十分钟到几小时不等,取决于你的 CPU 性能)。
# 使用所有可用的 CPU 核心进行编译,速度最快 make -j$(nproc)
nproc命令会告诉你系统有多少个逻辑 CPU 核心。-j参数告诉make同时运行多少个任务。
安装
编译成功后,将编译好的文件安装到你指定的路径(/usr)。
sudo make install
执行此命令后,Kodi 的可执行文件、库、资源文件等就会被复制到系统的标准位置。
运行与后续
运行 Kodi
你可以直接在终端中启动 Kodi 了:
kodi
或者通过你的应用程序菜单(如果桌面环境正确识别了安装的 .desktop 文件)来启动。
创建启动器(.desktop 文件)
如果桌面环境没有自动创建启动图标,你可以手动创建一个。
创建文件 ~/.local/share/applications/kodi.desktop如下:
[Desktop Entry] Version=1.0 Type=Application Name=Kodi Comment=Free and open source home theater/media center software Exec=kodi Icon=kodi Terminal=false Categories=AudioVideo;Video;Player; StartupNotify=false
卸载
如果你想卸载这个编译安装的版本,可以回到你的 build 目录,执行:
cd /path/to/your/kodi-build/build sudo make uninstall
这会删除所有由 make install 安装的文件。
总结与注意事项
- 时间与资源: 编译 Kodi 是资源密集型任务,确保你有足够的磁盘空间(至少 20GB+)和内存(8GB+ 推荐)。
- 依赖是关键:
aptitude build-dep kodi是你的好朋友,如果编译失败,90% 的问题是依赖没装全。 - 从稳定分支开始: 如果你不追求最新功能,建议从
nexus(21.x) 或matrix(19.x) 等稳定分支编译,而不是master。 ReleasevsDebug: 除非你在开发,否则始终使用Release模式。- 与官方包共存: 你编译安装的 Kodi 会与系统通过
apt安装的官方 Kodi 冲突,请确保卸载官方版本后再编译你的自定义版本,或者将编译版安装到不同路径(如-DCMAKE_INSTALL_PREFIX=/opt/mykodi),但这需要你手动配置环境变量和.desktop文件,对于新手,直接覆盖/usr是最简单的方式。
