Difference between revisions of "User:Cowbutt"

From MythTV Official Wiki
Jump to: navigation, search
(OS Configuration)
(Software Specification)
Line 28: Line 28:
 
* DHCP daemon
 
* DHCP daemon
 
* netfilter/iptables firewall
 
* netfilter/iptables firewall
 +
* NTP server
 
* nVidia 96.43.01 drivers from ATrpms
 
* nVidia 96.43.01 drivers from ATrpms
 
* Xmame/Xmess 0.106, fceultra 0.98.12, VisualBoyAdvance 1.7.2, zsnes 1.52, dgen-sdl 1.23
 
* Xmame/Xmess 0.106, fceultra 0.98.12, VisualBoyAdvance 1.7.2, zsnes 1.52, dgen-sdl 1.23

Revision as of 15:00, 12 November 2007

Cowbutt's MythTV Page

With an eye on power consumption, I went for a combined frontend/backend implementation. I tried a quick run through with a scratch machine that I was no longer using. Once I'd determined, it'd probably be up for the job, I bought components specially.

Hardware Specification

  • Intel Celeron 1.7GHz CPU
  • 512MB RAM (originally 256MB)
  • Gigabyte GA-8PE667 Ultra Motherboard (i845PE)
  • Seagate ST3500630A PATA 500GB disc (OS, database, recordings)
  • Seagate ST3300622A PATA 300GB disc (originally only disc; now music, emulator ROMs)
  • LiteOn/JLMS XJ-HD165H DVD-ROM
  • NEC ND-4570A DVD+/-RW
  • Codegen ATX-9001 case
  • 1*Hauppauge Nova-T DVB-T tuner (originally 2)
  • 1*Hauppauge Nova-T-500 dual DVB-T tuner with Hauppauge infra-red remote control
  • 1*Pace Bt878 Analogue NICAM/FM tuner (not currently used)
  • 1*D-Link quad-port NIC
  • GeForce4 MX 440 AGP 128MB fanless VGA card (bought used to replace failing cheaper nVidia card)
  • home-built VGA-to-RGB SCART adaptor with integrated audio in/out and composite from SCART
  • 2*PADIX/Rockfire PX-205 PSX-USB Bridge with two Logic-7 Playstation dual-shock gamepads
  • Ruwido/Chicony KB-9820 infra-red PS/2 keyboard/mousepad

Software Specification

  • Fedora Core 8 running 2.6.23.1-42.fc8 kernel and standard video4linux drivers
  • MythTV 20.2 from ATrpms
  • pdnsd caching DNS server
  • privoxy ad-filtering HTTP proxy
  • DHCP daemon
  • netfilter/iptables firewall
  • NTP server
  • nVidia 96.43.01 drivers from ATrpms
  • Xmame/Xmess 0.106, fceultra 0.98.12, VisualBoyAdvance 1.7.2, zsnes 1.52, dgen-sdl 1.23
  • dvb-usb-dib0700-1.10.fw firmware for Nova-T-500

OS Configuration

Partitioning

/dev/sda1    2668MiB /           ext3
/dev/sda2    2668MiB spare
/dev/sda3    2691MiB swap
/dev/sda4          - extended
/dev/sda5  410089MiB /myth/video jfs
/dev/sda6   23847MiB /tmp        ext2
/dev/sda7    9547MiB /var        ext3
/dev/sda8   19086MiB /usr        ext3
/dev/sda9    6346MiB /home       ext3

/dev/sdb1    2668MiB spare
/dev/sdb2    2668MiB spare
/dev/sdb3    2691MiB spare
/dev/sdb4          - extended
/dev/sdb5   74395MiB spare
/dev/sdb6    9547MiB spare
/dev/sdb7    1914MiB spare
/dev/sdb8   14316MiB spare
/dev/sdb9   76301MiB /myth/music     ext2
/dev/sdb10 101670MiB /myth/emulators ext2

/etc/X11/xorg.conf


# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 1.0  (buildmeister@builder3)  Wed Dec 14 16:39:22 PST 2005
# XFree86 4 configuration created by pyxf86config

Section "ServerLayout"
	Identifier     "Default Layout"
	Screen      0  "Screen0" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"

# RgbPath is the location of the RGB database.  Note, this is the name of the 
# file minus the extension (like ".txt" or ".db").  There is normally
# no need to change the default.
# Multiple FontPath entries are allowed (they are concatenated together)
# By default, Red Hat 6.0 and later now use a font server independent of
# the X server to render fonts.
	RgbPath      "/usr/X11R6/lib/X11/rgb"
	ModulePath   "/usr/X11R6/lib/modules/extensions/nvidia"
	ModulePath   "/usr/X11R6/lib/modules/extensions"
	ModulePath   "/usr/X11R6/lib/modules"
	ModulePath   "/usr/lib/xorg/modules/"
EndSection

Section "ServerFlags"
	Option	    "AllowMouseOpenFail"
EndSection

Section "InputDevice"

# Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
#	Option	"Xleds"		"1 2 3"
# To disable the XKEYBOARD extension, uncomment XkbDisable.
#	Option	"XkbDisable"
# To customise the XKB settings to suit your keyboard, modify the
# lines below (which are the defaults).  For example, for a non-U.S.
# keyboard, you will probably want to use:
#	Option	"XkbModel"	"pc102"
# If you have a US Microsoft Natural keyboard, you can use:
#	Option	"XkbModel"	"microsoft"
#
# Then to change the language, change the Layout setting.
# For example, a german layout can be obtained with:
#	Option	"XkbLayout"	"de"
# or:
#	Option	"XkbLayout"	"de"
#	Option	"XkbVariant"	"nodeadkeys"
#
# If you'd like to switch the positions of your capslock and
# control keys, use:
#	Option	"XkbOptions"	"ctrl:swapcaps"
# Or if you just want both to be control, use:
#	Option	"XkbOptions"	"ctrl:nocaps"
#
	Identifier  "Keyboard0"
	Driver      "kbd"
	Option	    "XkbModel" "pc105"
	Option	    "XkbLayout" "gb"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "IMPS/2"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5"
	Option	    "Emulate3Buttons" "yes"
EndSection

Section "Monitor"

#    HorizSync       31.5 - 37.9
#    VertRefresh     50.0 - 70.0
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Unknown monitor"
	HorizSync    0.0 - 16.0
	VertRefresh  49.0 - 62.0
	ModeLine     "800x576pali" 15.4 800 823 895 984 576 580 583 625 -hsync -vsync interlace
	ModeLine     "800x288pal-half" 15.4 800 823 895 984 288 290 292 313 -hsync -vsync
#	ModeLine     "768x576pali" 14.8 768 789 858 944 576 581 586 625 -hsync -vsync interlace
# 768x576@14.75 is 15.625kHz horiz sync
	ModeLine     "768x576pali" 14.75 768 789 858 944 576 581 586 625 -hsync -vsync interlace
	ModeLine     "768x288pal-half" 14.8 768 792 856 944 288 290 292 313 -hsync -vsync
#	ModeLine     "720x576pali" 13.9 720 744 808 888 576 580 583 625 -hsync -vsync interlace

# dvb is normally 720x576, 4:3 analogue is normally 768x576
# previous best
# 720x576 w/ 13.5MHz dotclock is 50.0000Hz, 15.6250kHz, checked with hacked xvidtune
# and manually: 864 * 15625 = 13.5M
# Good, but a bit too far to the right - AJB 20071110
#	ModeLine     "720x576pali" 13.5 720 722 786 864 576 581 586 625 -hsync -vsync interlace

#	ModeLine     "720x576pali" 13.5 720 727 791 864 576 581 586 625 -hsync -vsync interlace
#	ModeLine     "720x576pali" 13.5 720 737 801 864 576 581 586 625 -hsync -vsync interlace
	ModeLine     "720x576pali" 13.5 720 757 821 864 576 581 586 625 -hsync -vsync interlace

# worth trying if 720x576@13.5 flickers:
# from http://www.avforums.com/forums/showthread.php?t=136811&page=33
# ModeLine "720x576" 15.125 720 762 834 968 576 579 607 625 -hsync -vsync interlace
# from http://www.avforums.com/forums/showthread.php?t=136811&page=27
ModeLine "1024x576" 19.750 1024 1056 1152 1264 576 581 586 625 -hsync -vsync interlace

#	ModeLine     "720x288pal-half" 13.9 720 744 808 888 288 290 292 313 -hsync -vsync
# should be 13.875MHz for 15.625kHz horiz sync
	ModeLine     "720x288pal-half" 13.875 720 744 808 888 288 290 292 313 -hsync -vsync
# previously used for some oddball broadcasts
# 704x576 w/ 13.5MHz dotclock is 50.0000Hz, 15.6250kHz, checked with hacked xvidtune
	ModeLine     "704x576pali" 13.5 704 720 784 864 576 580 583 625 -hsync -vsync interlace
	ModeLine     "704x288pal-half" 13.5 704 720 784 864 288 290 292 313 -hsync -vsync

# appears to be closest to PAL spec, according to:
# http://www.gossamer-threads.com/lists/mythtv/users/191409?search_string=interlace;#191409
# http://www.gossamer-threads.com/lists/mythtv/users/100222?search_string=scart;#100222
# still flickers occasionally with 8776 drivers
# 720x576 w/ 13.875MHz dotclock is 49.98Hz according to xvidtune
#	ModeLine     "720x576pali" 13.875 720 744 808 888 576 581 586 625 -hsync -vsync interlace
#	ModeLine     "720x288pal-half" 13.875 720 744 808 888 288 290 293 313 -hsync -vsync
#	ModeLine     "704x576pali" 13.6 704 728 792 872 576 581 586 625 -hsync -vsync interlace
#	ModeLine     "704x288pal-half" 13.6 704 728 792 872 288 290 293 313 -hsync -vsync

# previously used for some oddball broadcasts
#	ModeLine     "704x576pali" 13.5 704 720 784 864 576 580 583 625 -hsync -vsync interlace
#	ModeLine     "704x288pal-half" 13.5 704 720 784 864 288 290 292 313 -hsync -vsync

	ModeLine     "648x576pali" 12.5 648 664 720 824 576 580 583 625 -hsync -vsync interlace
	ModeLine     "648x288pal-half" 12.5 648 664 720 824 288 290 292 313 -hsync -vsync
	ModeLine     "800x480ntsci" 15.1 800 808 879 960 480 484 487 525 -hsync -vsync interlace
	ModeLine     "800x240ntsc-half" 15.1 800 808 879 960 240 242 244 263 -hsync -vsync
	ModeLine     "720x480ntsci" 13.6 720 728 792 864 480 484 487 525 -hsync -vsync interlace
	ModeLine     "720x240ntsc-half" 13.6 720 728 792 864 240 242 244 263 -hsync -vsync
	ModeLine     "704x480ntsci" 13.3 704 712 776 848 480 484 487 525 -hsync -vsync interlace
	ModeLine     "704x240ntsc-half" 13.3 704 712 776 848 240 242 244 263 -hsync -vsync
	ModeLine     "657x480ntsci" 12.5 656 664 728 792 480 484 487 525 -hsync -vsync interlace
	ModeLine     "657x240ntsc-half" 12.5 656 664 728 792 240 242 244 263 -hsync -vsync
	ModeLine     "320x256pal" 10.9 320 352 368 400 256 261 264 269 -hsync -vsync doublescan
	ModeLine     "320x512pali" 5.5 320 352 368 400 512 523 527 539 -hsync -vsync interlace
	ModeLine     "320x200pal" 8.4 320 352 368 400 200 204 206 211 -hsync -vsync doublescan
	ModeLine     "320x400pali" 4.2 320 352 360 392 400 409 411 421 -hsync -vsync interlace
	ModeLine     "320x400ntsci" 5.1 320 352 368 400 400 409 411 421 -hsync -vsync interlace
	ModeLine     "320x200ntsc" 10.2 320 352 368 400 200 204 206 211 -hsync -vsync doublescan
	ModeLine     "352x288pald" 13.5 352 392 492 512 288 292 300 304 -hsync -vsync doublescan
	ModeLine     "352x288paldi" 13.5 352 392 492 512 288 292 300 304 -hsync -vsync interlace doublescan
	Option	    "dpms"
EndSection

Section "Device"

# next line might make XvMC work
# or fix NV WAIT problems
# ...maybe, but makes picture bounce - AJB 20060403
    Option         "NvAgp" "1"
    Option         "UseEvents" "True"
# another thing that might help with NV WAIT - AJB 20060403
#    Option         "TVStandard" "PAL-I"
	Identifier  "Videocard0"
	Driver      "nvidia"
	VendorName  "Videocard vendor"
	BoardName   "NVIDIA GeForce 4 (generic)"
	Option	    "RenderAccel" "off"
#    Option         "TVOutFormat" "COMPOSITE"
	Option	    "ConnectedMonitor" "CRT"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Videocard0"
	Monitor    "Monitor0"
	DefaultDepth     24
	SubSection "Display"
		Viewport   0 0
		Depth     16
		Modes    "1024x576" "720x576pali" "720x288pal-half" "704x576pali" "704x288pal-half" "648x576pali" "648x288pal-half"
#		Modes    "720x576pali" "720x288pal-half" "704x576pali" "704x288pal-half" "648x576pali" "648x288pal-half"
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
		Modes    "1024x576" "720x576pali" "720x288pal-half" "704x576pali" "704x288pal-half" "648x576pali" "648x288pal-half"
#		Modes    "720x576pali" "720x288pal-half" "704x576pali" "704x288pal-half" "648x576pali" "648x288pal-half"
	EndSubSection
EndSection

/etc/rc.d/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local
# mtd needs mysqld to be up, so moved to mythbackend initscript
# AJB 20071106
#/usr/bin/mtd --daemon
setkeycodes e01e 120
/sbin/setpci -s 00:1f.1 latency_timer=b0 # Intel IDE
/sbin/setpci -s 02:0c.0 latency_timer=b0 # Promise IDE

# nvidia recommended setting as per <http://www.nvnews.net/vbulletin/showpost.php?p=854678&postcount=5>
# - AJB 20060403
/sbin/setpci -s 01:00.0 latency_timer=80

# 240*5s=20m
#hdparm -S 240 /dev/sdb
# AJB 20071105 - 2*30m=60m
hdparm -S 242 /dev/sdb

/etc/lircd.conf


# Please make this file available to others
# by sending it to <lirc@bartelmus.de>
#
# this config file was automatically generated
# using lirc-0.8.0(userspace) on Sun Mar  5 23:39:07 2006
#
# contributed by Alex Butcher
#
# brand: Hauppage Nova-T 909               myconfig.conf
# model no. of remote control: 
# devices being controlled by this remote:
#

begin remote

  name  myconfig.conf
  bits           16
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  pre_data_bits   16
  pre_data       0x8001
  gap          135678
  toggle_bit      0


      begin codes
          Go                       0x0161
          Power                    0x0074
          TV                       0x0179
          Videos                   0x0189
          Music                    0x0188
          Pictures                 0x016F
          Guide                    0x016D
          Radio                    0x0181
          UP                       0x0067
          LEFT                     0x0069
          RIGHT                    0x006A
          DOWN                     0x006C
          OK                       0x001C
          Back                     0x00AE
          Menu                     0x008B
          VolumeUp                 0x0073
          VolumeDown               0x0072
          Prev-Ch                   0x019C
          ChannelUp                0x0192
          ChannelDown              0x0193
          Mute                     0x0071
          Record                   0x00A7
          Stop                     0x0080
          Replay                   0x00A8
          Play                     0x00CF
          Skip                     0x00D0
          PreviousTrack            0x00A5
          Pause                    0x0077
          NextTrack                0x00A3
          1                        0x0002
          2                        0x0003
          3                        0x0004
          4                        0x0005
          5                        0x0006
          6                        0x0007
          7                        0x0008
          8                        0x0009
          9                        0x000a
          Asterisk                 0x0184
          0                        0x000b
          Hash                     0x0172
          Red                      0x018E
          Green                    0x018F
          Yellow                   0x0190
          Blue                     0x0191
      end codes

end remote

MythTV Playback Settings

  • Deinterlace, Linear Blend (interlaced output sometimes gets out-of-sync with TV)
  • Use 1024x576 for UI, 720x576pali for playback
  • disable OpenGL sync
  • enable SyncToVBlank=1, XVideoTextureSyncToVBlank=1 and XVideoBlitterSyncToVBlank=1 in $HOME/.nvidia-settings-rc