web-dev-qa-db-ja.com

Ubuntu 15.04にSteamをインストールする際のエラー

agung@agung-K43SJ:~$ Steam
Running Steam on ubuntu 15.04 64-bit

Steam_RUNTIME is enabled automatically

Installing breakpad exception handler for appid(Steam)/version(0)

libGL error: unable to load driver: nouveau_dri.so

libGL error: driver pointer missing

libGL error: failed to load driver: nouveau

libGL error: unable to load driver: swrast_dri.so

libGL error: failed to load driver: swrast

その前に、ターミナルからSteamをインストールしようとしましたが、アップデートをダウンロードした後に起動しませんでした。

Steamをインストールするためのソリューションを見つけるのを手伝ってくれる人はいますか?

30
Agung Wahyudi

短縮版:

以下を使用して、ターミナルでSteamを起動します。

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 Steam

Steamの代わりに

ロングバージョン:

Steamは、グラフィックドライバとの通信を担当する共有ライブラリであるnouveau_dri.soを開くことができません。ドライバーがOpenGL対応かどうかを確認するには、次を実行します。

DISPLAY=:0 glxinfo | grep -i direct

出力は次のようになります。

direct rendering: Yes

デバッグモードでSteamを実行する:

DISPLAY=:0 LIBGL_DEBUG=verbose Steam

次の行がヒントを示す出力を提供します。

libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/nouveau_dri.so
libGL: dlopen /usr/lib/i386-linux-gnu/dri/nouveau_dri.so failed (/home/user/.local/share/Steam/ubuntu12_32/Steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib/i386-linux-gnu/dri/nouveau_dri.so))

Steamは異なるバージョンのlibstdc++.so.6を使用しているようです。 Steamが使用しているバージョンを確認しましょう:

ls -l ~/.local/share/Steam/ubuntu12_32/Steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6  

lrwxrwxrwx 1 user user 19 Jul 18  2014 /home/user/.local/share/Steam/ubuntu12_32/Steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.18

SteamはLibC6にABIバージョン18をロードしましたが、ドライバーはバージョン20を想定しています。解決策は、LD_PRELOAD変数を使用してOSに適切なLibC6バージョンをプリロードすることです。

LD_PRELOAD='/usr/$LIB/libstdc++.so.6' DISPLAY=:0 Steam

やや直感的でない$ LIBパラメーターは、ld.soで、開始されるプロセスのプラットフォームに基づいて正しいパスに展開されます(詳細はman 8 ld.so)。

Steamの代わりに、次のコンテンツでスクリプトを作成して実行できます。

#!/bin/bash
# Export so all child processes are affected as well
export LD_PRELOAD='/usr/$LIB/libstdc++.so.6'
export DISPLAY=:0
#export LIBGL_DEBUG=verbose
Steam

より良いスクリプトは、グローバルLibC6バージョンがSteam_RUNTIMEのバージョンよりも新しいかどうかを確認し、それからLD_PRELOAD ’sのみをチェックできます。

詳細は here で見つけることができます。 Debianでテストしたところ、Ubuntu vivid 15.04でテストされ、正常に動作することに注意してください。

64
Tahtisilma

Steamクライアントを起動するのに役立つ別のソリューションがここに見つかりました-

https://wiki.archlinux.org/index.php/Steam/Troubleshooting

私はこのコマンドを実行しました-

find ~/.Steam/root/ \( -name "libgcc_s.so*" -o -name "libstdc++.so*" -o -name "libxcb.so*" -o -name "libgpg-error.so*" \) -print -delete

追加のプリロードなしでSteamを起動できるようになりました。これがUbuntu 16.04で同じ問題を抱えているすべての人に役立つことを願っています

27
philfaint

Steamランタイムのgccライブラリは、mesaドライバーと互換性がない可能性があります。 ホームフォルダをバックアップします、次にこれらのライブラリファイルを削除してください:

rm ~/.local/share/Steam/ubuntu12_32/Steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6
rm ~/.local/share/Steam/ubuntu12_32/Steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1
6
Zivit

64bits Ubuntu 15.04にSteamをインストールしようとすると、このエラーが発生するようです。

マシンにUbuntu 15.04を新しくインストールしました。 NVIDIA独自のグラフィックドライバーもインストールしました。

このエラーが発生していましたが、よく見てみると、Steamは32ビットアプリケーションであることに気づいたので、32ビットライブラリをいくつかインストールし、NVIDIAドライバーを再インストールしたため、Steamを起動できました。

Sudo dpkg --add-architecture i386
Sudo apt-get update
Sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386
Sudo ./NVIDIA-Linux-x86_64-352.63.run

最後のコマンドは、ドライバーインストーラーにする必要があります。

ドライバーインストーラーが32ビットライブラリのインストールを要求する場合は、[はい]をクリックします。

3
McLeary