Difference between revisions of "User:Lwoggardner"

From MythTV Official Wiki
Jump to: navigation, search
(Useful config info)
(Fixed projector, switched video cards, fixed Display Device switching)
Line 10: Line 10:
 
* 1GB Ram
 
* 1GB Ram
 
* 320GB Western Digital 7200rpm 8M Serial ATA HDD
 
* 320GB Western Digital 7200rpm 8M Serial ATA HDD
* Albatron FX5200LP 128M 8x Video Card with DVI output.
+
* <strike>Albatron FX5200LP 128M 8x Video Card with DVI output.</strike>
 +
* Gigabyte FX5200 128M 8x Video Card with DVI output.
  
 
* DVICO FusionHDTV Hybrid Tuner  
 
* DVICO FusionHDTV Hybrid Tuner  
Line 38: Line 39:
 
* [[MythGallery]]
 
* [[MythGallery]]
 
* [[MythDVD]] using xine as an external player
 
* [[MythDVD]] using xine as an external player
 +
* Using irexec to restart Myth, including with a different Layout to switch between the Projector and TV
  
 
== What's not ==
 
== What's not ==
* Multi-monitor config. I need an easy way to switch between MythTV running on my TV-Out and on the projector. There's some shows where it is just not worth wasting lamp hours on.
+
* The Gigabyte FX5200 card does not do PAL output properly, as it renders in B&W. Fortunately my TV autodetects NTSC colour.
* My projector. Apparently the DVI on the video card is not exactly to spec and freaks out a PCB component in the projector causing the EDID data to become corrupt.
+
* 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. (1 day and counting, so far so good on the Gigabyte card).
  
 
== What more do I want to do ==
 
== What more do I want to do ==
Line 48: Line 50:
  
 
== Useful config info ==
 
== Useful config info ==
xorg.conf for PE8700.
+
xorg.conf for PE8700 and TV-Out
ExactModeTimingsDVI is important!, not sure about the others.
+
 
+
Since nvidia version 8756 the Modeline is not required as it generates them from the EDID and specifying 1280x720 works fine.
+
  
 +
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.
 
<pre>
 
<pre>
 +
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"
 
Section "Monitor"
     Identifier     "Benq PE8700"
+
     Identifier   "Either"
     Option         "DPMS"
+
     Option       "DPMS"
     Option         "UseEDIDFreqs" "true"
+
     #Option     "UseEDIDFreqs" "true"
     Option         "ExactModeTimingsDVI" "true"
+
     Option       "ExactModeTimingsDVI" "true"
     Option             "ConnectedMonitor" "DFP"
+
     Option       "RenderAccel" "true"
     Option         "RenderAccel" "true"
+
     #Option     "TVStandard" "PAL-B"
     Modeline "pe8700" 74.160 1280 1352 1392 1648 720 725 730 750 -hsync -vsync
+
     Option      "TVOutFormat" "COMPOSITE"
 +
    Option      "TVOverScan" "0.5"
 
EndSection
 
EndSection
 
</pre>
 
</pre>
 
+
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
 
.asoundrc For ALSA digital audio out
Line 84: Line 108:
  
  
.profile to start X from the auto login
+
.profile to start X from the auto login, also starts irexec.
 
<pre>
 
<pre>
 +
PATH=$PATH:$HOME/bin
 +
 
start-frontend() {
 
start-frontend() {
 
irexec --daemon $HOME/.lircrc
 
irexec --daemon $HOME/.lircrc
startx -- -layout TV-Only -logverbose 5
+
 
 +
#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
 
tty | grep tty1 && start-frontend
 +
 
</pre>
 
</pre>
  
Line 110: Line 148:
 
</pre>
 
</pre>
  
script to restart MythTV via irexec. Mapped to a remote button via .lircrc
+
script to restart MythTV via irexec.
 
<pre>
 
<pre>
 
#!/bin/bash
 
#!/bin/bash
 
pkill -t tty1 -u mythtv mythfrontend
 
pkill -t tty1 -u mythtv mythfrontend
 +
if [ $# -gt 0 ] ; then
 +
  echo $1 > $HOME/.xlayout
 +
fi
 +
sleep 1
 
pkill -u mythtv irexec
 
pkill -u mythtv irexec
 
pkill -9 -t tty1 -u mythtv
 
pkill -9 -t tty1 -u mythtv
 +
</pre>
 +
 +
the .lircrc file (buttons as per the DVICO remote, which I think are now standard in the lirc distribution)
 +
<pre>
 +
## irexec
 +
# Bounce this tty
 +
begin
 +
    button = power_onoff
 +
    prog  = irexec
 +
    config = /home/mythtv/bin/ir_power_onoff.sh &
 +
end
 +
 +
#Run myth-setup
 +
begin
 +
    button = cpf
 +
    prog  = irexec
 +
    config = /home/mythtv/bin/ir_myth_setup.sh &
 +
end
 +
 +
#Bounce the tty, set the TV layout.
 +
begin
 +
    button = tv_onoff
 +
    prog  = irexec
 +
    config = /home/mythtv/bin/ir_power_onoff.sh TV-Only &
 +
end
 
</pre>
 
</pre>

Revision as of 01:54, 6 August 2006

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-25-amd64-k8
  • Patched v4l-dvb drivers (Many thanks to Chris Pascoe for getting the DVICO card going)
  • NVidia amd64 version 8762
  • lirc version 0.8.0 (Dapper upgrade changed device from /dev/usb/hiddev0 to /dev/hiddev0
  • Ratpoison window manager
  • 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

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
  • XvMC ( with Bob de-interlacing for HD channels. Have to manually turn it off for SD stuff).
  • XMLTV grabber from the OZTivo site
  • MythMusic
  • MythGallery
  • MythDVD using xine as an external player
  • Using irexec to restart Myth, including with a different Layout to switch between the Projector and TV

What's not

  • 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. (1 day and counting, so far so good on the Gigabyte card).

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 MFE and Ratpoison

#Remove default blue background around TV-out picture
xvattr -a XV_COLORKEY -v 0
ratpoison &
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

script to restart MythTV via irexec.

#!/bin/bash
pkill -t tty1 -u mythtv mythfrontend
if [ $# -gt 0 ] ; then
   echo $1 > $HOME/.xlayout
fi
sleep 1
pkill -u mythtv irexec
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_power_onoff.sh &
end

#Run myth-setup
begin
    button = cpf
    prog   = irexec
    config = /home/mythtv/bin/ir_myth_setup.sh &
end

#Bounce the tty, set the TV layout.
begin
    button = tv_onoff
    prog   = irexec
    config = /home/mythtv/bin/ir_power_onoff.sh TV-Only &
end