wiliwili社区FAQ:新手常见问题解答
1. 什么是wiliwili?
wiliwili是一款专为手柄控制设计的第三方跨平台B站客户端,支持PC全平台、PSVita、PS4和Nintendo Switch等设备。它提供了接近官方PC客户端的浏览体验,同时支持触屏、鼠标、键盘与手柄操控,让用户在不同设备上都能获得良好的使用体验。
2. 如何安装wiliwili?
2.1 Nintendo Switch
- 下载
wiliwili-NintendoSwitch.zip:wiliwili releases - 将wiliwili.nro放置在内存卡
switch目录下。 - 在主页
按住R键打开任意游戏进入hbmenu,在列表中选择wiliwili点击打开即可。 - [可选] 在应用内安装桌面图标,入口:设置/实用工具/使用教程
桌面图标会优先尝试打开switch/wiliwili.nro,如果其不存在,则尝试打开switch/wiliwili/wiliwili.nro,如果这两个路径都不存在,则打开hbmenu自行选择路径。
默认提供的为OpenGL版本,最高只能播放4k@30,你也可以下载到支持原生图形api的deko3d版本,可以流畅播放4k@60,不过可能会偶尔崩溃。
2.2 PSVita
下载wiliwili-PSVita.vpk安装即可:wiliwili releases
开启硬解后可以流畅播放720P横屏视频,480P竖屏视频,部分直播1080P原画。
2.3 PS4
下载wiliwili-PS4.pkg安装即可:wiliwili releases
只支持软解,如果想播放4k@60需要在设置中开启低画质解码。
2.4 PC
PC客户端支持切换硬件解码、秒开流畅适合老电脑、支持鼠标操控(左键点击 右键返回 中键刷新)
下载对应系统的安装包运行即可:wiliwili releases
[!TIP] 现在Linux & Steam Deck用户可以通过系统自带的软件商店(如Discover、GNOME Software)搜索
wiliwili进行下载。
更多使用技巧请参考项目WIKI
3. wiliwili有哪些功能特点?
wiliwili拥有非常接近官方PC客户端的B站浏览体验,同时支持多种操控方式,具有以下功能特点:
- 多语言:简、繁、日、韩、英等
- 搜索页:热搜、视频、番剧、影视
- 筛选页:快速找到想看的影视内容
- 动态页:关注的UP主最近视频动态
- 直播页:关注的主播与其他系统推荐
- 播放页:视频、番剧、电影、纪录片、综艺,支持弹幕与评论
- 个人页:扫码登录、历史记录、个人收藏、我的追番、我的追剧
- 主题色:拥有深浅两色主题,跟随系统自动切换
4. 如何反馈问题?
在反馈问题前,请先做以下事情:
- 网络相关的问题附加
网络诊断截图,入口:应用内设置/实用工具/网络诊断 - [Switch用户]要确保
大气层和系统固件更新到最新,内存卡为FAT32 - [Switch用户]如果打开应用黑屏时间过长,可以尝试删除内存卡目录
config/wiliwili重新进入 - 确保
系统时间正确、系统网络设置正确(主要是DNS)、如果使用了网络代理请在反馈前关闭并重新测试 - 查找有没有其他人出现过类似的问题:Issues
- 完整且详细地描述你的问题,最好附加演示视频、截图。
- 尝试复现问题,尽力找到BUG出现的规律
5. 应用截图展示
6. 如何贡献代码或翻译?
6.1 软件移植
本应用基于nanovg绘制界面,nanovg底层可移植切换到任意图形库,已有OpenGL/Vulkan/Metal等支持。视频播放部分则使用FFMPEG + MPV绘制,默认使用OpenGL,有D3D11/Deko3d/Gxm或软件渲染支持。触摸/按键/输入法等平台相关功能通过GLFW或SDL来支持,也可以脱离二者直接实现,比如Gxm版PSV。
如果你要移植的设备支持OpenGL(ES)那么一般来说,直接编译就能正常运行。如果你要移植的设备使用其他底层图形库,那么首先需要移植nanovg,这可以确保应用主要界面正常,其次为了更好的性能表现需要ffmpeg的硬解和mpv的渲染支持。
如果你有想要移植的设备欢迎发一条issue讨论,Android / iOS不在讨论之内。
6.2 新功能
如果你有想完成的创意,请在开发前发布一个issue讨论,避免和别人的创意撞车浪费了时间
6.3 多语言支持
如果你想为软件添加多语言的翻译支持,或者发现了某些翻译存在问题需要订正,请查看#52了解如何贡献翻译
6.4 代码分支
主分支yoga为最新版本的代码
开发分支dev为正在开发中的代码,任何新的PR都需要向dev分支提交
7. 开发相关
7.1 拉取代码
# 拉取代码
git clone --recursive https://github.com/xfangfang/wiliwili.git
cd wiliwili
7.2 PC本地运行
目前wiliwili支持运行在Linux macOS和Windows上
macOS
# macOS: install dependencies
brew install mpv webp
cmake -B build -DPLATFORM_DESKTOP=ON
make -C build wiliwili -j$(sysctl -n hw.ncpu)
Linux
不同Linux的编译过程或依赖可能不同,这里是一份总结:#89
欢迎在上面的链接中写出你所使用系统的编译过程供大家参考。
# Ubuntu: install dependencies
sudo apt install libssl-dev libmpv-dev libwebp-dev
cmake -B build -DPLATFORM_DESKTOP=ON
make -C build wiliwili -j$(nproc)
# 如果你想安装在系统路径,并生成一个桌面图标,请使用如下内容编译
cmake -B build -DPLATFORM_DESKTOP=ON -DINSTALL=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=/usr
make -C build wiliwili -j$(nproc)
sudo make -C build install
# uninstall (run after install)
sudo xargs -a build/install_manifest.txt rm
Windows
# Windows: install dependencies (MSYS2 MinGW64)
pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-make \
git mingw-w64-x86_64-mpv mingw-w64-x86_64-libwebp
cmake -B build -G "MinGW Makefiles" -DPLATFORM_DESKTOP=ON
mingw32-make -C build wiliwili -j$(nproc)
7.3 交叉编译Switch可执行文件(wiliwili.nro)
推荐使用docker构建,本地构建配置环境略微繁琐不过可用来切换底层的ffmpeg或mpv等其他依赖库更灵活地进行调试。
以下介绍OpenGL下的构建方法,deko3d(更好的硬解支持)请参考:scripts/build_switch_deko3d.sh
Docker
docker run --rm -v $(pwd):/data devkitpro/devkita64:20240202 \
bash -c "/data/scripts/build_switch.sh"
本地编译
# 1. 安装devkitpro环境: https://github.com/devkitPro/pacman/releases
# 2. 安装依赖
sudo dkp-pacman -S switch-glfw switch-libwebp switch-cmake switch-curl devkitA64
# 3. 安装自定义依赖
# devkitpro提供的提供的 ffmpeg/mpv 无法播放网络视频
# 手动编译方法请参考:scripts/README.md
base_url="https://github.com/xfangfang/wiliwili/releases/download/v0.1.0"
sudo dkp-pacman -U \
$base_url/switch-ffmpeg-7.1-1-any.pkg.tar.zst \
$base_url/switch-libmpv-0.36.0-3-any.pkg.tar.zst
# 4. build
cmake -B cmake-build-switch -DPLATFORM_SWITCH=ON
make -C cmake-build-switch wiliwili.nro -j$(nproc)
7.4 交叉编译PSV可执行文件
使用本地环境来编译可以参考:
注意: 我们使用自定义的mbedtls, curl和ffmpeg作为依赖, 在使用本地环境编译时,请先卸载vitasdk中的相关库,再安装指定的依赖.
# 构建 OpenGL ES 2.0 版
docker run --rm -v $(pwd):/src/ xfangfang/wiliwili_psv_builder:latest \
"cmake -B cmake-build-psv -G Ninja -DPLATFORM_PSV=ON \
-DMPV_NO_FB=ON -DUSE_SYSTEM_CURL=ON -DUSE_SYSTEM_SDL2=ON \
-DCMAKE_BUILD_TYPE=Release && \
cmake --build cmake-build-psv"
# 构建 Gxm 版 (推荐)
docker run --rm -v $(pwd):/src/ xfangfang/wiliwili_psv_builder:latest-gxm \
"cmake -B cmake-build-psv -G Ninja -DPLATFORM_PSV=ON \
-DUSE_SYSTEM_CURL=ON -DUSE_GXM=ON -DUSE_VITA_SHARK=OFF \
-DCMAKE_BUILD_TYPE=Release && \
cmake --build cmake-build-psv"
7.5 交叉编译PS4可执行文件
使用本地环境来编译可以参考:
docker run --rm -v $(pwd):/src/ xfangfang/wiliwili_ps4_builder:latest \
"cmake -B cmake-build-ps4 -DPLATFORM_PS4=ON \
-DMPV_NO_FB=ON \
-DUSE_SYSTEM_CPR=ON && \
make -C cmake-build-ps4 -j$(nproc)"
7.6 GLFW or SDL
wiliwili使用nanovg绘制图形和文字,对于创建窗口、按键触摸、输入法等支持是通过GLFW(默认)或SDL完成的。
因为GLFW支持平台有限,在移植到新平台时可以使用SDL或者自行实现上述对应接口。
# 示例
cmake -B build -DPLATFORM_DESKTOP=ON -DUSE_SDL2=ON
cmake --build build
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考





