dump de core opengl / glx - drivers de intel linux genéricos, RHEL6

1

Recentemente, mudei de uma placa de vídeo ATI dedicada e de drivers proprietários para a placa de vídeo Intel integrada e drivers Intel padrão / genéricos porque a placa de vídeo ATI estava danificada e não consegui que o driver proprietário funcionasse bem com o meu Servidor X.

De qualquer forma, agora recebo dumps do núcleo sempre que um programa que usa o OpenGL é executado. Por exemplo:

[birdsnest ~]% glxinfo -v  
name of display: :0
zsh: segmentation fault (core dumped)  glxinfo -v

Não há nada suspeito na minha ̶ / var / log / ̶x̶o̶r̶g̶.̶0̶.̶l̶o̶g̶, ̶ E tudo parece ser bem: ̶

[    33.580] (II) LoadModule: "glx"
[    33.604] (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
[    33.645] (II) Module glx: vendor="Advanced Micro Devices, Inc."
[    33.645]    compiled for 6.9.0, module version = 1.0.0
[    33.645] Loading extension GLX
[    33.645] (==) Matched intel as autoconfigured driver 0
[    33.645] (==) Matched vesa as autoconfigured driver 1
[    33.645] (==) Matched modesetting as autoconfigured driver 2
[    33.645] (==) Matched fbdev as autoconfigured driver 3
[    33.645] (==) Assigned the driver to the xf86ConfigLayout
[    33.645] (II) LoadModule: "intel"
[    33.645] (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so
[    33.700] (II) Module intel: vendor="X.Org Foundation"
[    33.700]    compiled for 1.12.99.905, module version = 2.20.2
[    33.700]    Module class: X.Org Video Driver
[    33.700]    ABI class: X.Org Video Driver, version 13.0
[    33.700] (II) LoadModule: "vesa"
[    33.700] (II) Loading /usr/lib64/xorg/modules/drivers/vesa_drv.so
[    33.709] (II) Module vesa: vendor="X.Org Foundation"
[    33.709]    compiled for 1.13.0, module version = 2.3.2
[    33.709]    Module class: X.Org Video Driver
[    33.709]    ABI class: X.Org Video Driver, version 13.0
[    33.709] (II) LoadModule: "modesetting"
[    33.710] (II) Loading /usr/lib64/xorg/modules/drivers/modesetting_drv.so
[    33.723] (II) Module modesetting: vendor="X.Org Foundation"
[    33.723]    compiled for 1.13.0, module version = 0.5.0
[    33.723]    Module class: X.Org Video Driver
[    33.723]    ABI class: X.Org Video Driver, version 13.0
[    33.723] (II) LoadModule: "fbdev"
[    33.723] (II) Loading /usr/lib64/xorg/modules/drivers/fbdev_drv.so
[    33.731] (II) Module fbdev: vendor="X.Org Foundation"
[    33.731]    compiled for 1.12.99.905, module version = 0.4.3
[    33.731]    Module class: X.Org Video Driver
[    33.731]    ABI class: X.Org Video Driver, version 13.0
[    33.731] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
        i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G,
        E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,
        965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,
        4 Series, G45/G43, Q45/Q43, G41, B43, B43, Clarkdale, Arrandale,
        Sandybridge Desktop (GT1), Sandybridge Desktop (GT2),
        Sandybridge Desktop (GT2+), Sandybridge Mobile (GT1),
        Sandybridge Mobile (GT2), Sandybridge Mobile (GT2+),
        Sandybridge Server, Ivybridge Mobile (GT1), Ivybridge Mobile (GT2),
        Ivybridge Desktop (GT1), Ivybridge Desktop (GT2), Ivybridge Server,
        Ivybridge Server (GT2)
[    33.731] (II) VESA: driver for VESA chipsets: vesa
[    33.731] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[    33.731] (II) FBDEV: driver for framebuffer: fbdev
[    33.731] (++) using VT number 1

edit: backtrace do core dump (não tenho idéia de como isso é útil ou o que fazer com ele):

Core was generated by 'glxinfo -l'.
Program terminated with signal 11, Segmentation fault.
#0  0x000000341ea0a240 in xcb_glx_query_server_string_string_length () from /usr/lib64/libxcb-glx.so.0
Missing separate debuginfos, use: debuginfo-install glx-utils-9.0-0.8.el6_4.3.x86_64
(gdb) bt
#0  0x000000341ea0a240 in xcb_glx_query_server_string_string_length () from /usr/lib64/libxcb-glx.so.0
#1  0x00000031fa444bf4 in __glXQueryServerString () from /usr/lib64/libGL.so.1
#2  0x00000031fa420ca0 in ?? () from /usr/lib64/libGL.so.1
#3  0x00000031fa41d92d in ?? () from /usr/lib64/libGL.so.1
#4  0x00000031fa41ea8f in glXChooseVisual () from /usr/lib64/libGL.so.1
#5  0x000000000040163e in ?? ()
#6  0x0000000000402d8a in ?? ()
#7  0x000000340c61ecdd in __libc_start_main () from /lib64/libc.so.6
#8  0x0000000000401179 in ?? ()
#9  0x00007fffd0ae5628 in ?? ()
#10 0x000000000000001c in ?? ()
#11 0x0000000000000002 in ?? ()
#12 0x00007fffd0ae74d2 in ?? ()
#13 0x00007fffd0ae74da in ?? ()
#14 0x0000000000000000 in ?? ()

Portanto, não tenho certeza se isso é um problema de driver ou algo mais, e não tenho a menor idéia de como depurar. Alguém sabe como devo proceder para depurar este problema?

edit: Acabei de notar a linha Module glx: vendor="Advanced Micro Devices, Inc." no meu log do xorg. Percebi que o arquivo tem um tempo bastante recente da última modificação - na época em que instalei os drivers de vídeo da ATI. É possível que esta biblioteca tenha sido invadida quando instalei o driver proprietário da ATI?

    
por jayhendren 17.06.2013 / 18:29

1 resposta

1

Eu percebi isso. Como eu suspeitava, há um conflito entre as bibliotecas compartilhadas que a AMD queria usar e as bibliotecas compartilhadas usadas pelo driver da Intel. A solução foi desinstalar o driver AMD. Eu fiz isso executando um script de desinstalação em /usr/share/ati . Depois que eu executei esse script, tive que restaurar meu /etc/X11/xorg.conf que estava usando com os drivers da Intel, já que o script de desinstalação tentou destruí-lo.

    
por 17.06.2013 / 20:31