Ativando a aceleração 3D no driver OS AMD / ATI

1

Precisa de ajuda da comunidade permitindo a aceleração 3D em uma placa de vídeo AMD / ATI HD6450 acionada pelo driver Open Source Radeon.

Pode ser útil saber que essa placa substituiu uma NVidia 275GTX, embora eu acredite ter removido completamente a instalação anterior da NVidia e, no momento, não haja conflitos. Além disso, acabei usando o driver Open Source porque o driver proprietário da AMD começou a agir de forma estranha quando eu rodava um dos monitores, o que causava todos os tipos de problemas de desempenho, especialmente com o Chrome e o Emacs; então, novamente, nunca foi tão fino e rápido quanto o driver de código aberto se mostrou antes mesmo de eu rodar o monitor (o processo xorg mostrou um uso de CPU relativamente alto).

Veja algumas informações:

$ dmesg|grep -E 'drm|radeon'|grep -iE 'firmware|microcode'
[   16.472902] [drm] Loading CAICOS Microcode

(o chip parece estar totalmente suportado )

$ dmesg|grep -E 'drm|radeon
[   15.668649] [drm] Initialized drm 1.1.0 20060810
[   16.471998] [drm] radeon kernel modesetting enabled.
[   16.472286] [drm] initializing kernel modesetting (CAICOS 0x1002:0x6779 0x174B:0xE206).
[   16.472309] [drm] register mmio base: 0xFBCC0000
[   16.472310] [drm] register mmio size: 131072
[   16.472823] radeon 0000:03:00.0: VRAM: 1024M 0x0000000000000000 - 0x000000003FFFFFFF (1024M used)
[   16.472825] radeon 0000:03:00.0: GTT: 1024M 0x0000000040000000 - 0x000000007FFFFFFF
[   16.472826] [drm] Detected VRAM RAM=1024M, BAR=256M
[   16.472827] [drm] RAM width 64bits DDR
[   16.472889] [drm] radeon: 1024M of VRAM memory ready
[   16.472890] [drm] radeon: 1024M of GTT memory ready.
[   16.472902] [drm] Loading CAICOS Microcode
[   16.938529] [drm] GART: num cpu pages 262144, num gpu pages 262144
[   16.939464] [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0
[   16.953910] [drm] PCIE GART of 1024M enabled (table at 0x0000000000273000).
[   16.954062] radeon 0000:03:00.0: WB enabled
[   16.954065] radeon 0000:03:00.0: fence driver on ring 0 use gpu addr 0x0000000040000c00 and cpu addr 0xffff880312438c00
[   16.954067] radeon 0000:03:00.0: fence driver on ring 3 use gpu addr 0x0000000040000c0c and cpu addr 0xffff880312438c0c
[   16.955584] radeon 0000:03:00.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0xffffc900126b2118
[   16.955586] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[   16.955587] [drm] Driver supports precise vblank timestamp query.
[   16.955597] radeon 0000:03:00.0: radeon: MSI limited to 32-bit
[   16.955615] radeon 0000:03:00.0: irq 79 for MSI/MSI-X
[   16.955627] radeon 0000:03:00.0: radeon: using MSI.
[   16.955665] [drm] radeon: irq initialized.
[   16.972581] [drm] ring test on 0 succeeded in 2 usecs
[   16.972596] [drm] ring test on 3 succeeded in 7 usecs
[   17.158715] [drm] ring test on 5 succeeded in 2 usecs
[   17.158726] [drm] UVD initialized successfully.
[   17.158978] [drm] Enabling audio 0 support
[   17.159048] [drm] ib test on ring 0 succeeded in 0 usecs
[   17.159106] [drm] ib test on ring 3 succeeded in 0 usecs
[   17.310380] [drm] ib test on ring 5 succeeded
[   17.310947] [drm] Radeon Display Connectors
[   17.310949] [drm] Connector 0:
[   17.310950] [drm]   DP-1
[   17.310951] [drm]   HPD1
[   17.310952] [drm]   DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c
[   17.310953] [drm]   Encoders:
[   17.310954] [drm]     DFP1: INTERNAL_UNIPHY1
[   17.310954] [drm] Connector 1:
[   17.310955] [drm]   HDMI-A-1
[   17.310956] [drm]   HPD2
[   17.310957] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
[   17.310958] [drm]   Encoders:
[   17.310959] [drm]     DFP2: INTERNAL_UNIPHY2
[   17.310959] [drm] Connector 2:
[   17.310960] [drm]   DVI-I-1
[   17.310961] [drm]   HPD4
[   17.310962] [drm]   DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c
[   17.310963] [drm]   Encoders:
[   17.310964] [drm]     DFP3: INTERNAL_UNIPHY
[   17.310964] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[   17.311057] [drm] Internal thermal controller without fan control
[   17.319767] [drm] radeon: dpm initialized
[   17.457199] [drm] fb mappable at 0xD0474000
[   17.457200] [drm] vram apper at 0xD0000000
[   17.457202] [drm] size 8294400
[   17.457202] [drm] fb depth is 24
[   17.457203] [drm]    pitch is 7680
[   17.457326] fbcon: radeondrmfb (fb0) is primary device
[   17.671822] radeon 0000:03:00.0: fb0: radeondrmfb frame buffer device
[   17.671823] radeon 0000:03:00.0: registered panic notifier
[   17.671827] [drm] Initialized radeon 2.36.0 20080528 for 0000:03:00.0 on minor 0

Curiosamente, não posso emitir update-alternatives --display gl_conf porque responde com, update-alternatives: error: no alternatives for gl_conf (por quê?)

No entanto, /etc/alternatives$ ls -l *gl_conf produz,

lrwxrwxrwx 1 root root 39 Apr 24 07:43 i386-linux-gnu_gl_conf -> /usr/lib/i386-linux-gnu/mesa/ld.so.conf
lrwxrwxrwx 1 root root 45 May  1  2013 x86_64-linux-gnu_egl_conf -> /usr/lib/x86_64-linux-gnu/mesa-egl/ld.so.conf
lrwxrwxrwx 1 root root 41 Apr 24 08:08 x86_64-linux-gnu_gl_conf -> /usr/lib/x86_64-linux-gnu/mesa/ld.so.conf

(todos os links simbólicos válidos)

Por fim, depois de remover os drivers proprietários da AMD, eu fiz a reinstalação do MESA e do pacote do servidor X, embora não tenha certeza de quanto isso teria ajudado; comando foi:

sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri xserver-xorg-core

    
por miguelg 24.04.2015 / 09:55

1 resposta

1

Descobri que eu não tinha olhado o suficiente. No meu arquivo de log do Xorg, encontrei as seguintes entradas:

[    23.735] (II) LoadModule: "glx"
[    23.762] (II) Loading /usr/lib/x86_64-linux-gnu/xorg/extra-modules/extra-modules.dpkg-tmp/libglx.so
[    23.822] (EE) Failed to load /usr/lib/x86_64-linux-gnu/xorg/extra-modules/extra-modules.dpkg-tmp/libglx.so: libnvidia-tls.so.319.60: cannot open shared object file: No such file or directory
[    23.822] (II) UnloadModule: "glx"
[    23.822] (II) Unloading glx
[    23.822] (EE) Failed to load module "glx" (loader failed, 7)

Isso me disse que eu deveria olhar com mais atenção e então olhando /usr/lib/x86_64-linux-gnu/xorg/extra-modules , achei o link simbólico extra-modules.dpkg-tmp apontando para /etc/alternatives/x86_64-linux-gnu_xorg_extra_modules/ e dentro desse diretório eu encontrei a biblioteca dinâmica que estava causando o Xorg não carregar o módulo GLX : libglx.so -> libglx.so.319.60

Remover o link simbólico libglx.so fez isso. Problema resolvido.

    
por miguelg 24.04.2015 / 10:05