「Steam/トラブルシューティング」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(同期)
(同期)
1行目: 1行目:
 
[[Category:ゲーム]]
 
[[Category:ゲーム]]
 
[[en:Steam/Troubleshooting]]
 
[[en:Steam/Troubleshooting]]
  +
[[ru:Steam/Troubleshooting]]
 
メインの記事は [[Steam]] を見てください。
 
メインの記事は [[Steam]] を見てください。
   
{{Tip|{{ic|/usr/bin/steam}} スクリプトは Steam の標準出力や標準エラーを {{ic|/tmp/dumps/${USER}_stdout.txt}} にリダイレクトします。そのため、出力を確認するのにターミナルエミュレータから Steam を起動する必要はありません。}}
+
{{Tip|Steam のランチャースクリプトは Steam の標準出力や標準エラーを {{ic|/tmp/dumps/''USER''_stdout.txt}} にリダイレクトします。そのため、出力を確認するのにターミナルエミュレータから Steam を起動する必要はありません。}}
   
 
{{Note|ここにまとめられているものに加えて、Valve のバグトラッカーや [https://github.com/ValveSoftware/steam-for-linux GitHub] にバグ・フィックス・エラーが報告されています。}}
 
{{Note|ここにまとめられているものに加えて、Valve のバグトラッカーや [https://github.com/ValveSoftware/steam-for-linux GitHub] にバグ・フィックス・エラーが報告されています。}}
   
== nvidia 361.28問題 ==
+
== Steamデバッグ ==
   
  +
Steam をデバッグすることで何が原因で問題が行っているのか情報を集めることができます。
nvidia 361.28 から以下のようなエラーが出てゲームが起動できなくなるバグが存在します:
 
   
  +
{{ic|DEBUGGER}} 環境変数を {{ic|gdb}}, {{ic|cgdb}}, {{ic|valgrind}}, {{ic|callgrind}}, {{ic|strace}} のどれかに設定して {{ic|steam}} を起動してください。
{{bc|"Missing basic OpenGL v1.0 -> v2.0 required OpenGL functionality."}}
 
   
  +
{{Pkg|gdb}} を使用する場合:
NVIDIA によって問題が修正されるまで、起動できないゲームで以下の起動オプションを使うようにしてください:
 
  +
{{bc|1=$ DEBUGGER=gdb steam}}
   
  +
{{ic|gdb}} が開くので {{ic|run}} と入力してください。{{ic|steam}} が起動します。クラッシュが発生したら {{ic|backtrace}} と入力することでコールスタックが確認できます。
{{bc|1=__GLVND_DISALLOW_PATCHING=1 %command%}}
 
 
もしくは、361.16 ドライバーに[[ダウングレード]]する方法もあります。
 
   
 
== Steam ランタイムの問題 ==
 
== Steam ランタイムの問題 ==
   
  +
Steam は「Steam ランタイム」と呼ばれるライブラリをインストールしますが、中には古いバージョンも混ざっています。これらのライブラリは Arch Linux のライブラリと衝突することがあり、また、古いライブラリには重要な機能が含まれていないことがあります (例えば、Steam に含まれている OpenAL には [[ゲーム#OpenAL とバイノーラル音声|HRTF]] や surround71 のサポートが欠けています)。
[https://github.com/ValveSoftware/steam-runtime/issues/13 上流の GitHub issue トラッカー]
 
   
  +
ランタイムが原因で Steam クライアントがクラッシュ・フリーズしたり、以下のような様々なエラーが発生します:
Steam はいくつかのライブラリについて独自のバージョンを供給しています ("Steam ランタイム")。これは最近のバージョンの Ubuntu で Ubuntu 12.04 の環境をエミュレートするためです。
 
   
  +
{{bc|
しかしながら、Steam ランタイムに含まれているコアライブラリは Arch Linux に含まれている他のライブラリの新しいバージョンと衝突することがしばしばあります (ドライバーなど、特に、オープンソースの [[ATI|ATI]] ドライバー)。
 
  +
libGL error: unable to load driver: ''some_driver_dri''.so
  +
libGL error: driver pointer missing
  +
libGL error: failed to load driver: ''some_driver''
  +
libGL error: unable to load driver: swrast_dri.so
  +
libGL error: failed to load driver: swrast}}
   
  +
Failed to load libGL: undefined symbol: xcb_send_fd
これらのライブラリの Steam ランタイムバージョンを削除することで、Steam は最新のシステムライブラリ ([[pacman]] でインストールされたライブラリ) を使うようになり、問題を解決できます。
 
   
  +
ERROR: ld.so: object '~/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
Steam はアップデートがあると頻繁にランタイムライブラリを再インストールしているため、[https://github.com/ValveSoftware/steam-runtime/issues/13 ValveSoftware/steam-runtime#13] が解決されるまで、Steam がアップデートするたびに、Steam を終了して、ライブラリを削除して、再起動する必要があります。
 
   
  +
OpenGL GLX context is not using direct rendering, which may cause performance problems.
次のコマンドを実行することで Arch Linux で問題を発生させるランタイムライブラリを削除できます:
 
   
  +
Could not find required OpenGL entry point 'glGetError'! Either your video card is unsupported or your OpenGL driver needs to be updated.
{{bc|
 
find ~/.steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete
 
}}
 
   
  +
{{Note|1=[[ファイアウォール]]が正しく設定されていないせいで Steam がサーバーに接続できない可能性もあります [https://support.steampowered.com/kb_article.php?ref=2198-AGHC-7226]。Steam API がロードされないとほとんどのゲームはクラッシュします。}}
上記のコマンドが上手く行かない場合、もう一度コマンドを実行してから、次のコマンドを実行して下さい:
 
{{bc|
 
find ~/.local/share/Steam/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" \) -print -delete
 
}}
 
   
  +
[https://github.com/ValveSoftware/steam-runtime/issues/13 上流の issue #13] や以下のフォーラムスレッドも参照してください:
もしくは、Steam を実行してライブラリを上書きさせることもできます:
 
{{bc|LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1' steam}}
 
   
  +
* https://bbs.archlinux.org/viewtopic.php?id=181171
{{ic|.desktop}} ショートカットで上書きしたい場合、''Exec='' フィールドに以下のコマンドを使って下さい:
 
  +
* https://bbs.archlinux.org/viewtopic.php?id=183141
{{bc|env LD_PRELOAD='/usr/$LIB/libstdc++.so.6 /usr/$LIB/libgcc_s.so.1 /usr/$LIB/libxcb.so.1' /usr/bin/steam %U}}
 
   
  +
=== 解決方法 ===
これらのライブラリが存在することで起こる問題やエラーメッセージには以下のようなものがあります:
 
   
  +
{{pkg|steam}} パッケージでインストールした Steam を実行する方法は3つ存在します:
* {{ic|Failed to load libGL: undefined symbol: xcb_send_fd}}
 
* {{ic|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." ([[#OpenGL がダイレクトレンダリングを使わない / Steam で Xorg がクラッシュする|下を参照]])
 
* "Could not find required OpenGL entry point 'glGetError'! Either your video card is unsupported or your OpenGL driver needs to be updated."
 
* Steam クライアントがクラッシュする
 
   
  +
$ steam-runtime
フォーラムスレッド:
 
  +
上記のコマンドは {{ic|/usr/bin/steam}} で Steam を起動した時や "Steam" [[デスクトップエントリ]]を使ったときに使用されるコマンドです。問題を起こすランタイムライブラリは {{ic|LD_PRELOAD}} [[環境変数]]で上書きすることができます ({{man|8|ld.so}} を参照)。上記のコマンドでライブラリの衝突が発生する場合、{{ic|/usr/bin/steam-runtime}} のコピーを作成して回避策を追加することができます。
   
  +
$ steam-native
* https://bbs.archlinux.org/viewtopic.php?id=181171
 
  +
上記のコマンドは "Steam (Native)" [[デスクトップエントリ]]で実行されるコマンドです。強制的に Steam ランタイムを無視させシステムライブラリだけを使うようにします。Steam を完全に実行するには {{pkg|steam-native-runtime}} のインストールが必要になります。ただし、一部のゲームはさらに別のパッケージのインストールを必要とします。[[#欠けているランタイムライブラリの確認]]や [[Steam/ゲーム別のトラブルシューティング]]を参照してください。
* https://bbs.archlinux.org/viewtopic.php?id=183141
 
   
  +
$ /usr/lib/steam/steam
[[Steam#ネイティブランタイムを使う]] も参照してください。
 
  +
上記のコマンドは Arch 特有の設定が含まれていないノーマルな Steam ランチャーを起動します。
   
  +
=== 欠けているランタイムライブラリの確認 ===
==ウィンドウを閉じても Steam が終了しない==
 
   
  +
{{ic|steam-native}} を使用する場合、ライブラリが足りないせいでゲームや Steam が起動しないことがあります。必要なライブラリを確認するには、以下のコマンドを実行してください:
: Valve GitHub [https://github.com/ValveSoftware/steam-for-linux/issues/1025 issue 1025]
 
   
  +
$ cd ~/.local/share/Steam/ubuntu12_32
トレイアイコンの閉じるボタンを機能させるには環境変数 {{ic|STEAM_FRAME_FORCE_CLOSE}} を {{ic|1}} に設定してください。Steam を起動するときに次のコマンドを使っても可能です:
 
  +
$ file * | grep ELF | cut -d: -f1 | LD_LIBRARY_PATH=. xargs ldd | grep 'not found' | sort | uniq
   
  +
もしくは、Steam ランタイムを使って Steam を起動 ({{ic|/usr/bin/steam}}) して、以下のコマンドで Steam が使用しているライブラリを確認してください (全てが Steam ランタイムに含まれているとは限りません):
$ STEAM_FRAME_FORCE_CLOSE=1 steam
 
  +
  +
$ for i in $(pgrep steam); do sed '/\.local/!d;s/.* //g' /proc/$i/maps; done | sort | uniq
   
  +
== マルチディスプレイの設定 ==
.desktop ファイルを使って steam を起動する場合は、{{ic|Exec}} を以下の行で置き換えてください:
 
  +
マルチディスプレイを使っている場合、{{ic|ERROR: ld.so: object '~/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.}} というエラーが発生してゲームが起動できなくなることがあります。ディスプレイを減らしてみて、ゲームを実行できないか試してみてください。ゲームが問題なく起動したらディスプレイを元に戻しても問題ありません。
Exec=sh -c 'STEAM_FRAME_FORCE_CLOSE=1 steam' %U
 
   
  +
また、以下のコマンドで Steam を実行してみてください:
==64ビット環境で Flash が動作しない==
 
  +
export LD_LIBRARY_PATH=/usr/lib32/nvidia:/usr/lib/nvidia:$LD_LIBRARY_PATH
   
  +
== ネイティブランタイム: steam.sh line 756 Segmentation fault ==
: Steam Support [https://support.steampowered.com/kb_article.php?ref=1493-GHZB-7612 記事]
 
   
  +
: Valve の GitHub [https://github.com/ValveSoftware/steam-for-linux/issues/3863 issue 3863]
まず {{pkg|lib32-flashplugin}} がインストールされていることを確認してください。これだけで動かないときは、ローカル Steam フラッシュプラグインフォルダを作成します:
 
$ mkdir ~/.steam/bin32/plugins/
 
   
  +
上記のバグレポートにあるように、{{ic|1=STEAM_RUNTIME=0}} を使って Steam を起動すると {{ic|/home/<username>/.local/share/Steam/steam.sh: line 756: <variable numeric code> Segmentation fault (core dumped)}} というエラーでクラッシュすることがあります。
そしてシンボリックリンクをグローバル lib32 フラッシュプラグインファイルに張って下さい:
 
$ ln -s /usr/lib32/mozilla/plugins/libflashplayer.so ~/.steam/bin32/plugins/
 
   
  +
{{ic|steamclient.so}} が {{ic|libudev.so.0}} にリンクされており ({{AUR|lib32-libudev0}})、{{ic|libudev.so.1}} と衝突するのが原因です ({{Pkg|lib32-systemd}})。
== 64ビット環境で Flash の音声が鳴らない ==
 
   
  +
Steam に含まれている32ビット版の libusb と libgudev を {{ic|/usr/lib32}} にコピーすることで解決します:
Steam クライアントで再生した動画の音声が鳴らない場合、{{Pkg|lib32-flashplugin}} を正しくインストールしているのならば、Steam が問題のある ALSA ライブラリを使用している可能性があります。
 
   
  +
{{bc|# cp $HOME/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libgudev* /usr/lib32
ターミナルから Steam を起動してクライアントの中から動画をしようとすると以下のようなエラーが発生する場合:
 
  +
# cp $HOME/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libusb* /usr/lib32}}
  +
  +
上記の設定は {{ic|lib32-libgudev}} と {{ic|lib32-libusb}} がインストールされている環境で必要です。
  +
  +
また、{{ic|libudev.so.1}} のロードの優先順位を変更することでも解決します ([https://github.com/ValveSoftware/steam-for-linux/issues/3863#issuecomment-203929113 同じ issue のコメント] を参照):
  +
{{bc|1=$ LD_PRELOAD=/usr/lib32/libudev.so.1 STEAM_RUNTIME=0 steam}}
  +
  +
== 音声が鳴らなかったり 756 Segmentation fault が発生する ==
  +
  +
{{Pkg|pulseaudio}} と {{Pkg|pulseaudio-alsa}} をインストールしてみてください。x86_64 環境なら {{Pkg|lib32-libpulse}} と {{Pkg|lib32-alsa-plugins}} もインストールしてください。
  +
  +
Steam クライアントで再生した動画の音声が流れない場合、Steam に含まれている ALSA ライブラリがおそらく原因です。
  +
  +
Steam クライアントで動画を再生しようとすると以下のようなエラーが出力されます:
   
 
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
 
ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave
   
Steam ランタイムのフォルダやライブラリファイルの名前を変更したり削除することで問題は解決します。バグ次のページで報告されています: [https://github.com/ValveSoftware/steam-for-linux/issues/3376 #3376] と [https://github.com/ValveSoftware/steam-for-linux/issues/3504 #3504]
+
解決方法は {{ic|alsa-lib}} フォルダ と {{ic|libasound.so.*}} ファイルの名前を変更、あるいは削除することです。ファイル以下のフォルダ存在します:
   
{{ic|~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/}} 内の {{ic|alsa-lib}} フォルダと {{ic|libasound.so.*}} ファイルの名前を変更するか削除してください。
+
~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/
  +
  +
{{ic|libasound.so.*}} ライブラリを '''LD_PRELOAD''' 環境変数に追加することでも一時的に解決できます:
  +
  +
LD_PRELOAD='/usr/$LIB/libasound.so.2 '${LD_PRELOAD} steam
  +
  +
それでも音声が鳴らない場合、'''LD_PRELOAD''' 変数に PulseAudio のライブラリを追加すると問題が解決する場合があります:
  +
  +
LD_PRELOAD='/usr/$LIB/libpulse.so.0 /usr/$LIB/libpulse-simple.so.0 '${LD_PRELOAD}
  +
  +
ライブラリの名前は変わっている可能性があります。以下のフォルダを探して新しいライブラリとバージョンを確認してください:
  +
  +
~/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
  +
  +
バグレポートは [https://github.com/ValveSoftware/steam-for-linux/issues/3376 #3376] と [https://github.com/ValveSoftware/steam-for-linux/issues/3504 #3504] で報告されています。
   
 
== 文字が化けたり表示されない ==
 
== 文字が化けたり表示されない ==
   
Windows 用の Steam Support の[https://support.steampowered.com/kb_article.php?ref=1974-YFKL-4947 手順]が Linux でも上手くいくようです: [https://support.steampowered.com/downloads/1974-YFKL-4947/SteamFonts.zip SteamFonts.zip] をダウンロードして[[フォント#手動インストール|インストール]] ({{ic|/usr/share/fonts/}} や {{ic|~/.fonts/}} にコピー) してください
+
Windows 用の Steam Support の[https://support.steampowered.com/kb_article.php?ref=1974-YFKL-4947 手順]が Linux でも上手くいくようです。
   
  +
{{AUR|steam-fonts}} パッケージをインストールするか、[https://support.steampowered.com/downloads/1974-YFKL-4947/SteamFonts.zip SteamFonts.zip] をダウンロードして[[フォント#手動インストール|インストール]] ({{ic|/usr/share/fonts/}} や {{ic|~/.fonts/}} にコピー) してください。
もしくは [[AUR]] の {{AUR|steam-fonts}} パッケージでインストールすることもできます。
 
   
 
{{Note|Steam が Arial フォントを見つけられないとき、fontconfig は Helvetica ビットマップフォントにフォールバックしようとします。Steam は Helvetica などのビットマップフォントを正しく表示できないため、Arial や Arial Bold フォントをインストールしなくても、問題のフォントを削除したり[[フォント設定#ビットマップフォントの無効化|ビットマップフォントを無効化]]することで問題が解決することがあります。Arial の代わりに使われているフォントは次のコマンドで確認できます: {{ic|$ fc-match -v Arial}}。}}
 
{{Note|Steam が Arial フォントを見つけられないとき、fontconfig は Helvetica ビットマップフォントにフォールバックしようとします。Steam は Helvetica などのビットマップフォントを正しく表示できないため、Arial や Arial Bold フォントをインストールしなくても、問題のフォントを削除したり[[フォント設定#ビットマップフォントの無効化|ビットマップフォントを無効化]]することで問題が解決することがあります。Arial の代わりに使われているフォントは次のコマンドで確認できます: {{ic|$ fc-match -v Arial}}。}}
  +
  +
一部のゲームは他のフォントを必要とします。[[Steam/ゲーム別のトラブルシューティング]]を参照してください。
   
 
== ゲームの起動時に SetLocale('en_US.UTF-8') が失敗する ==
 
== ゲームの起動時に SetLocale('en_US.UTF-8') が失敗する ==
111行目: 139行目:
 
== 起動後にすぐゲームがクラッシュする ==
 
== 起動後にすぐゲームがクラッシュする ==
   
起動直後にゲームシュする場合、ゲームのプロパティを開き、「一般」タブの "ゲーム中に Steam オーバーレイ有効にする" のチェックを外してて下さい
+
ゲームを右クしてプロパティを選択して、「起動オプションを設定クリックしてください。そしテキストボックスに以のように入力してください:
  +
{{bc|<nowiki>LD_PRELOAD='./libcxxrt.so:/usr/$LIB/libstdc++.so.6' %command%</nowiki>}}
  +
And try the game again. Some games work with this and some games don't.
  +
  +
それでもゲームがクラッシュする場合、ゲームのプロパティを開き、「一般」タブの「ゲーム中に Steam オーバーレイを有効にする」のチェックを外してみてください。
  +
  +
なおクラッシュが解決しないのであれば最終手段として Steam の出力を確認してゲームからエラーが吐かれていないか確認してください。以下のようなエラーが出力されていることがあります:
  +
* munmap_chunk(): invalid pointer
  +
* free(): invalid pointer
  +
  +
上記のエラーが確認できた場合、問題の起こるゲームの {{ic|libsteam_api.so}} ファイルを問題なく起動するゲームのファイルに置き換えてください。大抵は最近アップデートされていないゲームで Steam ランタイムを無効にしたときにエラーが発生します。エラーが発生するゲームとして AYIM, Bastion, Monaco などがあります。
   
 
== OpenGL がダイレクトレンダリングを使わない / Steam で Xorg がクラッシュする ==
 
== OpenGL がダイレクトレンダリングを使わない / Steam で Xorg がクラッシュする ==
   
: Steam Support [https://support.steampowered.com/kb_article.php?ref=9938-EYZB-7457 記事]
+
"OpenGL GLX context is not using direct rendering, which may cause performance problems" というエラーメッセージが表示されることがあります [https://support.steampowered.com/kb_article.php?ref=9938-EYZB-7457]
   
おそらく32ビットのグラフィックドライバがちゃんとインストールされていません。[[Xorg#ドライバーのインストール]] でどのパッケージをインストールするさい。
+
おそらく32ビットのグラフィックドライバがちゃんとインストールされていません。[[Xorg#ドライバーのインストール]]でどのパッケージをインストールするべき確認しください。
   
正しくインストールされたかどうかは {{Pkg|lib32-mesa-demos}} をインストールしてのコマンドを実行することで確認・テストできます:
+
正しくインストールされたかどうかは {{Pkg|lib32-mesa-demos}} をインストールして以下のコマンドを実行することで確認・テストできます:
 
$ glxinfo32 | grep OpenGL
 
$ glxinfo32 | grep OpenGL
   
 
== 特定のゲームで音が鳴らない ==
 
== 特定のゲームで音が鳴らない ==
   
特定のゲームで音が鳴らない場合、そして [[Steam/ゲーム別のトラブルシューティング]] で書かれている方法で問題が修正されないときは、[[Steam#ネイティブランタイムを使う|ネイティブランタイムを使う]]と音が鳴るようになることがあります。
+
特定のゲームで音が鳴らない場合、そして [[Steam/ゲーム別のトラブルシューティング]]で書かれている方法で問題が修正されないときは、[[#Steam ランタイムの問題|ネイティブランタイムを使う]]と音が鳴るようになることがあります。
   
 
=== FMOD サウンドエンジン ===
 
=== FMOD サウンドエンジン ===
136行目: 174行目:
 
パッケージにバグが存在するために、ゲームによっては音声に問題が起こります。
 
パッケージにバグが存在するために、ゲームによっては音声に問題が起こります。
   
ALSA で実際は使用していないデバイスをデフォルトのサウンドデバイスとして設定している場合に発生することが多いようです。
+
ALSA で実際は使用していないデバイスをデフォルトのサウンドデバイスとして設定している場合に発生することが多いようです。[[Advanced Linux Sound Architecture#デフォルトサウンドカードの設定]]を参照してください
   
  +
== Missing libc ==
== You are missing the following 32-bit libraries, and Steam may not run: libGL.so.1 ==
 
   
  +
おそらく Steam の実行ファイルが破損しています。以下のコマンドの出力を確認してください:
初めて Steam を起動した時にこのエラーが表示されることがあります。あなたの使っているビデオドライバーの lib32 バージョンを全てインストールしたかどうか確認してください。例えば AMD と Intel が混載された環境で {{Pkg|catalyst-utils-pxp}}, {{Pkg|xf86-video-dri}}, {{Pkg|mesa-libgl}} をインストールしている場合は {{Pkg|lib32-catalyst-utils-pxp}}, {{Pkg|lib32-mesa-libgl}} をインストールする必要があります。
 
   
  +
$ ldd ~/.local/share/Steam/ubuntu12_32/steam
たまに、Nvidia のプロプライエタリドライバーを再インストールしたりバージョンを変えた後にこのエラーが表示されることもあります。{{Pkg|lib32-nvidia-utils}} と {{Pkg|lib32-nvidia-libgl}} を再インストールしてください。
 
   
  +
{{ic|ldd}} によって動的実行ファイルでないと表示される場合、アップデートによって Steam のバイナリが壊れた可能性が高いです。以下のコマンドで修復できます:
== 古い intel ハードウェアでゲームが起動しない ==
 
   
  +
$ cd ~/.local/share/Steam/
古い Intel ハードウェアで、起動した途端にゲームがクラッシュする場合、おそらくあなたの使っているハードウェアが最新の OpenGL を直接サポートしていないのが原因です。{{ic|/tmp/dumps/mobile_stdout.txt}} には gameoverlayrenderer.so エラーとして表示されますが、{{ic|/tmp/gameoverlayrenderer.log}} では GLXBadFBConfig エラーとして表示されます。
 
  +
$ ./steam.sh --reset
   
  +
修復されない場合、{{ic|~/.local/share/Steam/}} ディレクトリを削除してもういちど Steam を起動してみてください。
ただし、ゲームに OpenGL の新しいバージョンを使うように強制させれば修正することができるかもしれません。ゲームを右クリックして、プロパティを選択し、"一般" タブの "起動設定" オプションをクリックして以下を貼り付けて下さい:
 
   
  +
{{ic|$HOME}} ディレクトリがスラッシュで終わっている場合にも、Steam のバグが原因でエラーメッセージが表示されることがあります (Valve GitHub [https://github.com/ValveSoftware/steam-for-linux/issues/3730 issue 3730])。{{ic|/etc/passwd}} を編集して {{ic|/home/<username>/}} を {{ic|home/<username>}} に変更し、一度ログアウトしてからログインしなおすことで解決します。その後、Steam は自動的に修復を開始します。
MESA_GL_VERSION_OVERRIDE=3.1 MESA_GLSL_VERSION_OVERRIDE=140 %command%
 
   
  +
== Missing libGL ==
これによってゲームが OpenGL の最新バージョンを使用するようになります。
 
   
  +
Steam を初めて起動したときに以下のようなエラーが表示される場合:
== Steam を起動させると X がクラッシュする (Radeon オープンソースドライバー) ==
 
   
  +
You are missing the following 32-bit libraries, and Steam may not run: libGL.so.1
(オープンソースの Radeon ドライバーで使われている) {{Pkg|glamor-egl}} 0.6.0 には[https://bugs.freedesktop.org/show_bug.cgi?id=79325 バグ]が存在し Steam を起動しようとしたときに X がクラッシュしてしまいます。新しい glamour バージョンがリリースされるまで対処法として [[AUR]] から {{AUR|glamor-egl-git}} をインストールして下さい。
 
   
  +
[[Xorg#ドライバーのインストール]]に書かれているビデオドライバーの {{ic|lib32}} バージョンがインストールされているか確認してください。
== 使っていないネットワークインターフェイスを Steam が有効にしてしまう ==
 
   
  +
== Missing vgui2_s.so ==
{{Note|Valve が [http://store.steampowered.com/news/16382/ 2015年4月9日のアップデート] で問題を解決したため、このフィックスは必要なくなりました。}}
 
  +
起動時に以下のエラーが発生する場合:
  +
Could not load module 'vgui2_s.so'.
  +
{{ic|lib32-openal}} パッケージをインストールすることで解決します。詳しくは https://support.steampowered.com/kb_article.php?ref=9205-OZVN-0660 を参照してください。
   
  +
== 古い intel ハードウェアでゲームが起動しない ==
NetworkManager を使っている場合、Steam を起動すると無効になっているネットワークインターフェイスがオンになっていまうことがあります。polkit にネットワーク設定ルールを追加して Steam アプリケーションが NetworkManager にアクセスできないようにすることで問題を解決できます。以下のルールを作成して下さい:
 
   
  +
古い Intel ハードウェアで、起動した途端にゲームがクラッシュする場合、おそらくあなたの使っているハードウェアが OpenGL 3 を直接サポートしていないのが原因です。{{ic|/tmp/dumps/mobile_stdout.txt}} には gameoverlayrenderer.so エラーとして記録されますが、{{ic|/tmp/gameoverlayrenderer.log}} では GLXBadFBConfig エラーとして記録されます。
{{hc|/etc/polkit-1/rules.d/99-networkmanager-steam.rules|<nowiki>
 
polkit.addRule(function(action, subject) {
 
if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0) {
 
var filepath = polkit.spawn(["cat", "/proc/"+subject.pid+"/cmdline"]);
 
   
  +
ただし、ゲームに OpenGL の新しいバージョンを使うように強制させれば修正することができるかもしれません。ゲームを右クリックして、プロパティを選択し、"一般" タブの「起動オプションを設定」をクリックして以下を貼り付けて下さい:
if(polkit.spawn(["basename", filepath]) == "steam\n") {
 
  +
return polkit.Result.NO;
 
  +
MESA_GL_VERSION_OVERRIDE=3.1 MESA_GLSL_VERSION_OVERRIDE=140 %command%
}
 
  +
}
 
  +
これによってゲームが OpenGL の最新バージョンを使用するようになります。
});</nowiki>}}
 
   
 
== 2k のゲームが xfs パーティションで起動できない ==
 
== 2k のゲームが xfs パーティションで起動できない ==
190行目: 229行目:
   
 
[[ゲームパッド#Steam コントローラー]]を見て下さい。
 
[[ゲームパッド#Steam コントローラー]]を見て下さい。
 
== lib32-glibc はインストールされているのに32ビットの libc.so.6 が見つからないと表示される ==
 
 
Steam のランチャースクリプトは {{ic|ldd}} の出力をチェックして必要なライブラリがインストールされているかどうかを確認します。しかしながら、Steam の実行ファイルが破損しているなど、ライブラリが不存在以外の理由でも、チェックが失敗することがあります。
 
 
以下の出力を確認してください:
 
 
$ ldd ~/.local/share/Steam/ubuntu12_32/steam
 
 
もし {{ic|ldd}} がダイナミック実行ファイルではないと判断した場合、アップデートの際に Steam によってバイナリが破損した可能性が考えられます。以下のコマンドで問題が解決するはずです:
 
 
$ cd ~/.local/share/Steam/
 
$ ./steam.sh --reset
 
 
問題が解決しない場合、{{ic|~/.local/share/Steam/}} ディレクトリを削除してから Steam をもう一度起動してみてください。
 
 
== VERSION_ID: unbound variable ==
 
 
Steam が以下のように出力する場合:
 
/home/user/.local/share/Steam/steam.sh: line 161: VERSION_ID: unbound variable
 
{{ic|steam.sh}} が {{ic|/etc/os-release}} を解析したときに VERSION_ID が存在しないのが原因です (Arch には存在しません)。このエラーはあまり重要なものではありませんが、{{ic|/etc/os-release}} に以下の行を追加することで修正できます:
 
VERSION_ID="2015.11.01"
 
   
 
== Steam が "Installing breakpad exception handler..." でフリーズする ==
 
== Steam が "Installing breakpad exception handler..." でフリーズする ==
228行目: 245行目:
   
 
Steam パッケージの {{ic|libstdc++.so.6}} が古いことが原因です。ライブラリの問題を解決する方法は [[#Steam ランタイムの問題]] を参照してください。GitHub の [https://github.com/ValveSoftware/steam-for-linux/issues/3773 issue 3773] も参照。
 
Steam パッケージの {{ic|libstdc++.so.6}} が古いことが原因です。ライブラリの問題を解決する方法は [[#Steam ランタイムの問題]] を参照してください。GitHub の [https://github.com/ValveSoftware/steam-for-linux/issues/3773 issue 3773] も参照。
  +
  +
== メモリダンプによってメモリが食い潰されるのを防ぐ ==
  +
  +
Steam はクラッシュすると、毎回 {{ic|/tmp/dumps/}} にメモリダンプを書き出します。Steam がクラッシュループにはまったり、頻繁にクラッシュしてしまうと、ダンプファイルの容量は莫大に増えていきます。Arch では {{ic|/tmp}} は tmpfs でマウントされるため、メモリやスワップファイルが不必要に消費されることになります。{{ic|/tmp/dumps}} から {{ic|/dev/null}} にシンボリックリンクを作成したり、パーミッションを変更することでメモリの浪費を防ぐことが可能です。それによって Steam はダンプファイルを書き込めなくなります。また、Steam によって Valve のサーバーにダンプがアップロードされることもなくなります。
  +
  +
# ln -s /dev/null /tmp/dumps
  +
  +
または:
  +
  +
# mkdir /tmp/dumps
  +
# chmod 600 /tmp/dumps
  +
  +
== ゲームを起動する際にスタンドアロンのコンポジタを終了する ==
  +
  +
{{ic|%command%}} スイッチを利用することで、ゲームや環境によってはラグやティアリングの原因となるスタンドアロンのコンポジタ ([[Xcompmgr]] や [[Compton]]) を終了することができ、ゲームを終えた後に再起動できます。ゲームの起動オプションに以下を加えて下さい:
  +
  +
killall compton && %command%; compton -b &
  +
  +
上のコマンドの {{ic|compton}} はあなたが使っているコンポジタに置き換えてください。もちろん、オプションを {{ic|%command%}} や {{ic|compton}} に加えることもできます。
  +
  +
Steam は {{ic|%command%}} の後にプロセスは実行し Steam の状態はゲーム中になります。この例では、{{ic|nohup}} でコンポジタを実行するので Steam には付着されず (Steam を閉じても実行し続けます)、アンパサンドのあるコンポジタが実行されてからコマンドの行が終了して Steam の状態が戻ります。
  +
  +
== Arch Linux のホストから Arch Linux のゲストにホームストリーミングが機能しない ==
  +
  +
{{Pkg|lib32-libcanberra}} パッケージを[[インストール]]することで解決します。
  +
  +
パッケージをインストールすると、ホームストリーミングでゲームを起動したときに Steam がクラッシュしなくなります。
  +
  +
== ダウンロード速度が非常に遅い ==
  +
  +
クライアント経由での Steam のアプリ (ゲームやソフトウェア) のダウンロード速度が遅い場合、[[dnsmasq]] などの DNS キャッシュプログラムをインストールすることで解決することがあります [https://steamcommunity.com/app/221410/discussions/2/616189106498372437/]。
  +
  +
== DRI3 を使用している場合に Symbol lookup error ==
  +
  +
Steam が以下のようなエラーを出力して終了してしまう場合:
  +
  +
symbol lookup error: /usr/lib/libxcb-dri3.so.0: undefined symbol: xcb_send_request_with_fds
  +
  +
Xorg の設定ファイルで DRI3 を無効化するか {{ic|1=LIBGL_DRI3_DISABLE=1}} を付けて Steam を起動することで解決します:
  +
  +
$ LIBGL_DRI3_DISABLE=1 steam
  +
  +
== ハードウェアデコードが使えない ==
  +
ホームストリーミングのハードウェアデコードは {{ic|vaapi}} を使用します。詳しくは[[ハードウェアビデオアクセラレーション]]を参照してください。必ず {{ic|lib32}} バージョンのライブラリもインストールしてください。

2017年3月21日 (火) 22:02時点における版

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

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

目次

Steam のデバッグ

Steam をデバッグすることで何が原因で問題が行っているのか情報を集めることができます。

DEBUGGER 環境変数を gdb, cgdb, valgrind, callgrind, strace のどれかに設定して steam を起動してください。

gdb を使用する場合:

$ DEBUGGER=gdb steam

gdb が開くので run と入力してください。steam が起動します。クラッシュが発生したら backtrace と入力することでコールスタックが確認できます。

Steam ランタイムの問題

Steam は「Steam ランタイム」と呼ばれるライブラリをインストールしますが、中には古いバージョンも混ざっています。これらのライブラリは Arch Linux のライブラリと衝突することがあり、また、古いライブラリには重要な機能が含まれていないことがあります (例えば、Steam に含まれている OpenAL には HRTF や surround71 のサポートが欠けています)。

ランタイムが原因で Steam クライアントがクラッシュ・フリーズしたり、以下のような様々なエラーが発生します:

libGL error: unable to load driver: some_driver_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: some_driver
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
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.
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 がサーバーに接続できない可能性もあります [1]。Steam API がロードされないとほとんどのゲームはクラッシュします。

上流の issue #13 や以下のフォーラムスレッドも参照してください:

解決方法

steam パッケージでインストールした Steam を実行する方法は3つ存在します:

$ steam-runtime

上記のコマンドは /usr/bin/steam で Steam を起動した時や "Steam" デスクトップエントリを使ったときに使用されるコマンドです。問題を起こすランタイムライブラリは LD_PRELOAD 環境変数で上書きすることができます (ld.so(8) を参照)。上記のコマンドでライブラリの衝突が発生する場合、/usr/bin/steam-runtime のコピーを作成して回避策を追加することができます。

$ steam-native

上記のコマンドは "Steam (Native)" デスクトップエントリで実行されるコマンドです。強制的に Steam ランタイムを無視させシステムライブラリだけを使うようにします。Steam を完全に実行するには steam-native-runtime のインストールが必要になります。ただし、一部のゲームはさらに別のパッケージのインストールを必要とします。#欠けているランタイムライブラリの確認Steam/ゲーム別のトラブルシューティングを参照してください。

$ /usr/lib/steam/steam

上記のコマンドは Arch 特有の設定が含まれていないノーマルな Steam ランチャーを起動します。

欠けているランタイムライブラリの確認

steam-native を使用する場合、ライブラリが足りないせいでゲームや Steam が起動しないことがあります。必要なライブラリを確認するには、以下のコマンドを実行してください:

$ cd ~/.local/share/Steam/ubuntu12_32
$ file * | grep ELF | cut -d: -f1 | LD_LIBRARY_PATH=. xargs ldd | grep 'not found' | sort | uniq

もしくは、Steam ランタイムを使って Steam を起動 (/usr/bin/steam) して、以下のコマンドで Steam が使用しているライブラリを確認してください (全てが Steam ランタイムに含まれているとは限りません):

$ for i in $(pgrep steam); do sed '/\.local/!d;s/.*  //g' /proc/$i/maps; done | sort | uniq

マルチディスプレイの設定

マルチディスプレイを使っている場合、ERROR: ld.so: object '~/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored. というエラーが発生してゲームが起動できなくなることがあります。ディスプレイを減らしてみて、ゲームを実行できないか試してみてください。ゲームが問題なく起動したらディスプレイを元に戻しても問題ありません。

また、以下のコマンドで Steam を実行してみてください:

export LD_LIBRARY_PATH=/usr/lib32/nvidia:/usr/lib/nvidia:$LD_LIBRARY_PATH

ネイティブランタイム: steam.sh line 756 Segmentation fault

Valve の GitHub issue 3863

上記のバグレポートにあるように、STEAM_RUNTIME=0 を使って Steam を起動すると /home/<username>/.local/share/Steam/steam.sh: line 756: <variable numeric code> Segmentation fault (core dumped) というエラーでクラッシュすることがあります。

steamclient.solibudev.so.0 にリンクされており (lib32-libudev0AUR)、libudev.so.1 と衝突するのが原因です (lib32-systemd)。

Steam に含まれている32ビット版の libusb と libgudev を /usr/lib32 にコピーすることで解決します:

# cp $HOME/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libgudev* /usr/lib32
# cp $HOME/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libusb* /usr/lib32

上記の設定は lib32-libgudevlib32-libusb がインストールされている環境で必要です。

また、libudev.so.1 のロードの優先順位を変更することでも解決します (同じ issue のコメント を参照):

$ LD_PRELOAD=/usr/lib32/libudev.so.1 STEAM_RUNTIME=0 steam

音声が鳴らなかったり 756 Segmentation fault が発生する

pulseaudiopulseaudio-alsa をインストールしてみてください。x86_64 環境なら lib32-libpulselib32-alsa-plugins もインストールしてください。

Steam クライアントで再生した動画の音声が流れない場合、Steam に含まれている ALSA ライブラリがおそらく原因です。

Steam クライアントで動画を再生しようとすると以下のようなエラーが出力されます:

ALSA lib pcm_dmix.c:1018:(snd_pcm_dmix_open) unable to open slave

解決方法は alsa-lib フォルダ と libasound.so.* ファイルの名前を変更、あるいは削除することです。ファイルは以下のフォルダに存在します:

~/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/

libasound.so.* ライブラリを LD_PRELOAD 環境変数に追加することでも一時的に解決できます:

LD_PRELOAD='/usr/$LIB/libasound.so.2 '${LD_PRELOAD} steam

それでも音声が鳴らない場合、LD_PRELOAD 変数に PulseAudio のライブラリを追加すると問題が解決する場合があります:

LD_PRELOAD='/usr/$LIB/libpulse.so.0 /usr/$LIB/libpulse-simple.so.0 '${LD_PRELOAD}

ライブラリの名前は変わっている可能性があります。以下のフォルダを探して新しいライブラリとバージョンを確認してください:

~/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu

バグレポートは #3376#3504 で報告されています。

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

Windows 用の Steam Support の手順が Linux でも上手くいくようです。

steam-fontsAUR パッケージをインストールするか、SteamFonts.zip をダウンロードしてインストール (/usr/share/fonts/~/.fonts/ にコピー) してください。

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

一部のゲームは他のフォントを必要とします。Steam/ゲーム別のトラブルシューティングを参照してください。

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

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

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

ゲームを右クリックしてプロパティを選択して、「起動オプションを設定」ボタンをクリックしてください。そしてテキストボックスに以下のように入力してください:

LD_PRELOAD='./libcxxrt.so:/usr/$LIB/libstdc++.so.6' %command%

And try the game again. Some games work with this and some games don't.

それでもゲームがクラッシュする場合、ゲームのプロパティを開き、「一般」タブの「ゲーム中に Steam オーバーレイを有効にする」のチェックを外してみてください。

なおクラッシュが解決しないのであれば最終手段として Steam の出力を確認してゲームからエラーが吐かれていないか確認してください。以下のようなエラーが出力されていることがあります:

  • munmap_chunk(): invalid pointer
  • free(): invalid pointer

上記のエラーが確認できた場合、問題の起こるゲームの libsteam_api.so ファイルを問題なく起動するゲームのファイルに置き換えてください。大抵は最近アップデートされていないゲームで Steam ランタイムを無効にしたときにエラーが発生します。エラーが発生するゲームとして AYIM, Bastion, Monaco などがあります。

OpenGL がダイレクトレンダリングを使わない / Steam で Xorg がクラッシュする

"OpenGL GLX context is not using direct rendering, which may cause performance problems" というエラーメッセージが表示されることがあります [2]

おそらく32ビットのグラフィックドライバがちゃんとインストールされていません。Xorg#ドライバーのインストールでどのパッケージをインストールするべきか確認してください。

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

$ glxinfo32 | grep OpenGL

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

特定のゲームで音が鳴らない場合、そして Steam/ゲーム別のトラブルシューティングで書かれている方法で問題が修正されないときは、ネイティブランタイムを使うと音が鳴るようになることがあります。

FMOD サウンドエンジン

'FMOD' オーディオミドルウェアパッケージを使用する以下のゲームで問題が発生します:

  • Hotline Miami
  • Hotline Miami 2
  • Transistor

パッケージにバグが存在するために、ゲームによっては音声に問題が起こります。

ALSA で実際は使用していないデバイスをデフォルトのサウンドデバイスとして設定している場合に発生することが多いようです。Advanced Linux Sound Architecture#デフォルトサウンドカードの設定を参照してください。

Missing libc

おそらく Steam の実行ファイルが破損しています。以下のコマンドの出力を確認してください:

$ ldd ~/.local/share/Steam/ubuntu12_32/steam

ldd によって動的実行ファイルでないと表示される場合、アップデートによって Steam のバイナリが壊れた可能性が高いです。以下のコマンドで修復できます:

$ cd ~/.local/share/Steam/
$ ./steam.sh --reset

修復されない場合、~/.local/share/Steam/ ディレクトリを削除してもういちど Steam を起動してみてください。

$HOME ディレクトリがスラッシュで終わっている場合にも、Steam のバグが原因でエラーメッセージが表示されることがあります (Valve GitHub issue 3730)。/etc/passwd を編集して /home/<username>/home/<username> に変更し、一度ログアウトしてからログインしなおすことで解決します。その後、Steam は自動的に修復を開始します。

Missing libGL

Steam を初めて起動したときに以下のようなエラーが表示される場合:

You are missing the following 32-bit libraries, and Steam may not run: libGL.so.1

Xorg#ドライバーのインストールに書かれているビデオドライバーの lib32 バージョンがインストールされているか確認してください。

Missing vgui2_s.so

起動時に以下のエラーが発生する場合:

Could not load module 'vgui2_s.so'.

lib32-openal パッケージをインストールすることで解決します。詳しくは https://support.steampowered.com/kb_article.php?ref=9205-OZVN-0660 を参照してください。

古い intel ハードウェアでゲームが起動しない

古い Intel ハードウェアで、起動した途端にゲームがクラッシュする場合、おそらくあなたの使っているハードウェアが OpenGL 3 を直接サポートしていないのが原因です。/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 の最新バージョンを使用するようになります。

2k のゲームが xfs パーティションで起動できない

Civilization 5 などの 2k のゲームを xfs パーティションで起動した場合、ゲームのファイルが起動時に正しくロードされず起動できないことがあります [3]

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

他のドライブに 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 コントローラーを見て下さい。

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 も参照。

メモリダンプによってメモリが食い潰されるのを防ぐ

Steam はクラッシュすると、毎回 /tmp/dumps/ にメモリダンプを書き出します。Steam がクラッシュループにはまったり、頻繁にクラッシュしてしまうと、ダンプファイルの容量は莫大に増えていきます。Arch では /tmp は tmpfs でマウントされるため、メモリやスワップファイルが不必要に消費されることになります。/tmp/dumps から /dev/null にシンボリックリンクを作成したり、パーミッションを変更することでメモリの浪費を防ぐことが可能です。それによって Steam はダンプファイルを書き込めなくなります。また、Steam によって Valve のサーバーにダンプがアップロードされることもなくなります。

# ln -s /dev/null /tmp/dumps

または:

# mkdir /tmp/dumps
# chmod 600 /tmp/dumps

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

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

killall compton && %command%; compton -b &

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

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

Arch Linux のホストから Arch Linux のゲストにホームストリーミングが機能しない

lib32-libcanberra パッケージをインストールすることで解決します。

パッケージをインストールすると、ホームストリーミングでゲームを起動したときに Steam がクラッシュしなくなります。

ダウンロード速度が非常に遅い

クライアント経由での Steam のアプリ (ゲームやソフトウェア) のダウンロード速度が遅い場合、dnsmasq などの DNS キャッシュプログラムをインストールすることで解決することがあります [4]

DRI3 を使用している場合に Symbol lookup error

Steam が以下のようなエラーを出力して終了してしまう場合:

symbol lookup error: /usr/lib/libxcb-dri3.so.0: undefined symbol: xcb_send_request_with_fds

Xorg の設定ファイルで DRI3 を無効化するか LIBGL_DRI3_DISABLE=1 を付けて Steam を起動することで解決します:

$ LIBGL_DRI3_DISABLE=1 steam

ハードウェアデコードが使えない

ホームストリーミングのハードウェアデコードは vaapi を使用します。詳しくはハードウェアビデオアクセラレーションを参照してください。必ず lib32 バージョンのライブラリもインストールしてください。