# Steam (日本語)

関連記事

- Steam/Wine
- Steam/ゲーム別のトラブルシューティング

Wikipedia より:

  Steam は、コンピュータゲームのダウンロード販売、デジタル著作権管理、マルチプレイヤーゲームのサポート、ユーザの交流補助を目的としたプラットフォームである。開発および運営はバルブ・ソフトウェアによって行なわれている。

Steam は Source Engine のゲーム (例: Half-Life 2, Counter-Strike) を遊ぶのに必要なプラットフォームとしてよく知られています。今日では、多くのデベロッパによる多数のゲームが提供されています。

## インストール

Note:

- 公式では Arch Linux はサポートされていません。
- Steam クライアントは32ビットアプリケーションなので、64ビット環境で動かすには multilib リポジトリを有効にする必要があります。また、重要な multilib ライブラリを取得するために multilib-devel のインストールをしてください。

Steam は公式リポジトリにある steam パッケージからインストールできます。64ビット環境を使っている場合は、最初に multilib リポジトリを有効にしてください。

Steam はこのディストリビューションをサポートしていません。そのため正しく機能させるためにユーザーが以下のようなフィックスを施す必要があります:

- Steam は主として Arial フォントを使っています。使える Arial フォントには ttf-liberation や Steam によって提供されているフォントがあります。アジアの言語を正しく表示するには wqy-zenhei が必要です。
- 64ビット環境の場合、32ビットのゲームを動かすには32ビットのグラフィックドライバーをインストールする必要があります (Multilib パッケージカラムのパッケージ)。
- 64ビット環境の場合、32ビットのゲームでサウンドを有効にするために lib32-alsa-plugins をインストールする必要があります。
- ゲームによってはあなたのシステムに欠けている依存関係を持っています。ゲームが起動しない場合 (基本的にエラーメッセージは表示されません) Steam/Game-specific troubleshooting (日本語) にリストアップされているライブラリが全てインストールされているか確認してください。

## トラブルシューティング

Note: ここにまとめられているものに加えて、Valve のバグトラッカーや GitHub にバグ・フィックス・エラーが報告されています。

### ウィンドウを閉じても Steam が終了しない

  Valve GitHub issue 1025

トレイアイコンの閉じるボタンを機能させるには環境変数 `STEAM_FRAME_FORCE_CLOSE` を `1` に設定してください。Steam を起動するときに次のコマンドを使っても可能です:

    $ STEAM_FRAME_FORCE_CLOSE=1 steam

.desktop ファイルを使って steam を起動する場合は、`Exec` を以下の行で置き換えてください:

    Exec=sh -c 'STEAM_FRAME_FORCE_CLOSE=1 steam' %U

### 64ビット環境で Flash が動作しない

  Steam Support 記事

まず lib32-flashplugin がインストールされていることを確認してください。これだけで動かないときは、ローカル Steam フラッシュプラグインフォルダを作成します:

    $ mkdir ~/.steam/bin32/plugins/

そしてシンボリックリンクをグローバル lib32 フラッシュプラグインファイルに張って下さい:

    $ ln -s /usr/lib32/mozilla/plugins/libflashplayer.so ~/.steam/bin32/plugins/

### 文字が化けたり表示されない

Windows 用の Steam Support の手順が Linux でも上手くいくようです: SteamFonts.zip をダウンロードしてインストール (`/usr/share/fonts/` や `~/.fonts/` にコピー) してください。

### ゲームの起動時に SetLocale('en_US.UTF-8') が失敗する

お好きなエディタで `/etc/locale.gen` を編集して `en_US.UTF-8 UTF-8` をアンコメントしてください。そして root で `locale-gen` を実行して下さい。

### 起動後にすぐゲームがクラッシュする

起動直後にゲームがクラッシュする場合、ゲームのプロパティを開き、「一般」タブの "ゲーム中に Steam オーバーレイを有効にする" のチェックを外してみて下さい。

### OpenGL がダイレクトレンダリングを使わない

  Steam Support 記事

おそらく32ビットのグラフィックドライバがちゃんとインストールされていません。Xorg (日本語)#ドライバーのインストール でどのパッケージをインストールするのか見て下さい。

正しくインストールされたかどうかは lib32-mesa-demos をインストールして次のコマンドを実行することで確認・テストできます:

    $ glxinfo32 | grep OpenGL.

### 特定のゲームの実行時に libGL エラーが発生する

`Failed to load libGL: undefined symbol: xcb_send_fd` のようなエラーが表示される場合、steam の古いランタイムライブラリが原因の可能性があります。`~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libxcb.so.1` を削除して Steam が pacman でインストールされたライブラリバージョンをロードするようにしてください。

### 特定のゲームで音が鳴らない

特定のゲームで音が鳴らない場合、そして Steam/Game-specific troubleshooting (日本語) で書かれている方法で問題が修正されないときは、ネイティブランタイムを使うと音が鳴るようになることがあります。

## Bumblebee/Primus などのカスタムコマンドでゲームを起動する

幸いにも Steam はカスタムコマンドを使ったゲーム起動のサポートを追加しました。これをするには、ライブラリページから、選択したゲームを右クリックして、プロパティをクリック、そして起動設定をしてください。Steam は `%command%` タグを実際に実行するコマンドに置き換えます。例えば、Team Fortress 2 を1920x1080の解像度で primusrun を使って起動するには、次のように入力します:

    primusrun %command% -w 1920 -h 1080

Linux-ck カーネルを動かしている場合、schedtool を使ってゲームを SCHED_ISO (低遅延、CPU 負担を減らす) で起動することで遅延を減らしたりパフォーマンスを向上させたりすることができるかもしれません:

    # schedtool -I -e %command% other arguments

### ゲームを起動する際にスタンドアロンのコンポジタを終了する

`%command%` スイッチを利用することで、ゲームや環境によってはラグやティアリングの原因となるスタンドアロンのコンポジタ (Xcompmgr や Compton) を終了することができ、ゲームを終えた後に再起動できます。ゲームの起動設定に次を加えて下さい。

     killall compton && %command%; nohup compton &

上のコマンドの `compton` はあなたが使っているコンポジタに置き換えてください。もちろん、オプションを `%command%` や `compton` に加えることもできます。

Steam は `%command%` の後にプロセスは実行し Steam の状態はゲーム中になります。この例では、`nohup` でコンポジタを実行するので Steam には付着されず (Steam を閉じても実行し続けます)、アンパサンドのあるコンポジタが実行されてからコマンドの行が終了して Steam の状態が戻ります。

## ネイティブランタイムを使う

デフォルトで、Steam は利用するライブラリを全てコピーして Steam 自体にパッケージ化しており、それによってゲームが問題なく動作するようになっています。これは resource hog となる可能性があり、パッケージするライブラリが古くて重要な機能が欠けているかもしれません (特に、Steam が使っている OpenAL には HRTF と surround71 サポートがありません)。あなた自身のシステムライブラリを使うには、次のコマンドで Steam を実行してください:

    $ STEAM_RUNTIME=0 steam

ただし、Steam が利用するライブラリが存在しない場合、正しく起動できなくなってしまいます。以下のコマンドを実行すると簡単に足りないライブラリを探すことができます:

    $ cd ~/.local/share/Steam/ubuntu12_32
    $ LD_LIBRARY_PATH=".:${LD_LIBRARY_PATH}" ldd $(file *|sed '/ELF/!d;s/:.*//g')|grep 'not found'|sort|uniq

ライブラリは32ビットでなくてはならないことに注意してください。つまり x86_64 環境を使っている場合 NetworkManager などを AUR からダウンロードする必要があるかもしれないということです。

ライブラリをインストールしたら、`STEAM_RUNTIME=0 steam` で steam を実行して steam が自身のライブラリをロードしていないことを確認してください:

    $ cat /proc/$(pidof steam)/maps|sed '/\.local/!d;s/.*  //g'|sort|uniq

## Steam のスキン

インターフェースファイルをスキンディレクトリにコピーしたりファイルを修正することで Steam のインターフェースを完全にカスタマイズすることができます。

### Steam スキンマネージャ

Steam にスキンを適用するプロセスは AUR の steam-skin-manager を使うことで単純化できます。このパッケージには Steam ランチャーの修正版も含まれておりウィンドウマネージャが Steam ウィンドウに枠を描けるようになっています。

結果として、Steam のスキンにはウィンドウのボタンがあるものとないもの、2つの種類があります。スキンマネージャはハックされたバージョンを使うかどうかあなたにたずねて、自動的に GTK+ テーマに対応するテーマを（見つけたら）適用します。もちろん、もうひとつの方のスキンを適用することも可能です。

パッケージにはデフォルトの Ubuntu テーマ、Ambiance と Radiance の2つのテーマが入っています。

## 参照

- https://wiki.gentoo.org/wiki/Steam

Category:

- Gaming (日本語)