欢迎光临散文网 会员登陆 & 注册

非8+cpu也能使用支持dri3的turnip dxvk了

2023-08-27 14:12 作者:桂树2018  | 我要投稿

如图所示,茶壶帧率涨了近300fps,也不再需要MESA_VK_WSI_DEBUG=sw选项了。我手机红米note12 ,cpu是骁龙4gen1。

glxgears可以800fps了。

glmark2可以327fps了。 非8+ cpu也能使用不带MESA_VK_WSI_DEBUG=sw的turnip了,使用的最新版termux-x11,非8+cpu需要自行在chroot容器里编译xwayland-23.1.2 xorg-server-21.1.8 xorgproto-2023.2这三个组件,开启dri3才行。 termux-x11要使用下面的版本。

配套deb是termux-x11-nightly-1.03.00-0-all.deb。去github termux-x11项目的最新成功构建链接下载去下载即可。 安装完termux-x11的deb和apk后非8+手机就需要自行编译xwayland-23.1.2 xorg-server-21.1.8 xorgproto-2023.2 以及mesa驱动了。8+好像只需要编译mesa即可。 【驱动编译】

直接在chroot debian容器内编译即可。 首先下载资源 apt install wget wget https://xorg.freedesktop.org/releases/individual/xserver/xorg-server-21.1.8.tar.xz wget https://xorg.freedesktop.org/archive/individual/proto/xorgproto-2023.2.tar.xz wget https://xorg.freedesktop.org/releases/individual/xserver/xwayland-23.1.2.tar.xz 编译前先准备好编译环境 sudo dpkg --add-architecture armhf sudo apt upgrade sudo apt install zenity:armhf libasound*:armhf libstdc++6:armhf mesa*:armhf sudo apt install vulkan* *-mesa-* mesa* sdl* sudo apt build-dep mesa && sudo apt install cmake git wget g++-arm-linux-gnueabihf zlib1g-dev:armhf libexpat1-dev:armhf libdrm-dev:armhf libx11-dev:armhf libxext-dev:armhf libxdamage-dev:armhf libxcb-glx0-dev:armhf libx11-xcb-dev:armhf libxcb-dri2-0-dev:armhf libxcb-dri3-dev:armhf libxcb-present-dev:armhf libxshmfence-dev:armhf libxxf86vm-dev:armhf libxrandr-dev:armhf libwayland-dev:armhf wayland-protocols:armhf libwayland-egl-backend-dev:armhf libxcb-shm0-dev:armhf pkg-config:armhf llvm-16:armhf 【1】编译xorg-server-21.1.8 tar -xvf xorg-server-21.1.8.tar.xz cd xorg-server-21.1.8 mkdir b cd b apt-get build-dep xorg-server meson .. -Dxvfb=true -Dglx=true -Dudev_kms=true -Ddri3=true -Ddrm=true* ninja install 【2】编译xorgproto-2023.2 tar -xvf xorgproto-2023.2.tar.xz cd xorgproto-2023.2 mkdir b cd b meson .. legacy=ture ninja install 【3】编译xwayland-23.1.2 tar -xvf xwayland-23.1.2.tar.xz cd xwayland-23.1.2 mkdir b cd b apt-get build-dep xwayland meson .. -Dxwayland_eglstream=true -Dxvfb=true -Dglx=true -Ddri3=true -Ddrm=true -Dmitshm=true 【4】编译mesa wget https://archive.mesa3d.org/mesa-23.1.6.tar.xz tar -xvf mesa-23.1.6.tar.xz 修改一以下文件

文件路径/data/data/com.termux/files/home/debian/root/mesa-23.1.6/src/freedreno/vulkan/ mesa-23.1.6文件夹下编写一个cross.txt,并保存。 内容如下 [binaries] c = 'arm-linux-gnueabihf-gcc' cpp = 'arm-linux-gnueabihf-g++' ar = 'arm-linux-gnueabihf-ar' strip = 'arm-linux-gnueabihf-strip' pkgconfig = 'arm-linux-gnueabihf-pkg-config' [host_machine] system = 'linux' cpu_family = 'arm' cpu = 'arm' endian = 'little' 编译64位turnip+zink+解码库+镓九 mkdir b cd b meson .. -Dgallium-drivers=virgl,zink,swrast,d3d12 -Dvulkan-drivers=freedreno,swrast -Dglx=dri -Dplatforms=x11,wayland -Dbuildtype=release -Dllvm=enabled -Dxlib-lease=enabled -Dglx=dri -Dgles2=enabled -Dgallium-nine=true -Dgallium-opencl=icd -Dfreedreno-kmds=kgsl,msm -Ddri3=enabled -Dvulkan-beta=true -Dvideo-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc -Dglx-direct=true -Dtools=drm-shim,freedreno -Dgallium-vdpau=enabled ninja install cd .. 编译32位turnip + zink meson build32 --cross-file=cross.txt --libdir=lib/arm-linux-gnueabihf -Dgallium-drivers=freedreno,zink,swrast,virgl -Dvulkan-drivers=freedreno -Dgallium-nine=true -Dfreedreno-kmds=kgsl,msm -Dglx=dri -Dxlib-lease=enabled -Dplatforms=x11,wayland -Ddri3=enabled -Dvulkan-beta=true -Dvideo-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc -Dglx-direct=true -Dtools=drm-shim,freedreno cd build32 ninja install 现在驱动编译完成。 全局环境变量 nano /etc/profile export PULSE_SERVER=127.0.0.1 export LIBGL_DRIVERS_PATH="/usr/local/lib/aarch64-linux-gnu/dri/:/usr/local/lib/arm-linux-gnueabihf/dri" export VK_ICD_FILENAMES=/usr/local/share/vulkan/icd.d/freedreno_icd.aarch64.json:/usr/local/share/vulkan/icd.d/freedreno_icd.arm.json export MESA_LOADER_DRIVER_OVERRIDE=zink export ZINK_DEBUG=compact export ZINK_DESCRIPTORS=lazy export MESA_GL_VERSION_OVERRIDE="4.6COMPAT" export XDG_RUNTIME_DIR=/tmp export DISPLAY=:1 export PULSE_SERVER=127.0.0.1 export GALLIUM_HUD=fps export DXVK_HUD=devinfo,fps,api,gpuload export WINEPREFIX=/root/.wine export BOX64_PATH=/usr/bin/box64 expor BOX86_PATH=/usr/bin/box86 export mesa_glthread=true export LP_NUM_THREADS=300 直接复制上面的就行,blibli显示格式有问题。 wine启动脚本 nano /usr/bin/startwine64 LIBGL_DRIVERS_PATH="/usr/local/lib/aarch64-linux-gnu/dri/:/usr/local/lib/arm-linux-gnueabihf/dri" VK_ICD_FILENAMES=/usr/local/share/vulkan/icd.d/freedreno_icd.aarch64.json:/usr/local/share/vulkan/icd.d/freedreno_icd.arm.json vblank_mode=0 TU_DEBUG=noconform MESA_LOADER_DRIVER_OVERRIDE=zink LP_NUM_THREADS=300 taskset -c 6,7 box64 wine64 taskmgr

非8+cpu也能使用支持dri3的turnip dxvk了的评论 (共 条)

分享到微博请遵守国家法律