Unichrome RPM Packages

For Fedora Core 2

Terry Barnaby - BEAM Ltd

13/2/05

Introduction

The Unichrome Project provides open source X-Windows support for the VIA/S3G Unichrome graphics controller. These controllers are found in the VIA Technologies CLE266, KM400/KN400, K8M800 and PM800/CN400 northbridges. My particular interest in the Via M10000 platform.

This web page provides some information and links to some RPM packages that I have created, for my own use, to provide Unichrome drivers for the Fedora 2 Linux distribution. The Unichrome drivers and the Kernel DRM are in a state of heavy development at the moment. This can make it difficult for new users to get a Fedora system up and running with the Unichrome driver set. The RPM's below are "quick and dirty" RPM's. They just provide the necessary Unichrome bits on top of an existing Fedora installation. This make them quite small to download and install.

These RPM's proved a basic snapshot of the Unichrome and DRM drivers. As stated earlier they are under heavy development and so you may need to compile and install CVS versions to fix bugs on your system. They are provided on a "use at your own risk" basis. The Unichrome and DRI developers are working hard to get this code into the standard Linux releases, so these RPM's will become un-necessary for Fedora 2.

Extra information

What do the RPM's provide

The stock Fedora 2 system has most of the drivers for the Via M10000 based systems. The Unichrome driver set provides the following main additional functionality:
  1. Via X-Windows graphics driver. This supports acceleration and TV out amongst other things.
  2. Hardware MPEG decoding through the libviaXvMC library for MythTv, xine and Mplayer.
  3. 3D graphics driver
  4. Kernel DRM module to support the above

Test Platform

These RPM's have been tested and used on my platform. Which is a Via M10000 motherboard with 1GHz processor. I use the Via M10000 as a Network boot client for MythTv usage on my TV in the lounge.

Basic Install Sequence

This provides some basic information on how to install a Fedora 2 system, with Unichrome drivers on a Via M10000 system.
  1. Install Fedora Core 2 from CD's, DVD's or network install as normal. Note that you may need a special boot CD containing a kernel boot image which supports the Via boards. I know the current Fedora kernel 2.6.8-1.521 works fine.
  2. Update the Fedora 2 system with all standard updates. The only package that is actually needed is the kernel which should be version 2.6.8-1.521 which is what the DRM driver RPM below is built for. You can use "yum update" to achieve this.
  3. Install the binary RPM's given in the table below. "rpm -i kernel-via-drm-<version>_<release>.i386.rpm xorg-x11-via_drv-<version>_<release>.i386.rpm xorg-x11-libviaXvMC-<version>_<release>.i386.rpm libXvMCW-0.9.2-11.i386.rpm"
  4. Modify your /etc/X11/xorg.conf and /etc/X11/XvMCConfig files to enable the via driver (see sample xorg.conf and XvMCConfig file below).
  5. Restart X
Note the Release numbers are approximate as these RPM's are built from CVS and will probably be later than the given release number.


Date
Release
14/1/05
Kernel DRM module based on CVS release date 19/12/04. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel (you will need to modify the version numbers in the *.spec file).
2.3.0
kernel-via-drm-2004.12.19_2.6.9-1.6_FC2_1.beam.i386.rpm
kernel-via-drm-2004.12.19_2.6.9-1.6_FC2_1.beam.src.rpm
X-Server driver module based on CVS release date above. This contains my TVOut noscale patch for improved TV output at 720x576 in overscan.
29
xorg-x11-via_drv-2005.01.14-1.i386.rpm
The libviaXvMC library based on CVS release date in RPM version.  0.13.3
xorg-x11-libviaXvMC-2005.01.14-1.i386.rpm
Wrapper library for libviaXvMC needed for Xine-lib. Note you need to edit /etc/X11/XvMCConfig to set this to use the Via libviaXvMC library. See smaple config file below. 0.9.3
libXvMCW-0.9.3-11.i386.rpm
X-Server 3D driver based on Xserver 6.8.1 release.
??
xorg-x11-via_3ddrv-2004.11.16-1.i386.rpm
Sample /etc/X11/xorg.conf file note that this is set to output onto a TV using the SVideo connector. Modify the file for CRT output as required.

xorg.conf
Sample /etc/X11/XvMCConfig
XvMCConfig
Sample modprobe.conf. This should be Ok on a stock system.

modprobe.conf
Notes

The AGP Ringbuffer is not used by default for Hardware MPEG output. This allows the 3D drivers to be used but increases CPU usage in MPEG decoding a bit. The "EnableAGPDMA" xorg.conf option can be used to enable this. Note if you set "EnableAGPDMA" and try and run a 3D application, the system will lock up hard.
This release set has not been tested as yet ...

Date
Release
20/12/04
Kernel DRM module based on CVS release date 19/12/04. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel (you will need to modify the version numbers in the *.spec file).
2.3.0
kernel-via-drm-2004.12.19_2.6.9-1.6_FC2_1.beam.i386.rpm
kernel-via-drm-2004.12.19_2.6.9-1.6_FC2_1.beam.src.rpm
X-Server driver module based on CVS release date above. This contains my TVOut noscale patch for improved TV output at 720x576 in overscan.
28
xorg-x11-via_drv-2004.12.12-1.i386.rpm
The libviaXvMC library based on CVS release date in RPM version.  0.13.3
xorg-x11-libviaXvMC-2004.12.12-1.i386.rpm
Wrapper library for libviaXvMC needed for Xine-lib. Note you need to edit /etc/X11/XvMCConfig to set this to use the Via libviaXvMC library. See smaple config file below. 0.9.3
libXvMCW-0.9.3-11.i386.rpm
X-Server 3D driver based on Xserver 6.8.1 release.
??
xorg-x11-via_3ddrv-2004.11.16-1.i386.rpm
Sample /etc/X11/xorg.conf file note that this is set to output onto a TV using the SVideo connector. Modify the file for CRT output as required.

xorg.conf
Sample /etc/X11/XvMCConfig
XvMCConfig
Sample modprobe.conf. This should be Ok on a stock system.

modprobe.conf
Notes

The AGP Ringbuffer is not used by default for Hardware MPEG output. This allows the 3D drivers to be used but increases CPU usage in MPEG decoding a bit. The "EnableAGPDMA" xorg.conf option can be used to enable this. Note if you set "EnableAGPDMA" and try and run a 3D application, the system will lock up hard.
This release set has not been tested as yet ...


Date
Release
16/11/04
Kernel DRM module based on CVS release date 5/11/04. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel (you will need to modify the version numbers in the *.spec file).
2.0.4
kernel-via-drm-2004.11.05_2.6.8-1.521_1.beam.i386.rpm
kernel-via-drm-2004.11.05_2.6.8-1.521_1.beam.src.rpm
X-Server driver module based on CVS release date above. This contains my TVOut noscale patch for improved TV output at 720x576 in overscan.
27
xorg-x11-via_drv-2004.11.16-1.i386.rpm
The libviaXvMC library based on CVS release date in RPM version.  0.13.1
xorg-x11-libviaXvMC-2004.11.14-1.i386.rpm
Warning this has been taken back to 2004.11.14 as there were problems with the 2004.11.16 version on the second watch of a video stream in MythTv and problems with the audio mixer in xine.
Wrapper library for libviaXvMC needed for Xine-lib. Note you need to edit /etc/X11/XvMCConfig to set this to use the Via libviaXvMC library. See smaple config file below. 0.9.2
libXvMCW-0.9.2-11.i386.rpm
X-Server 3D driver based on Xserver 6.8.1 release.
??
xorg-x11-via_3ddrv-2004.11.16-1.i386.rpm
Sample /etc/X11/xorg.conf file note that this is set to output onto a TV using the SVideo connector. Modify the file for CRT output as required.

xorg.conf
Sample /etc/X11/XvMCConfig
XvMCConfig
Sample modprobe.conf. This should be Ok on a stock system.

modprobe.conf
Notes

The AGP Ringbuffer is not used by default for Hardware MPEG output. This allows the 3D drivers to be used but increases CPU usage in MPEG decoding a bit. The "EnableAGPDMA" xorg.conf option cane be used to enable this. Note if you set "EnableAGPDMA" and try and run a 3D application, the system will lock up hard.


Date
Release
14/11/04
Kernel DRM module based on CVS release date 5/11/04. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel (you will need to modify the version numbers in the *.spec file).
2.0.4
kernel-via-drm-2004.11.05_2.6.8-1.521_1.beam.i386.rpm
kernel-via-drm-2004.11.05_2.6.8-1.521_1.beam.src.rpm
X-Server driver module based on CVS release date above.
27
xorg-x11-via_drv-2004.11.14-1.i386.rpm
The libviaXvMC library based on CVS release date above. Basically release
0.13.1
xorg-x11-libviaXvMC-2004.11.14-1.i386.rpm
Wrapper library for libviaXvMC needed for Xine-lib
0.9.2
libXvMCW-0.9.2-11.i386.rpm
X-Server 3D driver

Not done yet ...
Sample /etc/X11/xorg.conf file note that this is set to output onto a TV using the SVideo connector. Modify the file for CRT output as required.

xorg.conf
Sample modprobe.conf. This should be Ok on a stock system.

modprobe.conf
Notes

The AGP Ringbuffer is not used by default for Hardware MPEG output. This allows the 3D drivers to be used but increases CPU usage in MPEG decoding a bit. The "EnableAGPDMA" xorg.conf option cane be used to enable this.


Date
Release
5/11/04
Kernel DRM module based on CVS release date above. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel (you will need to modify the version numbers in the *.spec file).
2.0.4
kernel-via-drm-2004.11.05_2.6.8-1.521_1.beam.i386.rpm
kernel-via-drm-2004.11.05_2.6.8-1.521_1.beam.src.rpm
X-Server driver module based on CVS release date above.
27
xorg-x11-via_drv-2004.11.05-1.i386.rpm
The libviaXvMC library based on CVS release date above. Basically release
0.13.0
xorg-x11-libviaXvMC-2004.11.05-1.i386.rpm
X-Server 3D driver

Not done yet ...
Sample /etc/X11/xorg.conf file note that this is set to output onto a TV using the SVideo connector. Modify the file for CRT output as required.

xorg.conf
Sample modprobe.conf. This should be Ok on a stock system.

modprobe.conf
Notes

The AGP Ringbuffer is not used by default for Hardware MPEG output. This allows the 3D drivers to be used but increases CPU usage in MPEG decoding a bit. The "EnableAGPDMA" xorg.conf option cane be used to enable this.

Date
Release
28/10/04
Kernel DRM module based on CVS release date 27/10/04. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel (you will need to modify the version numbers in the *.spec file).
2.0.1
kernel-via-drm-2.0.1_2.6.8-1.521_1.beam.i386.rpm
kernel-via-drm-2.0.1_2.6.8-1.521_1.beam.src.rpm
X-Server driver module based on CVS release date above 26 + bits
xorg-x11-via_drv-26.2-1.beam.i386.rpm
The libviaXvMC library based on CVS release date above 0.13.0
xorg-x11-libviaXvMC-0.13.0-1.beam.i386.rpm
X-Server 3D driver

Not done yet ...
Sample /etc/X11/xorg.conf file note that this is set to output onto a TV using the SVideo connector. Modify the file for CRT output as required.

xorg.conf
Sample modprobe.conf. This should be Ok on a stock system.

modprobe.conf
Notes

The AGP Ringbuffer is not used for Hardware MPEG output. This allows the 3D drivers to be used but increases CPU usage in MPEG decoding a bit.

Packages that make use of the Hardware MPEG decode

MythTv
This is a very good and quite polished Network TV viewer, PVR and more. I use it with a remote server containing the disk and two digital TV "Freeview" cards to provide digital TV viewing, video recoding, picture viewing etc for the TV and computers in my house.
Xine
A good DVD and other multi-media file player
Mplayer
Another good multi-media file player

Additional Packages

Xine library using Hardware decode.
xine-lib-1.0.0-999.1.beam.rc7.fc2.i386.rpm
Xine front end
xine-0.99.2-1.1.fc2.fr.i386.rpm
Xine skins
xine-skins-1.8-1.fr.noarch.rpm


Information on Building CVS versions

There is a little information on building the CVS versions here.

Web Sites for Sources

Unichrome Graphics driver development
http://unichrome.sourceforge.net/
DRI Web site
http://sourceforge.net/projects/dri/