Skip to content

Waim908/rootfs-winlator

Repository files navigation

Root Filesystem Customized

此仓库使用 GPL-3.0 协议开源

GPL-3.0

Winlator glibc 定制版 imagefs,用于补全原版 Winlator 的项目,适用于 moze30/winlator-glibc

Actions Status

Winlator Rootfs Build (use Docker)

Winlator Rootfs Build (use BCC)

目录

使用

已经添加了所有 Linux 语言的编码补全,对于一些冷门未翻译游戏理论上可能存在效果。总之无论你是任何国家的用户,可以切换对应的编码来改变 Wine 的显示语言和修复字体乱码问题。 同时添加了全球的时区文件,你可以通过 TZ 变量来校准 Wine 的显示时间。

只需要替换掉 APK 包 assets 文件夹内的 imagefs.tzst 文件就能享受比原版更好的解码效果。如果你不想破坏改版的 rootfs 结构,请自行解包并解压此仓库 Releases 的 output-full.tar.xz(包含完整的时区文件与所有语言的 UTF-8 编码)或 output-lite.tar.xz(不包含编码与时区文件)到 rootfs,然后再使用 zstd 压缩为 imagefs.tzst 并自行添加到 APK 里。 安装完成后无需重装(除非你重新签名导致安装包发生冲突)。 在 Winlator 主界面:

  1. 点击左上角菜单
  2. ⚙️ 设置 (Setting)
  3. 滑动到页面最底部
  4. 重新安装文件系统 (Reinstall System Files)
  5. 等待进度条跑完 可能需要创建一个容器进行测试,否则可能不会创建 libGL.so.1 的链接。 然后你就可以启动容器来测试解码效果了。

关于编码

现在所有语言的支持与对应编码支持均已完善,你可以通过设置变量 LC_ALL,值为对应语言的变量值,例如 zh_CN.UTF-8

关于 MangoHud

在容器设置环境变量: MANGOHUD

  • 1 MANGOHUD_CONFIG
  • engine_version,fps,frametime,ram,version,vulkan_driver,present_mode,arch

Gstreamer 解码调试

声明变量 GST_DEBUG 值为 4,如果没有输出则是调用其他解码,请在调试中勾选 quartzmfplatdxva2

MangoHud 调试

声明变量 MANGOHUD_LOG_LEVEL,值可以为:

  • off
  • err
  • info(编译默认值)
  • debug(推荐,否则看不到有用的信息)

关于视频解码

对于 Unity H264 游戏,经过测试此版本已经可以流畅播放和解码 H264 视频,不会出现卡顿、卡死或黑屏现象,包括声音也是正常的。但在此之前你必须使用原版自带的 Wine 并在环境变量设置里启用 WINE_DO_NOT_CREATE_DXGI_DEVICE_MANAGER 这个变量,如果没有请自行添加,值为 1。此变量只存在于原版和应用相关补丁的 Wine 中。

构建参数

FLAC 与 OPUS 均可以通过 libav 代替。

GStreamer

meson setup builddir \
  --buildtype=release \
  --strip \
  -Dgst-full-target-type=shared_library \
  -Dintrospection=disabled \
  -Dgst-full-libraries=app,video,player \
  -Dbase=enabled \
  -Dgood=enabled \
  -Dbad=enabled \
  -Dugly=enabled \
  -Dlibav=enabled \
  -Dtests=disabled \
  -Dexamples=disabled \
  -Ddoc=disabled \
  -Dges=disabled \
  -Dpython=disabled \
  -Ddevtools=disabled \
  -Dgstreamer:check=disabled \
  -Dgstreamer:benchmarks=disabled \
  -Dgstreamer:libunwind=disabled \
  -Dgstreamer:libdw=disabled \
  -Dgstreamer:bash-completion=disabled \
  -Dgst-plugins-good:cairo=disabled \
  -Dgst-plugins-good:gdk-pixbuf=disabled \
  -Dgst-plugins-good:oss=disabled \
  -Dgst-plugins-good:oss4=disabled \
  -Dgst-plugins-good:v4l2=disabled \
  -Dgst-plugins-good:aalib=disabled \
  -Dgst-plugins-good:jack=disabled \
  -Dgst-plugins-good:pulse=enabled \
  -Dgst-plugins-good:adaptivedemux2=disabled \
  -Dgst-plugins-good:v4l2=disabled \
  -Dgst-plugins-good:libcaca=disabled \
  -Dgst-plugins-good:mpg123=enabled \
  -Dgst-plugins-base:examples=disabled \
  -Dgst-plugins-base:alsa=enabled \
  -Dgst-plugins-base:pango=disabled \
  -Dgst-plugins-base:x11=enabled \
  -Dgst-plugins-base:gl=disabled \
  -Dgst-plugins-base:opus=disabled \
  -Dgst-plugins-bad:androidmedia=disabled \
  -Dgst-plugins-bad:rtmp=disabled \
  -Dgst-plugins-bad:shm=disabled \
  -Dgst-plugins-bad:zbar=disabled \
  -Dgst-plugins-bad:webp=disabled \
  -Dgst-plugins-bad:kms=disabled \
  -Dgst-plugins-bad:vulkan=disabled \
  -Dgst-plugins-bad:dash=disabled \
  -Dgst-plugins-bad:analyticsoverlay=disabled \
  -Dgst-plugins-bad:nvcodec=disabled \
  -Dgst-plugins-bad:uvch264=disabled \
  -Dgst-plugins-bad:v4l2codecs=disabled \
  -Dgst-plugins-bad:udev=disabled \
  -Dgst-plugins-bad:libde265=disabled \
  -Dgst-plugins-bad:smoothstreaming=disabled \
  -Dgst-plugins-bad:fluidsynth=disabled \
  -Dgst-plugins-bad:inter=disabled \
  -Dgst-plugins-bad:x11=enabled \
  -Dgst-plugins-bad:gl=disabled \
  -Dgst-plugins-bad:wayland=disabled \
  -Dgst-plugins-bad:openh264=disabled \
  -Dgst-plugins-bad:hip=disabled \
  -Dgst-plugins-bad:aja=disabled \
  -Dgst-plugins-bad:aes=disabled \
  -Dgst-plugins-bad:dtls=disabled \
  -Dgst-plugins-bad:hls=disabled \
  -Dgst-plugins-bad:curl=disabled \
  -Dgst-plugins-bad:opus=disabled \
  -Dgst-plugins-bad:webrtc=disabled \
  -Dgst-plugins-bad:webrtcdsp=disabled \
  -Dpackage-origin="[rootfs-winlator](https://github.com/Waim908/rootfs-winlator)" \
  --prefix=/data/data/com.winlator/files/rootfs/

MangoHud

meson setup builddir \
  -Dwith_xnvctrl=disabled \
  -Dwith_wayland=disabled \
  -Dwith_nvml=disabled \
  -Dinclude_doc=false
  --prefix=/data/data/com.winlator/files/rootfs/

依赖:

libxkbcommon

meson setup builddir \
  -Denable-xkbregistry=false \
  -Denable-bash-completion=false \
  -Denable-wayland=false \
  -Denable-tools=false \
  -Denable-bash-completion=false \
  --prefix=/data/data/com.winlator/files/rootfs/

ubuntu依赖

docker env:docker run -itd --platform linux/arm64 --name wlt -v /usr/bin/qemu-aarch64-static:/usr/bin/qemu-aarch64-static -v /root/wlt-rt:/root ubnutuarm:24.04 bash

对于无法交互的自动化脚本环境必须加入变量export DEBIAN_FRONTEND=noninteractive

apt update && apt upgrade -y

配置apt-fast(可选)

apt install --no-install-recommends -y software-properties-common 
apt update
apt install --no-install-recommends -y apt-fast
allPkgs=(
build-essential
locales
python3
python3-pip
wget
libgl-dev
libvulkan-dev
libpulse-dev
libglib2.0-dev
libx11-dev
flex
bison
libdrm-dev
libasound2-dev
glslang-dev
libmpg123-dev
pkg-config
libxcb-xkb-dev
autotools-dev
)

使用apt或者apt-fast安装${allPkgs[@]}就行了

CA 证书支持

MoZilla 证书

其他

鸣谢

由衷感谢以下所有项目及其开发者们所作出的努力:

Root Filesystem 依赖与软件环境

重新构建 / 新增 / 更新

状态 项目
新增 MangoHud Cmod
重构并更新 GStreamer
新增 xz
新增 libxkbcommon
新增 xkeyboard-config
更新 FLAC
更新 GLib
新增 libxkbfile

其他

  • MangoHud — 未加入(基于原版开源版本)

补丁参考

About

Custom Winlator Glibc Rootfs/Imagrfs

Resources

License

Stars

9 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages