Difference between revisions of "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/hiddev0
to/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.a
to/usr/lib/libdts.a
to compile) - Xine external DVD/video player
- XvMC ( with Bob de-interlacing for HD channels. Have to manually turn it off for SD stuff).