Freevo

- User Documentation

# Hardware/Voodoo3

### Voodoo 3 Setup

Using the lm_sensors & i2c packages it is possible to run X on the tv-out to display freevo. Download and install from http://secure.netroedge.com/~lm78/ first. This was tested using Fedora.

#### Kernel Modules

In the 2.4 kernel the card uses the following modules located under Character devices in the kernel configuration.

i2c-core, i2c-algo-bit, i2c-voodoo3, i2c-proc, i2c-dev, bt869, eeprom.

These can be compiled into the kernel or as called as modules using modprobe.

#### XF86Config Configuration

The output from the card can be displayed in 640x480 or 800x600 both in only depth 16 colour. The correct settings must be added to '/etc/X11/XF86Config' as the card requires special modelines. They are -

**** I've managed to get the TV-Out work at 24 bit color depth with my Voodoo3 3000 ****

**** you can see the difference right away, just echo 24 > /proc/sys/dev/sensors/bt869-i2c-1-44/depth

**** and yes, I tried 32 and it didn't work

***** The modeline "720X576PAL" worked best for my TV - no black borders - unfortunately a little is overscanned.

    [...]
        ModeLine "640x480PAL"   29.50       640  675  678  944  480  530  535  625
        ModeLine "800x600PAL"   36.00       800  818  820  960  600  653  655  750
        ModeLine "720x576PAL"   27.50       720  744  800  880  576  581  583  625
        ModeLine "640x480NTSC"  28.195793   640  656  658  784  480  520  525  600
        ModeLine "800x600NTSC"  38.769241   800  812  814  880  600  646  649  735
        [...]
        Subsection "Display"
          Depth          16
          Modes       "1280x1024" "800x600PAL" "800x600" "720x576PAL" "640x480PAL" "640x480"
          # Or for NTSC:
          #Modes       "1280x1024" "800x600NTSC" "800x600" "640x480NTSC" "640x480"
        [...]
    [...]

#### BT869 Chip Configuration

Then the card needs to be set to use a resolution and whether to use ntsc or not.

##### Manual Configuration

This can be done manually be running

    echo 0 > /proc/sys/dev/sensors/bt869-i2c-1-44/ntsc
    echo "640 480" > /proc/sys/dev/sensors/bt869-i2c-1-44/res

or

    echo 0 > /proc/sys/dev/sensors/bt869-i2c-0-44/ntsc
    echo "800 600" > /proc/sys/dev/sensors/bt869-i2c-0-44/res

##### Auto Configuration

This can be automated on startup using the '/etc/sysctl.conf' file. Just add to the file

    [...]
    dev.sensors.bt869-i2c-0-44.ntsc = 0
    dev.sensors.bt869-i2c-0-44.res = 800 600
    [...]

This will update the bt869 chip just before X loads.

#### Kernel 2.6

The bt869 chip driver has not been ported to the 2.6 kernel yet. I2c and lm_sensors have however been fully built in barr this and some other external drivers.

Quick 2.6 hack: make sure i2c_voodoo3 and i2c_dev are built and loaded.

i2cset 1 0x44 0xC6 0x001 & i2cset 1 0x44 0x0ba 0x80 & i2cset 1 0x44 0xa0 0x80 & i2cset 1 0x44 0xba 0x20 & i2cset 1 0x44 0x0C6 0x001 & i2cset 1 0x44 0xC4 0x1 & i2cset 1 0x44 0xC8 0x0 & i2cset 1 0x44 0xa0 0x91 & i2cset 1 0x44 0xC4 1 & i2cset 1 0x44 0x6c 0x80 & i2cset 1 0x44 0xba 0x80 & i2cset 1 0x44 0xB8 2 & i2cset 1 0x44 0xa0 0x91 & i2cset 1 0x44 0xba 0x20 &

Changes Depth to 16Bpp and res to 800 x 600 NTSC

The &'s are required becuase of a 5 second delay built into i2cset. (All of them must be completed withen seconds of each other.)

The following made my 24Bpp 720x576PAL S-Video-out work (perhaps you have to call it twice):

i2cset 1 0x44 0xC6 0x001 & i2cset 1 0x44 0x0ba 0x80 & i2cset 1 0x44 0xa0 0x80 & i2cset 1 0x44 0xba 0x20 & i2cset 1 0x44 0x0C6 0x001 & i2cset 1 0x44 0xC4 0x1 & i2cset 1 0x44 0xC8 0x0 & i2cset 1 0x44 0xa0 0x91 & i2cset 1 0x44 0xC4 1 & i2cset 1 0x44 0x6c 0x80 & i2cset 1 0x44 0xba 0x80 & i2cset 1 0x44 0xB8 2 & i2cset 1 0x44 0xC8 0x0&i2cset 1 0x44 0x6e 0x00&i2cset 1 0x44 0x70 0x02&i2cset 1 0x44 0x72 0x00&i2cset 1 0x44 0x74 0x01&i2cset 1 0x44 0x76 0xe0&i2cset 1 0x44 0x78 0xd0&i2cset 1 0x44 0x7a 0x80&i2cset 1 0x44 0x7c 0x98&i2cset 1 0x44 0x7e 0x58&i2cset 1 0x44 0x80 0x20&i2cset 1 0x44 0x82 0x16&i2cset 1 0x44 0x84 0x22&i2cset 1 0x44 0x86 0xa6&i2cset 1 0x44 0x88 0x00&i2cset 1 0x44 0x8a 0x78&i2cset 1 0x44 0x8c 0x80&i2cset 1 0x44 0x8e 0x03&i2cset 1 0x44 0x90 0x71&i2cset 1 0x44 0x92 0x2a&i2cset 1 0x44 0x94 0x40&i2cset 1 0x44 0x96 0x0a&i2cset 1 0x44 0x98 0x00&i2cset 1 0x44 0x9a 0x50&i2cset 1 0x44 0x9c 0x30&i2cset 1 0x44 0x9e 0x0&i2cset 1 0x44 0xa0 0x8c&i2cset 1 0x44 0xa2 0x24&i2cset 1 0x44 0xa4 0xf0&i2cset 1 0x44 0xa6 0x57&i2cset 1 0x44 0xa8 0x82&i2cset 1 0x44 0xaa 0x49&i2cset 1 0x44 0xac 0x8c&i2cset 1 0x44 0xae 0xb4&i2cset 1 0x44 0xb0 0xe0&i2cset 1 0x44 0xb2 0x45&i2cset 1 0x44 0xb4 0x29&i2cset 1 0x44 0xb6 0x00&i2cset 1 0x44 0xc4 0x01&i2cset 1 0x44 0xc6 0x00&i2cset 1 0x44 0xc8 0x40&i2cset 1 0x44 0xca 0xc0&i2cset 1 0x44 0xcc 0xc0&i2cset 1 0x44 0xd6 0x00&i2cset 1 0x44 0x0C6 0x000&i2cset 1 0x44 0xC4 1 & i2cset 1 0x44 0xba 0x20

last edited 2005-01-10 11:09:12 by JohnMolohan
current version: http://freevo.sourceforge.net/cgi-bin/doc/Hardware/Voodoo3