우분투 15.04에 Steam을 설치하는 중 오류가 발생했습니다.

우분투 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 설치 솔루션을 찾는 데 도움을 줄 수 있는 사람이 있나요?

답변1

짧은 버전:

다음을 사용하여 터미널에서 Steam을 시작하십시오.

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

그냥 대신에steam

긴 버전:

nouveau_dri.so그래픽 드라이버와의 통신을 담당하는 공유 라이브러리인 Steam을 열 수 없습니다 . 드라이버가 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))

스팀에서는 다른 버전을 사용하고 있는 것 같습니다 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은 드라이버가 버전 20을 예상하는 ABI 버전 18로 LibC6을 로드했습니다. 해결책은 변수를 사용하여 OS에 적절한 LibC6 버전을 미리 로드하도록 지시하는 것입니다 LD_PRELOAD.

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

STEAM_RUNTIME더 나은 스크립트는 전역 LibC6 버전이 의 버전 보다 최신인지 확인할 수 있습니다 LD_PRELOAD.

자세한 내용은 다음에서 확인할 수 있습니다.여기. Debian에서 테스트했고 이제 Ubuntu Vivid 15.04에서 테스트되었으며 정상적으로 작동합니다.

답변2

Steam 클라이언트를 시작하는 데 도움이 된 또 다른 솔루션은 여기에서 찾을 수 있습니다.

https://wiki.archlinux.org/index.php/Steam/문제 해결

나는이 명령을 실행했습니다 -

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에서 동일한 문제가 있는 모든 사람에게 도움이 되기를 바랍니다.

답변3

어쩌면 gccSteam 런타임의 라이브러리가 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

답변4

분명히 이 오류는 Steam을 설치하려고 할 때 발생합니다.64비트우분투 15.04.

내 컴퓨터에 Ubuntu 15.04를 새로 설치했습니다. 또한 NVIDIA 독점 그래픽 드라이버도 설치했습니다.

이 오류가 발생했는데 자세히 살펴보니 Steam이 32비트 애플리케이션이라는 것을 알게 되었기 때문에 일부 32비트 라이브러리를 설치하고 NVIDIA 드라이버를 다시 설치했습니다.증기런칭할 수 있었습니다.

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비트 라이브러리 설치를 요청하면 '예'를 누르십시오.

관련 정보