起因
最近折腾了一下rust/tauri程序开发,据说这玩意性能非常牛皮就玩了一下,但是我运行打包一直出现一个奇怪问题,窗口能正常打开,但是是纯黑的什么内容都没有,鼠标移上去又发现指针会变换(看起来是内容又渲染,但被一个什么黑漆漆的玩意儿挡住了一样),找了很久没找到方案,遂在github上提了个问题,好在官方大佬非常好,一天不到就回复了我的问题解决方案,这里分享出来供大家参考。
github问题地址
https://github.com/tauri-apps/tauri/issues/13183
解决方案
大佬说好像是因为webkitgtk的问题( webkitgtk 2.48 is so broken),也给出了解决方案
webkitgtk 2.48 is so broken 😭 it’s almost funny how every release is worse than the one before. Can you try running it with the WEBKIT_DISABLE_COMPOSITING_MODE=1 and WEBKIT_DISABLE_DMABUF_RENDERER=1 env vars set?
就是说使用WEBKIT_DISABLE_COMPOSITING_MODE和WEBKIT_DISABLE_DMABUF_RENDERER配置试试看,我测试了一下两个选一个就成,执行如下命令然后再执行对应的dev或者build就行了
export WEBKIT_DISABLE_COMPOSITING_MODE=1
# or
export WEBKIT_DISABLE_DMABUF_RENDERER=1
拓展
这样是暂时解决了问题,但是又有一个问题,就是打包后的程序执行也要手动先执行这两玩意才能正常跑,否则也黑,问了一下豆包,得到一个解决方案,就是把这玩意写到main.rs程序中去即可
std::env::set_var("WEBKIT_DISABLE_DMABUF_RENDERER", "1")