Difference between revisions of "User:Lwoggardner"

From MythTV Official Wiki
Jump to: navigation, search
(Reverting.)
(Useful config info)
Line 134: Line 134:
 
</pre>
 
</pre>
  
.xsession To start MFE and Ratpoison
+
.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
pkill -t tty1 -u mythtv mythfrontend
+
 
 +
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
sleep 1
 
 
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/ir_power_onoff.sh &
+
     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/ir_myth_setup.sh &
+
     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/ir_power_onoff.sh TV-Only &
+
     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!

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