Unichrome RPM Packages

For Fedora Core 3

Terry Barnaby - BEAM Ltd

2005-06-01

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 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.

Extra information

There are some RPM's for xine at the end of this page

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 system, with Unichrome drivers on a Via M10000 system.
  1. Install Fedora Core 3 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 Fedora kernel  2.6.10-1.770_FC3 works fine.
  2. Update the Fedora system with all standard updates. The only package version that is specificaly needed is the kernel which should match the DRM driver RPM below (or you can rebuild the DRM SRPM to match your kernel).
  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.3-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
2005-06-01
Kernel DRM module based on CVS release date as in file name. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel. Use the rpmbuild options: -D "kversion <kversion>" -D "krelease  <krelease>" if you wish to rebuild for a particular kernel version.
2.6.3
kernel-module-via-drm-2.6.11-1.27_FC3-2.6.3_2005.06.01-1.beam.i386.rpm
kernel-module-via-drm-2.6.11-1.27_FC3-2.6.3_2005.06.01-1.beam.src.rpm
X-Server driver module based on CVS release date as in file name. This contains my TVOut noscale patch for improved TV output with PAL TV's at 720x576 and NTSC TV's at 720x480. This is enabled by using the mode "720x576Noscale" or "720x480Noscale" in xorg.conf.
30
xorg-x11-via_drv-2005.06.01-1.fc3.i386.rpm
The libviaXvMC library based on CVS release date in RPM version.  0.13.3
xorg-x11-libviaXvMC-2005.04.30-1.fc3.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. Built drom DRI CVS release.
??
xorg-x11-via_3ddrv-2005.04.04-1.fc3.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 decode, enabling this option in xorg.conf improves the performance of HW MPEG decode.


Date
Release
30/4/05
Kernel DRM module based on CVS release date as in file name. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel. Use the rpmbuild options: -D "kversion <kversion>" -D "krelease  <krelease>" if you wish to rebuild for a particular kernel version.
2.6.0
kernel-module-via-drm-2.6.10-1.770_FC3-2.6.0_2005.04.04-2.beam.i386.rpm
kernel-module-via-drm-2.6.10-1.770_FC3-2.6.0_2005.04.04-2.beam.src.rpm
X-Server driver module based on CVS release date as in file name. This contains my TVOut noscale patch for improved TV output with PAL TV's at 720x576 and NTSC TV's at 720x480. This is enabled by using the mode "720x576Noscale" or "720x480Noscale" in xorg.conf.
30
xorg-x11-via_drv-2005.04.30-1.fc3.i386.rpm
The libviaXvMC library based on CVS release date in RPM version.  0.13.3
xorg-x11-libviaXvMC-2005.04.30-1.fc3.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. Built drom DRI CVS release.
??
xorg-x11-via_3ddrv-2005.04.04-1.fc3.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 decode, enabling this option in xorg.conf improves the performance of HW MPEG decode.


Date
Release
12/4/05
Kernel DRM module based on CVS release date as in file name. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel. Use the rpmbuild options: -D "kversion <kversion>" -D "krelease  <krelease>" if you wish to rebuild for a particular kernel version.
2.6.0
kernel-module-via-drm-2.6.10-1.770_FC3-2.6.0_2005.04.04-1.beam.i386.rpm
kernel-module-via-drm-2.6.10-1.770_FC3-2.6.0_2005.04.04-1.beam.src.rpm
X-Server driver module based on CVS release date as in file name. This contains my TVOut noscale patch for improved TV output with PAL TV's at 720x576 and NTSC TV's at 720x480. This is enabled by using the mode "720x576Noscale" or "720x480Noscale" in xorg.conf.
30
xorg-x11-via_drv-2005.04.12-1.fc3.i386.rpm
The libviaXvMC library based on CVS release date in RPM version.  0.13.3
xorg-x11-libviaXvMC-2005.04.12-1.fc3.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. Built drom DRI CVS release.
??
xorg-x11-via_3ddrv-2005.04.04-1.fc3.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 decode, enabling this option in xorg.conf improves the performance of HW MPEG decode.


Date
Release
7/4/05
Kernel DRM module based on CVS release date as in file name. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel. Use the rpmbuild options: -D "kversion <kversion>" -D "krelease  <krelease>" if you wish to rebuild for a particular kernel version.
2.6.0
kernel-module-via-drm-2.6.10-1.770_FC3-2.6.0_2005.04.04-1.beam.i386.rpm
kernel-module-via-drm-2.6.10-1.770_FC3-2.6.0_2005.04.04-1.beam.src.rpm
X-Server driver module based on CVS release date as in file name. This contains my TVOut noscale patch for improved TV output with PAL TV's at 720x576 and NTSC TV's at 720x480. This is enabled by using the mode "720x576Noscale" or "720x480Noscale" in xorg.conf.
30
xorg-x11-via_drv-2005.04.04-1.fc3.i386.rpm
The libviaXvMC library based on CVS release date in RPM version.  0.13.3
xorg-x11-libviaXvMC-2005.04.04-1.fc3.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. Built drom DRI CVS release.
??
xorg-x11-via_3ddrv-2005.04.04-1.fc3.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 decode, enabling this option in xorg.conf improves the performance of HW MPEG decode.


Date
Release
8/3/05
Kernel DRM module based on CVS release date as in file name. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel. Use the rpmbuild options: -D "kversion <kversion>" -D "krelease  <krelease>" if you wish to rebuild for a particular kernel version.
2.4.6
kernel-module-via-drm-2.6.10-1.766_FC3-2.4.6_2005.02.28-1.beam.i386.rpm
kernel-module-via-drm-2.6.10-1.766_FC3-2.4.6_2005.02.28-1.beam.src.rpm
X-Server driver module based on CVS release date as in file name. This contains my TVOut noscale patch for improved TV output with PAL TV's at 720x576 and NTSC TV's at 720x480. This is enabled by using the mode "720x576Noscale" or "720x480Noscale" in xorg.conf.
30
xorg-x11-via_drv-2005.03.08-1.fc3.i386.rpm
The libviaXvMC library based on CVS release date in RPM version.  0.13.3
xorg-x11-libviaXvMC-2005.03.08-1.fc3.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. Built drom DRI CVS release.
??
xorg-x11-via_3ddrv-2005.02.17-1.fc3.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 decode, enabling this option in xorg.conf improves the performance of HW MPEG decode.

Date
Release
1/3/05
Kernel DRM module based on CVS release date as in file name. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel. Use the rpmbuild options: -D "kversion <kversion>" -D "krelease  <krelease>" if you wish to rebuild for a particular kernel version.
2.4.6
kernel-module-via-drm-2.6.10-1.766_FC3-2.4.6_2005.02.28-1.beam.i386.rpm
kernel-module-via-drm-2.6.10-1.766_FC3-2.4.6_2005.02.28-1.beam.src.rpm
X-Server driver module based on CVS release date 2005-02-17. This contains my TVOut noscale patch for improved TV output with PAL TV's at 720x576. This is enabled by using the mode "720x576Noscale" in xorg.conf.
30
xorg-x11-via_drv-2005.02.17-1.fc3.i386.rpm
The libviaXvMC library based on CVS release date in RPM version.  0.13.3
xorg-x11-libviaXvMC-2005.02.17-1.fc3.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. Built drom DRI CVS release.
??
xorg-x11-via_3ddrv-2005.02.17-1.fc3.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 decode, enabling this option in xorg.conf improves the performance of HW MPEG decode.


Date
Release
21/2/05
Kernel DRM module based on CVS release date 2005-02-17. If you have a different kernel you can use the source RPM to rebuild the DRM for that kernel. Use the rpmbuild options: -D "kversion <kversion>" -D "krelease  <krelease>"
2.4.6
kernel-module-via-drm-2.6.10-1.760_FC3-2.4.5_2005.02.17-1.beam.i386.rpm
kernel-module-via-drm-2.6.10-1.760_FC3-2.4.5_2005.02.17-1.beam.src.rpm
X-Server driver module based on CVS release date 2005-02-17. This contains my TVOut noscale patch for improved TV output with PAL TV's at 720x576. This is enabled by using the mode "720x576Noscale" in xorg.conf.
30
xorg-x11-via_drv-2005.02.17-1.fc3.i386.rpm
The libviaXvMC library based on CVS release date in RPM version.  0.13.3
xorg-x11-libviaXvMC-2005.02.17-1.fc3.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. Built drom DRI CVS release.
??
xorg-x11-via_3ddrv-2005.02.17-1.fc3.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 decode, enabling this option in xorg.conf improves the performance of HW MPEG decode.


Date
Release
4/2/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.724_FC3_1.beam.i386.rpm
kernel-via-drm-2004.12.19_2.6.9-1.724_FC3_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.fc3.i386.rpm
The libviaXvMC library based on CVS release date in RPM version.  0.13.3
xorg-x11-libviaXvMC-2005.01.14-1.fc3.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.
??

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 ...

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. Note that the standard release will need patching to support the ViaXvMC HW MPEg acceleration.

Additional Packages

Xine library using Hardware decode.
xine-lib-2005.04.18-1.beam.fc3.i386.rpm
Xine front end
xine-0.99.3-2.1.fc3.fr.i386.rpm
Xine skins
xine-skins-1.9-1.fr.noarch.rpm
My beam-homesys-suite meta package. This brings in all the extra RPM's needed on top of Fedora3 from ATRPM's and my own Unichrome, Xine and MythTv packages.
beam-homesys-suite.spec

My xine settings are:

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/