背景
原神升级版本之后,对于amd gpu并没有专门的支持,所以amdgpu 运行时会崩溃在libgallium库中。这是一个全新的3D引擎框架,由mesa提出。我们将这个问题反馈到mesa官方后,得到了一个修复。原神在amdgpu崩溃修复。但是修复崩溃后,还存在丢失纹理的问题(就是游戏中外景变成一些方方正正的盒子)。
解决方法
这个问题通过启用mesa 的xmlconfig 功能来兼容运行。这个功能的原理是,针对指定的程序名,使用xmlconfig记录的特性值返回给调用者。那修复纹理丢失的问题是使用另外一款gpu的名称代替amdgpu来返回给原神。
这个文件存在于wendor镜像的etc/drirc.d/00-mesa-defaults.conf
在关闭fde,登录linux系统的情况下可以手动挂载vendor镜像来查看:
#将vendor镜像挂载到/mnt目录。 sudo mount /usr/share/waydroid-extra/images/vendor.img /mnt #打开xml配置文件 sudo vim /mnt/etc/drirc.d/00-mesa-defaults.conf 910 <application name="Genshin Impact" executable="com.miHoYo.Yuanshen"> 911 <option name="ignore_discard_framebuffer" value="true" /> 912 <option name="force_gl_renderer" value="Adreno (TM) 630"/> 913 <option name="force_gl_vendor" value="Qualcomm"/> 914 </application> esc #按下esc vim 退出到命令模式 :wq #输入:wq保存退出。 sudo umount /mnt #卸载镜像
需要注意的是这个兼容方案,有时候会造成原神整个画面显示红色问题。此时需要先注释或删除以上910~914行的内容。先让原神正常启动,进入画面(带纹理丢失的画面)。然后退出fde,再按上述步骤,添加好910~914的内容。再次进入fde,才能正常进入画面。
有兴趣的可以查看 https://github.com/openfde/openfde/issues/15#issuecomment-2116555506
0 评论