Gentoo用户指南:从源码编译wiliwili

Gentoo用户指南:从源码编译wiliwili

【免费下载链接】wiliwili 专为手柄控制设计的第三方跨平台B站客户端,目前可以运行在PC全平台、PSVita、PS4 和 Nintendo Switch上 【免费下载链接】wiliwili 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili

B站作为国内最大的视频内容平台之一,拥有海量的动漫、影视和原创内容。对于Gentoo用户而言,通过源码编译安装应用不仅能获得更好的系统兼容性,还能根据硬件特性优化性能。本文将详细介绍如何在Gentoo系统上从源码编译专为手柄控制设计的跨平台B站客户端——wiliwili,让你在PC、PSVita、PS4或Nintendo Switch等设备上获得流畅的B站体验。

准备工作:系统环境与依赖安装

在开始编译前,需确保系统已安装基础开发工具链和必要依赖库。wiliwili依赖于MPV媒体播放器、WebP图像解码库等组件,这些在Gentoo中可通过Portage包管理器便捷安装。

核心依赖安装

执行以下命令安装编译所需的基础依赖:

sudo emerge --ask dev-vcs/git dev-util/cmake dev-lang/c++ libsdl2 media-video/mpv media-libs/libwebp net-misc/curl

注意:MPV需要启用网络支持以播放在线视频,确保net USE flag已在/etc/portage/package.use中启用:

media-video/mpv net

获取源码

通过Git克隆项目仓库(包含子模块):

git clone --recursive https://gitcode.com/GitHub_Trending/wi/wiliwili.git
cd wiliwili

项目结构中包含多个平台的编译脚本和配置文件,核心代码位于wiliwili/source/目录,其中wiliwili/source/main.cpp是程序入口点。

编译配置:CMake参数与平台选项

wiliwili使用CMake作为构建系统,支持多平台编译。对于Gentoo桌面用户,需重点关注PLATFORM_DESKTOP选项;若需为Switch等游戏设备编译,可参考项目提供的专用脚本。

基础编译配置

创建构建目录并生成Makefile:

mkdir -p build && cd build
cmake .. -DPLATFORM_DESKTOP=ON -DCMAKE_BUILD_TYPE=Release

关键CMake参数说明:

  • -DPLATFORM_DESKTOP=ON:启用桌面平台编译(默认支持Linux、macOS、Windows)
  • -DCMAKE_BUILD_TYPE=Release:生成优化的发布版本
  • -DUSE_SDL2=ON:可选,使用SDL2替代GLFW处理输入(适用于部分嵌入式设备)
  • -DINSTALL=ON:启用系统安装路径支持(需配合CMAKE_INSTALL_PREFIX

高级选项:硬件加速与性能优化

对于支持硬件解码的设备(如AMD/Intel显卡),可添加如下参数启用VA-API加速:

cmake .. -DPLATFORM_DESKTOP=ON -DUSE_VAAPI=ON

项目中cmake/extra.cmake文件定义了额外编译选项,可根据需求调整。例如,启用Unity Build减少编译时间:

cmake .. -DBRLS_UNITY_BUILD=ON -DCMAKE_UNITY_BUILD_BATCH_SIZE=16

编译与安装:构建过程与故障排除

执行编译

使用make命令开始编译,建议指定线程数加速构建:

make -j$(nproc)

编译产物将生成在build/wiliwili路径下。若需安装到系统目录(如/usr/local/bin):

sudo make install

常见问题解决

  1. MPV依赖错误
    若提示libmpv.so缺失,需手动安装项目提供的定制MPV库:

    BASE_URL="https://github.com/xfangfang/wiliwili/releases/download/v0.1.0"
    wget ${BASE_URL}/switch-libmpv-0.36.0-3-any.pkg.tar.zst
    sudo emerge --ask --noreplace ./switch-libmpv-0.36.0-3-any.pkg.tar.zst
    
  2. 编译速度慢
    启用ccache缓存编译结果:

    cmake .. -DCMAKE_CXX_COMPILER_LAUNCHER=ccache
    
  3. 链接错误:undefined reference to `nv'*
    确保nanovg图形库已正确初始化,检查wiliwili/source/view/目录下的渲染相关代码(如wiliwili/source/view/mpv_core.cpp)。

运行与调试:启动参数与日志查看

基本启动

直接运行编译后的可执行文件:

./build/wiliwili

首次启动时,程序会在~/.config/wiliwili目录生成配置文件。若需启用调试日志,添加--debug参数:

./build/wiliwili --debug > wiliwili.log 2>&1

手柄支持测试

wiliwili专为手柄优化,可通过以下命令测试按键映射:

./build/wiliwili --test-input

项目中scripts/linux/gen_icons.sh脚本可生成桌面图标,便于集成到应用菜单:

sudo ./scripts/linux/gen_icons.sh /usr/local/share/icons

跨平台编译:以Nintendo Switch为例

对于拥有Switch的用户,项目提供了Docker化编译流程。以下是简要步骤(需安装Docker):

# 使用官方编译脚本
./scripts/build_switch.sh

脚本会自动下载Switch平台依赖(如switch-ffmpeg),并生成NRO格式可执行文件。编译产物位于cmake-build-switch/wiliwili.nro,可通过大气层加载器运行。

更多平台编译细节可参考scripts/README.mdwiliwili/include/activity/目录下的平台特定代码。

总结与后续优化

通过源码编译wiliwili,Gentoo用户可获得针对硬件优化的B站客户端,尤其适合游戏掌机和HTPC设备。建议定期同步源码更新,或通过项目提供的CI nightly构建获取最新功能:

# 同步最新代码
git pull --recurse-submodules

推荐优化方向:

  1. 为低性能设备(如树莓派)编译时启用-Os优化
  2. 调整wiliwili/include/utils/config_helper.hpp中的缓存策略
  3. 自定义主题与布局,参考wiliwili_theme项目

附录:项目资源与社区支持

关键文件与目录

问题反馈

若遇到编译错误,可优先检查:

  1. Issues是否有类似报告
  2. 网络诊断日志:应用内设置 > 实用工具 > 网络诊断
  3. 依赖版本兼容性:参考scripts/build_switch_deko3d.sh中的依赖版本

通过以上步骤,你已成功在Gentoo系统上从源码构建wiliwili。享受手柄操控带来的沉浸式B站体验吧!

【免费下载链接】wiliwili 专为手柄控制设计的第三方跨平台B站客户端,目前可以运行在PC全平台、PSVita、PS4 和 Nintendo Switch上 【免费下载链接】wiliwili 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值