Wine作為在Kubuntu上運行windows程式所必備的轉譯層,原始狀態下並沒有一個很好的設定介面,所以必須要藉由其他針對wine而設計的前端來輔助搭建所需要的Wine環境
而bottles則是目前最好用的前端,以下就紀錄一下自己搭建環境時,查找資料的筆記
而bottles則是目前最好用的前端,以下就紀錄一下自己搭建環境時,查找資料的筆記
執行器(轉譯層/相容層)
任何的轉譯層,都未必是新版優於舊版本,在實際運行的過程中經常會遇到某個版本的轉譯層正常運作、但換到新版本就頻繁出錯當機的狀況,所以必須自己逐一測試,或是去查詢別人運行的狀況
個人用過的相容層
- soda
- caffe
- ge-proton
- wine-ge(wine-ge-proton)
根據https://github.com/GloriousEggroll/wine-ge-custom/releases說明頁面,似乎wine-ge已經跟其他相容層的專案合作開發,未來可能不再會有wine-ge的更新
以下幾個相容層,個人沒用過,單從敘述來看也不清楚具體差異...
- Vaniglia
- kron4ek
- lutris
DXVK、VKD3D、DXVK-NVAPI
微軟Directx的轉譯器,將Directx的指令轉換成Vulkan指令來運行,得益於Vulkan的高效率,可以大幅度提高遊戲運行時的流暢度
- DXVK
自己所玩的遊戲來說,dxvk-async的性能表現會比較好,設定DXVK時可以優先嘗試這個分支
- VKD3D
- DXVK-NVAPI
相依項目
包含常用字形、Directx(8、9、11)、.NET Framework、Visual C++等等於windows程式上常用到的組件,有分成原生(windows官方DLL)/內建(wine相關人員開發DLL)
直接透過bottles進行安裝的話,可以免去自行抓相關套件回來安裝的麻煩;且在後續搭建環境時,要運行的程式未必認得到自己安裝的組件(例如個人搭建MegaDownloader
的使用環境時,自行安裝.NET Framework 4.81,MegaDownloader會無法運行;但從bottles安裝.NET Framework 4.81卻可正常啟動)
DLL覆寫
指定當前環境所使用的某個DLL檔案,是只使用「原生DLL」或是「內建DLL」,也可設定「原生DLL先於內建DLL」、「內建DLL先於原生DLL」參考資料
https://www.reddit.com/r/linux_gaming/comments/yljd6l/bottles_caffe_soda_vagniglia_chardonnay/
https://www.reddit.com/r/linux_gaming/comments/uzrz2k/a_thread_about_using_protonge_and_winege_builds/
https://zh.wikipedia.org/zh-tw/Proton_(%E8%BB%9F%E9%AB%94)
https://www.reddit.com/r/linux_gaming/comments/vzt4pg/protonge_vs_winege/
https://medium.com/codingbar/api-%E5%88%B0%E5%BA%95%E6%98%AF%E4%BB%80%E9%BA%BC-%E7%94%A8%E7%99%BD%E8%A9%B1%E6%96%87%E5%B8%B6%E4%BD%A0%E8%AA%8D%E8%AD%98-95f65a9cfc33