[心得] Linux 與 Steam(三):直接安裝 steam 套件

作者: Tetralet (Tetralet)   2017-04-28 21:42:47
而安裝 Steam 最直覺的方法,當然是直接把它安裝在系統裡了。
有部份的 Linux 發行版直接提供 steam 讓使用者安裝。
像 Debian,您可以在 non-free 類的套件中找到 steam。
註:在很舊的 Debian Lenny 檔案庫裡有另一個套件也叫 steam。請不要裝錯個了 XD
Debian 版的 steam 和原生版並不完全一樣。
主要差別是 Debian 版的 steam 會把檔案都裝在 $HOME/.steam 下;
而原生版主要是放在 $HOME/.local/share/Steam 下。
然後兩者還有些其它細微差異,建議不要共用。
另,就如上文所說的,
其實 SteamOS 上在跑的是個名為 steamcompmgr 的 Window Manager,
和桌面版的 steam 又有一些些差別...
在安裝 steam 的同時,應該會因為相依性然後裝了一堆套件進來。
除此之外,建議再安裝以下套件:
libc6-i686 libva1:i386 dbus-x11
libgl1-mesa-glx:i386 libgl1-mesa-dri:i386
libtxc-dxtn-s2tc0 libtxc-dxtn-s2tc0:i386
另,請將使用者加入以下群組:
audio dip video plugdev netdev input
但因為 steam 基本上是特用於 SteamOS 的應用程式,
所以硬在其它的系統下面跑難免有些水土不服。
比如說,在開啟 steam 時,可能會顯示以下錯誤訊息:
libappindicator-WARNING **: Unable to get the session bus: Command line ...
然後 Steam 的 System Tray Icon 出不來,
BigPicture 模式和遊戲也都慢到吐血。
我們可以猜到的,大概是因為 steam 內建的 dbus 和系統正在跑的版本不符的關係。
而解決方案很簡單,就是把以下刪除或更名,讓 steam 使用系統函式庫即可:
.steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3
.steam/ubuntu12_32/steam-runtime/amd64/lib/x86_64-linux-gnu/libdbus-1.so.3.5.8
.steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libdbus-1.so.3
.steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libdbus-1.so.3.5.8
而其實這個位於 /usr/bin/steam 的只是個 Bash Script。
它的功能大概就是檢查環境後,再另外下載並執行 steam 的用戶端程式。
您可以用 bash -x /usr/bin/steam 來看看 steam 在跑些什麼指令。
因為 steam 本身用的都是很舊的函式庫,
(理論上是 Ubuntu 12.04 LTS,大概是 5 年前的函式庫)
所以可能有些遊戲在比較新的 Linux 發行版上跑會有些小問題。
您可以參考以下資料然後希望瞎貓能碰著死耗子:
https://wiki.debian.org/Steam
https://wiki.archlinux.org/index.php/steam
不過,Ubuntu 12.04 LTS 支援只到 2017-04-28。(就是今天)
很好奇之後 Steam 會怎麼做。
大改版搞不好會看到一堆遊戲適應不良... XD
《待續...》
作者: onegaisimasu (Onegaisimasu)   2017-04-28 22:23:00
bump
作者: penguinfuko (企鵝)   2017-04-28 22:27:00
好文推
作者: x52013 (想不到要取什麼)   2017-04-28 22:34:00
不過我還挺好奇,既然裝SteamOS遊戲效能沒有提升,能玩的遊戲也變少,除了系統本身(好像)免費以外還有什麼好處嗎?
作者: attis   2017-04-28 22:49:00
Debug能力大幅提升
作者: Bencrie   2017-04-29 00:06:00
因為 OS 太邊緣人,所以病毒木馬之類的攻擊幾乎沒有
作者: CP64 (( ̄▽ ̄#)﹏﹏)   2017-04-29 00:07:00
個人是裝 archlinux 提供的就是了 該順的都會順
作者: Bencrie   2017-04-29 00:07:00
盜帳號機會大幅降低。不過還是防不了社交工程
作者: CP64 (( ̄▽ ̄#)﹏﹏)   2017-04-29 00:08:00
不過是用 native 不是用 steam 裏面自帶的
作者: Bencrie   2017-04-29 00:09:00
~/.local/share/Steam 沒有人裝這裡吧?從 squeeze 自己包的到 stretch 都沒看過 XD
作者: CP64 (( ̄▽ ̄#)﹏﹏)   2017-04-29 00:19:00
官方的 bootstrap 腳本是塞那邊沒錯啊 ' A')
作者: acidjazz (...........)   2017-04-29 00:22:00
推推!其實那些建議安裝套件好像預設也會一併安裝我用過ubuntu14.04跟16.04,只要顯卡驅動有裝,要做的其實只有兩件事:下載官方deb、點兩下安裝個人經驗是覺得很easy,但相信也有人搞到頭很大的QQ
作者: CP64 (( ̄▽ ̄#)﹏﹏)   2017-04-29 00:28:00
最頭大的是在筆電的 arch 上裝 因為不能用 native libs但是 arch 提供的預設是用 native libs (沒記錯的話後來發現只要下個環境變數就好 (抹臉
作者: TFreeman (Freeman)   2017-04-29 00:56:00
以後可以用SSH隨時購買遊戲了(X)
作者: kaito12 (哈士奇)   2017-04-29 00:58:00
「因為愛」給推!!!
作者: justin761002 (JiMing)   2017-04-29 01:35:00
Ubuntu用戶路過,回答前面推文的問題,選用Linux的最主要理由就是因為我不想花錢買 Windows而且其實現在很多遊戲(尤其是小品)都有支援跨平台大作的話,文明帝國、邊緣禁地系列都可以在Steam上遊玩,大部分 HB 包的遊戲也是跨平台的說實在,真的沒遇過那種為了玩它非買Windows不可的遊戲接下來因為工作需要,可能要組一台新的Windows電腦有機會體驗到兩者的差異再來跟大家分享
作者: ug945 (ug945)   2017-04-29 02:24:00
當你有一台跑深度學習機器的時候就很需要了
作者: sarsman (DeNT15T♠)   2017-04-29 04:57:00
justin用ubuntu跑TESV?
作者: LoserPenguin (魯蛇企鵝)   2017-04-29 10:48:00
優質文推
作者: e04su3no (鋼鐵毛毛蟲)   2017-04-29 11:16:00
可以打出這篇然後覺得WINDOWS複雜也是蠻神奇的
作者: justin761002 (JiMing)   2017-04-29 11:26:00
2013年的上古捲軸V是用家裡電腦玩的,是Windows搬出來住以後是用筆電(Ubuntu)
作者: jerry92277 (幻月之刃)   2017-04-29 11:53:00
在linux底下光"灌好顯示驅動"就可以搞的不要不要的ubuntu 16.04 LTS,還超挑nv驅動版本,要找特定某幾版的驅動才能正常開xorgsteam裝好還不提,安裝好遊戲之後遊戲會不會動還要另外debug找缺什麼,只要其中哪一個lib版本不對(太高太低都一樣),lib安裝位置不對,都是直接閃退的概念
作者: tonyian (巨水瓶)   2017-04-29 14:18:00
我等主流遊戲都支援linux 我再換好了
作者: Bencrie   2017-04-29 14:34:00
我還以為 nv driver 是最好裝的耶 XD除了硬體太舊要裝 legacy 版,xserver ABI 太新還沒支援不然裝最新的通常不會有問題
作者: acidjazz (...........)   2017-04-30 11:00:00
我有裝過nv fx5900、amd 7770 rx460,驅動都蠻簡單說可能真的運氣很好吧
作者: Davinais (水靈流喵)   2017-04-30 14:21:00
mint用戶給推,不過我是把steam的所有東西都放在家目錄底下(茶想當初家裡電腦帳戶還沒有sudo權限時chroot可幫了大忙(X
作者: Bencrie   2017-04-30 16:40:00
chroot 要 root 權限吧 XD
作者: Davinais (水靈流喵)   2017-04-30 22:46:00
你可以拿一隻live usb用他開機啊www

Links booklink

Contact Us: admin [ a t ] ucptt.com