Pagina 1 di 2

Problema con il direct rendering

Inviato: mar 4 apr 2006, 16:15
da d4z_c0nf
Ciao ragazzi...ho un problema cn l'accelerazione grafica della mia matrox millennium g550. In sostanza i giochi che richiedo l'accelerazione vanno a scatti.. ho aperto xorg.0.log e ho notato il problema nelle sequenti righe:

(II) MGA(0): [drm] bpp: 32 depth: 24
(II) MGA(0): [drm] Sarea 2200+664: 2864
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
[drm] failed to load kernel module "mga"
(II) MGA(0): [drm] drmOpen failed
(EE) MGA(0): [drm] DRIScreenInit failed. Disabling DRI.
(II) MGA(0): Using 3328 lines for offscreen memory.
(II) MGA(0): Using XFree86 Acceleration Architecture (XAA)
Screen to screen bit blits
Solid filled rectangles
Solid filled trapezoids
8x8 mono pattern filled rectangles
8x8 mono pattern filled trapezoids
Indirect CPU to Screen color expansion
Screen to Screen color expansion
Solid Lines
Dashed Lines
Scanline Image Writes
Offscreen Pixmaps
Setting up tile and stipple cache:
32 128x128 slots
20 256x256 slots
6 512x512 slots
(==) MGA(0): Backing store disabled
(==) MGA(0): Silken mouse enabled
(II) MGA(0): Using overlay video
(WW) MGA(0): Direct rendering disabled
(==) RandR enabled

da notare che il driver mga viene caricato... sapreste suggerirmi qualcosa??
Utilizzo il kernel 2.6.15.1, versione di X 6.9.0 .. I moduli drm e agp sono stati selezionati come moduli nel kernel....
HELP :(

Inviato: mar 4 apr 2006, 17:16
da percoco2000
Ma la device /dev/dri/card0 esiste??
A giudicare dal og sembra di no.

Inviato: mar 4 apr 2006, 17:22
da d4z_c0nf
percoco2000 ha scritto:Ma la device /dev/dri/card0 esiste??
A giudicare dal og sembra di no.
essì giudica bene...ho controllato e nn esiste..mmm...e perché nn esiste..!?..

Inviato: mar 4 apr 2006, 17:48
da percoco2000
Credo perche', a meno che tu non usi udev, nessuno l'abbia creata.
Da root dai questo comando:
mknod /dev/dri/card0 c 226 0

e poi imposta i permessi per l'accesso agli altri user

io uso chmod 666 /dev/dri/card0 che permette l'accesso a tutti.
Per quanto riguarda la mtrox, inoltre, ti conviene scaricare il modulo aggiuntivo propietario dal sito Matrox ( mi pare si chiami mga_hw.o o simile.)

Inviato: mar 4 apr 2006, 18:10
da d4z_c0nf
percoco2000 ha scritto:Credo perche', a meno che tu non usi udev, nessuno l'abbia creata.
Da root dai questo comando:
mknod /dev/dri/card0 c 226 0

e poi imposta i permessi per l'accesso agli altri user

io uso chmod 666 /dev/dri/card0 che permette l'accesso a tutti.
Per quanto riguarda la mtrox, inoltre, ti conviene scaricare il modulo aggiuntivo propietario dal sito Matrox ( mi pare si chiami mga_hw.o o simile.)
Ho provato e dopo aver riavviato x mi ha cancellato il nodo...!?!bah
... vorrei chiederti delle cose su quello che mi hai detto
questo modulo aggiuntivo è relativo strettamente al dri?
grazie

Inviato: mar 4 apr 2006, 18:48
da percoco2000
Uhm, questo mi lascia supporre che tu usi udev, il quale crea le device dinamicamente, e poi le cancella. Prova ad esguire X da root, e vediamo che succede. Il modulo serve solo per le funzioni dualhead delle g550/pharelia, non e' strettamente necessario per DRI.

P.S. non so' sicuro di quello che ho detto riguardo udev, che qualcuno mi corregga.

PP.SS. Vedo che sei 'pisciaiuolo' anche tu ;-)

Inviato: mar 4 apr 2006, 19:25
da d4z_c0nf
percoco2000 ha scritto:Uhm, questo mi lascia supporre che tu usi udev, il quale crea le device dinamicamente, e poi le cancella. Prova ad esguire X da root, e vediamo che succede. Il modulo serve solo per le funzioni dualhead delle g550/pharelia, non e' strettamente necessario per DRI.

P.S. non so' sicuro di quello che ho detto riguardo udev, che qualcuno mi corregga.

PP.SS. Vedo che sei 'pisciaiuolo' anche tu ;-)
sì sì sono pisciaiuolo ...e sì ho pensato ank'io che usassi udev a quel punto... in ogni caso quel file nn l'ho trovato...e..che + ah ho ricompilato il kernel aggiungendo nella sezione dri il modulo per matrox g400/450 per vedere cosa accadeva... ed ecco il "marginale" cambiamento
(II) MGA(0): [drm] bpp: 32 depth: 24
(II) MGA(0): [drm] Sarea 2200+664: 2864
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
drmOpenByBusid: Searching for BusID pci:0000:01:00.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 9, (OK)
drmOpenByBusid: drmOpenMinor returns 9
drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
(II) MGA(0): [drm] loaded kernel module for "mga" driver
(II) MGA(0): [drm] DRM interface version 1.2
(II) MGA(0): [drm] created "mga" driver at busid "pci:0000:01:00.0"
(II) MGA(0): [drm] added 8192 byte SAREA at 0xfa8e2000
(II) MGA(0): [drm] mapped SAREA 0xfa8e2000 to 0xb5909000
(II) MGA(0): [drm] framebuffer handle = 0xf6000000
(II) MGA(0): [drm] added 1 reserved context for kernel
(II) MGA(0): [dri] visual configs initialized
(II) MGA(0): Memory manager initialized to (0,0) (1024,2303)
(II) MGA(0): Largest offscreen area available: 1024 x 1535
(II) MGA(0): Reserved back buffer at offset 0x900000
(II) MGA(0): Reserved depth buffer at offset 0xc00000
(II) MGA(0): Reserved 17408 kb for textures at offset 0xf00000
(II) MGA(0): Using XFree86 Acceleration Architecture (XAA)

fin qui sembrerebbe tutto ok ma poi ...
(==) MGA(0): Backing store disabled
(==) MGA(0): Silken mouse enabled
(II) MGA(0): Using overlay video
(II) MGA(0): X context handle = 0x1
(II) MGA(0): [drm] installed DRM signal handler
(II) MGA(0): [DRI] installation complete
(EE) MGA(0): [drm] Failed to map DMA buffers list
(II) MGA(0): [drm] removed 1 reserved context for kernel
(II) MGA(0): [drm] unmapping 8192 bytes of SAREA 0xfa8e2000 at 0xb5909000
(WW) MGA(0): Direct rendering disabled
..
e questo sarebbe anke giusto visto che nn c'è congruenza con il modulo caricato e la mia skeda ma ora mi chiedo perché se nn seleziono il modulo g400/450 nn effettua questa operazione??:
drmOpenByBusid: Searching for BusID pci:0000:01:00.0

che mi sembra essere quella essenziale..cioè gli da l'indirizzo dove effettivamente sta la mia scheda...bah
ora provo ad eseguire X da root ti faccio sapere

Inviato: mar 4 apr 2006, 19:39
da d4z_c0nf
niente da fare...stesso problema.
:(

Inviato: mar 4 apr 2006, 19:41
da percoco2000
Per il file guarda qui: http://www.matrox.com/mga/support/drive ... lnx_43.cfm

la g550 comunque e' supportata dal modulo mga, (quello che tu hai abilitato nel kernel) , giusto per prova, prova ad abbssare la risoluzione, puo' darsi che non ti basti la memoria video . Con un g450 8MB ram a 1024x768 il DRI non va'.

Inviato: mar 4 apr 2006, 20:17
da d4z_c0nf
percoco2000 ha scritto:Per il file guarda qui: http://www.matrox.com/mga/support/drive ... lnx_43.cfm

la g550 comunque e' supportata dal modulo mga, (quello che tu hai abilitato nel kernel) , giusto per prova, prova ad abbssare la risoluzione, puo' darsi che non ti basti la memoria video . Con un g450 8MB ram a 1024x768 il DRI non va'.
Si' quei drivers li avevo già scaricati e installati solo che quando ho aggiornato x11 sono stati soppiantati...comunque io parlavo del modulo mga sotto DRI...credo sia diverso...in ogni caso io ho una 550 a 32MB ram...e ...come riduco la risoluzionedi X? Ho provato a modificare xorg.conf ma forse ho sbagliato qualcosa...

Inviato: mar 4 apr 2006, 20:29
da percoco2000
Posta la sezione di Xorg relativa ai modi video

Inviato: mar 4 apr 2006, 20:32
da d4z_c0nf
percoco2000 ha scritto:Posta la sezione di Xorg relativa ai modi video
Section "Screen"
Identifier "ScreenMatrox"
Device "G550"
Monitor "Philips150S4"
DefaultDepth 24

Subsection "Display"
Depth 8
Modes "1280x1024" "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 16
Modes "1280x1024" "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection
Subsection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
ViewPort 0 0
EndSubsection

EndSection

Inviato: mar 4 apr 2006, 20:47
da percoco2000
prova a mettere 800x600

Inviato: mar 4 apr 2006, 21:36
da d4z_c0nf
percoco2000 ha scritto:prova a mettere 800x600
ho provato a mettere nella sezione 24 mode=800x600 commentando quello che c'era ma x nn partiva
bah

Inviato: mer 5 apr 2006, 0:41
da phobos3576
d4z_c0nf, che kernel stai usando?
Molto probabilmente si tratta di uno dei primi 2.6.15 o inferiore; in tal caso, c'è un bug relativo all'inizializzazione del DMA (Direct Memory Access) per la scheda video.
Infatti, puoi notare le righe di errore


(EE) MGA(0): [drm] Failed to map DMA buffers list
(II) MGA(0): [drm] removed 1 reserved context for kernel
(II) MGA(0): [drm] unmapping 8192 bytes of SAREA 0xfa8e2000 at 0xb5909000
(WW) MGA(0): Direct rendering disabled


Per risolvere il problema alla radice devi aggiornare al 2.6.16; nel frattempo, puoi provare con una soluzione provisoria che consiste nell'inserire nella section "Device" di xorg.conf la seguente riga:

Option "OldDmaInit" "true"

Spero di esserti stato d'aiuto.