Newsgroup: it.comp.os.linux.iniziare
Titolo: [LUNGO] DRI e Radeon 7000 VE

Ciao a tutti, ho un problema con l'accelerazione hardware
della mia scheda Radeon 7000 VE, e davvero non riesco a venirne
a capo nonostante abbia letto praticamente ogni cosa su internet!
L'output di uname -a:
Linux debian 2.6.8-1-386 #1 Thu Nov 11 12:18:43 EST 2004 i686 GNU/Linux
Questa č parte della mia configurazione XF86Config-4:
Section "Module"
     Load        "dbe"   # Double buffer extension
     Load        "type1"
     Load        "freetype"
     Load        "glx"   # libglx.a
     Load        "dri"   # libdri.a
EndSection
Section "Device"
     Identifier                          "ATI RADEON 7000"
     Driver                              "radeon"
     BusID                               "PCI:1:0:0"
     Option      "EnablePageFlip"        "True"
     Option      "AGPMode"               "2"
EndSection
Section "dri"
     Mode 0666
EndSection
Questo č l'output di /var/log/XFree86.0.log:
...
(II) Primary Device is: PCI 01:00:0
(--) Chipset ATI Radeon VE/7000 QY (AGP/PCI) found
....
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 6, (OK)
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 6, (OK)
drmOpenDevice: minor is 0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 6, (OK)
drmGetBusid returned ''
(II) RADEON(0): [drm] created "radeon" driver at busid "PCI:1:0:0"
(II) RADEON(0): [drm] added 8192 byte SAREA at 0xcca4f000
(II) RADEON(0): [drm] mapped SAREA 0xcca4f000 to 0x44272000
(II) RADEON(0): [drm] framebuffer handle = 0xd8000000
(II) RADEON(0): [drm] added 1 reserved context for kernel
(II) RADEON(0): [agp] Mode 0x1f000203 [AGP 0x8086/0x7190; Card 
0x1002/0x5159]
(II) RADEON(0): [agp] 8192 kB allocated with handle 0x00000001
(II) RADEON(0): [agp] ring handle = 0xe4000000
(II) RADEON(0): [agp] Ring mapped at 0x44274000
(II) RADEON(0): [agp] ring read ptr handle = 0xe4101000
(II) RADEON(0): [agp] Ring read ptr mapped at 0x44375000
(II) RADEON(0): [agp] vertex/indirect buffers handle = 0xe4102000
(II) RADEON(0): [agp] Vertex/indirect buffers mapped at 0x44376000
(II) RADEON(0): [agp] GART texture map handle = 0xe4302000
(II) RADEON(0): [agp] GART Texture map mapped at 0x44576000
(II) RADEON(0): [drm] register handle = 0xd5800000
(II) RADEON(0): [dri] Visual configs initialized
(II) RADEON(0): CP in BM mode
(II) RADEON(0): Using 8 MB GART aperture
(II) RADEON(0): Using 1 MB for the ring buffer
(II) RADEON(0): Using 2 MB for vertex/indirect buffers
(II) RADEON(0): Using 5 MB for GART textures
(II) RADEON(0): Memory manager initialized to (0,0) (1024,8191)
(II) RADEON(0): Reserved area from (0,768) to (1024,770)
(II) RADEON(0): Largest offscreen area available: 1024 x 7421
(II) RADEON(0): Will use back buffer at offset 0x600000
(II) RADEON(0): Will use depth buffer at offset 0x780000
(II) RADEON(0): Will use 56320 kb for textures at offset 0x900000
(II) RADEON(0): Using XFree86 Acceleration Architecture (XAA)
         Screen to screen bit blits
         Solid filled rectangles
         8x8 mono pattern filled rectangles
         Indirect CPU to Screen color expansion
         Solid Lines
         Dashed Lines
         Scanline Image Writes
         Offscreen Pixmaps
         Setting up tile and stipple cache:
                 32 128x128 slots
                 32 256x256 slots
                 16 512x512 slots
(II) RADEON(0): Acceleration enabled
(==) RADEON(0): Backing store disabled
(==) RADEON(0): Silken mouse enabled
(II) RADEON(0): Using hardware cursor (scanline 770)
(II) RADEON(0): Largest offscreen area available: 1024 x 7413
(**) Option "dpms"
(**) RADEON(0): DPMS enabled
(II) RADEON(0): X context handle = 0x00000001
(II) RADEON(0): [drm] installed DRM signal handler
(II) RADEON(0): [DRI] installation complete
(II) RADEON(0): [drm] Added 32 65536 byte vertex/indirect buffers
(II) RADEON(0): [drm] Mapped 32 vertex/indirect buffers
(II) RADEON(0): [drm] dma control initialized, using IRQ 11
(II) RADEON(0): [drm] Initialized kernel GART heap manager, 5111808
(II) RADEON(0): Direct rendering enabled
...
Questo č l'output di xdpyinfo:
...
XFree86 version: 4.3.0.1
...
number of extensions:    14
     DOUBLE-BUFFER
     GLX
     LBX
     MIT-SHM
     RANDR
     RENDER
     SECURITY
     SGI-GLX
     XC-APPGROUP
     XFree86-Bigfont
     XFree86-DRI
     XInputExtension
     XKEYBOARD
     XTEST
...
e questo l'output di glxinfo:
name of display: :0.0
display: :0  screen: 0
direct rendering: No
...
OpenGL vendor string: Mesa project: 
www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.3 Mesa 4.0.4
...
infine l'output di ls -l /dev/dri:
crw-rw-rw-  1 root root 226, 0 2004-11-16 14:49 card0
Qualcuno di voi riesce a capire perchč non funziona l'accelerazione?
Grazie mille!
Marco

Ciao a tutti, ho un problema con l'accelerazione hardware 
della mia scheda Radeon 7000 VE, e davvero non riesco a venirne 
a capo nonostante abbia letto praticamente ogni cosa su internet!
L'output di uname -a:
Linux debian 2.6.8-1-386 #1 Thu Nov 11 12:18:43 EST 2004 i686 GNU/Linux
Questa è parte della mia configurazione XF86Config-4:
Section "Module"
    Load        "dbe"   # Double buffer extension
    Load        "type1"
    Load        "freetype"
    Load        "glx"   # libglx.a
    Load        "dri"   # libdri.a
EndSection
Section "Device"
    Identifier                          "ATI RADEON 7000"
    Driver                              "radeon"
    BusID                               "PCI:1:0:0"
    Option      "EnablePageFlip"        "True"
    Option      "AGPMode"               "2"
EndSection
Section "dri"
    Mode 0666
EndSection
Questo è l'output di /var/log/XFree86.0.log:

Questo è l'output di xdpyinfo:




Qualcuno di voi riesce a capire perchè non funziona l'accelerazione?
Grazie mille!
Marco

 
Posto l'output di lsmod da cui ho tolto i moduli che non hanno nulla a che
fare con il video:
radeon                115364  2
btaudio                16400  0
bt878                  11188  0
tuner                  18320  0
tvaudio                20748  0
bttv                  143052  1 bt878
video_buf              20356  1 bttv
i2c_algo_bit            8968  1 bttv
btcx_risc               4744  1 bttv
i2c_core               22416  4 tuner,tvaudio,bttv,i2c_algo_bit
videodev                9856  1 bttv
pci_hotplug            30640  0
intel_agp              20512  1
agpgart                31784  2 intel_agp
dm_mod                 51068  0
rtc                    12088  0
piix                   12448  1
vesafb                  6688  0
cfbcopyarea             3840  1 vesafb
cfbimgblt               3200  1 vesafb
cfbfillrect             3712  1 vesafb
la mia scheda madre è una ASUS P2B 440BX. 
Non riesco davvero a capire...
Marco

 
La scheda è supportata : 
http://www.xfree86.org/current/DRI3.html
E da root non ottengo variazioni...
Marco

Marco wrote:
Che distribuzione ?
E' possibile comunque che X o le mesa siano compilati disabilitando il dri.
Questo succedeve ad esempio su RH fino alla 8 ( poi ho perso le tracce)
Luca
-- 
<<>><<>><<>><<>><<>><<>><<<>><<>><<>><<
Luca Paredi
Computing technical supporter              
Universita' degli Studi dell'Insubria  
<<>><<>><<>><<>><<>><<>><<<>><<>><<>><<

 Luca
Debian Sarge net-install, installata un paio di settimane fa ed 
aggiornata ad oggi. Pensi che anche le nuove versioni abbiano questi
problemi? C'è un modo per sapere se è disabilitato il DRI?
Marco

Marco wrote:

Io avevo ricompilato i dri le mesa e X per far funzionare il drm sulla mia
gloriosa MATROX


 
Nulla. Non riesco a trovare il modulo per kernel radeon_vid. L'ho trovato
solo come radeon_vid.so nella directory di xine. Gli altri moduli li ho
caricati: ho provato pure a inserire GLcore nel Load Module ma non ho avuto
variazioni...
sto perdendo le speranze!!
Marco

 gloriosa MATROX
Si ma c'è un qualche modo per sapere se il supporto è disabilitato? Il mio
pc non è molto veloce(P2@350), e non vorrei ricompilare tutta quella roba
per niente!
Marco

 Marco
Ho trovato un'altra informazione che potrebbe essere utile, guardando
l'output di dmesg :
...
[drm:radeon_cp_init] *ERROR* radeon_cp_init called without lock held
[drm:radeon_unlock] *ERROR* Process 12361 using kernel context 0
...
non l'ho ottenuto all'avvio, ma non saprei dire che comando ho dato quando è
comparsa questa roba nel log del kernel.
Marco

Dato che usi Debian ti consiglio di dare un occhio qui e compilarti questi
DRI. Avevo lo stesso problema e con un'altra ATI e con questi ho risolto.
http://www.nixnuts.net/files/
ciao
Luca

Luca Corti wrote:

Si tratta di ricompilare il kernel per caso?
Marco

 Si tratta di ricompilare il kernel per caso?
In caso tu usi un kernel pacchettizzato debian, come mi pare di capire
dall'output di uname nel tuo primo post, no.
Si tratta di installare il pacchetto degli header corrispondenti al kernel
installato e compilare un pacchetto sourgente di moduli con
kernel-package.
A quel punto ti ritrovi con un deb dei moduli per il nuovo kernel, che
vengono installati come diversions di quelli standard.
Sembra complicato ma in realtà è semplicissimo. Se hai bisogno di
chiarimenti contattami pure.
ciao
Luca

 Luca
Marco

 pacchetto di moduli?
 
Suppongo che tu abbia installato il kernel 2.6.8-1-386, aggiusta i comandi
altrimenti. Una volta installato kernel-headers-2.6.8-1-386 e
kernel-package dovresti avere
/usr/src/kernel-headers-2.6.8-1-386
in cui ci sono gli headers del kernel
Una volta installato drm-trunk-module-src ti trovi anche drm-trunk.tar.gz.
Decomprimi l'archivio
cd /usr/src
tar zxvf drm-trunk.tar.gz
il tutto viene decompresso in una directory chiamata modules. Adesso per
compilare:
update-pciids
ln -s kernel-headers-2.6.8-1-386 linux
cd linux
cp /boot/config-2.6.8-1-386 .config
make-kpkg --append-to-version -1-386 modules_image
Finito questo in /usr/src ti ritrovi il deb da installare con i moduli.
Lo installi e per sicurezza riavvii la macchina. A quel punto vedi con
glxinfo/glxgears se cambia qualcosa. A me va su una rage128 che si
rifiutava con i DRI "standard", mentre su una radeon mobility di pianta
violentemente la macchina quando provo a usare glxgears.
Fammi sapere
ciao
Luca

Luca Corti wrote:

Ho fatto tutto quel che mi hai detto... i moduli li ha compilati, li ha
installati ed ho bootato con quella configurazione. Ottengo purtroppo gli
stessi risultati... Quasi mi viene da piangere...
Grazie comunque,
Marco

 [drm:radeon_unlock] *ERROR* Process 12361 using kernel context 0
È un problema di locking nel modulo per il DRM nel kernel.
Ciao,
 Emmanuele.
-- 
Emmanuele Bassi (Zefram)                 [ 
http://www.emmanuelebassi.net
 ]
GnuPG Key fingerprint = 4DD0 C90D 4070 F071 5738  08BD 8ECC DB8F A432 0FF4

 Qualcuno di voi riesce a capire perchè non funziona l'accelerazione?
A dire il vero, io non ho capito quale problema tu abbia, con
l'accelerazione. Secondo quanto riporti, l'intera infrastruttura
funziona corretamente, ed è correttamente abilitata da X.
Perché dici che non funziona?


 glxinfo non è affidabile con i kernel 2.6.
]zac[
Dal 2.6.1 fino al 2.6.9 non mi ha mai dato problemi (forse non è affidabile
con i moduli per ATI?).
Personalmente propendo per il fatto il DRI non sia attivo, cosa che può
facilmente provare con qualsiasi gioco 3D (per es. armagetron).

 Marco
Aggiungi:
Section "DRI"
    Mode 0666
 EndSection
Ciao
Max
-- 
"Ad Economia per 4 fogli usano 1 puntina; a Legge usano 4 puntine per 1
foglio; a Lettere 1 foglio per 4 messaggi piu' la scritta sul legno
della bacheca; a Chimica si dilettano con le colle epossidiche."

 crw-rw-rw-  1 root root 226, 0 2004-11-16 14:49 card0
che mi dici di /dev/agpgart ?
Ciao!
gl :)

 Max
E' già nel mio XF86Config-4... Grazie ugualmente,
Marco

 gl :)
Grazie mille,
Marco

 Togli le Option e lascia fare l'impostazione ai driver in automatico.
Sconsigliato.
Il default per l'AGPMode è 1x, e il page flipping aumenta le
prestazioni. Anzi, io aggiungere anche un:
	Option	"AGPFastWrite"  "true"
Ad ogni modo, non c'entrano con il DRM/DRI.


 facilmente provare con qualsiasi gioco 3D (per es. armagetron).
Considerando che il DRI di X è segnato come attivo, non credo proprio.
Magari, provando ad aggiornare le MESA e quant'altro...


 Magari, provando ad aggiornare le MESA e quant'altro...
Contrordine: downgrade delle MESA. Io ho le 3.4.2, e l'accelerazione
funziona correttamente - o, quantomeno, glxinfo la rileva come attiva,
dato che Quake III: Arena funziona.


 	Option	"AGPFastWrite"  "true"
Il kernel dice...
Nov 18 16:52:19 pericle kernel: agpgart: Putting AGP V3 device at
0000:01:00.0 into 4x mode
Mentre per AGPFastWrite, buono a sapersi.
Comunque sembra che non avevo visto la mancanza più evidente, ovvero
Option	"DRI"	"true"
Ciao!
gl :)

 È un problema di locking nel modulo per il DRM nel ker
Ehm... e come lo risolvo?!?
Grazie,
Marco

gl :) wrote:

Purtroppo queste opzioni non funzionano:
...
(WW) RADEON(0): Option "DRI" is not used
(WW) RADEON(0): Option "DRIReInit" is not used
...
Che palle, glxgears mi dà 70~80 FPS e glxinfo continua a dirmi
che non è attivo il Direct Rendering...
Marco

 0000:01:00.0 into 4x mode
Si, ma è anche X che deve accorgersene. Nel tuo caso, dirgli di andare
con un AGP 4x. ;-)


 con un AGP 4x. ;-)
Verità, i log ora indicano che è stata impostata a 4x.
Mo' riscarico egoboo per vedere se con l'agp 4x è giocabile...
Per quel che riguarda AGPFastWrite, nel mio caso è meglio lasciarlo
disattivato, pena congelamento totale della macchina su schermata nera.
Non che mi servano gran prestazioni grafiche, ci faccio sviluppo java... :))
Invece nel man radeon non ho trovato niente riguardo questa opzione
trovata nei log, ne sai qualcosa?
(II) RADEON(0): Depth moves disabled by default
Ciao!
gl :)

 crw-rw----  1 root video 10, 175 2004-11-11 19:15 /dev/agpgart
$ chmod 666 /dev/agpgart
$ chmod 755 /dev/dri
e ovviamente dimenticavo che in /etc/X11/XF86Config-4 devi mettere anche:
Section "DRI"
        Mode    0666
EndSection
Se non funge, mandami /etc/X11/XF86Config-4 e /var/log/XFree86.0.log
completi e compressi in email e provo a vedere se funzionano col mio
hardware.
Per una volta che esistono driver 3D accelerati open source, vediamo di
farli funzionare! eccheccacchio!!! :))
Ciao
gl :)

 (II) RADEON(0): Depth moves disabled by default
No, di questo non so niente, mi spiace.


 che non è attivo il Direct Rendering...
Ripeto: io ho le MESA 1.2, una Radeon 7000 e glxinfo convinto che il DR
sia attivo. Prova il downgrade.


 Ehm... e come lo risolvo?!?
Se non sei in grado di modificare il modulo del kernel, allora lo deve
risolvere qualcuno che ne è in grado. ;-)


 
proverò il downgrade... ho provato armagetron è mi va a 12 FPS... pensavo
che il risultato di glxgears fosse *universale*...
grazie,
Marco

 
Pensavo fosse qualche errore in qualche configurazione... va bè!
Grazie comunque,
Marco

 gl :)
Fatto!
Marco

 mezza superiore? No, giusto per avere un'idea su quello che *tu* vuoi.
si, ma glxgears è il rendering più semplice che si possa immaginare, a
parte un cubo colorato con tre colori primari...
metti in scena più oggetti e se glxgears fa 80fps, non vai da nessuna
parte (infatti il DRI è distattivato)
sulla radeon 9200SE, che non è di tanto superiore alla 7000, ottengo
3265 frames in 5.0 seconds = 653.000 FPS
ma egoboo resta comunque ingiocabile, dannazione! :))
Ciao!
gl :)

 Emmanuele
 Permetti che mi attacco al thread....
La faccenda mi ha talmente incuriosito che son andato a verificare ed
il log dice:
XFree86 Version 4.3.0.1
Release Date: 15 August 2003
...
(WW) RADEON(0): Direct rendering not yet supported on
IGP320/330/340/350, 7000, 9000 integrated chips
...
Il mio portatile ha un IGP320M, quello che vorrei sapere riguarda il
fatto che ci sia o meno una versione piú aggiornata. In fondo é
passato oltre un anno.