Nowe posty

xx Dystrybucja pod HP Omen (6)
Wczoraj o 23:30:08
xx [Poradnik] Wyszukiwanie Sterowników (2)
Wczoraj o 21:08:23
lamp Problem z Linux Lite po instalacji (0)
Wczoraj o 19:50:30
xx Ile pingwinów? (1)
Wczoraj o 08:59:24
xx konfiguracja pale moon (0)
2024-03-24, 21:53:42
xx Plasma 6 w Neonie ssie trochę mniej ... (10)
2024-03-23, 02:38:11
xx problem z instalacja sterowników do karty sieciowej (3)
2024-03-18, 18:10:16
xx Plik abc.001 (1)
2024-03-17, 17:48:27
xx Zlecę dopracowanie programu w MatLab (0)
2024-03-13, 15:28:40
xx Linux Mint 21.3 XFCE brak dźwieku po paru minutach (karta muzyczna zintegrowana) (5)
2024-03-12, 23:07:01

Autor Wątek: Postal 2 - i965 oraz swrast [ROZWIĄZANY]  (Przeczytany 3356 razy)

Offline

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 281
    • Zobacz profil
Postal 2 - i965 oraz swrast [ROZWIĄZANY]
« dnia: 2016-06-06, 16:19:14 »
Witam!
Posiadam Postal 2 dla Linuksa (w. natywna) i gdy próbuję odpalić wypluwa mi:
Copyright 2003 Running With Scissors, Inc.
Unreal Engine
Copyright 2001 Epic Games, Inc.
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  156 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  45
  Current serial number in output stream:  46
Po użyciu LIBGL_DEBUG=verbose
LIBGL_DEBUG=verbose ./postal2
Postal 2
Copyright 2003 Running With Scissors, Inc.
Unreal Engine
Copyright 2001 Epic Games, Inc.
libGL: screen 0 does not appear to be DRI3 capable
libGL: pci id for fd 109: 8086:0106, driver i965
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/i965_dri.so
libGL: dlopen /usr/lib/i386-linux-gnu/dri/i965_dri.so failed (./libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/i386-linux-gnu/dri/i965_dri.so))
libGL: OpenDriver: trying ${ORIGIN}/dri/tls/i965_dri.so
libGL: OpenDriver: trying ${ORIGIN}/dri/i965_dri.so
libGL: dlopen ${ORIGIN}/dri/i965_dri.so failed (./libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/i386-linux-gnu/dri/i965_dri.so))
libGL: OpenDriver: trying /usr/lib/dri/tls/i965_dri.so
libGL: OpenDriver: trying /usr/lib/dri/i965_dri.so
libGL: dlopen /usr/lib/dri/i965_dri.so failed (/usr/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: i965_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: i965
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/i386-linux-gnu/dri/swrast_dri.so
libGL: dlopen /usr/lib/i386-linux-gnu/dri/swrast_dri.so failed (./libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/i386-linux-gnu/dri/swrast_dri.so))
libGL: OpenDriver: trying ${ORIGIN}/dri/tls/swrast_dri.so
libGL: OpenDriver: trying ${ORIGIN}/dri/swrast_dri.so
libGL: dlopen ${ORIGIN}/dri/swrast_dri.so failed (./libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/i386-linux-gnu/dri/swrast_dri.so))
libGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
libGL: dlopen /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory)
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request:  BadValue (integer parameter out of range for operation)
  Major opcode of failed request:  156 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Value in failed request:  0x0
  Serial number of failed request:  45
  Current serial number in output stream:  46
libgl1-mesa-dri jest już w najnowszej wersji.
Akceleracja działa.
Debian Jessie 32bit.
Proszę o pomoc.

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2763
  • 1709
    • Zobacz profil
Odp: Postal 2 - i965 oraz swrast
« Odpowiedź #1 dnia: 2016-06-06, 16:33:32 »
Co pokaze komenda ?
locate swrast_dri.so
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

Offline

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 281
    • Zobacz profil
Odp: Postal 2 - i965 oraz swrast
« Odpowiedź #2 dnia: 2016-06-06, 16:56:59 »
locate swrast_dri.so
/usr/lib/i386-linux-gnu/dri/kms_swrast_dri.so
/usr/lib/i386-linux-gnu/dri/swrast_dri.so
Czyli ze sterami chyba wszystko oki.

Offline

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 281
    • Zobacz profil
Odp: Postal 2 - i965 oraz swrast
« Odpowiedź #3 dnia: 2016-06-06, 17:26:57 »
Szperałem trochę po necie...
Trzeba było wejść do katalogu z grą, a następnie postal2game/System i usunąć libgcc_s.so.1.
Nie wiem co to za rozwiązanie... ale działa.

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2763
  • 1709
    • Zobacz profil
Odp: Postal 2 - i965 oraz swrast
« Odpowiedź #4 dnia: 2016-06-06, 20:04:32 »
Podejrzewam, że libgcc_s.so.1 ciągło swrast_dri.so zależności.
mozesz to sprawdzić np.
ldd  /ścieżka/do/postal2game/System/ibgcc_s.so.1
i po usunięciu ładuje następną taką samą bibliotekę, tylko że z systemu,
można to sprawdzić przy pomocy
strace -e open aplikacja_postal_2

PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

Offline

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 281
    • Zobacz profil
Odp: Postal 2 - i965 oraz swrast
« Odpowiedź #5 dnia: 2016-06-06, 22:00:58 »
piotrek@debian:~/Gry$ ldd Postal\ 2\ Complete\ Linux/postal2game/System/libgcc_s.so.1
        linux-gate.so.1 (0xb7779000)
        libc.so.6 => /lib/i386-linux-gnu/i686/cmov/libc.so.6 (0xb75a5000)
        /lib/ld-linux.so.2 (0xb777c000)
Tego drugiego nie mogłem sprawdzić bo tyle bibliotek wyszło że terminal nie pomieścił.
Czyli po prostu biblioteka w grze robiła konflikt z biblioteką która jest w systemie?

Offline 1709

  • Users
  • Guru
  • *****
  • Wiadomości: 2763
  • 1709
    • Zobacz profil
Odp: Postal 2 - i965 oraz swrast
« Odpowiedź #6 dnia: 2016-06-06, 23:33:51 »
Nie wiem czy "konflikt" to dobre słowo, w każdym razie chyba się trochę pomyliłem, przepraszam.

Linux jest tak dziwnie skonstruowany , że jak uruchomiasz jakiś program,
to wyszukuje sobie biblioteki w określonych lokalizacjach,
tylko tych lokalizacji może być kilka i on sobie wybiera bibliotekę która będzie pierwsza.

Na przykładzie fragmentu logu strace
strace -e open gimp
...
open("/usr/share/locale/pl_PL.UTF-8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/pl_PL.utf8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/pl_PL/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/pl.UTF-8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/pl.utf8/LC_MESSAGES/gimp20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/pl/LC_MESSAGES/gimp20.mo", O_RDONLY) = 3
...
W tym przykładzie gimp sobie szuka pliku gimp20.mo    i ...
"/usr/share/locale/pl_PL.UTF-8/LC_MESSAGES/gimp20.mo",   = nie znalazł
"/usr/share/locale/pl_PL.utf8/LC_MESSAGES/gimp20.mo", = nie znalazł
"/usr/share/locale/pl_PL/LC_MESSAGES/gimp20.mo", = nie znalazł
"/usr/share/locale/pl.UTF-8/LC_MESSAGES/gimp20.mo",  =  nie znalazł
"/usr/share/locale/pl.utf8/LC_MESSAGES/gimp20.mo", = nie znalazł
"/usr/share/locale/pl/LC_MESSAGES/gimp20.mo", = o! sukces , znalazł

I teraz chodzi oto że jakby znalazł za pierwszym razem, to  w następnych folderach by nie szukał bo juz  jakieś coś znalazł,
 a zacząłby szukać następnych plików,
a ten pierwszy plik może być troche inaczej skompilowany niż ostatni i mógłby mieć inne zależności

swrast_dri.so masz tu,
/usr/lib/i386-linux-gnu/dri/swrast_dri.so
i on znalazł ( w twoim logu widać ), a ja się pomyliłem
Cytuj
libGL: dlopen /usr/lib/i386-linux-gnu/dri/swrast_dri.so failed (./libgcc_s.so.1: version `GCC_3.4' not found (required by /usr/lib/i386-linux-gnu/dri/swrast_dri.so))
i tutaj widać że ta biblioteka " libgcc_s.so.1" została skompilowana z GCC_3.4 i biblioteka jego szukała, a że nie było to się wykrzaczyło "swrast_dri.so failed"
i szukało w następnych lokalizacjach.

No to jaki teraz z tego morał ?
Na moim teraz przykładzie
Cytuj
$ ldd /usr/lib/xorg/modules/dri/swrast_dri.so
   linux-vdso.so.1 (0x00007ffce7ffe000)
   libgcrypt.so.20 => /usr/lib/libgcrypt.so.20 (0x00007fdd98cac000)
   libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fdd98a8f000)
   libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fdd9888b000)
   libexpat.so.1 => /usr/lib/libexpat.so.1 (0x00007fdd9865e000)
   libdrm_nouveau.so.2 => /usr/lib/libdrm_nouveau.so.2 (0x00007fdd98456000)
   libdrm_radeon.so.1 => /usr/lib/libdrm_radeon.so.1 (0x00007fdd9824a000)
   libdrm_amdgpu.so.1 => /usr/lib/libdrm_amdgpu.so.1 (0x00007fdd98041000)
   libdrm.so.2 => /usr/lib/libdrm.so.2 (0x00007fdd97e32000)
   libelf.so.1 => /usr/lib/libelf.so.1 (0x00007fdd97c1a000)
   libLLVM-3.8.so => /usr/lib/libLLVM-3.8.so (0x00007fdd950ee000)
   libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fdd94d67000)
   libm.so.6 => /usr/lib/libm.so.6 (0x00007fdd94a63000)
   libc.so.6 => /usr/lib/libc.so.6 (0x00007fdd946c1000)
   libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fdd944ab000)
   libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007fdd94297000)
   /usr/lib64/ld-linux-x86-64.so.2 (0x00005584f52bc000)
   libz.so.1 => /usr/lib/libz.so.1 (0x00007fdd94080000)
   libffi.so.6 => /usr/lib/../lib/libffi.so.6 (0x00007fdd93e77000)
   libedit.so.0 => /usr/lib/../lib/libedit.so.0 (0x00007fdd93c3b000)
   libncursesw.so.6 => /usr/lib/../lib/libncursesw.so.6 (0x00007fdd939cd000)
swrast_dri.so używa libgcc_s.so.1 prawdopodobnie te z gry, a ono było skompilowane z innym gcc które używasz i nie działa,
a jak usuniesz libgcc_s.so.1, to prawdopodobnie bedzie uzywac libgcc_s.so.1 z systemu.
Jeśli problem nie był zgłaszany to możesz developerom problem zgłosić,
ale czy dadzą coś z tym zrobić to nie wiem,
zazwyczaj spotykałem się że wersja glibc w systemie musi być nowsza lub równa tej z którą została gra skompilowana,
jeśli gra była kompilowana na nowszym systemie, a my posiadamy starszy to wtedy wyskakiwał błąd wersji glibc i gra nie działała zazwyczaj.
Jedyna rada, to było czekać na aktualizacje systemu, a tu nie wiem jaką wersje masz gcc że nie działało.

PS: wyjscie strace mozesz zapisac do pliku  ( taka wiedza na przyszłość jakbys potrzebował )
, np.
strace  -e open gimp 2> plik
strace  -e open gimp &> plik
PS: Brak polskiej czcionki, nie jest to brak lenistwa, a jej brak w systemie i brak czasu na reczne poprawki.

Offline

  • Users
  • Prawie jak Guru
  • ****
  • Wiadomości: 281
    • Zobacz profil
Odp: Postal 2 - i965 oraz swrast
« Odpowiedź #7 dnia: 2016-06-07, 09:26:58 »
Wielkie dzięki za jasną i wyczerpującą odpowiedź, oraz poradę.
Będę pamiętał na przyszłość  ;)