[RISOLTO] Radeon HD 5830 + Xorg + Gnome

Discussioni relative all'ambiente grafico X (Xfree e XOrg)

[RISOLTO] Radeon HD 5830 + Xorg + Gnome

Messaggioda rekotc » 15/06/2019, 14:39

Ciao a tutti,
sto impazzendo da un po' di tempo dietro al seguente problema:
Ho smanettato un po' con una installazione debian desktop che aveva sempre funzionato correttamente, e al riavvio non sono più riuscito a tornare sull'ambiente grafico.
Lanciando startx da riga di comando il sistema crasha con Segmentation fault at address 0xfffffffffffffc18
Ho provato a reinstallare il driver grafico per ATI/AMD, seguendo la guida di debian.org. In teoria, con la mia scheda, architettura CYPRESS, il driver di interesse è contenuto nel pacchetto xserver-xorg-video-ati, e precisamente è il xserver-xorg-video-radeon.

Successivamente alla reinstallazione del driver, ho provato a reinstallare anche l'ambiente grafico, e cioè il pacchetto task-gnome-desktop. E qui vedo una stranezza, il pacchetto richiede l'installazione di xserver-xorg-video-amdgpu, che infatti viene subito installato insieme con il resto, ma quel driver non è adatto alla mia scheda grafica!
Se a quel punto provo ad entrare nell'ambiente grafico ho di nuovo lo stesso errore. Provando a lanciare Xorg -configure ottengo un errore interessante:
amdgpu_device_initialize: DRM version is 2.50.0 but this driver is only compatible with 3.x.x.

E questo mi torna, infatti il mio driver è il radeon, non l'amdgpu, perché Xorg si ostina a richiedere l'amdgpu? E' diventato requisito obbligatorio?
Anche provando a creare manualmente un xorg.conf con la sola sezione "Device" e il driver "radeon" non cambia nulla.

Suggerimenti? Sono senza idee...

grazie per l'attenzione.
rekotc
Full Member
Full Member
 
Messaggi: 151
Iscritto il: 29/10/2009, 15:05

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda Aki » 15/06/2019, 14:41

Ci puoi fornire un log della istallazione usando lo script citato in calce al mio messaggio ?
Aki
Global Moderator
Global Moderator
 
Messaggi: 8756
Iscritto il: 27/12/2007, 16:59

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda rekotc » 15/06/2019, 15:03

Si certo, ecco qui in allegato.
Allegati
log_15giu_155536.xz
(52.98 KiB) Scaricato 58 volte
rekotc
Full Member
Full Member
 
Messaggi: 151
Iscritto il: 29/10/2009, 15:05

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda Aki » 15/06/2019, 16:56

Dal log che hai inviato risulta che stai usando una Debian Buster e che i repository sono configurati per installare software da repository non ufficiali, con priorità maggiore per i repository di terze parti (vedi log che hai inviato alla sezione apt-cache policy) rispetto ai pacchetti ufficiali di Debian. Questo può essere fonte di malfunzionamenti, se installate librerie fra di loro incompatibili e incompatibili con i programmi che le utilizzano. In tal senso l'errore di segfault è spesso, ma non sempre, un indizio in tal senso.

L'errore in avvio del server X è il seguente:
Codice: Seleziona tutto
[    57.318] (II) LoadModule: "radeon"
[    57.318] (II) Loading /usr/lib/xorg/modules/drivers/radeon_drv.so
[    57.318] (II) Module radeon: vendor="X.Org Foundation"
[    57.318]    compiled for 1.20.4, module version = 19.0.1
[    57.318]    Module class: X.Org Video Driver
[    57.318]    ABI class: X.Org Video Driver, version 24.0
[    57.318] (II) RADEON: Driver for ATI/AMD Radeon chipsets:
[..]
[    57.387] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[    57.392] (II) Module glamoregl: vendor="X.Org Foundation"
[    57.392]    compiled for 1.20.4, module version = 1.0.1
[    57.392]    ABI class: X.Org ANSI C Emulation, version 0.4
[    57.497] (EE)
[    57.497] (EE) Backtrace:
[    57.497] (EE) 0: /usr/lib/xorg/Xorg (OsLookupColor+0x139) [0x558ed19ca2c9]
[    57.498] (EE) 1: /lib/x86_64-linux-gnu/libpthread.so.0 (funlockfile+0x50) [0x7f1b84ff977f]
[    57.499] (EE) 2: /lib/x86_64-linux-gnu/libc.so.6 (__nss_passwd_lookup+0x3a) [0x7f1b84f5afea]
[    57.499] (EE) 3: /usr/lib/x86_64-linux-gnu/libepoxy.so.0 (epoxy_extension_in_string+0x10b) [0x7f1b7df3113b]
[    57.499] (EE) 4: /usr/lib/xorg/modules/libglamoregl.so (glamor_egl_init+0x2aa) [0x7f1b7dfe738a]
[    57.500] (EE) unw_get_proc_name failed: no unwind info found [-10]
[    57.500] (EE) 5: /usr/lib/xorg/modules/drivers/radeon_drv.so (?+0x0) [0x7f1b83ccfdb0]
[    57.500] (EE) unw_get_proc_name failed: no unwind info found [-10]
[    57.500] (EE) 6: /usr/lib/xorg/modules/drivers/radeon_drv.so (?+0x0) [0x7f1b83cc0280]
[    57.500] (EE) 7: /usr/lib/xorg/Xorg (InitOutput+0x9c0) [0x558ed18ac6a0]
[    57.501] (EE) 8: /usr/lib/xorg/Xorg (InitFonts+0x1cf) [0x558ed186f76f]
[    57.501] (EE) 9: /lib/x86_64-linux-gnu/libc.so.6 (__libc_start_main+0xeb) [0x7f1b84e4809b]
[    57.502] (EE) 10: /usr/lib/xorg/Xorg (_start+0x2a) [0x558ed185967a]
[    57.502] (EE)
[    57.502] (EE) Segmentation fault at address 0xfffffffffffffc18
[    57.502] (EE)
Fatal server error:
[    57.502] (EE) Caught signal 11 (Segmentation fault). Server aborting
[    57.502] (EE)

Un errore molto simile al tuo è riportato qui: [0] che rimanda qui [1] e sembra essere collegato alla versione di mesa utilizzata che, comunque, nella versione che risulterebbe installata nel Tuo PC dovrebbe essere stata risolto. Però, dal log risulta che hai installato librerie mesa che non fanno parte di debian di cui potresti aver lasciato involontariamente tracce in giro per il sistema e che risultano parzialmente disinstallate, ad esempio:
Codice: Seleziona tutto
******************************************
Pacchetti che contengono "mesa"
******************************************
rc  libgl1-mesa-swx11:amd64   7.10.3-4  amd64        free implementation of the OpenGL API -- runtime
rc  libopenvg1-mesa:amd64  10.2.6-1  amd64        free implementation of the OpenVG API -- runtime
rc  libtxc-dxtn-s2tc0:amd64  0~git20131104-1.1   amd64        Texture compression library for Mesa
ii  libtxc-dxtn-s2tc0:i386                        0~git20131104-1.1                    i386         Texture compression library for Mesa
rc  xscreensaver-gl                               5.15-3                               amd64        GL(Mesa) screen hacks for xscreensaver

Una possibile strategia è eseguire un "purge" di questi pacchetti e/o reinstallare (previo purge) tutti i pacchetti mesa avendo l'accortezza di verificare nei log di instalazione se sono segnalati conflitti con librerie pre-esistenti e lasciate all'interno del sistema anche al di fuori del sistema di gestione dei pacchetti (ad esempio, a seguito di una installazione manuale).

-----------------------
[0] https://pld-devel-en.pld-linux.narkive.com/J4rlPkKw/mesa-17-2-from-th-test-is-broken
[1] https://bugs.freedesktop.org/show_bug.cgi?id=101832
Aki
Global Moderator
Global Moderator
 
Messaggi: 8756
Iscritto il: 27/12/2007, 16:59

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda rekotc » 15/06/2019, 18:42

Ti ringrazio intanto per la risposta.
Ho provveduto a rimuovere i pacchetti "mesa" che non fanno parte di debian, poi ho reinstallato (previo purge) i pacchetti mesa di debian.

Purtroppo l'errore non cambia, allego un nuovo log, grazie mille.

Simone
Allegati
log_15giu_193152.xz
(51.5 KiB) Scaricato 48 volte
rekotc
Full Member
Full Member
 
Messaggi: 151
Iscritto il: 29/10/2009, 15:05

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda Aki » 15/06/2019, 21:28

Non vedo, al momento, ulteriori elementi nel log che hai inviato.

Prova ad installare (vedi [0]) i simboli di debug per i pacchetti xserver-xorg-core , xserver-xorg-video-ati e libgl1-mesa-dri, quindi, dopo il riavvio del computer, il log generato dovrebbe contenere alcuni elementi di dettaglio ulteriori in riferimento al codice sorgente delle funzioni interessate.

Se possibile, predisponi il sistema a generare un coredump (vedi sempre [0]) ed invia tramite un servizio esterno l'immagine del coredump del server X.

Inoltre, se possibile, fai avviare il server X in modo che si autoconfiguri in avvio (elimina il file di configurazione che hai creato).

Prova, quindi, ad avviare, per generare il log, il server X con il seguente comando:
Codice: Seleziona tutto
startx -- -logverbose 6


------------
[0] https://wiki.debian.org/HowToGetABacktrace
Aki
Global Moderator
Global Moderator
 
Messaggi: 8756
Iscritto il: 27/12/2007, 16:59

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda rekotc » 18/06/2019, 18:42

Grazie per i suggerimenti, ti faccio sapere gli sviluppi nel weekend, appena torno ad avere la disponibilità della macchina in questione.

Buona serata.
rekotc
Full Member
Full Member
 
Messaggi: 151
Iscritto il: 29/10/2009, 15:05

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda rekotc » 23/06/2019, 11:07

Ho installato i simboli di debug per i tre pacchetti, cancellato la configurazione manuale di xorg, predisposto il sistema alla generazione di un coredump e rilanciato startx.
Ti allego il log di Xorg e il coredump (che spero di aver creato correttamente, non sono pratico della cosa).

Grazie infinite.

https://gofile.io/?c=9p7u5t
rekotc
Full Member
Full Member
 
Messaggi: 151
Iscritto il: 29/10/2009, 15:05

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda rekotc » 23/06/2019, 11:10

Ho fatto rigirare lo script di debianizzati, non so se sia utile ma te lo allego qui:
Allegati
log_23giu_120325.xz
(55.44 KiB) Scaricato 50 volte
rekotc
Full Member
Full Member
 
Messaggi: 151
Iscritto il: 29/10/2009, 15:05

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda Aki » 23/06/2019, 14:55

Dal coredump aggiornato risulta che il server X si è fermato con un segnale del tipo SIGABRT:
Codice: Seleziona tutto
$ gdb /usr/lib/xorg/Xorg  ./coreXorg
GNU gdb (Debian 8.2.1-2) 8.2.1
[..]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/usr/lib/xorg/Xorg :0 -logverbose 6 vt2 -keeptty -auth /tmp/serverauth.bzc23f0E'.
Program terminated with signal SIGABRT, Aborted.
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50      ../sysdeps/unix/sysv/linux/raise.c: File o directory non esistente.
[Current thread is 1 (Thread 0x7f2fa4644f00 (LWP 1949))]
(gdb) bt
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f2fa4ca6535 in __GI_abort () at abort.c:79
#2  0x000055e8f9a82dea in OsAbort () at ../../../../os/utils.c:1351
#3  0x000055e8f9a88903 in AbortServer () at ../../../../os/log.c:879
#4  0x000055e8f9a89769 in FatalError (f=f@entry=0x55e8f9abd1d0 "Caught signal %d (%s). Server aborting\n")
    at ../../../../os/log.c:1017
#5  0x000055e8f9a80201 in OsSigHandler (unused=<optimized out>, sip=<optimized out>, signo=11)
    at ../../../../os/osinit.c:156
#6  OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at ../../../../os/osinit.c:110
#7  <signal handler called>
#8  __strcmp_ssse3 () at ../sysdeps/x86_64/multiarch/../strcmp.S:174
#9  0x00007f2f9db5d0cb in epoxy_internal_has_gl_extension (ext=0x7f2f9dc31393 "GL_OES_EGL_image",
    invalid_op_mode=<optimized out>) at ../src/dispatch_common.c:543
#10 0x00007f2f9dc1338a in glamor_egl_init (scrn=0x55e8fa9c5eb0, fd=<optimized out>)
    at ../../../../../../glamor/glamor_egl.c:1009
#11 0x00007f2fa3b2fe99 in ?? () from /usr/lib/xorg/modules/drivers/radeon_drv.so
#12 0x00007f2fa3b2113b in ?? () from /usr/lib/xorg/modules/drivers/radeon_drv.so
#13 0x000055e8f99626a0 in InitOutput (pScreenInfo=pScreenInfo@entry=0x55e8f9b37780 <screenInfo>, argc=argc@entry=8,
    argv=argv@entry=0x7ffddcb7db68) at ../../../../../../hw/xfree86/common/xf86Init.c:522
#14 0x000055e8f992572f in dix_main (argc=8, argv=0x7ffddcb7db68, envp=<optimized out>) at ../../../../dix/main.c:193
#15 0x00007f2fa4ca809b in __libc_start_main (main=0x55e8f990f640 <main>, argc=8, argv=0x7ffddcb7db68, init=<optimized out>,
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffddcb7db58) at ../csu/libc-start.c:308
#16 0x000055e8f990f67a in _start ()
(gdb)
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1  0x00007f2fa4ca6535 in __GI_abort () at abort.c:79
#2  0x000055e8f9a82dea in OsAbort () at ../../../../os/utils.c:1351
#3  0x000055e8f9a88903 in AbortServer () at ../../../../os/log.c:879
#4  0x000055e8f9a89769 in FatalError (f=f@entry=0x55e8f9abd1d0 "Caught signal %d (%s). Server aborting\n")
    at ../../../../os/log.c:1017
#5  0x000055e8f9a80201 in OsSigHandler (unused=<optimized out>, sip=<optimized out>, signo=11)
    at ../../../../os/osinit.c:156
#6  OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at ../../../../os/osinit.c:110
#7  <signal handler called>
#8  __strcmp_ssse3 () at ../sysdeps/x86_64/multiarch/../strcmp.S:174
#9  0x00007f2f9db5d0cb in epoxy_internal_has_gl_extension (ext=0x7f2f9dc31393 "GL_OES_EGL_image",
    invalid_op_mode=<optimized out>) at ../src/dispatch_common.c:543
#10 0x00007f2f9dc1338a in glamor_egl_init (scrn=0x55e8fa9c5eb0, fd=<optimized out>)
    at ../../../../../../glamor/glamor_egl.c:1009
#11 0x00007f2fa3b2fe99 in ?? () from /usr/lib/xorg/modules/drivers/radeon_drv.so
#12 0x00007f2fa3b2113b in ?? () from /usr/lib/xorg/modules/drivers/radeon_drv.so
#13 0x000055e8f99626a0 in InitOutput (pScreenInfo=pScreenInfo@entry=0x55e8f9b37780 <screenInfo>, argc=argc@entry=8,
    argv=argv@entry=0x7ffddcb7db68) at ../../../../../../hw/xfree86/common/xf86Init.c:522
#14 0x000055e8f992572f in dix_main (argc=8, argv=0x7ffddcb7db68, envp=<optimized out>) at ../../../../dix/main.c:193
#15 0x00007f2fa4ca809b in __libc_start_main (main=0x55e8f990f640 <main>, argc=8, argv=0x7ffddcb7db68, init=<optimized out>,
    fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffddcb7db58) at ../csu/libc-start.c:308
#16 0x000055e8f990f67a in _start ()
Aki
Global Moderator
Global Moderator
 
Messaggi: 8756
Iscritto il: 27/12/2007, 16:59

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda Aki » 23/06/2019, 14:55

Il malfunzionamento è scatenato dalla chiamata alla funzione __strcmp_ssse3 [0] da parte della funzione epoxy_internal_has_gl_extension() della libreria libepoxy [1] . La funzione __strcmp_ssse3 è implementata come codice macchina (assembler) per achitetttura X86_64 (a 64 bit) e ne trovi il codice sorgente alla riga 174 (dove si blocca) in [2]. Credo vada approfondito perché è sollevato un segnale di SIGABRT per questo codice macchina.

Potrebbe essere utile visionare l'output del comando
Codice: Seleziona tutto
lspcu

---
[0] https://sources.debian.org/src/glibc/2.28-10/sysdeps/x86_64/strcmp.S/
[1] https://sources.debian.org/src/libepoxy/1.5.3-0.1/src/dispatch_common.c/?hl=96#L543
[2] https://sources.debian.org/src/glibc/2.28-10/sysdeps/x86_64/strcmp.S/#L174
Aki
Global Moderator
Global Moderator
 
Messaggi: 8756
Iscritto il: 27/12/2007, 16:59

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda rekotc » 23/06/2019, 16:14

Immagino intendessi il comando lscpu, per il quale ti copio l'output qui:

Codice: Seleziona tutto
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       36 bits physical, 48 bits virtual
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
NUMA node(s):        1
Vendor ID:           GenuineIntel
CPU family:          6
Model:               15
Model name:          Intel(R) Core(TM)2 Quad CPU    Q6600  @ 2.40GHz
Stepping:            11
CPU MHz:             1605.466
CPU max MHz:         2394,0000
CPU min MHz:         1596,0000
BogoMIPS:            4810.77
Virtualization:      VT-x
L1d cache:           32K
L1i cache:           32K
L2 cache:            4096K
NUMA node0 CPU(s):   0-3
Flags:               fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good nopl cpuid aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm lahf_lm pti tpr_shadow vnmi flexpriority dtherm
rekotc
Full Member
Full Member
 
Messaggi: 151
Iscritto il: 29/10/2009, 15:05

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda Aki » 23/06/2019, 20:23

Rivedendo il backtrace del server X, il programma /usr/lib/xorg/Xorg (il server X) genera una segnale di SIGABRT (signal=6) che consegue alla generazione di un segnale di SIGSEGV (signal=11) ovvero un segnale di "Invalid memory reference" evocato all'interno della funzione __strcmp_ssse3. Quindi, ipotizzando che la funzione __strcmp_ssse3() non sia affetta da bug, il SIGSEGV è causato da uno degli argomenti passati alla funzione strcmp():
Codice: Seleziona tutto
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
[..]
#5  0x000055e8f9a80201 in OsSigHandler (unused=<optimized out>, sip=<optimized out>, signo=11)
    at ../../../../os/osinit.c:156
#6  OsSigHandler (signo=11, sip=<optimized out>, unused=<optimized out>) at ../../../../os/osinit.c:110
#7  <signal handler called>
#8  __strcmp_ssse3 () at ../sysdeps/x86_64/multiarch/../strcmp.S:174

La funzione __strcmp_ssse3() è invocata come sostituto ottimizzato della funzione strcmp() nella libreria libc6 (è una funzione di libreria standard del linguaggio C che si occupa semplicemente di confrontare due stringhe per verificare se sono uguali oppure no).

L'errore di SIGSEGV, molto probabilmente, si genera perché uno dei due argomenti passati alla funzione strcmp() punta ad un'area di memoria a cui non può avere accesso (probabilmente, è usato un indirizzo errato).

Di seguito, riporto il codice in linguaggio C della funzione epoxy_internal_has_gl_extension() della libreria libepoxy [0], all'interno della quale è invocata la funzione strcmp() che ho evidenziato con un "-->":
Codice: Seleziona tutto
static bool
epoxy_internal_has_gl_extension(const char *ext, bool invalid_op_mode)
{
    if (epoxy_gl_version() < 30) {
        const char *exts = (const char *)glGetString(GL_EXTENSIONS);
        if (!exts)
            return invalid_op_mode;
        return epoxy_extension_in_string(exts, ext);
    } else {
        int num_extensions;
        int i;

        glGetIntegerv(GL_NUM_EXTENSIONS, &num_extensions);
        if (num_extensions == 0)
            return invalid_op_mode;

        for (i = 0; i < num_extensions; i++) {
            const char *gl_ext = (const char *)glGetStringi(GL_EXTENSIONS, i);
            if (!gl_ext)
                return false;
-->         if (strcmp(ext, gl_ext) == 0)
                return true;
        }

        return false;
    }
}

Analizzando il coredump del server X con il debugger, la chiamata della funzione strcmp(), la variabile const char *ext risulta essere correttamente valorizzata e punta ad una stringa (array di caratteri "null terminated"):
Codice: Seleziona tutto
Name : ext
   Details:0x7f2f9dc31393 "GL_OES_EGL_image"

Invece, per quanto riguarda la variabile const char *gl_ext, il debugger non riesce ad esplorarla (perché in fase di compilazione del server X essa è stata ottimizzata e, quindi, è gestita a livello di codice binario direttamente tramite registri della CPU e non tramite locazioni di memoria).

Ciò non di meno, necessariamente deve essere questa la variabile che punta ad un'area di memoria a cui non è consentito l'accesso e che genera l'errore, poiché è l'unica altra variabile che è passata alla funzione strcmp.

Con il debugger, è possibile analizzare il codice macchina della chiamata della funzione strcmp e risulta il seguente codice:
Codice: Seleziona tutto
543                           if (strcmp(ext, gl_ext) == 0)
00007f2f9db5d0c0:   mov     %rax,%rsi
00007f2f9db5d0c3:   mov     %rbp,%rdi
00007f2f9db5d0c6:   callq   0x7f2f9dafa070 <strcmp@plt>
00007f2f9db5d0cb:   test    %eax,%eax
00007f2f9db5d0cd:   je      0x7f2f9db5d0f0 <epoxy_internal_has_gl_extension+192>

Analizzando con il debugger i registri della CPU %rsi e %rdi, risulta che (in notazione esadecimale):
Codice: Seleziona tutto
rsi = 0xfffffffffffffc18
rdi = 0x7f2f9dc31393

Come puoi vedere il registro rdi contiene l'indirizzo di memoria della variabile const char *gl_ext, mentre il registro rsi contiene un indirizzo l'indirizzo di memoria 0xfffffffffffffc18 e quest'ultimo è un indirizzo di memoria generalmente riservato al kernel, quindi da non passare ad una funzione che opera in spazio utente.

La variabile const char *gl_ext nel codice sorgente è valorizzata in un unico punto della funzione [0]:
Codice: Seleziona tutto
const char *gl_ext = (const char *)glGetStringi(GL_EXTENSIONS, i);

---
[0] https://sources.debian.org/src/libepoxy/1.5.3-0.1/src/dispatch_common.c/?hl=96#L543
Aki
Global Moderator
Global Moderator
 
Messaggi: 8756
Iscritto il: 27/12/2007, 16:59

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda Aki » 23/06/2019, 20:54

Questo il codice macchina della chiamata alla funzione glGetStringi():
Codice: Seleziona tutto
540                           const char *gl_ext = (const char *)glGetStringi(GL_EXTENSIONS, i);
00007f2f9db5d0d8:   mov     %ebx,%esi
00007f2f9db5d0da:   mov     $0x1f03,%edi
00007f2f9db5d0df:   callq   *(%r12)
541                           if (!gl_ext)
00007f2f9db5d0e3:   test    %rax,%rax
00007f2f9db5d0e6:   jne     0x7f2f9db5d0c0 <epoxy_internal_has_gl_extension+144>

La funzione glGetStringi() appartiene alla libreria Mesa [0][1].

Dal coredump, sula base dell'allocazione delle librerie di programmi alle rispettive aree di memoria e sulla base dell'indirizzo della funzione glGetStringi() (pari a 0x7f2f9d8d5ce0), la stessa risulta corrispondente all'area di memoria della libreria /usr/lib/x86_64-linux-gnu/libOpenGL.so.0.0.0 :
Codice: Seleziona tutto
Mapped address spaces:

          Start Addr           End Addr       Size     Offset objfile
      0x55e8f98c7000     0x55e8f9904000    0x3d000        0x0 /usr/lib/xorg/Xorg
      0x55e8f9904000     0x55e8f9a91000   0x18d000    0x3d000 /usr/lib/xorg/Xorg
      0x55e8f9a91000     0x55e8f9b0a000    0x79000   0x1ca000 /usr/lib/xorg/Xorg
      0x55e8f9b0a000     0x55e8f9b0d000     0x3000   0x242000 /usr/lib/xorg/Xorg
      0x55e8f9b0d000     0x55e8f9b19000     0xc000   0x245000 /usr/lib/xorg/Xorg
      0x7f2f9d8bc000     0x7f2f9d8d1000    0x15000        0x0 /usr/lib/x86_64-linux-gnu/libOpenGL.so.0.0.0
-->      0x7f2f9d8d1000     0x7f2f9d8dd000     0xc000    0x15000 /usr/lib/x86_64-linux-gnu/libOpenGL.so.0.0.0
      0x7f2f9d8dd000     0x7f2f9d8e2000     0x5000    0x21000 /usr/lib/x86_64-linux-gnu/libOpenGL.so.0.0.0
      0x7f2f9d8e2000     0x7f2f9d8e3000     0x1000    0x26000 /usr/lib/x86_64-linux-gnu/libOpenGL.so.0.0.0
 

Puoi verificare cosa risulta installato per questa libreria ? Ad esempio, puoi inviare l'output dei seguenti comandi:
Codice: Seleziona tutto
script log.txt
find /usr/lib -name "libOpenGL*"
find /usr/lib -name "libOpenGL*" -exec ls -la {} \;
find /usr/lib -name "libOpenGL*" -exec file {} \;
find /usr/lib -name "libOpenGL*" -exec readelf -a {} \;
find /usr/lib -name "libOpenGL*" -exec shasum  {} \;
apt-file search libOpenGL.so.0.0.0
dpkg-query -S  libOpenGL.so.0.0.0
glxinfo
exit

----
[0] https://sources.debian.org/src/mesa/18.3.6-2/src/mapi/es2api/glapi_mapi_tmp.h/?hl=2557#L2557
[1] https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetString.xhtml
Aki
Global Moderator
Global Moderator
 
Messaggi: 8756
Iscritto il: 27/12/2007, 16:59

Re: Radeon HD 5830 + Xorg + Gnome

Messaggioda Aki » 04/07/2019, 8:24

@rekotc:

Hai aggiornamenti ?

Come suggerito nella mia precedente potrebbe essere utile visionare l'output dei seguenti comandi:
Codice: Seleziona tutto
script log.txt
find /usr/lib -name "libOpenGL*"
find /usr/lib -name "libOpenGL*" -exec ls -la {} \;
find /usr/lib -name "libOpenGL*" -exec file {} \;
find /usr/lib -name "libOpenGL*" -exec readelf -a {} \;
find /usr/lib -name "libOpenGL*" -exec shasum  {} \;
apt-file search libOpenGL.so.0.0.0
dpkg-query -S  libOpenGL.so.0.0.0
glxinfo
exit
Aki
Global Moderator
Global Moderator
 
Messaggi: 8756
Iscritto il: 27/12/2007, 16:59

Prossimo

Torna a X

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite

cron