Hallo,
ich besitze ein Notebook MiNote 8889 auf dem ich Suse 10.0 (x86_64) am
laufen habe. Das Notebook hat einen K8N800 Chipsatz mit integrierter
Unichrome Grafikkarte. Nun hat es mich wieder einmal gepackt und ich
wollte endlich mal die 3D-Beschleunigung zum laufen bekommen.
Doch nun bin ich am Ende mit meinem Latein, da glxinfo standhaft
behauptet, Direct Rendering funktioniere nicht.
Dazu habe ich mir die aktuellen Fassungen von DRM (incl. libdrm), den
X.org Treiber von [1] und Mesa in der Version 6.4 heruntergeladen.
Zuerst installierte ich die Kernelmodule, die sich auch problemlos laden
lassen,anschließend libdrm.
Als nächstes war der Grafiktreiber für X dran. Dieser funktioniert auch
und Xorg.log behauptet auch, dass DRI funktioniert:
(II) VIA(0): 3D Engine has been initialized.
(II) VIA(0): VIAAdjustFrame
(II) VIA(0): – Blanked
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (Unknown error 999)
drmOpenDevice: open result is -1, (Unknown error 999)
drmOpenDevice: Open failed
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (Unknown error 999)
drmOpenDevice: open result is -1, (Unknown error 999)
drmOpenDevice: Open failed
drmOpenByBusid: Searching for BusID PCI:1:0:0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 6, (OK)
drmOpenByBusid: drmOpenMinor returns 6
drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
(II) VIA(0): [drm] loaded kernel module for “via” driver
(II) VIA(0): [drm] DRM interface version 1.2
(II) VIA(0): [drm] created “via” driver at busid “PCI:1:0:0”
(II) VIA(0): [drm] added 8192 byte SAREA at 0x10000000
(II) VIA(0): [drm] mapped SAREA 0x10000000 to 0x2aaaad6d0000
(II) VIA(0): [drm] framebuffer handle = 0xa4000000
(II) VIA(0): [drm] added 1 reserved context for kernel
(II) VIA(0): [dri] visual configs initialized.
(II) VIA(0): [drm] register handle = 0xe1000000
(II) VIA(0): [drm] mmio Registers = 0xe1000000
(II) VIA(0): [dri] mmio mapped.
…
(II) VIA(0): – Color maps etc. set up
(II) VIA(0): [drm] Detected AGP vendor 0x1106, device 0x204
(II) VIA(0): [drm] Found AGP v3 compatible device. Trying AGP 8X mode.
(II) VIA(0): [drm] Trying to enable AGP fast writes.
(II) VIA(0): [drm] drmAgpEnabled succeeded
(II) VIA(0): [drm] agpAddr = 0xb0000000
(II) VIA(0): [drm] agpBase = (nil)
(II) VIA(0): [drm] agpAddr = 0xb0000000
(II) VIA(0): [drm] agpSize = 0x01e00000
(II) VIA(0): [drm] agp physical addr = 0x00000000
(II) VIA(0): [dri] use agp.
(II) VIA(0): [drm] Using 26992608 bytes for DRM memory heap.
(II) VIA(0): [dri] frame buffer initialized.
(II) VIA(0): X context handle = 0x00000001
(II) VIA(0): [drm] installed DRM signal handler
(II) VIA(0): [DRI] installation complete
(II) VIA(0): [dri] kernel data initialized.
(II) VIA(0): direct rendering enabled
Nun kompilierte ich Mesa und ersetzte alle die auf dem System vorhandenen
libGL und libGLU durch die neue Version. Alle anderen Version dieser
Bibliotheken habe ich, um Fehler auszuschließen, gelöscht.
unichrome_dri.so wanderte nach /usr/X11R6/lib64/modules/dri.
Laut Howto [2] sollte es nun eigentlich funktionieren.
Aber glxinfo behauptet weiterhin, dass DRI nicht funktioniert.
benutzer@rechner:~> export LIBGL_DEBUG=verbose
benutzer@rechner:~> glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: No
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_EXT_import_context, GLX_OML_swap_method,
GLX_SGI_make_current_read,
GLX_SGIS_multisample, GLX_SGIX_fbconfig
client glx vendor string: SGI
client glx version string: 1.4
…
Warum zum Geier gibt mir glxinfo keine Debugmeldungen aus?
Fragen und Antworten in den Mailinglisten der beteiligten Projekte helfen
mir nicht weiter, da ich keine Fehlermeldungen bekomme und das Problem
nicht einkreisen kann.
Habe ich hier irgendwo einen Denkfehler?
Ich bin für jeden Tipp dankbar.
mfg
Rico
[1] http://www.openchrome.org/
[2] http://sourceforge.net/docman/display_doc.php?docid=26963&group_id=102048
Das Problem ist gelöst. Der Fehler steckte wieder mal im Detail.
Unter /etc/profile.d/ liegen die Dateien via.sh und via.csh, welche die
Variable LIBGL_ALWAYS_INDIRECT setzen. Dadurch wird die Hardwarebeschleunigung
standardmäßig abgeschalten und Debugmeldungen werden nicht ausgegeben.
mfg
Rico
Ciao Rico
Habe grade deinen Beitrag gelesen, weil ich vor der selben Knacknuss stehe, allerdings in Suse 10.1. Habe dann auch die von dir angegebene Seite http://www.logix.cz/michal/devel/suse-openchrome/ besucht und die nötigen RPMs runtergeladen. Nur tschegge ich nicht, wie diese gemäss dem angeführten Kommandozeilenbefehl via “drop-in” eingefügt werden sollen. Wie hast du das gemacht? Wie lautet der Befehl? Bitte gib mir nen Tipp.
Mille grazie e buona serata,
Ueli