Ubuntu 15.04 üzerinde Steam yükleme ile ilgili sorun

102

Aslında yeni Ubuntu 15.04 64bit'i kurdum ve Steam'i kurmaya çalıştığımda bir sorun var. Aslında, borç paketini buhar web sitesinden indirdim, yükledim ve başlattığımda hiçbir şey olmuyor. Terminalden başlamayı denedim ve sahip olduğum şeyler

$ 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
    
sordu saber hammami 26.04.2015 20:14

8 cevap

116

Bu başlangıçta Ubuntu'da 15.04 / 15.10 tarihinde Steam ile ilgili bir sorundu. Steam, eski lib'leri birleştiriyor ve mesa sürücüleri ile çarpışıyor, bu yüzden kapalı sürücüler bu sorunu görmüyor. Güncelleme: Bazı şeyleri kaçırmanız da olabilir. Diğer mchid'in cevabına bak.

Steam'in github'unda bir açık hata var .

Mevcut geçici çözüm, en azından kapak başlangıç ​​komut dosyasında veya böyle bir şeyde sorun giderilinceye kadar eski lib sürümünü kaldırmaktır.

Yani bu klasörleri girin ve bunu yapın (yalnızca 32bit sisteminiz varsa x86_64 'i dikkate almayın):

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

Yukarıdaki dizinde sorun yaşıyorsanız, şunu deneyin:

Bazı kişiler .steam/steam/ubuntu12_32 , diğerleri sadece .steam/ubuntu12_32 var. Bu klasörleriniz yoksa, buharın kullanıcı profilini nerede aradığını kontrol ederek doğru yeri bulun:

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

Lib konumunuzu bulmak için bunu kullanın:

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

Benim için çalıştı ... ama bazı oyunların buharlı çalışma zamanından eski lib gerekiyorsa, çökebilir (bu yüzden vana bunu düzeltmelidir)

2015-08-22’yi düzenle:

Artık Steam'in her zaman doğru Steam yükleme dizinine işaret eden $HOME/.steam/root 'sinde bir bağlantı bulunduğu için, bu komut herkes için çalışmalı ve hızlı bir düzeltme için daha basit olmalıdır:

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

Ayrıca, her buharlı çalışma zamanı güncellemesinde muhtemelen bunu çalıştırmanız gerektiğini unutmayın.

2016-02-16’yı düzenle:

Ayrıca mchid yanıtını aşağıya bakın, basitçe şunu yapın:

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

Bunu düzeltmek için yeterli olabilir.

2016-10-23’ü düzenle:

ubuntu 16.10 için komut, mesa sürücülerini kesen daha fazla dosyayı kaldırmak için güncellendi, bu nedenle bu yeni komut çalışmalıdır:

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

NVIDIA kapalı kaynak sürücüleri için Vincent'ın yanıtına bakın.

2017-01-08’i Düzenle:

Muhtemelen son düzenleme, en son buhar linux güncellemesi, tüm sorunları olmasa bile en çok düzeltmelidir! en sonunda! : D

2017-08-03 Düzenle:

Ne yazık ki, tatilden dönen bazı güncel güncellemelerin tekrar buhar kazandığını gördü. Bu yüzden eğer başlarken, güncelleme indirildikten hemen sonra:

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

ve ardından buhar kazası, ardından bu 'a vurursunuz bug , ölümcül olmayan olarak bildirildi, ancak aynı dağıtımda buhar kazası oldu. geçici çözüm şudur:

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

iyi şanslar

    
verilen cevap higuita 26.04.2015 21:22
20

Fastfix (Ubuntu 15.04 üzerinde test edilmiştir)

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}
    
verilen cevap itsnikolay 01.05.2015 19:41
17

Aşağıdakiler Steam'i yükleme hatasıdır. ubuntu 15.04 ve bu sorunun en kolay cevabıdır (yukarıda tahtisilma ile belirtildiği gibi). Komut terminalini her seferinde kullanma zorunluluğundan kaçınmak istiyorsanız, masaüstünüzde masaüstünde, sağ tıklayarak ve özellikleri seçerek ve ardından masaüstündeki macunla masaüstünü değiştirerek düzenleyebilirsiniz. takip eden:

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

Kısa versiyon:

Kullanarak terminalde buharı başlatın:

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

sadece buhar yerine

Uzun versiyon:

Steam, grafik sürücüsü ile iletişim kurmaktan sorumlu paylaşılan kütüphane olan nouveau_dri.so dosyasını açamıyor. Sürücünün OpenGL etkinleştirilmiş olup olmadığını kontrol etmek için:

DISPLAY=:0 glxinfo | grep -i direct

Çıkış şöyle olmalıdır:

doğrudan oluşturma: Evet Hata ayıklama modunda buhar çalıştırılıyor:

DISPLAY=:0 LIBGL_DEBUG=verbose steam

Aşağıdaki satırların bize şu ipuçlarını verdiği çıktıyı verir:

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

Buharın libstdc ++ 'ın farklı bir sürümünü kullandığı görülüyor. Buharın hangi süreyi kullandığını kontrol et:

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

Bu nedenle, sürücü, sürüm 20'yi beklediği ABI sürüm 18 ile birlikte LibC6'yı yükledi. Çözüm, OS'ye LD_PRELOAD değişkenini kullanarak uygun LibC6 sürümünü önceden yüklemesini söylemek:

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

Bir miktar sezgisel olmayan $ LIB parametresi ld.so içinde başlatılan işlemin platformuna göre doğru yola genişletilir (ayrıntılar için 8 ld.so).

Buhar yerine çalıştırmak için aşağıdaki içeriğe sahip komut dosyası oluşturabilirsiniz:

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

Daha iyi bir betik, genel LibC6 sürümünün STEAM_RUNTIME ve yalnızca LD_PRELOAD’daki sürümden daha yeni olup olmadığını kontrol edebilir.

Daha fazla ayrıntı burada . Debian'da test ettiğimi ve şimdi Ubuntu 15.04'te test edildiğini ve iyi çalıştığını unutmayın.

    
verilen cevap miller the gorilla 25.07.2015 12:36
8

Bu benim için gayretli sürücü NVIDIA 346 sürümü ile Ubuntu 15.04 64 bit altında benim için iyi çalışıyor:

LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/lib32/nvidia-346/:/usr/lib/nvidia-346/" steam
    
verilen cevap Vincent 02.05.2015 11:14
7

Bu basit bir düzeltme.

Hata mesajına göre, aşağıdaki dosyaları kaçırıyorsunuz: r600_dri.so ve swrast_dri.so

Bu eksik dosyaları yüklemek için aşağıdaki komutları çalıştırın:

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

Sorun şimdi çözülmeli.

Lütfen ek hatalar gönderin.

    
verilen cevap mchid 21.01.2016 08:54
1

Ubuntu 16.04, Xenial Xerus, 64-bit

için düzeltme

Bu problemi sadece 16.04'e yükselttikten sonra Steam ile yaşadım, 14.04'te iyi çalıştı. Yukarıdaki tüm düzeltmeleri Ubuntu'nun eski sürümleri için denedim.

bu çözümün ikinci kısmı benim için çalıştı .

$ 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

Şimdi Ubuntu'da tekrar L4D2 kullanıyorum - mükemmel!

    
verilen cevap James Bradbury 21.05.2016 09:33
1

menasheh 'in github hakkındaki yorumu ' ndan iki satır Ubuntu 15.10 ile çalışır. :

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

Steam'in kendini güncellemesi durumunda bu satırları tekrar girmeniz gerekebileceğini unutmayın.

    
verilen cevap Chris McFarland 07.03.2016 07:49
0

Sadece Ubuntu 18.04 LTS'nin yeni yüklemesinde bu soruna rastladım. Steam çalışma zamanı sürümünü libgcc_s.so.1 olarak kapatır. Dosyayı yeniden adlandırmak sorunu benim için düzeltti:

$ cd ~/.steam/root/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/
$ mv libgcc_s.so.1 libgcc_s.so.1.bak
    
verilen cevap BrianD 04.05.2018 23:40

Etiketlerdeki diğer soruları oku