Steam/トラブルシューティング

提供: ArchWiki
2016年3月16日 (水) 17:52時点におけるKusakata (トーク | 投稿記録)による版 (ページの作成:「Category:ゲーム en:Steam/Troubleshooting メインの記事は Steam を見てください。 {{Tip|{{ic|/usr/bin/steam}} スクリプトは Steam の標...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

メインの記事は Steam を見てください。

ヒント: /usr/bin/steam スクリプトは Steam の標準出力や標準エラーを /tmp/dumps/${USER}_stdout.txt にリダイレクトします。そのため、出力を確認するのにターミナルエミュレータから Steam を起動する必要はありません。
ノート: ここにまとめられているものに加えて、Valve のバグトラッカーや GitHub にバグ・フィックス・エラーが報告されています。

Steam ランタイムの問題

上流の GitHub issue トラッカー

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 が終了しない

Valve GitHub issue 1025

トレイアイコンの閉じるボタンを機能させるには環境変数 STEAM_FRAME_FORCE_CLOSE1 に設定してください。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/ にコピー) してください。

もしくは AURsteam-fontsAUR パッケージでインストールすることもできます。

ノート: Steam が Arial フォントを見つけられないとき、fontconfig は Helvetica ビットマップフォントにフォールバックしようとします。Steam は Helvetica などのビットマップフォントを正しく表示できないため、Arial や Arial Bold フォントをインストールしなくても、問題のフォントを削除したりビットマップフォントを無効化することで問題が解決することがあります。Arial の代わりに使われているフォントは次のコマンドで確認できます: $ fc-match -v Arial

ゲームの起動時に 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/ゲーム別のトラブルシューティング で書かれている方法で問題が修正されないときは、ネイティブランタイムを使うと音が鳴るようになることがあります。

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-utilslib32-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 が有効にしてしまう

ノート: Valve が 2015年4月9日のアップデート で問題を解決したため、このフィックスは必要なくなりました。

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;
        }
 }
});

実行権限がないためにライブラリフォルダが追加できない

他のドライブに Steam ライブラリフォルダを別に追加している場合、次のようなエラーメッセージが表示されることがあります: "New Steam library folder must be on a filesystem mounted with execute permissions"

/etc/fstab でファイルシステムを正しいフラグでマウントするようにしてください。マウントパラメータのリストに exec を追加します。userusers パラメータを使っている場合 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 をもう一度起動してみてください。