Personal tools
You are here: Home Linux MythTV Install MythTV Frontend v27.5 on Centos v7.1 (scrpms)
 

Install MythTV Frontend v27.5 on Centos v7.1 (scrpms)

Old notes from a previous install from 2016.

These are notes on installing MythTV frontend on a low end old AMD frontend, with a nVidia graphics card, a Microsoft remote and NFS for video. The MythTV backend and MySQL/MariaDB database server run on independent virtual machines (not covered by these notes).

This install was done while ATrpms was down (with the possibility that it may not return).  I had a local copy of the ATrpms mirror I used for dependencies.

 

Steps

  1. Install base machine (CentOS 7)
  2. Install nVidia graphics driver
  3. Install MythTV frontend
  4. Add a mythtv user that auto-logins in and runs mythtv frontend
  5. Disable screen savers
  6. Add an NFS share with videos
  7. Configure sound via HDMI

 

Install the base operating system with gnome and setup network connectivity.

Set the hostname in '/etc/hostname':

cobalt.lucidsolutions.co.nz

Disable network manager on the main network interface:

NAME=enp3s0
UUID=f4889efb-8b0b-4b2b-84dc-f12c5ac3268e
HWADDR=2C:53:4A:00:3B:C8
TYPE=Ethernet
BOOTPROTO=none
NM_CONTROLLED=no
ONBOOT=yes
MTU=9000

DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPADDR=10.20.12.6
PREFIX=24
GATEWAY=10.20.12.1

IPV6INIT=yes
IPV6_AUTOCONF=no
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6ADDR=2001:4428:225:c::6/64
IPV6ADDR_SECONDARIES=fd0c:898b:471c:c::6/64
IPV6_DEFAULTGW=fe80::1


DNS1=10.20.2.5
DNS2=10.20.12.2
DNS3=10.20.0.1
DNS4=fd0c:898b:471c:c::2
DNS5=fd0c:898b:471c:2::5

Lock down ssh.

Repositories

Setup the following RPM repositories:

  1. scrpms (mythtv)
  2. atrpms (dead)
  3. epel (dependency)
  4. elrepo (nVidia driver)

 

 

# rpm -Uvh http://mirror.xnet.co.nz/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
# rpm -Uvh http://dl.atrpms.net/all/atrpms-repo-7-7.el7.x86_64.rpm
# yum install http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

Create a local repo file for scrpms in '/etc/yum.repos.d/scrpms.repo':

[scrpms]
name=A CentOS Build of MythTV v0.27 by Stephen Collier
baseurl=http://scrpms.net/pub/RPMS/el7/$basearch/
        ftp://167.160.167.42/pub/RPMS/el7/$basearch/
        http://share.lucidsolutions.co.nz/scrpms/RPMS/el7/$basearch/
gpgkey=http://scrpms.net/pub/RPM-GPG-KEY.scrpms
enabled=1
gpgcheck=1

Note: At the time of writing ATRpms was down, so I used my local (private) mirror:

# rpm -Uvh http://mirror.lucidsolutions.co.nz/atrpms/el7/x86_64/stable/atrpms-repo-7-7.el7.x86_64.rpm

Install

 


yum install kmod-nvidia
yum remove xorg
-x11-glamor
# yum install mythtv-frontend

Disable nouvea driver

 

Add a blacklist command to the linux command line in '/etc/default/grub':

GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet rdblacklist=nouveau"

And regenerate the grub configuration:

# grub2-mkconfig -o /boot/grub2/grub.cfg

Frontend User

Add a user for the front-end.

# adduser mythtv
# passwd mythtv

Automatic lauch

Auto login

Edit '/etc/gdm/custom.conf' to configure the mythtv user to automatically log in:

[daemon]

AutomaticLoginEnable=true

AutomaticLogin=mythtv

Auto start

Create a startup script that will lauch (and re-lauch if it crashes) the mythfrontend program as '/usr/local/bin/start-mythtvfrontend'. Tweak this up as required to display screen savers etc.  Due to bug 12034 I have to display the http proxy settings otherwise recordings won't play.

#!/bin/bash

# see https://code.mythtv.org/trac/ticket/12034
export http_proxy=
export https_proxy=
export ftp_proxy=
export no_proxy=

xset -dpms s off
xsetroot -solid black

while ( ! $( mythfrontend > /tmp/mythfrontend.log 2>&1 ) ) ; do
  echo "Restart in a few seconds"
  sleep 5s
done

Create a gnome autostart desktop file '~mythtv/.config/autostart/mythtv-frontend.desktop':

[Desktop Entry]
Type=Application
Name=MythTV Frontend
Exec=/usr/local/bin/start-mythtvfrontend
Icon=mythfrontend.png
Categories=X-Red-Hat-Extra;Application;AudioVideo;

Videos

Mount the collection of video using NFS. This is made available over a storage VLAN. Add a network sub-interface  configuration file '/etc/sysconfig/network-scripts/ifcfg-enp3s0.200':

VLAN=yes
DEVICE=enp3s0.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

Create a directory for the NFS mount

# mkdir /mnt/mp4

Add an entry to '/etc/fstab':

10.20.100.2:/mnt/puddle/ds-video          /mnt/mp4                nfs4    ro               0 0

Verify that the NFS mount is operational (mount -a)

Remote control

Add Linux device input support

# yum install v4l-utils lirc lirc-remotes iguanaIR libcec
Note: '

iguanaIR' is an unexpressed library dependency.

/bin/cp /usr/share/lirc-remotes/devinput/lircd.conf.devinput /etc/lirc/lircd.conf
systemctl enable lircd
systemctl start lircd

Disable unused services

 

# for S in ModemManager cups firewalld bluetooth ; do systemctl stop $S ; systemctl stop $S ; done

Links

Appendices

yum install

 Dependencies Resolved

=============================================================================================================================
 Package                                              Arch          Version                              Repository     Size
=============================================================================================================================
Installing:
 mythtv-frontend                                      x86_64        0.27.5-1.el7                         scrpms        8.1 M
 nvidia-graphics352.21                                x86_64        352.21-176.el7                       scrpms        3.7 M
Installing for dependencies:
 ImageMagick                                          x86_64        6.7.8.9-10.el7                       base          2.1 M
 MySQL-python                                         x86_64        1.2.3-11.el7                         base           82 k
 OpenEXR-libs                                         x86_64        1.7.1-7.el7                          base          217 k
 aalib-libs                                           x86_64        1.4.0-0.22.rc5.el7                   epel           65 k
 arts                                                 x86_64        8:1.5.10-26.el7                      epel          969 k
 audiofile                                            x86_64        1:0.3.6-4.el7                        base          153 k
 avahi-compat-libdns_sd                               x86_64        0.6.31-14.el7                        base           33 k
 crystalhd-firmware                                   noarch        3.10.0-4.el7                         epel          1.1 M
 dirac-libs                                           x86_64        1.0.2-14.el7                         epel          256 k
 enca                                                 x86_64        1.14-1.el7                           epel          106 k
 esound-libs                                          x86_64        1:0.2.41-12.el7                      epel           78 k
 fftw-libs-single                                     x86_64        3.3.3-8.el7                          base          766 k
 freeglut                                             x86_64        2.8.1-3.el7                          base          182 k
 fribidi                                              x86_64        0.19.4-6.el7                         base           63 k
 glib                                                 x86_64        1:1.2.10-41.el7                      epel          137 k
 google-droid-sans-fonts                              noarch        20100409-1                           atrpms        2.5 M
 gtk+                                                 x86_64        1:1.2.10-77.el7                      epel          841 k
 ilmbase                                              x86_64        1.0.3-7.el7                          base          100 k
 jack-audio-connection-kit                            x86_64        1.9.9.5-4.el7                        epel          522 k
 kde-filesystem                                       x86_64        4-47.el7                             base           48 k
 libXScrnSaver                                        x86_64        1.2.2-6.1.el7                        base           24 k
 libXaw                                               x86_64        1.0.11-6.1.el7                       base          189 k
 liba52_0                                             x86_64        0.7.4-7.0.1.el7                      atrpms         27 k
 libass                                               x86_64        0.12.1-1.el7                         epel           80 k
 libavcodec55                                         x86_64        2.2.4-67.sl7                         scrpms        3.3 M
 libavformat55                                        x86_64        2.2.4-67.sl7                         scrpms        682 k
 libavutil52                                          x86_64        2.2.4-67.sl7                         scrpms        119 k
 libcaca                                              x86_64        0.99-0.17.beta17.el7                 epel          216 k
 libcrystalhd                                         x86_64        3.10.0-4.el7                         epel           52 k
 libdca0                                              x86_64        0.0.5-4.el7                          atrpms         91 k
 libdirect-1.7_4                                      x86_64        1.7.4-17.sl7                         scrpms         62 k
 libdirectfb-1.7_4                                    x86_64        1.7.4-17.sl7                         scrpms        399 k
 libfaac0                                             x86_64        1.28-6.el7                           atrpms         36 k
 libfaad2                                             x86_64        1:2.7-18.el7                         atrpms        142 k
 libffado                                             x86_64        2.1.0-4.el7                          epel          650 k
 libfusion-1.7_4                                      x86_64        1.7.4-17.sl7                         scrpms         28 k
 libmad0                                              x86_64        0.15.1b-4.el7                        atrpms         54 k
 libmikmod                                            x86_64        3.2.0-21.el7                         epel          138 k
 libmng                                               x86_64        1.0.10-14.el7                        base          171 k
 libmp3lame0                                          x86_64        3.99.3-23.el7                        atrpms        131 k
 libmpeg2_0                                           x86_64        0.5.1-5.el7                          atrpms         38 k
 libmpeg2convert0                                     x86_64        0.5.1-5.el7                          atrpms         12 k
 libmyth-0.27_0                                       x86_64        0.27.5-1.el7                         scrpms        1.6 M
 libmythavcodec54                                     x86_64        0.27.5-1.el7                         scrpms        2.7 M
 libmythavdevice54                                    x86_64        0.27.5-1.el7                         scrpms         55 k
 libmythavfilter3                                     x86_64        0.27.5-1.el7                         scrpms        301 k
 libmythavformat54                                    x86_64        0.27.5-1.el7                         scrpms        650 k
 libmythavutil52                                      x86_64        0.27.5-1.el7                         scrpms        109 k
 libmythbase-0.27_0                                   x86_64        0.27.5-1.el7                         scrpms        537 k
 libmythfreemheg-0.27_0                               x86_64        0.27.5-1.el7                         scrpms        170 k
 libmythhdhomerun-0.27_0                              x86_64        0.27.5-1.el7                         scrpms         60 k
 libmythmetadata-0.27_0                               x86_64        0.27.5-1.el7                         scrpms        322 k
 libmythnzmqt0                                        x86_64        0.27.5-1.el7                         scrpms         63 k
 libmythpostproc52                                    x86_64        0.27.5-1.el7                         scrpms         69 k
 libmythprotoserver-0.27_0                            x86_64        0.27.5-1.el7                         scrpms        100 k
 libmythqjson0                                        x86_64        0.27.5-1.el7                         scrpms         94 k
 libmythservicecontracts-0.27_0                       x86_64        0.27.5-1.el7                         scrpms         99 k
 libmythswresample0                                   x86_64        0.27.5-1.el7                         scrpms         66 k
 libmythswscale2                                      x86_64        0.27.5-1.el7                         scrpms        118 k
 libmythtv-0.27_0                                     x86_64        0.27.5-1.el7                         scrpms        3.1 M
 libmythui-0.27_0                                     x86_64        0.27.5-1.el7                         scrpms        684 k
 libmythupnp-0.27_0                                   x86_64        0.27.5-1.el7                         scrpms        266 k
 libmythzmq1                                          x86_64        0.27.5-1.el7                         scrpms        105 k
 libnemesi                                            x86_64        0.7.0-0.4.20110215git.sl7            scrpms        119 k
 libopencore-amrnb0                                   x86_64        0.1.3-1.el7                          atrpms         93 k
 libopencore-amrwb0                                   x86_64        0.1.3-1.el7                          atrpms         46 k
 libpostproc52                                        x86_64        2.2.4-67.sl7                         scrpms         45 k
 libquicktime0                                        x86_64        1.2.4-32.el7                         scrpms        183 k
 librtmp0                                             x86_64        2.3-1.el7                            atrpms         42 k
 libva-glx1                                           x86_64        1.3.1-11.el7                         atrpms         15 k
 libva-x11_1                                          x86_64        1.3.1-11.el7                         atrpms         16 k
 libva1                                               x86_64        1.3.1-11.el7                         atrpms         37 k
 libwmf-lite                                          x86_64        0.2.8.4-39.el7                       base           66 k
 libx264_142                                          x86_64        0.142-20_20140406.2245.el7           atrpms        372 k
 libxavs1                                             x86_64        0.1.51-2.el7                         atrpms        131 k
 libxml++                                             x86_64        2.37.1-1.el7                         epel           99 k
 libxvidcore4                                         x86_64        1.3.2-15.el7                         atrpms        178 k
 lirc-libs                                            x86_64        0.9.1a-4.el7                         epel           39 k
 live                                                 x86_64        2012.02.04-1.el7                     atrpms        292 k
 lksctp-tools                                         x86_64        1.0.13-3.el7                         base           87 k
 mailcap                                              noarch        2.1.41-2.el7                         base           31 k
 mjpegtools                                           x86_64        1:2.0.0-22.el7                       atrpms        715 k
 mpg123                                               x86_64        1.20.1-1.sl7                         scrpms        275 k
 mplayer                                              x86_64        4:1.2-94_snap20140413.sl7            scrpms         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.5-1.el7                         scrpms        639 k
 mythtv-themes                                        x86_64        0.27.5-1.el7                         scrpms         12 M
 nas-libs                                             x86_64        1.9.3-6.sl7                          scrpms         75 k
 netembryo                                            x86_64        0.1.1-4.sl7                          scrpms         24 k
 nvidia-graphics-devices                              noarch        1.0-6.el7                            atrpms        2.5 k
 nvidia-graphics-helpers                              x86_64        0.0.30-33.el7                        atrpms        6.4 k
 nvidia-graphics352.21-kmdl-3.10.0-229.4.2.el7        x86_64        352.21-176.el7                       scrpms        3.6 M
 nvidia-graphics352.21-libs                           x86_64        352.21-176.el7                       scrpms         39 M
 openal-soft                                          x86_64        1.16.0-2.el7                         epel          282 k
 perl-Business-ISBN                                   noarch        2.06-2.el7                           base           25 k
 perl-Business-ISBN-Data                              noarch        20120719.001-2.el7                   base           24 k
 perl-Compress-Raw-Bzip2                              x86_64        2.061-3.el7                          base           32 k
 perl-Compress-Raw-Zlib                               x86_64        1:2.061-4.el7                        base           57 k
 perl-DBI                                             x86_64        1.627-4.el7                          base          802 k
 perl-Data-Dumper                                     x86_64        2.145-3.el7                          base           47 k
 perl-Digest                                          noarch        1.17-245.el7                         base           23 k
 perl-Digest-MD5                                      x86_64        2.52-3.el7                           base           30 k
 perl-Encode-Locale                                   noarch        1.03-5.el7                           base           16 k
 perl-File-Listing                                    noarch        6.04-7.el7                           base           13 k
 perl-HTML-Parser                                     x86_64        3.71-4.el7                           base          115 k
 perl-HTML-Tagset                                     noarch        3.20-15.el7                          base           18 k
 perl-HTTP-Cookies                                    noarch        6.01-5.el7                           base           26 k
 perl-HTTP-Daemon                                     noarch        6.01-5.el7                           base           20 k
 perl-HTTP-Date                                       noarch        6.02-8.el7                           base           14 k
 perl-HTTP-Message                                    noarch        6.06-6.el7                           base           82 k
 perl-HTTP-Negotiate                                  noarch        6.01-5.el7                           base           17 k
 perl-IO-Compress                                     noarch        2.061-2.el7                          base          260 k
 perl-IO-HTML                                         noarch        1.00-2.el7                           base           23 k
 perl-IO-Socket-INET6                                 noarch        2.69-5.el7                           base           20 k
 perl-IO-Socket-IP                                    noarch        0.21-4.el7                           base           35 k
 perl-IO-Socket-SSL                                   noarch        1.94-3.el7                           base          113 k
 perl-LWP-MediaTypes                                  noarch        6.02-2.el7                           base           24 k
 perl-MythTV                                          x86_64        0.27.5-1.el7                         scrpms         54 k
 perl-Net-Daemon                                      noarch        0.48-5.el7                           base           51 k
 perl-Net-HTTP                                        noarch        6.06-2.el7                           base           29 k
 perl-Net-LibIDN                                      x86_64        0.12-15.el7                          base           28 k
 perl-Net-SSLeay                                      x86_64        1.55-3.el7                           base          285 k
 perl-PlRPC                                           noarch        0.2020-14.el7                        base           36 k
 perl-Socket6                                         x86_64        0.23-15.el7                          base           27 k
 perl-TimeDate                                        noarch        1:2.30-2.el7                         base           52 k
 perl-URI                                             noarch        1.60-9.el7                           base          106 k
 perl-WWW-RobotRules                                  noarch        6.02-5.el7                           base           18 k
 perl-libwww-perl                                     noarch        6.05-2.el7                           base          205 k
 phonon                                               x86_64        4.6.0-9.el7                          base          205 k
 phonon-backend-gstreamer                             x86_64        2:4.6.3-3.el7                        base          140 k
 portaudio                                            x86_64        19-16.el7                            epel           88 k
 python-MythTV                                        x86_64        0.27.5-1.el7                         scrpms        290 k
 qt                                                   x86_64        1:4.8.5-8.el7                        base          4.5 M
 qt-mysql                                             x86_64        1:4.8.5-8.el7                        base           33 k
 qt-settings                                          noarch        19-23.5.el7                          base           17 k
 qt-x11                                               x86_64        1:4.8.5-8.el7                        base           13 M
 qt3                                                  x86_64        3.3.8b-51.el7                        base          3.5 M
 qtwebkit                                             x86_64        2.3.4-6.el7                          epel           10 M
 schroedinger                                         x86_64        1.0.11-4.el7                         epel          291 k
 svgalib                                              x86_64        1.9.25-8.sl7                         scrpms        412 k
 transcode                                            x86_64        1.1.7-51.sl7                         scrpms        1.2 M
 twolame                                              x86_64        0.3.12-2.el7                         atrpms         79 k
 xmms-libs                                            x86_64        1:1.2.11-40.el7                      atrpms        271 k

Transaction Summary
=============================================================================================================================
Install  2 Packages (+144 Dependent packages)

Total download size: 164 M
Installed size: 514 M
Is this ok [y/d/N]:

v4l-utils

 # yum install v4l-utils
Resolving Dependencies
--> Running transaction check
---> Package v4l-utils.x86_64 0:0.9.5-4.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

===========================================================================================
 Package               Arch               Version                   Repository        Size
===========================================================================================
Installing:
 v4l-utils             x86_64             0.9.5-4.el7               base             163 k

Transaction Summary
===========================================================================================
Install  1 Package

Total download size: 163 k
Installed size: 454 k

lib-cec

# yum install libcec
Dependencies Resolved

================================================================================================================
 Package                  Arch                     Version                       Repository                Size
================================================================================================================
Installing:
 libcec                   x86_64                   2.2.0-2.el7                   scrpms                   203 k

Transaction Summary
================================================================================================================
Install  1 Package

Total download size: 203 k
Installed size: 716 k
Is this ok [y/d/N]: y
Downloading packages:
libcec-2.2.0-2.el7.x86_64.rpm                                                            | 203 kB  00:00:01
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libcec-2.2.0-2.el7.x86_64                                                                    1/1
/sbin/ldconfig: /lib64/libiguanaIR.so.0.3 is not a symbolic link

  Verifying  : libcec-2.2.0-2.el7.x86_64                                                                    1/1

Installed:
  libcec.x86_64 0:2.2.0-2.el7

Complete!

rc protocols

"If more than one item is enclosed in square brackets, then something other than LIRC is getting those signals."

# cat  /sys/class/rc/rc0/protocols
rc-5 nec rc-6 jvc sony sanyo mce_kbd [lirc]

xinput list

# xinput list
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ TopSeed Tech Corp. USB IR Combo Device    id=10   [slave  pointer  (2)]
⎜   ↳ MCE IR Keyboard/Mouse (mceusb)            id=14   [slave  pointer  (2)]
⎜   ↳ USB USB Keykoard                          id=12   [slave  pointer  (2)]
⎜   ↳ Microsoft Microsoft Wheel Mouse Optical®  id=13   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Power Button                              id=7    [slave  keyboard (3)]
    ↳ TopSeed Tech Corp. USB IR Combo Device    id=9    [slave  keyboard (3)]
    ↳ Media Center Ed. eHome Infrared Remote Transceiver (0471:0815)    id=11   [slave  keyboard (3)]
    ↳ USB USB Keykoard                          id=8    [slave  keyboard (3)]
 

/usr/share/X11/xorg.conf.d/90-IgnoreIrRemote.conf

#
#  Ignore remote controls that are handled by LIRC
#
Section "InputClass"
  Identifier "Ignore IR remote as Keyboard input"
  MatchProduct "Media Center Ed. eHome Infrared Remote Transceiver (147a:e017)|Media Center Ed. eHome Infrared Remote Transceiver (0471:0815)|TopSeed Tech Corp. USB IR Combo Device"
  MatchIsKeyboard "true"
  Option "Ignore" "true"
EndSection
Document Actions