User:Lwoggardner
Lwoggardner (Talk | contribs) (Reverting.) |
Lwoggardner (Talk | contribs) (→Useful config info) |
||
| Line 134: | Line 134: | ||
</pre> | </pre> | ||
| − | .xsession To start | + | .xsession To start Ratpoison, mythtv-setup and mythfrontend |
<pre> | <pre> | ||
#Remove default blue background around TV-out picture | #Remove default blue background around TV-out picture | ||
xvattr -a XV_COLORKEY -v 0 | xvattr -a XV_COLORKEY -v 0 | ||
ratpoison & | ratpoison & | ||
| − | mythfrontend -l mfe.log | + | echo $DISPLAY |
| + | |||
| + | if [ -f $HOME/.mythsetup ] ; then | ||
| + | rm $HOME/.mythsetup | ||
| + | mythtv-setup | ||
| + | fi | ||
| + | mythfrontend -l mfe.log | ||
| + | |||
</pre> | </pre> | ||
| Line 150: | Line 157: | ||
</pre> | </pre> | ||
| − | script to restart MythTV via irexec. | + | ir_mythtv.sh script to restart MythTV via irexec. |
<pre> | <pre> | ||
#!/bin/bash | #!/bin/bash | ||
| − | + | ||
| + | function log() { | ||
| + | logger -t "mythtv" "$@" | ||
| + | } | ||
| + | |||
| + | OLDEST=$(pgrep -o -u $USER $(basename $0)) | ||
| + | if [ $OLDEST -ne $$ ] ; then | ||
| + | log "Process $OLDEST is still running, so I ($$) will abort" | ||
| + | exit 1 | ||
| + | fi | ||
| + | |||
| + | log "Restarting on tty1 $USER $(basename $0)" | ||
| + | |||
| + | if [ $1 == "setup" ] ; then | ||
| + | touch $HOME/.mythsetup | ||
| + | shift | ||
| + | fi | ||
| + | |||
if [ $# -gt 0 ] ; then | if [ $# -gt 0 ] ; then | ||
echo $1 > $HOME/.xlayout | echo $1 > $HOME/.xlayout | ||
fi | fi | ||
| − | |||
pkill -u mythtv irexec | pkill -u mythtv irexec | ||
| + | |||
| + | pkill -t tty1 -u mythtv mythfrontend | ||
| + | sleep 2 | ||
| + | pkill -t tty7 | ||
| + | #Kill the login shell. | ||
pkill -9 -t tty1 -u mythtv | pkill -9 -t tty1 -u mythtv | ||
</pre> | </pre> | ||
| Line 169: | Line 197: | ||
button = power_onoff | button = power_onoff | ||
prog = irexec | prog = irexec | ||
| − | config = /home/mythtv/bin/ | + | config = /home/mythtv/bin/ir_mythtv.sh & |
end | end | ||
| Line 176: | Line 204: | ||
button = cpf | button = cpf | ||
prog = irexec | prog = irexec | ||
| − | config = /home/mythtv/bin/ | + | config = /home/mythtv/bin/ir_mythtv.sh setup & |
end | end | ||
| Line 183: | Line 211: | ||
button = tv_onoff | button = tv_onoff | ||
prog = irexec | prog = irexec | ||
| − | config = /home/mythtv/bin/ | + | config = /home/mythtv/bin/ir_mythtv.sh TV-Only & |
end | end | ||
</pre> | </pre> | ||
Revision as of 10:52, 20 January 2007
Let me just start by saying MythTV rocks. I was keeping track of where I was at with Myth on my home wiki, but then figured I might as well share it here!
Contents |
My Setup
Combined FE/BE.
Hardware
- AMD S754 Athlon 64 3700+
- Gigabyte S754 GA-K8VM800M
- 1GB Ram
- 320GB Western Digital 7200rpm 8M Serial ATA HDD
-
Albatron FX5200LP 128M 8x Video Card with DVI output. - Gigabyte FX5200 128M 8x Video Card with DVI output.
- DVICO FusionHDTV Hybrid Tuner
- DNTVLive LP Tuner
- DVICO FusionRemote
- BenQ PE8700 DLP Projector
Software
- Ubuntu Dapper (upgraded from Breezy server install)
- Kernel 2.6.15-27-amd64-k8
- v4l-dvb-0.9 drivers patched to handle vendor/device codes being the same between 2 different devices!! (Many thanks to Chris Pascoe for getting the DVICO card going)
- NVidia amd64 version 8774
- lirc version 0.8.0 (Dapper upgrade changed device from
/dev/usb/hiddev0to/dev/hiddev0 - Ratpoison window manager
- MythTV 0.20.x fixes branch
What's working for me
- Live TV/TV recording Free to air HD/SD (from Sydney, Australia). Both tuner's simultaneously.
- AC3 passthrough including 5,1 surround
- XMLTV grabber from the OZTivo site
- MythMusic
- MythGallery
- MythDVD using xine as an external player
- MythWeb on Jetty rather than apache including the WAP version on the BlackBerry!
- Using irexec to restart Myth, including with a different Layout to switch between the Projector and TV
What's not
- XvMC not sure if this is an NVIDIA driver thing or 0.20 but bad stuttering and "audio buffering" messages in the logs
- The Gigabyte FX5200 card does not do PAL output properly, as it renders in B&W. Fortunately my TV autodetects NTSC colour.
- The Albatron FX5200 card has been fingered as the cause of my DVI problems on my projector. Apparently it freaks out a PCB component causing the EDID data to become corrupt. (So far so good on the Gigabyte card since Aug 2006).
What more do I want to do
- I'd like MythMusic to use MythGallery as a visualisation!
- More cleanup of MythGallery thumbnail code. (Thumbnail cache is unnecessary if EXIF thumbnails are available in the images themselves)
Useful config info
xorg.conf for PE8700 and TV-Out
ExactModeTimingsDVI is important for the projector. This is the main detail, the driver autodetects the connected display and will use the Projector (DFP) in preference to TV-Out.
Section "Device"
Identifier "FX5200[0]"
Driver "nvidia"
BusID "PCI:1:0:0"
Screen 0
#Not sure of the effect of this
Option "NvAGP" "3"
EndSection
Section "Screen"
Identifier "Screen[0]"
Device "FX5200[0]"
Monitor "Either"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1280x720" "720x576" "800x600"
EndSubSection
EndSection
Section "Monitor"
Identifier "Either"
Option "DPMS"
#Option "UseEDIDFreqs" "true"
Option "ExactModeTimingsDVI" "true"
Option "RenderAccel" "true"
#Option "TVStandard" "PAL-B"
Option "TVOutFormat" "COMPOSITE"
Option "TVOverScan" "0.5"
EndSection
Because the projector still signals that it is "connected" during its 2 minute warm down phase I have a second ServerLayout that points to a Screen section that specifies
Option "UseDisplayDevice" "TV"
in case I am in a hurry to switch back to the TV.
.asoundrc For ALSA digital audio out
pcm.!default {
type plug
slave {
pcm "spdif"
rate 48000
format S16_LE
}
}
/etc/inittab entry to auto login the mythtv user
1:2345:respawn:/sbin/mingetty --autologin mythtv tty1
.profile to start X from the auto login, also starts irexec.
PATH=$PATH:$HOME/bin
start-frontend() {
irexec --daemon $HOME/.lircrc
#If $HOME/.xlayout exists use its contents to specify a layout to the XServer
LAYOUT_SPEC=""
XLAYOUT=$HOME/.xlayout
if [ -r $XLAYOUT ] ; then
read LAYOUT < $XLAYOUT
LAYOUT_SPEC="-layout $LAYOUT"
rm $XLAYOUT
fi
startx -- $LAYOUT_SPEC -logverbose 5
}
tty | grep tty1 && start-frontend
.xsession To start Ratpoison, mythtv-setup and mythfrontend
#Remove default blue background around TV-out picture xvattr -a XV_COLORKEY -v 0 ratpoison & echo $DISPLAY if [ -f $HOME/.mythsetup ] ; then rm $HOME/.mythsetup mythtv-setup fi mythfrontend -l mfe.log
.ratpoisonrc
#Make escape (default C-t) not clash with mythTV key bindings escape C-r #Banish the mouse cursor out of the way. addhook switchwin banish
ir_mythtv.sh script to restart MythTV via irexec.
#!/bin/bash
function log() {
logger -t "mythtv" "$@"
}
OLDEST=$(pgrep -o -u $USER $(basename $0))
if [ $OLDEST -ne $$ ] ; then
log "Process $OLDEST is still running, so I ($$) will abort"
exit 1
fi
log "Restarting on tty1 $USER $(basename $0)"
if [ $1 == "setup" ] ; then
touch $HOME/.mythsetup
shift
fi
if [ $# -gt 0 ] ; then
echo $1 > $HOME/.xlayout
fi
pkill -u mythtv irexec
pkill -t tty1 -u mythtv mythfrontend
sleep 2
pkill -t tty7
#Kill the login shell.
pkill -9 -t tty1 -u mythtv
the .lircrc file (buttons as per the DVICO remote, which I think are now standard in the lirc distribution)
## irexec
# Bounce this tty
begin
button = power_onoff
prog = irexec
config = /home/mythtv/bin/ir_mythtv.sh &
end
#Run myth-setup
begin
button = cpf
prog = irexec
config = /home/mythtv/bin/ir_mythtv.sh setup &
end
#Bounce the tty, set the TV layout.
begin
button = tv_onoff
prog = irexec
config = /home/mythtv/bin/ir_mythtv.sh TV-Only &
end
0.19.x fixes info
- MythTV 0.19.x fixes branch (had to move
/usr/lib/libdts_pic.ato/usr/lib/libdts.ato compile) - Xine external DVD/video player
- XvMC ( with Bob de-interlacing for HD channels. Have to manually turn it off for SD stuff).