[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