起因
最近折騰了一下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")