Unity官方早期是有宣稱過支援 Linux OS的, 但其實近年已經悄悄拿掉,
目前官方只公布支援 Windows與 Mac OSX.
原因無它, 自然是因為 Linux分岐版本太多難以維護管理.
自己也算是 Unix系統新手/白癡
所以想說還是紀錄一下這一陣子以來在 Linux使用經驗上踩過的雷好了
1. 準備VM
首先因為手邊只有 Windwos OS (沒錯我一直很懶得學/用 Linux環境)
因此最快的方式就是使用 virtual machine工具,
鑒於以前慣用 virtual box, 這次想改玩 VMware,
故使用免費版 VMware workstation player
https://www.vmware.com/tw/products/workstation-player/workstation-player-evaluation.html
2. 安裝Linux OS
從官方論壇調查得知, 目前 Unity官方宣稱支援最穩定的是 ubuntu OS環境,
因此選擇 ubuntu, 初步測試先選擇安裝較新的 ubuntu 18.04 64bit
https://www.ubuntu-tw.org/modules/tinyd0/
現在的 virtual machine和 ubuntu安裝流程真的是有夠方便的,
感覺跟一鍵搞定差不多了
3. 安裝 Unity engine editor (for Linux)
參考以下官方討論串
https://forum.unity.com/threads/unity-on-linux-release-notes-and-known-issues.350256/
沒錯, 並沒有在官方網站上留下 Linux版本支援連結,
只剩下討論串的方式來發布新的 Linux版本 Unity engine...
總之裡面也算是有詳細介紹安裝教學,
而必備的 3rd party tool/app/libs 則是列出了一大堆..
The dependencies for Unity itself are:
- gconf-service
- lib32gcc1 (>= 1:4.1.1)
- lib32stdc++6 (>= 4.6)
- libasound2 (>= 1.0.23)
- libc6 (>> 2.15)
- libc6-i386 (>= 2.15)
- libcairo2 (>= 1.6.0)
- libcap2 (>= 2.10)
- libcups2 (>= 1.4.0)
- libdbus-1-3 (>= 1.2.14)
- libexpat1 (>= 1.95.8)
- libfontconfig1 (>= 2.8.0)
- libfreetype6 (>= 2.3.9)
- libgcc1 (>= 1:4.1.1)
- libgconf-2-4 (>= 2.31.1)
- libgdk-pixbuf2.0-0 (>= 2.22.0)
- libgl1-mesa-glx | libgl1
- libglib2.0-0 (>= 2.31.8)
- libglu1-mesa | libglu1
- libgtk2.0-0 (>= 2.24.0)
- libnspr4 (>= 1.8.0.10)
- libnss3 (>= 3.14.3)
- libpango1.0-0 (>= 1.22.0)
- libstdc++6 (>= 4.6)
- libx11-6 (>= 2:1.4.99.1)
- libxcomposite1 (>= 1:0.3-1)
- libxcursor1 (>> 1.1.2)
- libxdamage1 (>= 1:1.1)
- libxext6
- libxfixes3
- libxi6 (>= 2:1.2.99.4)
- libxrandr2 (>= 2:1.2.99.2)
- libxrender1
- libxtst6
- zlib1g (>= 1:1.1.4)
- debconf (>= 0.5) | debconf-2.0
- npm
sudo apt-get install xxxx ...... (重複數十遍..)
如果要找更簡潔的安裝說明的話可以參考以下連結
https://www.paperstartgames.com/install-unity3d-in-ubuntu-18_04/
https://www.paperstartgames.com/install-unity3d-in-ubuntu-18_04/
總之我試著安裝了 Unity2018.1.3 與 Unity2018.2.7 (當時官方支援的最新版本)
兩個版本遇到的地雷點差不多,
照個教學一步一步做總之是把 Unity engine run起來惹wwww
可以編遊戲也可以 build player,
但每次開 package manager必定 crash...
為了開啟 coding IDE, 我選擇裝 visual studio code,
但每次重開 Unity editor都必須重新指定 preferences -> External Tools -> External Script Editor,
似乎沒有正確寫入 Unity editor preference...
4. 地雷筆記
這部分只是我將前陣子記錄下來的踩雷點存在 blog上
大部分我也沒再追蹤, 所以算是沒意義可以忽略ww
= Unity engine editor啟動時有出現幾個 error logs, 也遇到 Unity官方 tutorial專案時會發生 crash的問題, 但開啟新的空專案或之前自己準備的 Unity專案時則沒有 crash. ERROR:browser_main_loop.cc(161)] Running without the SUID sandbox! (可忽略); ERROR:renderer_main.cc(227)] Running without renderer sandbox; ERROR:gpu_process_transport_factory.cc(402)] Failed to establish GPU channel.
= 在 Unity editor中設定 preferences -> External Tools -> External Script Editor, 容易發生 Unity editor crash. 嘗試使用 sublime-text開啟 Unity script file (.cs), 但在更改 scripting codes/shader codes後返回 Unity engine editor時會發生 crash.
= Unity editor中開啟 Package Manager必會發生 crash.
= Crash core dump中可以發現訊息: VMware: vmw_ioctl_command error Invalid argument. 可能跟 VMware環境提供的 GPU driver運作有關.
= Linux standalone環境會被 Unity engine自動認定為 UnityEngine.Rendering.GraphicsTier.Tier3 (高階硬體環境)
- 測試 standalone player app在 ubuntu OS VM (VMware without "Accelerate 3D Graphics" enabled)環境下的運行情境. 初步測試因為 Unity Linux standalone player要求至少支援 OpenGL Core 3.2+ version, 所以 app啟動失敗.
沒有留言:
張貼留言