Steam nie uruchomi się na Ubuntu 16.04

19

Po ponownej instalacji aktualizacje są pobierane, ale nie można uruchomić nawet z terminala. Oto komunikat o błędzie:

Running Steam on ubuntu 16.04 32-bit  
STEAM_RUNTIME is enabled automatically  
[2016-04-25 09:12:35] Startup - updater built Mar 31 2016 19:10:48  
SteamUpdateUI: An X Error occurred  
X Error of failed request:  BadValue (integer parameter out of range for operation)
Henry Wayat
źródło
Błąd na oficjalnym trackerze Ubuntu: bugs.launchpad.net/ubuntu/+source/steam/+bug/1527669 Rozwiązałem podobny problem, obniżając sterownik nvidia: askubuntu.com/questions/893922/...
Ciro Santilli 新疆 改造 中心 法轮功10 事件

Odpowiedzi:

43

Miałem ten sam problem, który udało mi się rozwiązać, postępując zgodnie z instrukcjami z http://ubuntuforums.org/showthread.php?t=2275526 :

Jest to problem z Steam i Ubuntu 15.04. Steam pakuje stare biblioteki i koliduje ze sterownikami mesa, dlatego też zamknięte sterowniki nie widzą tego problemu.

Na githubie Steam jest otwarty błąd, którego obejściem jest na razie usunięcie starej wersji lib, przynajmniej do momentu rozwiązania problemu przez skrypt w skrypcie startowym lub podobnym. Więc wejdź do tych folderów i zrób to

Kod:

cd $HOME/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak

To zadziałało dla mnie ... ale pamiętaj, że jeśli jakaś gra wymagała starej biblioteki lib ze środowiska uruchomieniowego Steam, może się zawiesić (dlatego powinien to naprawić zawór)

Edycja: Kroki w wątku zostały już cytowane w Problem z instalacją Steam na Ubuntu 15.04+ , więc możesz przejść tam, aby uzyskać więcej szczegółów, na wypadek gdyby te instrukcje nie były wystarczające, aby rozwiązać problem.

balver
źródło
Dla obu polecenia mv, mam: gnu: No such file or directory. Dlaczego?
Casper
@CasperLI Mogą znajdować się w innym katalogu. Spróbuj przejść do ścieżki z odpowiedzi Nicka ( askubuntu.com/a/778521/514190 ) i zmienić nazwę libstdc ++. So.6 w swoim ulubionym menedżerze plików. Lub po prostu znajdź plik:
balver
brak polecenia z powyższego komentarza:find ~/.steam -name "libstdc++.so.6"
balver,
To nie działało na Ubuntu 17.10
Ray Foss
Ponowne uruchomienie naprawiło to ... Zamknąłem wszystko ps aux | grep steam. Musi uruchomić coś innego. Nadal oszałamiający, że wydaje się zawieszać w trybie offline.
Ray Foss,
5

Powyższa odpowiedź była dla mnie poprawna, chociaż ścieżka do plików nie była taka sama, kiedy próbowałem uruchomić Steam 16.04. Potrzebowałem ścieżki

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

Również po aktualizacji po raz pierwszy musiałem to zrobić ponownie, inaczej nadal się nie aktualizuje.

Nick Peppers
źródło
3

Zamiast usuwać libstdc ++, najpierw sprawdź, czy ten błąd jest spowodowany niejednoznacznymi dowiązaniami symbolicznymi libGL.

Odwołaj się do mojej innej odpowiedzi, która również pomogła mi rozwiązać ten problem /ubuntu//a/903488/364084

Wkleję treść tutaj:

Jeśli używasz sterownika nvidia, czasami zobaczysz, że libGL.so.1 wskazuje na niejednoznaczny libGL dostarczany zarówno przez mesa, jak i nvidia. Aby to przetestować, możesz uruchomić to polecenie

$ sudo ldconfig -p | grep -i gl.so

Wynik był podobny do:

    libwayland-egl.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1
    libftgl.so.2 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libftgl.so.2
    libcogl.so.20 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libcogl.so.20
    libQt5OpenGL.so.5 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5
    libQtOpenGL.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libQtOpenGL.so.4
    libQtOpenGL.so.4 (libc6) => /usr/lib/i386-linux-gnu/libQtOpenGL.so.4
    libOpenGL.so.0 (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so.0
    libOpenGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libOpenGL.so
    libGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib/i386-linux-gnu/mesa/libGL.so.1
    libGL.so.1 (libc6) => /usr/lib32/nvidia-378/libGL.so.1
    libGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libGL.so
    libGL.so (libc6) => /usr/lib32/nvidia-378/libGL.so
    libEGL.so.1 (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so.1
    libEGL.so.1 (libc6) => /usr/lib32/nvidia-378/libEGL.so.1
    libEGL.so (libc6,x86-64) => /usr/lib/nvidia-378/libEGL.so
    libEGL.so (libc6) => /usr/lib32/nvidia-378/libEGL.so

Teraz musiałem tylko usunąć bibliotekę dostarczoną przez mesa i wszystko działało idealnie.

$ sudo rm /usr/lib/i386-linux-gnu/mesa/libGL.so.1
Zobayer Hasan
źródło
0

rozwiązanie balvera zadziałało, jednak katalog jest nieco inny niż ten, który został opublikowany. Oto sekwencja poleceń podczas pisania:

cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
cd $HOME/.steam/steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu
mv libstdc++.so.6 libstdc++.so.6.bak
Skotizo
źródło