MythTV 0.27 Frontend on CentOS v6.4
Old notes from 2013.
- Build a minimal Gnome desktop machine
- Configure networking
- Setup sudo
- Add user ssh publick keys and lock down ssh
- Disable unused services
- Configure NTP
- Install MythTV frontend
- Install nvidia drivers
Install MythTV
# rpm -Uvh http://dl.atrpms.net/all/atrpms-repo-6-6.el6.x86_64.rpm
Add the following to a repo configuration file (e.g. '/etc/yum.repos.d/mythtv-stephen-collier.repo')
#
#
# Note: the stephenpv.homedns.org FTP server is only up in the envenings (Sydney AU time)
#
[mythtv-stephen-collier]
name=A CentOS Build of MythTV v0.27 by Stephen Collier
baseurl=http://share.lucidsolutions.co.nz/centos-mythtv-0.27/$basearch
ftp://stephenpv.homedns.org/pub/home/RPMS/$basearch/
enabled=1
gpgcheck=0
[mythtv-stephen-collier-source]
name=A CentOS Build of MythTV v0.27 by Stephen Collier
# baseurl=http://share.lucidsolutions.co.nz/centos-mythtv-0.27/$basearch
baseurl=ftp://stephenpv.homedns.org/pub/home/SRPMS/
enabled=0
# yum install mythtv-frontend
NVidia drivers
# yum install nvidia-graphics319.49
Add the following to the end of the kernel command line in '/boot/grub/grub.conf':
rdblacklist=nouveau
Automatic login
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=mythtv
Sound
The sound is a NVidia CK804 which has caused me a great deal of grief when attempting to get digital sound out working. The machine has two sound cards:
- nVidia CK804 chipset sound (card 0)
- nVidia HDMI sound (card 1 and 2)
Configure the driver to output digital sound with the file '/etc/modprobe.d/ck804.conf':
options snd_intel8x0 spdif_aclink=1The receiver (amplifier) requires digital sound only (not through a HDMI port).
Lirc
Install LIRC from atrpms
# yum install lirc lirc-devices lirc-kmdl-`uname -r`
Copy the same configuration file for MCE USB remote control
# cp /usr/share/doc/lirc-0.8.7/remotes/mceusb/lircd.conf.mceusb /etc/lirc/lircd.conf
Start the LIRC service
# chkconfig lircd on # service lircd start
Copy a lircrc file for the MCE USB to '~mythtv/.mythtv/lircrc', where the mythtv user is the identity the frontend runs as.
Mount movies
Movies and video for the frontend are provided over NFS. Create the mount point directory ('/mnt/mp4'). Add a '/etc/fstab' entry to mount them:
10.20.100.2:/mnt/tank/ds-video /mnt/mp4 nfs ro,addr=10.20.100.2,intr,nolock,nfsvers=3 0 0
Ensure that the netfs service is enabled so that they are remounted at boot.
Links
Appendices
yum install mythtv-frontend
--> Finished Dependency Resolution Dependencies Resolved =================================================================================================== Package Arch Version Repository Size =================================================================================================== Installing: mythtv-frontend x86_64 0.27-302.el6 mythtv-stephen-collier 9.0 M Installing for dependencies: ImageMagick x86_64 6.5.4.7-6.el6_2 base 1.7 M MySQL-python x86_64 1.2.3-0.3.c1.1.el6 base 86 k SDL x86_64 1.2.14-3.el6 base 193 k aalib x86_64 1.4-4_rc5.el6 atrpms 93 k arts x86_64 8:1.5.10-10.el6 base 966 k audiofile x86_64 1:0.2.6-11.1.el6 base 95 k avahi-compat-libdns_sd x86_64 0.6.25-12.el6 base 28 k compat-usrmove-ldconfig x86_64 1.0-1.el6 atrpms 1.9 k crystalhd-firmware noarch 3.10.0-3.99.el6 atrpms 1.1 M dirac-libs x86_64 1.0.0-1.el6 atrpms 338 k directfb x86_64 1.4.3-1.el6 atrpms 1.2 M enca x86_64 1.13-1.el6 atrpms 102 k esound-libs x86_64 1:0.2.41-3.1.el6 base 74 k fftw x86_64 3.2.2-14.el6 atrpms 1.6 M freeglut x86_64 2.6.0-1.el6 base 171 k giflib x86_64 4.1.6-3.1.el6 base 37 k glib x86_64 1:1.2.10-33.el6 atrpms 133 k google-droid-sans-fonts noarch 20100409-1 atrpms 2.5 M gsm x86_64 1.0.13-4.el6 base 27 k gtk+ x86_64 1:1.2.10-70.el6 atrpms 835 k jack-audio-connection-kit x86_64 0.116.1-6_1.el6 atrpms 179 k libXaw x86_64 1.0.11-2.el6 base 178 k libXpm x86_64 3.5.10-2.el6 base 51 k liba52_0 x86_64 0.7.4-7.0.1.el6 atrpms 23 k libavcodec54 x86_64 1.2.3-59.el6 atrpms 2.9 M libavformat54 x86_64 1.2.3-59.el6 atrpms 618 k libavutil52 x86_64 1.2.3-59.el6 atrpms 84 k libcaca x86_64 0.99-0.9.beta16.el6 atrpms 182 k libcrystalhd x86_64 3.10.0-3.99.el6 atrpms 48 k libdca0 x86_64 0.0.5-4.el6 atrpms 88 k libdvdread x86_64 4.1.4-0.3.svn1183.el6 base 63 k libfaac0 x86_64 1.28-6.el6 atrpms 36 k libfaad2 x86_64 1:2.7-18.el6 atrpms 141 k libfreebob x86_64 1.0.11-6.el6 atrpms 130 k liblirc_client0 x86_64 0.8.7-88.el6 atrpms 18 k libmad0 x86_64 0.15.1b-4.el6 atrpms 54 k libmikmod x86_64 3.2.0-21.el6 atrpms 134 k libmp3lame0 x86_64 3.99.3-23.el6 atrpms 129 k libmpcdec x86_64 1.2.6-6.1.el6 base 26 k libmpeg2_0 x86_64 0.5.1-5.el6 atrpms 39 k libmpeg2convert0 x86_64 0.5.1-5.el6 atrpms 12 k libmyth-0.27_0 x86_64 0.27-302.el6 mythtv-stephen-collier 1.6 M libmythavcodec54 x86_64 0.27-302.el6 mythtv-stephen-collier 2.9 M libmythavdevice54 x86_64 0.27-302.el6 mythtv-stephen-collier 43 k libmythavfilter3 x86_64 0.27-302.el6 mythtv-stephen-collier 307 k libmythavformat54 x86_64 0.27-302.el6 mythtv-stephen-collier 633 k libmythavutil52 x86_64 0.27-302.el6 mythtv-stephen-collier 100 k libmythbase-0.27_0 x86_64 0.27-302.el6 mythtv-stephen-collier 520 k libmythfreemheg-0.27_0 x86_64 0.27-302.el6 mythtv-stephen-collier 162 k libmythhdhomerun-0.27_0 x86_64 0.27-302.el6 mythtv-stephen-collier 49 k libmythmetadata-0.27_0 x86_64 0.27-302.el6 mythtv-stephen-collier 311 k libmythnzmqt0 x86_64 0.27-302.el6 mythtv-stephen-collier 54 k libmythpostproc52 x86_64 0.27-302.el6 mythtv-stephen-collier 90 k libmythprotoserver-0.27_0 x86_64 0.27-302.el6 mythtv-stephen-collier 91 k libmythqjson0 x86_64 0.27-302.el6 mythtv-stephen-collier 85 k libmythservicecontracts-0.27_0 x86_64 0.27-302.el6 mythtv-stephen-collier 87 k libmythswresample0 x86_64 0.27-302.el6 mythtv-stephen-collier 57 k libmythswscale2 x86_64 0.27-302.el6 mythtv-stephen-collier 116 k libmythtv-0.27_0 x86_64 0.27-302.el6 mythtv-stephen-collier 3.1 M libmythui-0.27_0 x86_64 0.27-302.el6 mythtv-stephen-collier 684 k libmythupnp-0.27_0 x86_64 0.27-302.el6 mythtv-stephen-collier 258 k libmythzmq1 x86_64 0.27-302.el6 mythtv-stephen-collier 95 k libnemesi x86_64 0.6.9-0.1.20090422git.el6 atrpms 70 k libopencore-amrnb0 x86_64 0.1.3-1.el6 atrpms 91 k libopencore-amrwb0 x86_64 0.1.3-1.el6 atrpms 46 k libpostproc52 x86_64 1.2.3-59.el6 atrpms 73 k libquicktime0 x86_64 1.2.4-31.el6 atrpms 190 k librtmp0 x86_64 2.3-1.el6 atrpms 43 k libsysfs x86_64 2.1.0-7.el6 base 44 k libva-glx1 x86_64 1.0.15-7.el6 atrpms 15 k libva-x11_1 x86_64 1.0.15-7.el6 atrpms 18 k libva1 x86_64 1.0.15-7.el6 atrpms 32 k libvdpau1 x86_64 0.7-5.el6 atrpms 7.7 k libvncserver x86_64 0.9.7-4.el6 base 159 k libvpx x86_64 1.0.0-1.el6 atrpms 197 k libwmf-lite x86_64 0.2.8.4-22.el6.centos base 51 k libx264_136 x86_64 0.136-19_20130917.2245.el6 atrpms 378 k libxavs1 x86_64 0.1.51-2.el6 atrpms 133 k libxvidcore4 x86_64 1.3.2-15.el6 atrpms 182 k live x86_64 2012.02.04-1.el6 atrpms 294 k lksctp-tools x86_64 1.0.10-5.el6 base 77 k lzo x86_64 2.03-3.1.el6 base 55 k mailcap noarch 2.1.31-2.el6 base 27 k mjpegtools x86_64 1:2.0.0-22.el6 atrpms 734 k mpg123 x86_64 1.15.4-1.el6 atrpms 255 k mplayer x86_64 4:1.2-92_snap20130920.el6 atrpms 14 M mplayer-fonts noarch 4:1.0-7.at atrpms 1.0 M mplayer-skins noarch 4:1.0-16 atrpms 14 M mythtv-common x86_64 0.27-302.el6 mythtv-stephen-collier 638 k mythtv-themes x86_64 0.27-302.el6 mythtv-stephen-collier 13 M nas-libs x86_64 1.9.2-1.el6 atrpms 74 k netembryo x86_64 0.0.9-1.el6 atrpms 24 k openal-soft x86_64 1.12.854-1.el6 atrpms 128 k orc x86_64 0.4.10-1.el6 atrpms 141 k perl-Compress-Raw-Zlib x86_64 1:2.020-131.el6_4 updates 68 k perl-Compress-Zlib x86_64 2.020-131.el6_4 updates 44 k perl-DBI x86_64 1.609-4.el6 base 705 k perl-HTML-Parser x86_64 3.64-2.el6 base 109 k perl-HTML-Tagset noarch 3.20-4.el6 base 17 k perl-IO-Compress-Base x86_64 2.020-131.el6_4 updates 68 k perl-IO-Compress-Zlib x86_64 2.020-131.el6_4 updates 134 k perl-MythTV x86_64 0.27-302.el6 mythtv-stephen-collier 44 k perl-URI noarch 1.40-2.el6 base 117 k perl-libwww-perl noarch 5.833-2.el6 base 387 k portaudio x86_64 19-6_4_20071207.el6 atrpms 89 k python-MythTV x86_64 0.27-302.el6 mythtv-stephen-collier 310 k qt48 x86_64 1:4.8.5-8.el6 mythtv-stephen-collier 4.3 M qt48-mysql x86_64 1:4.8.5-8.el6 mythtv-stephen-collier 31 k qt48-x11 x86_64 1:4.8.5-8.el6 mythtv-stephen-collier 12 M qtwebkit x86_64 2.0-3.el6 atrpms 5.1 M schroedinger x86_64 1.0.10-1.el6 atrpms 271 k svgalib x86_64 1.9.25-8.el6 atrpms 413 k transcode x86_64 1.1.7-49.el6 atrpms 1.3 M tslib x86_64 1.0-2.el6 atrpms 49 k twolame x86_64 0.3.12-2.el6 atrpms 75 k xmms-libs x86_64 1:1.2.11-40.el6 atrpms 273 k Transaction Summary =================================================================================================== Install 117 Package(s) Total download size: 109 M Installed size: 287 M
NVidia drivers
Dependencies Resolved =================================================================================================== Package Arch Version Repository Size =================================================================================================== Installing: nvidia-graphics319.49 x86_64 319.49-160.el6 atrpms 3.5 M Installing for dependencies: nvidia-graphics-devices noarch 1.0-6.el6 atrpms 2.4 k nvidia-graphics-helpers x86_64 0.0.30-33.el6 atrpms 6.4 k nvidia-graphics319.49-kmdl-2.6.32-358.el6 x86_64 319.49-160.el6 atrpms 3.2 M nvidia-graphics319.49-libs x86_64 319.49-160.el6 atrpms 22 M Transaction Summary =================================================================================================== Install 5 Package(s) Total download size: 29 M Installed size: 119 M
NVidia conflict with Nouvea driver
The nvdia driver would not load, hence X would not start. The dmesg error was:
kernel: nvidia: module license 'NVIDIA' taints kernel. kernel: Disabling lock debugging due to kernel taint kernel: NVRM: The NVIDIA probe routine was not called for 1 device(s). kernel: NVRM: This can occur when a driver such as nouveau, rivafb, kernel: NVRM: nvidiafb, or rivatv was loaded and obtained ownership of kernel: NVRM: the NVIDIA device(s). kernel: NVRM: Try unloading the conflicting kernel module (and/or kernel: NVRM: reconfigure your kernel without the conflicting kernel: NVRM: driver(s)), then try loading the NVIDIA kernel module kernel: NVRM: again. kernel: NVRM: No NVIDIA graphics adapter probed!
# modprobe nvidia FATAL: Error inserting nvidia_319_49 (/lib/modules/2.6.32-358.23.2.el6.x86_64/updates/drivers/video/nvidia/nvidia-319_49.ko): No such device
Add the following to the end of the kernel command line in '/boot/grub/grub.conf':
rdblacklist=nouveau
Sound
# aplay -l **** List of PLAYBACK Hardware Devices **** card 0: CK804 [NVidia CK804], device 0: Intel ICH [NVidia CK804] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0
# aplay -L default Default front:CARD=CK804,DEV=0 NVidia CK804, NVidia CK804 Front speakers surround40:CARD=CK804,DEV=0 NVidia CK804, NVidia CK804 4.0 Surround output to Front and Rear speakers surround41:CARD=CK804,DEV=0 NVidia CK804, NVidia CK804 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=CK804,DEV=0 NVidia CK804, NVidia CK804 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=CK804,DEV=0 NVidia CK804, NVidia CK804 5.1 Surround output to Front, Center, Rear and Subwoofer speakers iec958:CARD=CK804,DEV=0 NVidia CK804, NVidia CK804 IEC958 (S/PDIF) Digital Audio Output hdmi:CARD=NVidia,DEV=0 HDA NVidia, HDMI 0 HDMI Audio Output hdmi:CARD=NVidia,DEV=1 HDA NVidia, HDMI 1 HDMI Audio Output
LIRC
Dependencies Resolved ======================================================================================== Package Arch Version Repository Size ======================================================================================== Installing: lirc x86_64 0.8.7-88.el6 atrpms 552 k lirc-devices noarch 0.8-4.el6 atrpms 2.5 k lirc-kmdl-2.6.32-358.23.2.el6 x86_64 0.8.7-88.el6 atrpms 79 k Installing for dependencies: libftdi1 x86_64 0.16-7_1.el6 atrpms 12 k libirman0 x86_64 0.4.5-7.el6 atrpms 12 k Transaction Summary ======================================================================================== Install 5 Package(s) Total download size: 658 k Installed size: 2.7 M
Storage VLAN Network
The NFS storage is provided via a non-routable VLAN interface with a private/ULA address only. The configuration file '/etc/sysconfig/network-script/ifcfg-eth0.200':
DEVICE=eth0.200 TYPE=Ethernet ONBOOT=yes BOOTPROTO=none NM_CONTROLLED=no # IPv4 IPADDR=10.20.100.5 NETMASK=255.255.255.0 MTU=9000 # IPv6 IPV6ADDR=fd0c:898b:471c:0064::5/64 IPV6_MTU=9000