Ubuntu 7.04 跑 WoW (World of Warcraft)

wow-run對於一個想要能夠成為潮流的作業系統而言,能不能玩遊戲其實比什麼辦公、繪圖之類的工作還要來得重要的多,只要能夠玩遊戲,就會是個成功的作業系統(成不成功跟賣不賣是兩回事)。如果一個作業系統能夠執行一套線上玩家數量已經足以去聯合國申請席位的遊戲,這個作業系統幾乎就離成功不遠了,而這套遊戲就是魔獸世界(World of Warcraft)。

在魔獸世界更新至「燃燒的遠征」之後,我又再度受到艾澤拉斯大地的呼喚,通過那結合異界、串連現實的大門,重新再生於那片土地,並且朝外域挺進;雖然一開始我身無分文、手無強武,但是這次我帶了一個極為強大的夥伴,名為 烏奔圖.菲伊斯提.風(Ubuntu Feisty Fawn)

要在新版的 Ubuntu Feisty Fawn 執行魔獸世界燃燒的遠征其實非常的簡單,大致上可以分為三個步驟:建立環境、安裝魔獸、調整設定,但是要先確定獨立顯示卡是否已經安裝好驅動程式並且啟動了硬體加速,可以在終端機中輸入下列指令進行判斷:
glxinfo | grep rendering

如果系統回應:
direct rendering: Yes

則表示顯示卡已經桌面繪圖已經啟動硬體加速,不然就需要進行相關的安裝,如果在 Feisty Fawn 中可以啟動 3D 桌面特效,通常都沒什麼問題。接下來就是進行相關步驟:

1.建立環境:


主要就是安裝 wine 來相容 windows 軟體的執行需求,在以往可能還要自行編譯、自行設定,現在變得更容易了一些。首先開啟一個終端機,加入新的來源庫:
sudo wget http://wine.budgetdedicated.com/apt/sources.list.d/feisty.list -O /etc/apt/sources.list.d/winehq.list

然後進行 wine 的安裝:
wget -q http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
sudo apt-get update
sudo apt-get install wine

再稍微進行一下相關設定,安裝完畢後在終端機中輸入:
winecfg

就會啟動 wine 的設定畫面,主要設定在於模擬環境以 win2000 為主,因為模擬 winxp 會有很多淡出淡入等不必要的特效影響執行效率,再來是確定有顯示的部份有啟動硬體加速(在 Video 那一頁中),最後比較要注意的是音效模擬,一般預設使用 OSS 音效模擬,但是我在 nforce 主機板上(內建音效)改用 ALSA 音效模擬效果較好,當執行時發現音效效果不好的時候,記得回頭調整音效模擬的設定試試看(請記得:只要啟動一個即可!別兩者都勾!)。winecfg 也會在使用者的家目錄當中建立相關資料夾,隱藏在 .wine 資料夾當中,在家目錄當中按 Ctrl+H 就可以看見隱藏目錄。

2.安裝魔獸:


千萬別笨笨的用光碟安裝!!會安裝到想哭的,更何況還要安裝燃燒的遠征!拿顆隨身硬碟去朋友那把已經安裝好的 WoW 全部 CO 回來,或是利用網路芳鄰 Copy 回來也可以,就是別笨到用光碟安裝。
COPY 回來後可以將整個資料夾複製到 .wine/drive_c/program files/ 底下(對軟體來說這就是 c:\program files\ 資料夾),不過前提是家目錄(HOME)的磁區空間要夠大(至少 8GB),不然就找個夠大的磁區丟著,當然,如果有安裝 ntfs-3g 可以對 ntfs 磁區進行讀寫,丟在別的磁區應該也可以。 update:已經測試過,放在NTFS磁區的時候WOW沒辦法對設定檔案進行寫入的動作,所以執行會發生問題,唯一的方法似乎還是得放在家目錄中,記得把家目錄開大一點吧!安裝燃燒的遠征與最新的幾個更新之後,包含家目錄可能的應用,至少要 10GB 會好一點。
如果真的想不開要用光碟安裝,那就丟進光碟片,然後用下列兩個指令進行安裝:
wine Installer.exe #啟動安裝程式,記得先進光碟機目錄
wine eject #光碟機不退片的時候強制退片


3.調整設定:


首先,將 WOW 中的 WTF 底下的資料夾與檔案全部刪除,然後用底下指令啟動一次 WOW,並且登入一個帳號與角色:
wine /(WOW資料夾位置)/WoW.exe

如果是在預設的 .wine/drive_c/program files/ 資料夾內就輸入:
wine "c:\program files\World of Warcraft\WoW.exe"

第一次啟動會非常非常慢,並且會造成系統小硬直,這是因為程式會重新偵測硬體環境,並重建一套新的 WTF 資料夾與 Config.wtf 檔案,順利登入後(通常應該沒有問題,只有畫質爛爛的、音效遜遜又破破的)就可以登出,並關閉 WoW 程式。

到 /(WOW資料夾)/wtf/ 中雙點 Config.wtf,選擇「顯示」,會用文字編輯軟體開啟這個檔案,在最後面加上底下的三行設定:
SET gxApi "opengl"
SET SoundOutputSystem "1"
SET SoundBufferSize "150"

強制 WOW 以 OPENGL 進行執行,並且獲得較好的音效效果,存檔後離開。

update:
如果在載入WOW的時候還是發生圖形問題的話,試著加入這些設定:
SET ffxDeath "0"
SET ffxGlow "0"

這是在幫朋友安裝的時候發現有的機器非得要這些設定不可。


接下來就是:玩吧!啟動的方法可以用:
wine "C:\Program Files\World of Warcraft\Launcher.exe"

就是先執行 WOW 的前導公告程式,不過這個步驟會要求下載網頁瀏覽核心來看公告訊息,通常我都是採用下面的指令:
wine "C:\Program Files\World of Warcraft\WoW.exe"

直接進入 WoW,這樣比較快。

如果要建立程式相關的啟動圖示就複製執行下列的命令:
wget http://kde-files.org/CONTENT/content-files/41569-wow-icon-scalable.svg
sudo mv 41569-wow-icon-scalable.svg /usr/share/icons/
gksudo gedit /usr/share/applications/wow.desktop

然後在開啟的文書處理軟體中輸入下列命令:
[Desktop Entry]
Encoding=UTF-8
Name=World of Warcraft
Name[hr]=World of Warcraft
Exec=wine /home/(帳號名稱)/.wine/drive_c/Program\ Files/World\ of\ Warcraft/WoW.exe
Icon=41569-wow-icon-scalable.svg
Terminal=false
Type=Application
Categories=Application;Game;
StartupNotify=false

Exec 那行也可以改成:
Exec=wine "C:\Program Files\World of Warcraft\WoW.exe"

或是
Exec=wine /(你安裝魔獸的資料夾)/WoW.exe

這樣就可以在上方下拉選單「應用程式\遊戲」當中找到 WoW 的啟動圖示,進行啟動。

如果對 Windows 的 registry 很熟悉的話,可以參考底下 Wowwiki 連結中的相關設定,進一步的提高遊戲執行效率,但是實際上我沒有經過這些設定就已經有很好的效果,執行的配備:
AMD 1.8Ghz + 1.5G MB Ram + nVidia GeForce 6200 陽春公版未超頻改管卡
在 WoW 執行的時候啟動效能監控情況如下:
Screenshot-系統監控 wow
CPU 的執行當然都維持在 99% (這是 windows 遊戲的特色),系統記憶體只花費 500 多MB,還有執行 gaim、firefox 等軟體, Linux Swarp 只用到 30 多 MB,系統整體呈現出的效能當然是相當不錯,在各程式之間切換也很平順,實際遊戲執行可以參考最上面的圖片,在 1024 x 768 遊戲解析度與視窗模式下,每秒 FPS 大多可以維持在 30 FPS 以上,高的時候可以到 60 FPS ,全螢幕執行的效果當然要再更好一些,因為顯卡不夠力而沒有再嘗試更高的解析度,遊戲預設開啟的特效跟在 windows xp 底下差不多(依顯示卡不同而不同),但是在遊戲中就不要再進入「顯示設定」中做其他的修改,因為我至少因此而讓遊戲完全當死五次以上,才放棄在內部進行相關設定。

還有一個要注意的地方,就是除非你硬體系統的顯示卡非常強悍( nVidia 8 系列以上或 ATI X1600 以上),不然千萬別像我一樣「騷咖增」的想在 Beryl 啟動的情況下執行 WoW,那種執行情況一定會讓你很想帶著 烏奔圖.菲伊斯提.風 逃離艾澤拉斯大陸的召喚。

參考資料來源:
WoW on Linux/WineWorldofWarcraft Howto。

2007-05-04 update : 讓 Wine 啟動再快一點:
輸入下列指令更改設定檔案:
sudo gedit /usr/share/X11/locale/zh_TW.UTF-8/XLC_LOCALE

然後將下列文字的前方都加上"#":
# fs2 class (Chinese Han Character (Traditional))
#fs2 {
# charset {
# name BIG5-0:GLGR
# }
# font {
# primary BIG5-0:GLGR
# substitute BIG5-0:GLGR
# }
#}
這樣就可以避免 wine 在啟動的時候搜尋原本就不存在的字型檔案,加快啟動的速度,實際驗證過後在 Ubuntu 當中確實有效。