[Openchrome-users] CN700 and DRI, XvMC
Jan Wagner
jwagner
Tue Nov 6 14:05:12 PST 2007
Hi,
running opensuse 10.3 on a Via Epia CN1000 that has CN700. I got
openchrome 2.9.0 from svn revision 425 and the configure, make, sudo
make install went just fine. What I want to do is get DRI and XvMC
working and have less CPU load. But this isn't quite working...
The xorg.conf has (irrelevant sections removed):
Section "Module"
# Load "dri"
Load "glx"
Load "type1"
Load "extmod"
Load "dbe"
Load "freetype"
Load "v4l"
EndSection
Section "Device"
Driver "openchrome"
Identifier "Device[0]"
Screen 0
EndSection
Section "DRI"
Mode 0666
EndSection
However there are two problems, one is X crashing when trying to view
some avi files. Digital TV works fine from Kaffeine, unless I try to
switch on fullscreen - then X crashes, too. Perhaps an openchrome bug.
The second problem is that rendering is "indirect", so perhaps something
in the configuration is still wrong?
jwagner at mini:~> glxinfo | grep direct
direct rendering: No
OpenGL renderer string: Mesa GLX Indirect
So how can I get DRI? One thing I tried is add "dri" into xorg.conf
Modules:
Section "Module"
Load "dri"
Load "glx"
EndSection
However now when glxgears before without "dri" gave 135 FPS, after
adding "dri" the rate is down to 66 FPS. With Device "vesa" instead of
"openchrome" it is ~50 FPS, so DRI is nearly as bad as using vesa.
And after "dri" actually the renderer is still indirect:
jwagner at mini:~> glxinfo | grep direct
direct rendering: No
OpenGL renderer string: Mesa GLX Indirect
Any ideas how to get direct rendering?
And get XvMC really working as well?
Is openchrome supposed to support direct rendering for CN700? Or?
The via kernel module is loaded:
jwagner at mini:~> lsmod | grep drm
drm 79636 2 via
agpgart 35764 2 drm,via_agp
and logs look fine
jwagner at mini:~> less /var/log/Xorg.0.log
X Window System Version 7.2.0
Release Date: Wed Oct 24 14:18:36 UTC 2007
...
(--) VIA(0): Chipset: "VM800/CN700/P4M800Pro"
(--) VIA(0): Chipset revision: 0
...
(--) VIA(0): Detected VIA VT3344 (VM800) - EPIA EN.
...
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenByBusid: Searching for BusID PCI:1:0:0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 7, (OK)
drmOpenByBusid: drmOpenMinor returns 7
drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
(II) VIA(0): [drm] DRM interface version 1.3
(II) VIA(0): [drm] created "via" driver at busid "PCI:1:0:0"
(II) VIA(0): [drm] added 8192 byte SAREA at 0xdcc83000
...
(II) VIA(0): [drm] Detected AGP vendor 0x1106, device 0x04314
(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): [Xv] Using PCI DMA for Xv image transfer.
Fulfilled via DRI at 20976640
...
(II) VIA(0): [XvMC] Registering chromeXvMC.
(II) VIA(0): [XvMC] Initialized XvMC extension.
...
(II) Loading local sub module "GLcore"
(II) LoadModule: "GLcore"
(II) Loading /usr/lib/xorg/modules//extensions/libGLcore.so
(II) Module GLcore: vendor="X.Org Foundation"
compiled for 7.2.0, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(II) GLX: Initialized MESA-PROXY GL provider for screen 0
...
So it looks like DRI and XvMC are all there. But why does it perform
nearly as poor as VESA? How to really get direct rendering?
- Jan
More information about the Openchrome-users
mailing list