Difference between revisions of "User:Lwoggardner"

From MythTV Official Wiki
Jump to: navigation, search
Line 1: Line 1:
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!
 
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 ==
+
'''''Major update in progress - split frontend/backend and using later versions of ubuntu/mythbuntu'''''
 +
 
 +
= My Setup =
 +
 
 +
MythBuntu 8.10 with separated front-end/backend
 +
 
 +
* Live TV/TV recording Free to air HD/SD (from Sydney, Australia)
 +
* Multi-rec
 +
* DTS/AC3 passthrough including 5,1 surround digital out
 +
* [[MythMusic]]
 +
* [[MythGallery]]
 +
 
 +
 
 +
 
 +
== Backend ==
 +
 
 +
=== Hardware ===
 +
 
 +
* 2 x 500GB HDDs
 +
* Intel S775 Core 2 Q6600 Quad-Core CPU
 +
* Gigabyte S775 GA-G33M-S2 Motherboard
 +
* 4GB RAM
 +
* DNTVLive LP Tuner
 +
* PCI Hauppauge Nova-T-500 MCE(OEM) Dual DVBT tuner
 +
 
 +
=== Software ===
 +
 
 +
* Ubuntu 8.10 64bit
 +
* [[MythWeb on Jetty]] rather than apache including the WAP version on the BlackBerry!
 +
* [http://svn.whuffy.com/index.fcgi/wiki Shepherd XMLTV grabber]
 +
* NFS server for music/images
 +
 
 +
=== Configuration ===
 +
 
 +
* DVICO used device id 17de:a8a6 for two distinct devices requiring different drivers. Need to set "options cx88xx card=19" in /etc/modprobe.d to force use of Conexant reference drivers. Fortunately the Hauppauge tuner is a USB device so we can override the autodetection rather than patch the v4l dvb drivers to override it.
 +
 
 +
== Frontend / Slave Backend ==
  
Combined FE/BE.
 
 
=== Hardware ===
 
=== Hardware ===
 
* AMD S754 Athlon 64 3700+  
 
* AMD S754 Athlon 64 3700+  
Line 10: Line 44:
 
* 1GB Ram
 
* 1GB Ram
 
* 320GB Western Digital 7200rpm 8M Serial ATA HDD
 
* 320GB Western Digital 7200rpm 8M Serial ATA HDD
& 500GB 7200rpm SATA driver
 
 
* <strike>Albatron FX5200LP 128M 8x Video Card with DVI output.</strike>
 
* <strike>Albatron FX5200LP 128M 8x Video Card with DVI output.</strike>
 
* Gigabyte FX5200 128M 8x Video Card with DVI output.
 
* Gigabyte FX5200 128M 8x Video Card with DVI output.
 
 
* DVICO FusionHDTV Hybrid Tuner  
 
* DVICO FusionHDTV Hybrid Tuner  
* DNTVLive LP Tuner
+
* DVICO FusionRemote MCE
 +
* BenQ PE8700 DLP Projector
 +
* Samsung LCD Television
 +
* CambridgeAudio AV receiver
  
* DVICO FusionRemote
+
=== Software ===
 +
* MythBuntu 8.10 64bit
 +
* [[http://synergy2.sourceforge.net/|Synergy]] to allow laptop to be the keyboard/mouse.
  
* BenQ PE8700 DLP Projector
+
=== Configuration ===
  
=== 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 [http://www.itee.uq.edu.au/~chrisp/Linux-DVB/ Chris Pascoe] for getting the DVICO card going)
 
* [http://www.nvidia.com/object/unix.html NVidia amd64 version 8774]
 
* lirc version 0.8.0 (Dapper upgrade changed device from <code>/dev/usb/hiddev0</code> to <code>/dev/hiddev0</code>
 
* [[Ratpoison]] window manager
 
* MythTV 0.21-fixes branch
 
  
 +
* cx88_dvb in /etc/modules (needs to start early to load properly, not sure why)
 +
* disabled GDM in favour of a [[Frontend Auto Login|simple mingetty startup]]
 +
* user .xsession linked to /usr/share/mythbuntu/session.sh so we get the same xfce startup.
 +
* autostart irexec to restart MythTV and switch xorg layout between the Projector and TV
  
 +
==== /etc/lircd/hardware.conf ====
 +
Default chooser from mythbuntu did not find the usb device at /dev/usb/hiddev0, so need to edit this file explicitly.
 +
<pre>
 +
#Chosen Remote Control
 +
REMOTE="DVICO_MCE"
 +
REMOTE_MODULES=""
 +
REMOTE_DRIVER="dvico"
 +
REMOTE_DEVICE="/dev/usb/hiddev0"
 +
REMOTE_LIRCD_CONF="/usr/share/lirc/dvico/lircd.conf.fusionHDTV"
 +
REMOTE_LIRCD_ARGS=""
 +
</pre>
  
== What's working for me ==
 
* Live TV/TV recording Free to air HD/SD (from Sydney, Australia). Both tuner's simultaneously AND multi-rec
 
* Video profile Standard + Bob2 deinterlace (anything else uses excessive CPU, XvMC will not upscale smoothly to the TV resolution)
 
* AC3 passthrough including 5,1 surround
 
* [http://svn.whuffy.com/index.fcgi/wiki Shepherd XMLTV grabber]
 
* [[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 ==
+
==== xorg.conf for PE8700, Samsung LCD. See also the tips for the [[NVidiaProprietaryDriver]] ====
* 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.
 
(the Gigabyte card lasted from Aug 2006 to Dec 2007. Fortunately the new nvidia driver allow you to override the EDID from the device with a file...).
 
  
== Useful config info ==
+
The FX5200 cards were the cause of my DVI problems on my projector. Apparently they freaks out a PCB component causing the EDID data to become corrupt.
xorg.conf for PE8700, Samsung LCD. See also the tips for the [[NVidiaProprietaryDriver]]
+
(the Gigabyte card lasted from Aug 2006 to Dec 2007. Fortunately the new nvidia driver allow you to use a CustomEDID to load the data from a file.
  
 
Option ExactModeTimingsDVI is important for the projector.
 
Option ExactModeTimingsDVI is important for the projector.
 +
 
Option "UseEDIDDpi" "false" or some equivalent control of DPI is important for the Samsung television otherwise you get really small fonts (fixed in 0.21)
 
Option "UseEDIDDpi" "false" or some equivalent control of DPI is important for the Samsung television otherwise you get really small fonts (fixed in 0.21)
  
 
There are two layouts, the default uses outputs via VGA to a Samsung LCD television, the second uses DVI to the PE8700 projector.
 
There are two layouts, the default uses outputs via VGA to a Samsung LCD television, the second uses DVI to the PE8700 projector.
  
<pre>
+
<pre>Section "ServerLayout"
Section "ServerLayout"
 
 
     Identifier    "Main" # PC VGA output to Samsung LCD television
 
     Identifier    "Main" # PC VGA output to Samsung LCD television
 
     Screen        0 "LCD[0]" 0 0
 
     Screen        0 "LCD[0]" 0 0
    InputDevice    "Generic Keyboard"
 
    InputDevice    "Configured Mouse"
 
 
     Option        "Xinerama" "off"
 
     Option        "Xinerama" "off"
 
EndSection
 
EndSection
Line 68: Line 97:
 
     Identifier    "Projector"
 
     Identifier    "Projector"
 
     Screen        0 "Projector[0]" 0 0
 
     Screen        0 "Projector[0]" 0 0
    InputDevice    "Generic Keyboard"
 
    InputDevice    "Configured Mouse"
 
 
     Option        "Xinerama" "off"
 
     Option        "Xinerama" "off"
 
EndSection
 
EndSection
 
   
 
   
# .... skipped Files, Modules, InputDevice ....
+
Section "Module"
 +
        Load    "glx"
 +
EndSection
  
 
Section "Device"
 
Section "Device"
Line 100: Line 129:
 
     Device        "FX5200[0]"
 
     Device        "FX5200[0]"
 
     Monitor        "AnyMonitor"
 
     Monitor        "AnyMonitor"
 +
    Option        "ConnectedMonitor" "DFP"
 
     Option        "UseDisplayDevice" "DFP" # DVI out
 
     Option        "UseDisplayDevice" "DFP" # DVI out
 +
    Option        "CustomEDID" "DFP-0:/etc/X11/benq-c.bin"
 +
 
     DefaultDepth    24
 
     DefaultDepth    24
 
     SubSection    "Display"
 
     SubSection    "Display"
Line 114: Line 146:
 
     Option      "RenderAccel" "true"
 
     Option      "RenderAccel" "true"
 
EndSection
 
EndSection
 
  
 
</pre>
 
</pre>

Revision as of 05:25, 15 March 2009

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!

Major update in progress - split frontend/backend and using later versions of ubuntu/mythbuntu

My Setup

MythBuntu 8.10 with separated front-end/backend

  • Live TV/TV recording Free to air HD/SD (from Sydney, Australia)
  • Multi-rec
  • DTS/AC3 passthrough including 5,1 surround digital out
  • MythMusic
  • MythGallery


Backend

Hardware

  • 2 x 500GB HDDs
  • Intel S775 Core 2 Q6600 Quad-Core CPU
  • Gigabyte S775 GA-G33M-S2 Motherboard
  • 4GB RAM
  • DNTVLive LP Tuner
  • PCI Hauppauge Nova-T-500 MCE(OEM) Dual DVBT tuner

Software

Configuration

  • DVICO used device id 17de:a8a6 for two distinct devices requiring different drivers. Need to set "options cx88xx card=19" in /etc/modprobe.d to force use of Conexant reference drivers. Fortunately the Hauppauge tuner is a USB device so we can override the autodetection rather than patch the v4l dvb drivers to override it.

Frontend / Slave Backend

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
  • DVICO FusionRemote MCE
  • BenQ PE8700 DLP Projector
  • Samsung LCD Television
  • CambridgeAudio AV receiver

Software

  • MythBuntu 8.10 64bit
  • [[1]] to allow laptop to be the keyboard/mouse.

Configuration

  • cx88_dvb in /etc/modules (needs to start early to load properly, not sure why)
  • disabled GDM in favour of a simple mingetty startup
  • user .xsession linked to /usr/share/mythbuntu/session.sh so we get the same xfce startup.
  • autostart irexec to restart MythTV and switch xorg layout between the Projector and TV

/etc/lircd/hardware.conf

Default chooser from mythbuntu did not find the usb device at /dev/usb/hiddev0, so need to edit this file explicitly.

#Chosen Remote Control
REMOTE="DVICO_MCE"
REMOTE_MODULES=""
REMOTE_DRIVER="dvico"
REMOTE_DEVICE="/dev/usb/hiddev0"
REMOTE_LIRCD_CONF="/usr/share/lirc/dvico/lircd.conf.fusionHDTV"
REMOTE_LIRCD_ARGS=""


xorg.conf for PE8700, Samsung LCD. See also the tips for the NVidiaProprietaryDriver

The FX5200 cards were the cause of my DVI problems on my projector. Apparently they freaks out a PCB component causing the EDID data to become corrupt. (the Gigabyte card lasted from Aug 2006 to Dec 2007. Fortunately the new nvidia driver allow you to use a CustomEDID to load the data from a file.

Option ExactModeTimingsDVI is important for the projector.

Option "UseEDIDDpi" "false" or some equivalent control of DPI is important for the Samsung television otherwise you get really small fonts (fixed in 0.21)

There are two layouts, the default uses outputs via VGA to a Samsung LCD television, the second uses DVI to the PE8700 projector.

Section "ServerLayout"
    Identifier     "Main" # PC VGA output to Samsung LCD television
    Screen         0 "LCD[0]" 0 0
    Option         "Xinerama" "off"
EndSection

Section "ServerLayout"
    Identifier     "Projector"
    Screen         0 "Projector[0]" 0 0
    Option         "Xinerama" "off"
EndSection
 
Section "Module"
        Load    "glx"
EndSection

Section "Device"
    Identifier     "FX5200[0]"
    Driver         "nvidia"
    BusID          "PCI:1:0:0"
    Screen         0
    Option         "NvAGP" "3"
EndSection

Section "Screen"
    Identifier     "LCD[0]"
    Device         "FX5200[0]"
    Monitor        "AnyMonitor"
    DefaultDepth    24
    Option         "UseEDIDDpi" "FALSE" #Computed DPI values not so good for TV display
    Option         "UseDisplayDevice" "CRT" # VGA out
    SubSection     "Display"
        Depth       24
        Modes       "1360x768" "800x600"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Projector[0]"
    Device         "FX5200[0]"
    Monitor        "AnyMonitor"
    Option         "ConnectedMonitor" "DFP"
    Option         "UseDisplayDevice" "DFP" # DVI out
    Option         "CustomEDID" "DFP-0:/etc/X11/benq-c.bin"

    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes       "1280x720" "800x600"
    EndSubSection
EndSection

Section "Monitor"
    Identifier   "AnyMonitor"
    Option       "DPMS"
    Option       "ExactModeTimingsDVI" "true"
    Option       "RenderAccel" "true"
EndSection

.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() {
rm $HOME/.serverauth.*
irexec --daemon $HOME/.lircrc >> $HOME/irexec.log

MYTHRC="$HOME/.mythrc"
if [ -r $MYTHRC ] ; then
   . $MYTHRC
fi

LAYOUT_SPEC=
[ ! -z "$LAYOUT" ] && LAYOUT_SPEC="-layout $LAYOUT"

startx --  $LAYOUT_SPEC -logverbose 5
}

tty | grep tty1 && start-frontend


.xsession To start Ratpoison, mythtv-setup and mythfrontend

#Remove blue background... from TV-Out picture
xvattr -a XV_COLORKEY -v 0
ratpoison &
echo $DISPLAY

if [ -r $HOME/.mythrc ] ; then
    . $HOME/.mythrc
    rm $HOME/.mythrc
fi

if [ ! -z "$MYTH_SETUP" ] ; then
   mythtv-setup
fi
mythfrontend  -l mfe.log  $MYTH_ARGS

.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" "$@"
}

parseopts() {
    MYTH_SETUP=
    LAYOUT=
    MYTH_ARGS=

    while [ ! -z "$1" ]
    do
        case "$1" in
            -l|--layout)
                LAYOUT="$2"
                shift;;
            -s|--setup)
                MYTH_SETUP="y"
                ;;
            -m|--mythargs)
                MYTH_ARGS="$2"
                shift
                ;;

            *) break ;;
        esac
        shift
    done
}


GETOPT=$(getopt -l "setup,layout:,mythargs:" -o "sl:m:" -- "$@")

if [ $? -ne 0 ] ; then
    exit 1
fi

eval parseopts $GETOPT

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

cat - << EOF > $HOME/.mythrc
LAYOUT=$LAYOUT
MYTH_SETUP="$MYTH_SETUP"
MYTH_ARGS="$MYTH_ARGS"
EOF

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 before running mythfrontend
begin
    button = cpf
    prog   = irexec
    config = /home/mythtv/bin/ir_mythtv.sh --setup &
end

#Bounce the tty, use the Projector layout.
begin
    button = tv_onoff
    prog   = irexec
    config = /home/mythtv/bin/ir_mythtv.sh --layout Projector &
end

0.21-fixes

upgrade smooth

0.20-fixes

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