At last I made it to Tier 1. R5A22 is the first release where my card has worked without the need to patch/compile the kernel.
Here are my hardware details:
MSI K7T266 Pro2 Mobo
Athlon 1700+ XP processor
DVICO FusionHDTV DVB-T1
#TV Excel PV-BT878P+ w/FM (aka Pixelview Pro or something) - not used yet
200Gbyte 8M cache Maxtor HDD
GeForce2 Mx 400 Graphics Card
Connected to a TV only
Thanks to the lirc scripting that cesman (and human?) have been working on, the remote also sort of works out of the box (for an auto-install that is.. more on that later). I did need to reboot after installing to get the remote working. The reason is, the LIRC configuration for the DVICO remote required irexec and irxevent to be running. These are normally started when gdm starts if the ~mythtv/.mythtv/lircrc file indicates that they ar needed. The problem is, that file does not get updated for the DVICO remote until after gdm starts and the lirc auto detection happens.
NOTE TO CESMAN: After configuring LIRC it would be good to run /usr/local/bin/launch_irx.sh so that if the lircrc file installed as a result of setting up the remote needs irxevent or irexec, it gets started.After the nvidia driver was automatically installed, the image on the TV looked pretty bad. This is because the default setting is for NTSC which works on my tv, but not very well. So the first thing I did was to add the line
Code:
Options "TVStandard" "PAL-B"
to the /etc/X11/XF86Config-4 file and restart gdm (/etc/init.d/gdm restart). This improved the picture greatly, and I could then read the text in the configuration xterm. It would be great if this was handled automatically based on the selected timezone. Perhaps in R5A99.
Answered all of the questions, did a full channel scan in mythtv-setup and it grabbed all of the channels. It actually found channel 7 on two transports, so I removed all the first set of channel 7 entries. I also had to go in and make all of the channels I wanted visible (I think this ticket describes the problem
http://cvs.mythtv.org/trac/ticket/263)
When the frontend ran, I immediately watched live TV and it worked! Awesome!
I did all of that on a spare harddrive. I then decided to do an upgrade on my R5A16 box. This went almost as swimmingly but the remote didn't work. I think this was because of the restore of the mythtv home directory from the backup. Anyway, that was easy enough to sort out. I just added launch_irx.sh to my ~/.fluxbox/apps file.
I then did some further tweaks using the script below. Basically it does the following:
Copies the files required from my stick
Copies some mame roms to /myth
Installs the joe editor
Patches builds, installs and configures NVTV to setup my TV out.
Installs the fruit library for DVD playback.
Build and configure athcool for lower power consumption.
Sets up mame with different NVTV settings
Add the gamecon module so that I can use my playstation controller.
Implements the blue-lines fix.
Sets up some database settings that I like (presumably the database restore would handle this for an upgrade but I can use this script for an auto-install too).
Code:
# This is the script that I run once I have done a fresh install of
# KnoppMyth R5A22 to get everything working on my system.
#
# My system consists of:
# DVICO FusionHDTV DVB-T1
# #TV Excel PV-BT878P+ w/FM (aka Pixelview Pro or something.)
# MSI K7T266 Pro2 Mobo
# Athlon 1700+ XP processon
# 200Gbyte 8M cache Maxtor HDD
# GeForce2 Mx 400 Graphics Card
#
# I have this script on a USB MP3 Player which I mount from the root account
# using the command:
#
# mount /dev/sda /mnt
#
# I then change directory to the directory containing this script and run it
# from the root account.
#
# cd /mnt/r5a22
# ./myth_post_install.bash
#
# Start by copying the contents of the directory containing this script to
# ~mythtv/.
date
for file in `dirname $0`/* ; do
if [ `basename $file` != mame_roms ] ; then
cp -Rfvu $file ~mythtv/
fi
done
echo Copying over MAME roms.
cp -Rfvu `dirname $0`/mame_roms/* /myth/games/xmame/roms
# My first problem when I tried to play with things to get them working was
# that I am used to using a modeless editor like emacs. The only editor I
# could find was vi which I am not familiar with and hence not comfortable
# with. I saw a discussion on Slashdot about the joe editor. Most people that
# liked it said it was because they could use it without being familiar with
# it (the instructions for getting help are displayed on the top line yadda
# yadda), so I downloaded it and have used it happily since.
if dpkg -l joe 2>&1 | grep -q "No packages found matching joe" ; then
dpkg -i ~mythtv/joe_2.9.8-1_i386.deb
else
echo "Joe already installed"
fi
# I need NVTV to setup the TV-out of my GeForce MX 400 properly. There are a
# number of things that are required to set it up to run automatically,
# Build nvtv from source after patching it to include some overscan modes
# that are perfect for my TV.
if [ ! -d /usr/src/nvtv-0.4.7 ] ; then
cd /usr/src
tar xvfz ~mythtv/nvtv-0.4.7.tar.gz
cd /usr/src/nvtv-0.4.7
patch -p1 -b < ~mythtv/patch-nvtv-0.4.7-extra-overscans.diff
./configure --prefix=/usr --disable-gtktest
make
make install
else
echo "nvtv already installed."
fi
# Create a script containing the nvtv command that I want to
# execute. This includes one of the new overscan settings from the patch
# I applied above, and saturation and contrast settings to get the
# picture looking a bit more natural.
if [ ! -e ~mythtv/do_nvtv.sh ] ; then
NVTV_SET="--set Saturation:-30 --set Contrast#:10 --set Flicker:0"
echo "nvtv -S PAL -t -r 800,576 -s Medium $NVTV_SET" > \
~mythtv/do_nvtv.sh
chown mythtv:mythtv ~mythtv/do_nvtv.sh
chmod 755 ~mythtv/do_nvtv.sh
else
echo "Do nvtv script already created."
fi
# Now add a fluxbox startup command so that my nvtv command is run when
# gdm starts.
if ! grep -q do_nvtv /home/mythtv/.fluxbox/apps ; then
cp -fv /home/mythtv/.fluxbox/apps /home/mythtv/.fluxbox/apps.orig
cat /home/mythtv/.fluxbox/apps.orig | \
awk '/KnoppMyth-run/{print \
"[startup] {~mythtv/do_nvtv.sh}"}{print $0}' > \
/home/mythtv/.fluxbox/apps
else
echo "nvtv already set to run."
fi
# Now put a startup command for the nvtvd daemon in bootmisc.sh. This
# daemon must be running if a non-root user needs to execute an nvtv command.
if ! grep -q /usr/bin/nvtvd /etc/init.d/bootmisc.sh ; then
echo "Setting nvtvd to run at boot time"
echo /usr/bin/nvtvd >> /etc/init.d/bootmisc.sh
killall -wq nvtvd
/usr/bin/nvtvd
else
echo nvtvd already started in bootmisc.sh
fi
export PACKAGE=libdvdcss-1.2.9
if [ ! -d /usr/src/$PACKAGE ] ; then
echo "Building $PACKAGE."
cd /usr/src
tar xvfj ~mythtv/$PACKAGE.tar.bz2
cd /usr/src/$PACKAGE
./configure --prefix=/usr
make
make install
else
echo "$PACKAGE already built."
fi
export PACKAGE=athcool-0.3.11
if [ ! -d /usr/src/$PACKAGE ] ; then
echo "Building $PACKAGE."
cd /usr/src
tar xvfz ~mythtv/$PACKAGE.tar.gz
cd /usr/src/$PACKAGE
make
make install
else
echo "$PACKAGE already built."
fi
if ! grep -q /usr/sbin/athcool /etc/init.d/bootmisc.sh ; then
echo "Setting athcool to run at boot time"
echo /usr/sbin/athcool on >> /etc/init.d/bootmisc.sh
else
echo athcool already started in bootmisc.sh
fi
if [ ! -e /myth/games/xmame/catver.ini ] ; then
cp -fvp ~mythtv/catver.ini /myth/games/xmame/
else
echo Already installed catver.ini.
fi
# Put a wrapper to the xmame call to fix up the joystick tyoe and set the
# diusplay back to 800x600 and then revert to my normal nvtv setup when
# done.
if [ ! -e /usr/games/xmame-wrapper ] ; then
echo Setting up mame wrapper.
echo "/usr/bin/nvtv -S PAL -t -r 800,600 -s Medium --set Saturation:-30 --set Contrast#:10
/usr/games/xmame \`echo \$* | sed 's/-joytype 4/-joytype 1/g'\`
~mythtv/do_nvtv.sh" > /usr/games/xmame-wrapper
chmod a+x /usr/games/xmame-wrapper
else
echo Mame wrapper already setup.
fi
# Add the gamecon module to /etc/modules so that I can use my playstation
# controller connected to the parallel port.
if ! grep gamecon /etc/modules ; then
echo Adding gamecon module to /etc/modules
echo "gamecon map=0,7,0,0,0,0" >> /etc/modules
else
echo Already added gamecon module.
fi
# Ensure that the blue-lines on top and side of video problem does not
# occur.
if ! grep -q "xvattr -a XV_COLORKEY -v 0" /home/mythtv/.fluxbox/apps ; then
echo Adding command to fix blue lines problem.
cp -fv /home/mythtv/.fluxbox/apps /home/mythtv/.fluxbox/apps.blue_lines
cat /home/mythtv/.fluxbox/apps.blue_lines | \
awk '/KnoppMyth-run/{print \
"[startup] {xvattr -a XV_COLORKEY -v 0}"}{print $0}' > \
/home/mythtv/.fluxbox/apps
else
echo "Blue lines problem already fixed."
fi
# Set some preferred settings in the database.
echo "
UPDATE settings SET data='PAL' WHERE value='TVFormat';
UPDATE settings SET data='PAL Teletext' WHERE value='VbiFormat';
UPDATE settings SET data='australia' WHERE value='FreqTable';
UPDATE settings SET data='0' WHERE value='ClearSavedPosition';
UPDATE settings SET data='0' WHERE value='AltClearSavedPosition';
UPDATE settings SET data='300' WHERE value='RecordPreRoll';
UPDATE settings SET data='900' WHERE value='RecordOverTime';
UPDATE settings SET data='bobdeint' WHERE value='DeinterlaceFilter';
UPDATE settings SET data='6' WHERE value='AspectOverride';
UPDATE settings SET data='0' WHERE value='PlaybackBoxStartInTitle';
UPDATE settings SET data='1' WHERE value='SmartForward';
UPDATE settings SET data='576' WHERE value='GuiHeight';
UPDATE settings SET data='/myth/games/xmame/catver.ini' WHERE value='XMameCatFile';
UPDATE settings SET data='gamename' WHERE value='GameAllTreeLevels';
UPDATE settings SET data='/usr/games/xmame-wrapper' WHERE value='XMameBinary';
" | mysql mythconverg