# i865, Xorg-R7, DRI...

## franzf

Hallo

Hab ein riesen Problem, DRI mit dem i865-Intel-Xtreme-Grafikchipsatz (Onboard auf nem Asrock P4i65GV) zum Laufen zu bekommen. Auch die Video-Wiedergabe hakt (ruckelig, mit weniger  als 32 Farben (nicht 32bit ^^), egal ob (K)mplayer oder Xine). Ich habe schon diverse Forenbeiträge und Tutorials durch. Ohne (nennenswerten) Erfolg.

glxinfo gibt bei direct rendering zwar an (YES), aber irgenwie stellen mich 300 FPS bei glxgears nicht zufrieden ... Hab gelesen, das sollten über 1000 (bis 1500) werden.

In den verschiedenen Beiträgen wurde empfohlen, im Kernel als Modul, fest, und gar nicht einzubauen (Je nach HowTo...). Alles für xorg-R7... Es sollte doch eigentilch egal sein, ob es jetzt ein i810, i855 oder i865 ist, oder?

Für alle wird der i810-Treiber verwendet. Auf nem Laptop, der deutlich schwächer ist, hab ich den mit dem alten (6.8er) xorg ohne Probleme auf 1200FPS bei glxgears gebracht. Nur hier will es nicht!!!

ARGH!!!!!

Nun bissl infos...

 *lspci | grep -i vga wrote:*   

> 00:02.0 VGA compatible controller: Intel Corporation 82865G Integrated Graphics Controller (rev 02)

 

 *emerge --info wrote:*   

> Portage 2.1_pre7-r2 (default-linux/x86/2006.0, gcc-3.4.5, glibc-2.3.5-r2, 2.6.16-gentoo i686)
> 
> =================================================================
> 
> System uname: 2.6.16-gentoo i686 Intel(R) Celeron(R) CPU 2.40GHz
> ...

 

 */etc/make.conf wrote:*   

> CFLAGS="-O2 -march=i686 -pipe"
> 
> CHOST="i686-pc-linux-gnu"
> 
> CXXFLAGS="${CFLAGS}"
> ...

 

Mit den 300 FPS läuft es momentan ohne DRM im Kernel, also als CharacterDevice nur i8xx-AGP-Support und x11-drm.

Mit Kernel-DRM hab ich ihn auf 500 FPS gebracht, aber bei nem Video ist der X abgestürzt und legte eine Endlosschleife beim Restarten ein (an->aus->an->aus), so dass nur noch der Druck auf den Reset-Button am Gehäuse half....

Wenn ihr noch Infos braucht, einfach anmelden :)

Thx schonmal

Franz

// Nachtrag 1

 *uname -r wrote:*   

> 2.6.16-gentoo

 

// Nachtrag 2

Interessantes Verhalten:

Setze ich in der xorg.conf in der Section "DRI" Group auf "video" startet der X-Server nicht (hab Auto-Login...). Dagegen ohne der Group-Angabe startet er, mit 300 FPS...

Der User ist aber eigentlich in der Gruppe video

// Nachtrag 3

Hier noch (gekürzt) meine xorg.conf... Sorry for so late :D (darf nach ner sonnigen Bergtour kein Bier trinken...)

```
Section "Module"

    Load        "dbe"     # Double buffer extension

    SubSection  "extmod"

      Option    "omit xfree86-dga"   # don't initialise the DGA extension

    EndSubSection

    Load        "freetype"

    Load       "glx"

    Load       "dri"

EndSection

Section "Device"

    Identifier  "i810"

    Driver      "i810"

    Option   "DRI"   "true"

    VideoRam    65536

EndSection

Section "DRI"

#    Group    video

    Mode    0666

EndSection

```

----------

## Jinidog

Hast du denn auch die richtigen Module im Kernel?

Du hast die Kernel .config vergessen.

In VIDEO_CARDS kannst du ja zumindest den i915 Treiber rauslassen. 

Eigentlich wäre ja auch interessant, was der X-Server so in der /var/log/X.org.0.log an Fehlern und Meldungen ausgibt.

----------

## misterjack

glxgears ist kein benchmarktool. das kann sonstwas anzeigen  :Wink:  mit alten 6.8er X.org hatte ich was über die 4000 FPS, mit 7er sinds 530. also alles bestens  :Wink: 

----------

## franzf

So, da ich es einfach nicht hinkrieg meld ich mich nochmal  :Wink: 

Die Video-Wiedergabe ist mittlerweile flüssig, hab einfach das hard-masked-ebuild der xf86-video-i810 genommen, was auch gleich den hard-masked-xorg-server wollte.

Die Farbwiedergabe geht in Ordnung, wenn man in Xine (oder KMplayer) Kontrast und Helligkeit anpasst (was aber eigentlich auch nicht sein müsste). Die Default-Einstellungen sind VIEL zu hell...

Da half leider auch kein v4l in den VIDEO_CARDS.

Was ich aber absolut nicht hinbekomm ist Grafik-Hardware-Beschleunigung!

Hier der aktuelle Auszug aus der kernel-config:

```

<M> /dev/agpgart (AGP Support)

   < >   ALI chipset support

   < >   ATI chipset support

   < >   AMD Irongate, 761, and 762 chipset support

   < >   AMD Opteron/Athlon64 on-CPU GART support

   <M>   Intel 440LX/BX/GX, I8xx and E7x05 chipset support

<M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)

   <M>   Intel 830M, 845G, 852GM, 855GM, 865G

   <M>     i830 driver

   <M>     i915 driver

```

Einige Stellen aus der Xorg.0.log:

```

(II) LoadModule: "agpgart"

(WW) Warning, couldn't open module agpgart

(II) UnloadModule: "agpgart"

(EE) Failed to load module "agpgart" (module does not exist, 0)

[...]

(II) LoadModule: "i810"

(II) Loading /usr/lib/xorg/modules/drivers/i810_drv.so

(II) Module i810: vendor="X.Org Foundation"

   compiled for 7.0.0, module version = 1.6.0

   Module class: X.Org Video Driver

   ABI class: X.Org Video Driver, version 1.0

[...]

(II) I810(0): initializing int10

(WW) I810(0): Bad V_BIOS checksum

(II) I810(0): Primary V_BIOS segment is: 0xc000

(II) I810(0): VESA BIOS detected

[...]

(II) I810(0): initializing int10

(WW) I810(0): Bad V_BIOS checksum

(II) I810(0): Primary V_BIOS segment is: 0xc000

[...]

(II) I810(0): BIOS now sees 12288 kB VideoRAM

(--) I810(0): Pre-allocated VideoRAM: 8060 kByte

(**) I810(0): VideoRAM: 32768 kByte

(==) I810(0): video overlay key set to 0x101fe

[...]

(II) Module ramdac: vendor="X.Org Foundation"

   compiled for 7.0.0, module version = 0.1.0

   ABI class: X.Org Video Driver, version 1.0

(**) I810(0): VBE Restore workaround: disabled.

(II) Loading sub module "dri"

(II) LoadModule: "dri"

(II) Reloading /usr/lib/xorg/modules/extensions/libdri.so

(II) UnloadModule: "dri"

(II) I810: Failed to load module "dri" (already loaded, 0)

[...]

(II) I810(0): initializing int10

(WW) I810(0): Bad V_BIOS checksum

(II) I810(0): Primary V_BIOS segment is: 0xc000

[...]

(II) I810(0): Allocated 128 kB for the ring buffer at 0x0

(II) I810(0): Allocating at least 256 scanlines for pixmap cache

(II) I810(0): Initial framebuffer allocation size: 12288 kByte

(II) I810(0): Allocated 4 kB for HW cursor at 0x7fff000

(II) I810(0): Allocated 16 kB for HW (ARGB) cursor at 0x7ffb000

(II) I810(0): Allocated 4 kB for Overlay registers at 0x7ffa000 (0x1d9c0000).

(II) I810(0): Allocated 64 kB for the scratch buffer at 0x7fea000

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: open result is -1, (No such device)

drmOpenDevice: Open failed

drmOpenByBusid: Searching for BusID pci:0000:00:02.0

drmOpenDevice: node name is /dev/dri/card0

drmOpenDevice: open result is 8, (OK)

drmOpenByBusid: drmOpenMinor returns 8

drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0

(II) I810(0): [drm] loaded kernel module for "i915" driver

(II) I810(0): [drm] DRM interface version 1.2

(II) I810(0): [drm] created "i915" driver at busid "pci:0000:00:02.0"

(II) I810(0): [drm] added 8192 byte SAREA at 0xe0118000

(II) I810(0): [drm] mapped SAREA 0xe0118000 to 0xb7fa1000

(II) I810(0): [drm] framebuffer handle = 0xf0020000

(II) I810(0): [drm] added 1 reserved context for kernel

(EE) I810(0): [dri] I830DRIScreenInit failed because of a version mismatch.

[dri] i915 kernel module version is 1.2.0 but version 1.4 or greater is needed.

[dri] Disabling DRI.

(II) I810(0): [drm] removed 1 reserved context for kernel

(II) I810(0): [drm] unmapping 8192 bytes of SAREA 0xe0118000 at 0xb7fa1000

(II) I810(0): 0x81fc4c8: Memory at offset 0x00020000, size 12288 kBytes

(II) I810(0): 0x81fcf28: Memory at offset 0x07fff000, size 4 kBytes

(II) I810(0): 0x81fcf50: Memory at offset 0x07ffb000, size 16 kBytes

(II) I810(0): 0x81fccec: Memory at offset 0x00000000, size 128 kBytes

(II) I810(0): 0x81fc508: Memory at offset 0x07fea000, size 64 kBytes

(II) I810(0): 0x81fd3f8: Memory at offset 0x07ffa000, size 4 kBytes

(==) I810(0): Write-combining range (0xf0000000,0x8000000)

(II) I810(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000

(WW) I810(0): Extended BIOS function 0x5f05 not supported.

(II) I810(0): xf86BindGARTMemory: bind key 4 at 0x007df000 (pgoffset 2015)

(II) I810(0): xf86BindGARTMemory: bind key 0 at 0x07fff000 (pgoffset 32767)

(II) I810(0): xf86BindGARTMemory: bind key 1 at 0x07ffb000 (pgoffset 32763)

(II) I810(0): xf86BindGARTMemory: bind key 3 at 0x07fea000 (pgoffset 32746)

(II) I810(0): xf86BindGARTMemory: bind key 2 at 0x07ffa000 (pgoffset 32762)

(WW) I810(0): Extended BIOS function 0x5f05 not supported.

(II) I810(0): BIOS call 0x5f05 not supported, setting refresh with VBE 3 method.

(II) I810(0): Setting refresh with VBE 3 method.

(II) I810(0): Display plane A is enabled and connected to Pipe A.

(II) I810(0): Enabling plane A.

(II) I810(0): Display plane A is now enabled and connected to Pipe A.

(II) I810(0): PIPEACONF is 0x80000000

(II) I810(0): Mode bandwidth is 78 Mpixel/s

(WW) I810(0): Extended BIOS function 0x5f28 not supported.

(II) I810(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 Horizontal and Vertical Lines

   Offscreen Pixmaps

   Setting up tile and stipple cache:

      16 128x128 slots

      4 256x256 slots

(==) I810(0): Backing store disabled

(==) I810(0): Silken mouse enabled

(II) I810(0): Initializing HW Cursor

(II) I810(0): direct rendering: Failed

(II) I810(0): RandR enabled, ignore the following RandR disabled message.

(--) RandR disabled

[...]

(EE) AIGLX: Screen 0 is not DRI capable

(II) Loading local sub module "GLcore"

(II) LoadModule: "GLcore"

(II) Reloading /usr/lib/xorg/modules/extensions/libGLcore.so

(II) GLX: Initialized MESA-PROXY GL provider for screen 0

[...]

(EE) Error loading keymap /usr/share/X11/xkb/compiled/server-0.xkm

```

Ich hatte zuletzt einen gentoo-2.6.16-r3 am laufen. Bis mir in den Logs das mit der falschen Version des i915-dri-Moduls aufgefallen ist (also min 1.4 needen, 1.2.0 found). Drum hab ich testweise mal den vanilla-2.6.17-rc2 versucht.

Ein emerge x11-drm stoppt dann aber mit folgendem Fehler:

```

CC [M]  /var/tmp/portage/x11-drm-20051223/work/drm/linux-core/ati_pcigart.o

/var/tmp/portage/x11-drm-20051223/work/drm/linux-core/ati_pcigart.c: In function `drm_ati_free_pcigart_table':

/var/tmp/portage/x11-drm-20051223/work/drm/linux-core/ati_pcigart.c:87: Fehler: structure hat kein Element namens »count«

make[2]: *** [/var/tmp/portage/x11-drm-20051223/work/drm/linux-core/ati_pcigart.o] Fehler 1

make[1]: *** [_module_/var/tmp/portage/x11-drm-20051223/work/drm/linux-core] Fehler 2

make[1]: Leaving directory `/usr/src/linux-2.6.17-rc2'

make: *** [modules] Fehler 2

 * Portage could not build the DRM modules. If you see an ACCESS DENIED error,

 * this could mean that you were using an unsupported kernel build system. All

 * 2.4 kernels are supported, but only 2.6 kernels at least as new as 2.6.6

 * are supported.

!!! ERROR: x11-base/x11-drm-20051223 failed.

Call stack:

  ebuild.sh, line 1532:   Called dyn_compile

  ebuild.sh, line 929:   Called src_compile

  x11-drm-20051223.ebuild, line 101:   Called die_error

  x11-drm-20051223.ebuild, line 226:   Called die

!!! Unable to build DRM modules. 

```

Den Fehler spucken mir gentoo-sources-2.6.16-r3 nicht aus  :Sad: 

Wäre für jede Hilfe dankbar  :Smile: 

Grüße

Franz

----------

## franzf

Auf der Seite von x.org hab ich zum aktuellen Release folgendes gefunden:

http://ftp.x.org/pub/X11R7.0/doc/html/i8108.html#8

Also: angeblich kein 3D-Support...

Wie geht es dann dass hier manche schon XGL mit diesem Chip laufen haben?!?

Grüße

Franz

----------

## _hephaistos_

helloy,

magst mei xorg.conf haben?

das ganze mit "emerge x11-drm"... im kernel oiso des zeug raus...

ich hab mit glxgears (ich weiß, des sagt nix aus) 10XX FPS... und spiele gehen flüssig (rtcwmp-demo zumindest)

in case of troubles: pm me and lets solve it!

cheers

----------

## franzf

Dankeschön, Hephaistos!

Hab alles (bis auf intel_agp, das braucht x11-drm scheinbar) alles raus...

Leider stehen in der Xorg.0.log immer noch die gleichen Fehler (auch mit deiner xorg.conf):

DRM: Version-Mismatch,

Kein dri,

etc...

 :Sad:   :Sad: 

Was mich stutzig macht sind diese "BIOS function not supported" "BAD V_BIOS Checksum"

Kann da was am Bios ein richtig funktionierendes DRM verhindern? Unter Windows gehts doch  :Sad: 

 (ICH HASSE DIESEN SATZ!!)

Grüße

Fanz

----------

## _hephaistos_

na, oiso des mit der checksum hab ich auch drinnen.

wenn du willst, dann schauen wir uns das im detail an - pm me wegen jabber/icq

vielleicht schaffen wir es ein vernünftiges howto zu schustern  :Wink: 

btw: diese character device sachen hab ich "fix" drinnen - sonst musst du selber schauen, dass die module geladen sind...

und diese dri sachen im kernel raus...

ciao

----------

## franzf

Sooo,

Des Problem mit dem fehlenden 3D konnte gelöst werden (bei einer buggigen Jabber-Sitzung mit Hephaistos  :Wink:  )

Die Lösung: Nur die Testing-Pakete des Xorg (nix hardmasked). Und im Kernel unter Device-Drivers -> Character-Devices den Intel-AGP + DRM (ohne Module!) FEST(!) in den Kernel, also net als Modul.

Leider haperts jetzt noch bissl mit der Performance... heißt: ppracer nicht sehr flüssig, etc  :Sad: 

Durch Experimentieren mit den Werten im Bios für den Grafik-Speicher konnte ich nix erreichen...

Das nächste Problem, welches jetzt wieder auftritt (war schon gelöst, durch die Hard-Masked-Pakete...):

Videos ruckelt EXTREM! mplayer crasht beim zweiten Video (hintereinander, nicht parallel)!!

Hat da evtl. wer ne Lösung für mich? Oder muss ich mich entscheiden: Video oder 3D?!?

 :Sad: 

Grüße

Franz

----------

