Probléma a Steam telepítésével Ubuntu 15.04+ -re

102

Valójában telepítettem az új Ubuntu 15.04 64bit-et, és amikor megpróbálom telepíteni a Steamot, akkor van probléma. Valójában letöltöttem a deb csomagot a gőz weboldaláról, telepítettem, és amikor elkezdek, semmi sem történik. Próbáltam elkezdeni a terminálból és azt, amit kaptam

$ steam
Running Steam on ubuntu 15.04 64-bit
STEAM_RUNTIME is enabled automatically
Installing breakpad exception handler for appid(steam)/version(0_client)
libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
    
készlet saber hammami 26.04.2015 20:14
forrás

8 válasz

115

Ez eredetileg a Steam on Ubuntu 15.04 / 15.10 verziójában jelentkezett. A gőz összecsapja a régi zászlókat és ütközik a mesa meghajtókkal, ezért a zárt driverek nem látják ezt a problémát. Frissítés: Előfordulhat, hogy hiányzik néhány dolog. Lásd az egyéb mchid válaszát.

Van egy nyitott hiba a Steam's githubban .

Az aktuális megoldás a régi lib verzió eltávolítása, legalább addig, amíg a szelep nem javítja a problémát az indítószkriptben vagy valami ilyesmiben.

Így írd be ezeket a mappákat, és tedd ezt (figyelmen kívül hagyd ax86_64 -ot, ha csak 32bit rendszered van):

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

Ha problémád van a fenti könyvtárral, próbáld ki ezt:

Egyesek a.steam/steam/ubuntu12_32 -ot, mások csak.steam/ubuntu12_32 -ot. Ha nincsenek ezek a mappák, keresse meg a megfelelő helyet annak ellenőrzésével, hogy a gőz keresési pontot keres-e:

$ fgrep config=  /usr/games/steam
config=$HOME/.steam

Használja ezt, hogy megtalálja a lib helyét:

[config value] + /ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu
   |
   \-> $HOME/.steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu

Ez nekem működött ... de kérjük, vegye figyelembe, hogy ha valamilyen játékhoz szükség van a régi lib-ről a gőzfejlesztésből, összeomolhat (ezért kell a szelepet megjavítani)

Szerkesztés: 2015-08-22:

Mivel Steam most rendelkezik egy linkkel a$HOME/.steam/root -ban, amely mindig a helyes Steam telepítési könyvtárra mutat, ez a parancs mindenkinek működnie kell, és egyszerűbb a gyors javításhoz:

find $HOME/.steam/root/ubuntu12_32/steam-runtime/*/usr/lib/ -name "libstdc++.so.6" -exec mv "{}" "{}.bak" \; -print

Emlékezzen továbbá arra, hogy minden gőzfejlesztési frissítésnél valószínűleg futtatni kell.

Szerkesztés 2016-02-16:

Lásd a mchid választ alább, egyszerűen:

sudo apt-get install libgl1-mesa-dri libgl1-mesa-dri:i386

elég lehet a probléma megoldásához.

Szerkesztés 2016-10-23:

A ubuntu 16.10 paranccsal frissítettük a meza meghajtókat megszakító fájlokat, ezért ez az új parancsnak működnie kell:

find $HOME/.steam/root/ubuntu12_32/steam-runtime/*/usr/lib/ \( -name "libstdc++.so.6" -o -name "libgpg-error.so.0"  -o -name "libxcb.so.1" -o -name "libgcc_s.so.1" \) -exec mv "{}" "{}.bak" \; -print

Az NVIDIA zárt forráskódú illesztőprogramok használatával kapcsolatban lásd: Vincent válasza.

Szerkesztés 2017-01-08:

Valószínűleg végleges szerkesztés, a legfrissebb gőzlinux frissítésnek a legtöbbet kell megoldania, ha nem minden probléma! végül! : D

Szerkesztés 2017-08-03:

Sajnos, a vakációról való visszatérés azt mutatta, hogy néhány friss frissítés ismét megtörte a gőzt. Tehát ha ezt a programot a frissítés letöltésekor kapja meg:

process 23148: arguments to dbus_connection_ref() were incorrect, assertion "connection->generation == _dbus_current_generation" failed in file dbus-connection.c line 2688.

, majd gőzrobbanás, akkor a ezt bug , nem halálosnak jelentették, de ugyanazokat a távolságokat gőzzel ütközteti. megoldás ez:

ln -s ${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libdbus-1.so.3 ${HOME}/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libdbus-1.so.3

sok szerencsét

    
válasz adott higuita 26.04.2015 21:22
forrás
20

Fastfix (Ubuntu 15.04 tesztelése)

mv ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1{,.disable}
mv ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so.6{,.disable}
    
válasz adott itsnikolay 01.05.2015 19:41
forrás
17

A következő a Hiba történt a Steam telepítésével kapcsolatban ubuntu 15.04 , és messze a legegyszerűbb válasz erre a kérdésre (amint azt tahtisilma megjegyezte). Hozzáteszem, hogy ha nem szeretné elkerülni a parancssori terminál használatának fájdalmát, akkor az asztali fájlt az asztalon, a jobb egérgombbal kattintva és a tulajdonságok kiválasztásával, majd a parancsfájl helyébe az asztali fájlba következő:

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

Rövid változat:

Indítsa el a gőzt a terminálon:

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

a csak gőz helyett

Hosszú verzió:

A Steam nem tudja megnyitni a nouveau_dri.so nevet, a megosztott könyvtárat, amely felelős a grafikus illesztőprogrammal való kommunikációért. Annak ellenőrzése, hogy az illesztőprogram OpenGL engedélyezett fut:

DISPLAY=:0 glxinfo | grep -i direct

A kimenetnek:

közvetlen renderelés: Igen A gőz futtatása hibakeresési módban:

DISPLAY=:0 LIBGL_DEBUG=verbose steam

Adja meg nekünk a kimenetet, ahol a következő sorok adnak minket:

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

Úgy tűnik, hogy a gőz a libstdc ++ változatát használja. Lehetővé teszi, hogy ellenőrizze, melyik verzió használja a gőz:

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

Tehát a Steam betöltötte a LibC6-ot az ABI 18-as verziójával, ahol a meghajtó elvárja a 20-as verziót. A megoldás az, hogy az operációs rendszert az LD_PRELOAD változó használatával előzetesen töltse le a megfelelő LibC6 verziót:

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

A kissé nem intuitív $ LIB paraméter ld.so-ban bővül az elindított folyamat platformja alapján (man 8 ld.so a részletekért).

Szkriptet hozhat létre a következő tartalommal a gőz helyett:

#!/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

Egy jobb szkript ellenőrizheti, hogy a globális LibC6 verzió újabb, mint a STEAM_RUNTIME, és csak az LD_PRELOAD.

További részletek a itt . Vegyük észre, hogy teszteltem a Debianon, és most már teszteltem Ubuntu élénken 15.04 és jól működik.

    
válasz adott miller the gorilla 25.07.2015 12:36
forrás
8

Ez jól működik az Ubuntu 15.04 64 bites verziójával, az NVIDIA 346-os verziójú vezérlõprogramjával:

LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib32/nvidia-346/:/usr/lib/nvidia-346/" steam
    
válasz adott Vincent 02.05.2015 11:14
forrás
7

Ez egy egyszerű javítás.

A hibaüzenet szerint a következő fájlok hiányoznak:r600_dri.so ésswrast_dri.so

Futtassa a következő parancsokat a hiányzó fájlok telepítéséhez:

sudo apt-get update
sudo apt-get install libgl1-mesa-dri libgl1-mesa-dri:i386

A problémát most megoldani kell.

Küldje be a további hibákat.

    
válasz adott mchid 21.01.2016 08:54
forrás
1

Fix az Ubuntu 16.04, Xenial Xerus, 64-bit

Ezt a problémát csak a Steam miatt 16.04-kor frissítettem, 14.04-kor jól működött. Megpróbáltam a fenti javításokat az Ubuntu korábbi verzióihoz.

A ez a megoldás második része dolgozott nekem .

$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install wget gdebi libgl1-mesa-dri:i386 libgl1-mesa-glx:i386 libc6:i386
$ wget http://media.steampowered.com/client/installer/steam.deb
$ sudo gdebi steam.deb

Most ismét L4D2-et futok az Ubuntuban - kitűnő!

    
válasz adott James Bradbury 21.05.2016 09:33
forrás
1

Ez a két sor a menasheh-nak a github-problémára vonatkozó megjegyzésével együtt működik az Ubuntu 15.10-el :

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

Vegye figyelembe, hogy ha a Steam frissíti magát, előfordulhat, hogy újra be kell írnia ezeket a sorokat.

    
válasz adott Chris McFarland 07.03.2016 07:49
forrás
0

Csak a Ubuntu 18.04 LTS új telepítésével futott be erre a kérdésre. Kiderült, hogy alibgcc_s.so.1 Steam futásidejű változata a bűnös. A fájl átnevezése rögzítette a problémát:

$ cd ~/.steam/root/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/
$ mv libgcc_s.so.1 libgcc_s.so.1.bak
    
válasz adott BrianD 04.05.2018 23:40
forrás