Steam/トラブルシューティング
メインの記事は Steam を見てください。
目次
- 1 nvidia 361.28 の問題
- 2 Steam ランタイムの問題
- 3 ウィンドウを閉じても Steam が終了しない
- 4 64ビット環境で Flash が動作しない
- 5 64ビット環境で Flash の音声が鳴らない
- 6 文字が化けたり表示されない
- 7 ゲームの起動時に SetLocale('en_US.UTF-8') が失敗する
- 8 起動後にすぐゲームがクラッシュする
- 9 OpenGL がダイレクトレンダリングを使わない / Steam で Xorg がクラッシュする
- 10 特定のゲームで音が鳴らない
- 11 You are missing the following 32-bit libraries, and Steam may not run: libGL.so.1
- 12 古い intel ハードウェアでゲームが起動しない
- 13 Steam を起動させると X がクラッシュする (Radeon オープンソースドライバー)
- 14 使っていないネットワークインターフェイスを Steam が有効にしてしまう
- 15 2k のゲームが xfs パーティションで起動できない
- 16 実行権限がないためにライブラリフォルダが追加できない
- 17 Steam コントローラーが正しく認識されない
- 18 lib32-glibc はインストールされているのに32ビットの libc.so.6 が見つからないと表示される
- 19 VERSION_ID: unbound variable
- 20 Steam が "Installing breakpad exception handler..." でフリーズする
- 21 Bumblebee を使用している場合に 'GLBCXX_3.X.XX' not found
nvidia 361.28 の問題
nvidia 361.28 から以下のようなエラーが出てゲームが起動できなくなるバグが存在します:
"Missing basic OpenGL v1.0 -> v2.0 required OpenGL functionality."
NVIDIA によって問題が修正されるまで、起動できないゲームで以下の起動オプションを使うようにしてください:
__GLVND_DISALLOW_PATCHING=1 %command%
もしくは、361.16 ドライバーにダウングレードする方法もあります。
Steam ランタイムの問題
Steam はいくつかのライブラリについて独自のバージョンを供給しています ("Steam ランタイム")。これは最近のバージョンの Ubuntu で Ubuntu 12.04 の環境をエミュレートするためです。
しかしながら、Steam ランタイムに含まれているコアライブラリは Arch Linux に含まれている他のライブラリの新しいバージョンと衝突することがしばしばあります (ドライバーなど、特に、オープンソースの ATI ドライバー)。
これらのライブラリの Steam ランタイムバージョンを削除することで、Steam は最新のシステムライブラリ (pacman でインストールされたライブラリ) を使うようになり、問題を解決できます。
Steam はアップデートがあると頻繁にランタイムライブラリを再インストールしているため、ValveSoftware/steam-runtime#13 が解決されるまで、Steam がアップデートするたびに、Steam を終了して、ライブラリを削除して、再起動する必要があります。
次のコマンドを実行することで Arch Linux で問題を発生させるランタイムライブラリを削除できます:
find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete
上記のコマンドが上手く行かない場合、もう一度コマンドを実行してから、次のコマンドを実行して下さい:
find ~/.local/share/Steam/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete
もしくは、Steam を実行してライブラリを上書きさせることもできます:
LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1' steam
.desktop
ショートカットで上書きしたい場合、Exec= フィールドに以下のコマンドを使って下さい:
env LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1' /usr/bin/steam %U
これらのライブラリが存在することで起こる問題やエラーメッセージには以下のようなものがあります:
Failed to load libGL: undefined symbol: xcb_send_fd
ERROR: ld.so: object '~/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
- XCOM などの64ビットのゲームで問題が発生する
- "OpenGL GLX context is not using direct rendering, which may cause performance problems." (下を参照)
- "Could not find required OpenGL entry point 'glGetError'! Either your video card is unsupported or your OpenGL driver needs to be updated."
- Steam クライアントがクラッシュする
フォーラムスレッド:
Steam#ネイティブランタイムを使う も参照してください。
ウィンドウを閉じても 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/
64ビット環境で Flash の音声が鳴らない
Steam クライアントで再生した動画の音声が鳴らない場合、lib32-flashplugin を正しくインストールしているのならば、Steam が問題のある ALSA ライブラリを使用している可能性があります。
ターミナルから Steam を起動してクライアントの中から動画をしようとすると以下のようなエラーが発生する場合:
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
Steam ランタイムのフォルダやライブラリファイルの名前を変更したり削除することで問題は解決します。バグは既に次のページで報告されています: #3376 と #3504
~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/
内の alsa-lib
フォルダと libasound.so.*
ファイルの名前を変更するか削除してください。
文字が化けたり表示されない
Windows 用の Steam Support の手順が Linux でも上手くいくようです: SteamFonts.zip をダウンロードしてインストール (/usr/share/fonts/
や ~/.fonts/
にコピー) してください。
もしくは AUR の steam-fontsAUR パッケージでインストールすることもできます。
ゲームの起動時に SetLocale('en_US.UTF-8') が失敗する
お好きなエディタで /etc/locale.gen
を編集して en_US.UTF-8 UTF-8
をアンコメントしてください。そして root で locale-gen
を実行して下さい。
起動後にすぐゲームがクラッシュする
起動直後にゲームがクラッシュする場合、ゲームのプロパティを開き、「一般」タブの "ゲーム中に Steam オーバーレイを有効にする" のチェックを外してみて下さい。
OpenGL がダイレクトレンダリングを使わない / Steam で Xorg がクラッシュする
- Steam Support 記事
おそらく32ビットのグラフィックドライバがちゃんとインストールされていません。Xorg#ドライバーのインストール でどのパッケージをインストールするのか見て下さい。
正しくインストールされたかどうかは lib32-mesa-demos をインストールして次のコマンドを実行することで確認・テストできます:
$ glxinfo32 | grep OpenGL
特定のゲームで音が鳴らない
特定のゲームで音が鳴らない場合、そして Steam/ゲーム別のトラブルシューティング で書かれている方法で問題が修正されないときは、ネイティブランタイムを使うと音が鳴るようになることがあります。
FMOD サウンドエンジン
'FMOD' オーディオミドルウェアパッケージを使用する以下のゲームで問題が発生します:
- Hotline Miami
- Hotline Miami 2
- Transistor
パッケージにバグが存在するために、ゲームによっては音声に問題が起こります。
ALSA で実際は使用していないデバイスをデフォルトのサウンドデバイスとして設定している場合に発生することが多いようです。
You are missing the following 32-bit libraries, and Steam may not run: libGL.so.1
初めて Steam を起動した時にこのエラーが表示されることがあります。あなたの使っているビデオドライバーの lib32 バージョンを全てインストールしたかどうか確認してください。例えば AMD と Intel が混載された環境で catalyst-utils-pxp, xf86-video-dri, mesa-libgl をインストールしている場合は lib32-catalyst-utils-pxp, lib32-mesa-libgl をインストールする必要があります。
たまに、Nvidia のプロプライエタリドライバーを再インストールしたりバージョンを変えた後にこのエラーが表示されることもあります。lib32-nvidia-utils と lib32-nvidia-libgl を再インストールしてください。
古い intel ハードウェアでゲームが起動しない
古い Intel ハードウェアで、起動した途端にゲームがクラッシュする場合、おそらくあなたの使っているハードウェアが最新の OpenGL を直接サポートしていないのが原因です。/tmp/dumps/mobile_stdout.txt
には gameoverlayrenderer.so エラーとして表示されますが、/tmp/gameoverlayrenderer.log
では GLXBadFBConfig エラーとして表示されます。
ただし、ゲームに OpenGL の新しいバージョンを使うように強制させれば修正することができるかもしれません。ゲームを右クリックして、プロパティを選択し、"一般" タブの "起動設定" オプションをクリックして以下を貼り付けて下さい:
MESA_GL_VERSION_OVERRIDE=3.1 MESA_GLSL_VERSION_OVERRIDE=140 %command%
これによってゲームが OpenGL の最新バージョンを使用するようになります。
Steam を起動させると X がクラッシュする (Radeon オープンソースドライバー)
(オープンソースの Radeon ドライバーで使われている) glamor-egl 0.6.0 にはバグが存在し Steam を起動しようとしたときに X がクラッシュしてしまいます。新しい glamour バージョンがリリースされるまで対処法として AUR から glamor-egl-gitAUR をインストールして下さい。
使っていないネットワークインターフェイスを Steam が有効にしてしまう
NetworkManager を使っている場合、Steam を起動すると無効になっているネットワークインターフェイスがオンになっていまうことがあります。polkit にネットワーク設定ルールを追加して Steam アプリケーションが NetworkManager にアクセスできないようにすることで問題を解決できます。以下のルールを作成して下さい:
/etc/polkit-1/rules.d/99-networkmanager-steam.rules
polkit.addRule(function(action, subject) { if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0) { var filepath = polkit.spawn(["cat", "/proc/"+subject.pid+"/cmdline"]); if(polkit.spawn(["basename", filepath]) == "steam\n") { return polkit.Result.NO; } } });
2k のゲームが xfs パーティションで起動できない
Civilization 5 などの 2k のゲームを xfs パーティションで起動した場合、ゲームのファイルが起動時に正しくロードされず起動できないことがあります [1]。
実行権限がないためにライブラリフォルダが追加できない
他のドライブに Steam ライブラリフォルダを別に追加している場合、次のようなエラーメッセージが表示されることがあります: "New Steam library folder must be on a filesystem mounted with execute permissions"。
/etc/fstab
でファイルシステムを正しいフラグでマウントするようにしてください。マウントパラメータのリストに exec
を追加します。user
や users
パラメータを使っている場合 noexec
もその中に含まれているので必ず exec
パラメータを記述するようにしてください。
Steam が steamapps
フォルダを見つけられないときもこのエラーは発生します。前のバージョンでは SteamApps
を使っていました。名前が小文字であることを確認してください。
Steam コントローラーが正しく認識されない
ゲームパッド#Steam コントローラーを見て下さい。
lib32-glibc はインストールされているのに32ビットの libc.so.6 が見つからないと表示される
Steam のランチャースクリプトは ldd
の出力をチェックして必要なライブラリがインストールされているかどうかを確認します。しかしながら、Steam の実行ファイルが破損しているなど、ライブラリが不存在以外の理由でも、チェックが失敗することがあります。
以下の出力を確認してください:
$ ldd ~/.local/share/Steam/ubuntu12_32/steam
もし ldd
がダイナミック実行ファイルではないと判断した場合、アップデートの際に Steam によってバイナリが破損した可能性が考えられます。以下のコマンドで問題が解決するはずです:
$ cd ~/.local/share/Steam/ $ ./steam.sh --reset
問題が解決しない場合、~/.local/share/Steam/
ディレクトリを削除してから Steam をもう一度起動してみてください。
VERSION_ID: unbound variable
Steam が以下のように出力する場合:
/home/user/.local/share/Steam/steam.sh: line 161: VERSION_ID: unbound variable
steam.sh
が /etc/os-release
を解析したときに VERSION_ID が存在しないのが原因です (Arch には存在しません)。このエラーはあまり重要なものではありませんが、/etc/os-release
に以下の行を追加することで修正できます:
VERSION_ID="2015.11.01"
Steam が "Installing breakpad exception handler..." でフリーズする
参照: BBS#177245
Steam が以下のような出力をする場合:
Running Steam on arch rolling 64-bit STEAM_RUNTIME is enabled automatically Installing breakpad exception handler for appid(steam)/version(0_client)
lib32-nvidia-*
パッケージが一致していないことが原因です。
Bumblebee を使用している場合に 'GLBCXX_3.X.XX' not found
Steam パッケージの libstdc++.so.6
が古いことが原因です。ライブラリの問題を解決する方法は #Steam ランタイムの問題 を参照してください。GitHub の issue 3773 も参照。