SlackwareでSteamのゲームを遊ぼう!
2022年12月3日
著者: 竹洞 陽一郎
Slackware上で、Steamのゲームを遊ぶことができます。
multilib版ライブラリをインストールする
Slackwareの64bit版は、純粋な64bit OSなのですが、Steamでリリースされているゲームは、32bitでコンパイルされています。
そこで、それらが動くようにするために、mutlilib環境を構築します。
Alien Bob(Eric Hameleers氏)が提供してくれています。
multilib版ライブラリのダウンロード
slackware-currentを使っているのであれば、以下のようにコマンドを実行します。
cd Downloads lftp -c 'open http://slackware.com/~alien/multilib/ ; mirror -c -e current'
15.0を利用しているのであれば、以下のようになります。
cd Downloads lftp -c 'open http://slackware.com/~alien/multilib/ ; mirror -c -e 15.0'
multilib版のインストール
ダウンロードが終わると、Downloadsフォルダに、currentとか、15.0というフォルダができているはずです。
そこに移動します。
cd current
multilib版のパッケージをインストールします。
sudo upgradepkg --reinstall --install-new *.t?z
compat32-toolsのインストール
32bitプログラムをサポートする、「compat32-tools」というパッケージをインストールします。
sudo upgradepkg --install-new slackware64-compat32/*-compat32/*.t?z
これで、Multilib環境を有効化するために再起動します。
sudo reboot
NVIDIAのプロプライエタリドライバのインストール
もしも、NVIDIAのグラフィックスカードを使っているのであれば、残念ですが、オープンソースのNouveauドライバでは、ゲームを遊べるだけの性能を引き出せません。
NVIDIAのドライバのインストールを参考に、プロプライエタリドライバをインストールして下さい。
マザーボードのBIOSの設定で、グラフィックスカードの優先順位を確認しておいて下さい。
もしもCPUのGPU機能を優先して使うようになっている場合には、Nouveauドライバを無効化すると何も表示されなくなってしまいます。
自動選択にするか、PCI-Eの方を優先にする設定して下さい。
Steamクライアントのインストール
SteamクライアントのパッケージもAlien Bobが作ってくれています。
slackware-currentであれば、以下のコマンドでダウンロードして、インストールします。
15.0であれば、currentの箇所を15.0に変更して下さい。
cd Downloads wget http://www.slackware.com/~alien/slackbuilds/steamclient/pkg64/current/steamclient-1.0.0.74-x86_64-1alien.tgz sudo installpkg steamclient-1.0.0.74-x86_64-1alien.tgz
Let's Play!
これで、後はSteamクライアントを起動して、ログインし、ゲームをダウンロードして、起動するだけです。
Steamを提供しているValveは、Wineをベースにしてゲーム用に改良したProtonを開発・リリースしています。
Windowsの3DグラフィックAPIであるDirect3Dを、クロスプラットフォームの3DグラフィックAPIであるVulkanへ変換するレイヤーも入れています。
Steamのゲームには、OpenGL版がリリースされているものも多数あります。
OpenGL版であれば、大抵は、特に気にすること無く、そのまま起動して遊べます。
しかし、OpenGL版を提供していなくて、Direct3Dを使っているゲームの場合は、その処理をVulkanシェーダーに変換して遊ぶことになります。
ローカル環境にゲームをインストールできない場合は、まだ動作確認がSteam側でできていないということなので、強制的にProtonを使うようにします。
そのために、以下の画面の通り、「他のすべてのタイトルでSteam Playを有効化」にチェックを入れて、使用するProtonのバージョンを選択します。
Vulkanシェーダーに変換する処理は、ゲームにも依りますが、数時間掛かるものもあります。
その画面が出たら、しばらく放置して、終わるのを待つことになります。
(スキップの選択肢も出ますが、スキップしないで終わらせておきましょう)