[Openchrome-devel] ochr / drm / via-mesa big update

Thomas Hellström thomas
Thu Sep 25 14:59:31 PDT 2008


This isn't very official yet, so please keep on this list.

Sometime during the autumn / winter TG will release a big update of the
via drm and mesa driver.
This includes

    * Via AGP DMA stabilized and used for all command submission,
    * Mesa driver stablized, mostly rewritten, OpenGL 1.3,
      GL_EXT_frame_buffer_object, GL_EXT_pixel_buffer_object with
      accelerated paths. CX700 extra texture level support, compressed
      texture support. Looks like Gabriel's fix and VIA's changes are
      mostly orthogonal to this, though.
    * DRM TTM support, which means that the drm module is mostly
      rewritten and not backwards compatible.
    * Openchrome memory allocation from TTM, HW cursor support, faster
      and stable EXA composite acceleration that mostly passes
      "rendercheck". 3D + VESA modesetting working again. Much improved
      recovering from signals and errors during startup.

There are a couple of drawbacks that I hope will be fixed before the
code is released:
1) Openchrome VRAM allocation goes through a user-space library
"libwsbm", which uses various backends for memory allocation. Currently
there's only a backend for the TTM memory manager, which means that
OpenChrome _needs_ DRM to operate. It's possible to write a libwsbm
backend that manages memory in user-space but it isn't done yet.
2) XvMC is not yet completely ported to TTM, but when it is, it will
play much better with 3D and other VRAM intensive stuff. If, for
example,  an Xv or XvMC client is paused <CTRL-Z>, the appropriate VRAM
buffers will be thrown out (Using DMA) if there is a VRAM memory shortage.

So the question is how to best integrate this?

I think would be nice to have a GIT repo, otherwise we could put the
OpenChrome stuff in a separate SVN branch until we feel it's OK to
merge. The merge will probably be a bit painful, using SVN, though,
since we've been developing using GIT and there has been a number of
OpenChrome changes since we branched off.

For DRM we need to completely replace or create a new driver with a
different name. I think the drm developers will opt for the latter solution.

Mesa Unichrome will be replaced. The new driver is using a bit more CPU
for games with a lot of textures, like openarena on a C3, but is faster
for other apps.


More information about the Openchrome-devel mailing list