分享如何在Linux玩音樂節奏遊戲「osu!」
osu!是由Dean Herbertd開發的自由軟體,提供多種遊戲模式,包括點選畫面圓圈的「osu!」、打太鼓的「osu!taiko」、接水果的「osu!CatchtheBeat」、下落式鋼琴的「osu!mania」。你可以登入osu!帳號,與全球玩家競技排行榜。
1. osu!版本選擇#
osu!最早只有Windows系統版,稱之為osu!stable,這個版本要用Wine跑。
現在有了跨平台版本osu!lazer,支援Linux、Windows、macOS、Android、iOS,功能更多,能夠利用各大作業系統的原生圖形API加速,亦能正常上傳分數。故不需要用Wine跑osu!stale了,直接安裝osu!lazer即可。
如果你執意要玩osu!stable,請多加利用NelloKudo/osu-winello的安裝指令稿,它會幫你配好Wine環境。
本文提及的osu!皆是指osu!lazer版。
2. 安裝osu!以及OpenTabletDriver#
osu!主程式有加入防作弊系統,所以建議使用官方建置的版本,才能登入帳號並上傳分數。
osu!官網提供AppImage,下載點二下就能夠執行了。建議用這個版本,社群打包的Flatpak版可能抓不到硬體裝置。
osu!的遊戲資料位於
~/.local/share/osu/
,要下載譜面和模組就是放到這裡。如果要使用繪圖板遊玩,osu!會透過OpenTabletDriver偵測繪圖板。即使你的繪圖板已經被Linux認到,最好也改用OpenTabletDriver。例如我的Wacom繪圖板,Linux核心有驅動支援,所以插上就能用。但是安裝OpenTbaletDriver後,似乎能點的比較精準。
參考OpenTabletDriver官網說明安裝套件,例如Ubuntu就是安裝deb檔:
sudo apt install ./OpenTabletDriver.deb
- 啟動OpenTabletDriver服務:
systemctl --user enable --now opentabletdriver
重啟電腦,開啟OpenTabletDriver設定界面,啟用Artist Mode。
OpenTabletDriver可能會跟繪圖板原本的驅動衝突,不用的時候可以將服務關閉:
systemctl --user disable opentabletdriver
3. osu!的輸入裝置#
osu!各個模式的玩法參見官方中文Wiki
osu!提供多種控制方案,既能用滑鼠鍵盤玩,也可以用觸控螢幕,亦或是繪圖板。
以預設的osu!模式來說,有觸控螢幕當然是最好。例如Surface平板安裝Linux,觸控螢幕正常運作的話,osu!應該也會透過libinput認到輸入裝置。
用繪圖板玩也是可以的,Wacom繪圖板在Linux的支援度很不錯。osu!得搭配OpenTabletDriver,才能在遊戲裡面偵測到繪圖板。
什麼都沒有的話,就用滑鼠+鍵盤玩吧!
4. Linux的延遲問題#
如果覺得滑鼠卡卡的,不建議在osu!遊戲內調整滑鼠速度,應該從桌面環境去調整。
GNOME:系統設定 → 滑鼠。
KDE Plasma:系統設定 → 輸入裝置 → 滑鼠。
現在Linux的音訊系統普遍都是用PipeWire了,所以應該沒有音訊延遲問題。確認系統是否使用Pipewire的指令:pactl info
譜面的元素移動過快的時候,X11很容易出現畫面撕裂感,即使開全螢幕也是一樣,我很確定不是驅動問題。Wayland不會。據說Wayland環境比X11更容易造成點擊延遲,我自己感覺是沒有。
確認自己是X11還是Wayland的指令:echo $XDG_SESSION_TYPE