QML based frontend for MythTV

Post Install Hints & Tips

NOTE: Ubuntu 20.10 Groovy users must upgrade VLC to

VLC that comes with Groovy is know to segfault while playing some videos so it is recommended to upgrade to VLC

First add the required PPA's

sudo add-apt-repository ppa:savoury1/vlc3
sudo add-apt-repository ppa:savoury1/ffmpeg4

Now install VLC
sudo apt install vlc

This is a summary of the instructions found here

Tell MythQML where it can find the master backend and database

If you want to be able to play MythTV recordings, watch MythTV channels, browse and view MythTV videos, browse and view RSS news feeds, play MythTV music files and radio streams then you need to configure access to them in the Myth Backend settings.

If you want to view ZoneMinder events and live camera feeds then you will want to setup access to it in the ZoneMinder settings.

Other notable settings are the Feed Sources settings where you can tell MythQML where to find various sources like where to find your picture library, where to find your video library, where to find various VBox tuners, where to find various XML resources.

Make sure MythTV's Security pin is correct

MythQML requires access to the mythprotocol so you need to set the :-
Setup -> Myth Backend -> Security Pin
setting in MythQML to match that in MythTV's mythtv-setup settings :-
1. General -> Host Address Backend Setup -> Security PIN (required).

You can use the Services API to quickly get the MythTV Security PIN by using something like this in a web browser (change the IP and hostname of the backend as required

Make sure MythQML can find the master backend by hostname

Some things like recordings, video and music files are linked to the backend by the name of the host they are stored on so make sure looking up the IP address from the hostname works correctly.
This is what I do there may be other better ways.
Make sure /etc/hosts has a line for the master backend so if its IP address is and it's hostname is 'mallard' you would add mallard

Install and setup the remote control

MythQML is designed primarily to be used by a remote control. It does not work with a mouse but can be used by a normal keyboard.

There is more information on what remote I use and what keys are needed here

This section needs elaborating on but here's a few hints to get you started.

Make sure ir-keytable is installed

sudo apt install ir-keytable

Test the remote

sudo ir-keytable -t

Setup and edit the config files

Edit /etc/rc_maps.cfg

sudo nano /etc/rc_maps.cfg

Add hauppauge key map to /etc/rc_keymaps/

Edit /etc/rc_keymaps/hauppauge so it sends the correct keypresses

Add or edit /etc/rc.local
#!/bin/sh -e
# rc.local
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
# In order to enable or disable this script just change the execution
# bits.
# By default this script does nothing.

# set the ir key auto repeat delay and period
ir-keytable -D 2000 -P 1000 -s rc0

# load the keymap for the hauppauge remote
/usr/bin/ir-keytable -w /etc/rc_keymaps/hauppauge

exit 0

Make sure it is executable
sudo chmod +x /etc/rc.local

This is a summary of instructions found here

Fix audio output

Open Pulse Audio Volume Control
Make sure the correct HDMI device is selected under output
Make sure it's unmuted
Select as fallback?
Lock channels

On Profile enable the HDMI profile and disable the builtin audio profile

Enable ssh access

If you want to remotely access your MythQML system using ssh to do some administration work then you may have to install it (XUbuntu doesn't install it by default).
sudo apt install ssh

Enable wake on lan using magic packet

If you let your MythQML system shutdown when idle and you sometimes need to wake the system up remotely to do some administration then one way is to enable wake-on-lan and use something like
wakeonlan 12:34:56:78:ab:cd
to wake it up.
First install ethtool which is used to enable the LAN interface to wake on magic packet and wakonlan which is used to do the actual wakeup
$ sudo apt install ethtool wakeonlan
edit /etc/rc.local and add
# enable WOL
ethtool -s eth0 wol g

The above assumes your network interface is called 'eth0'. You can get the actual name by running ifconfig where you can also get the MAC address which wakeonlan needs to know to which interface to send the magic packets. You may also have to check the BIOS settings to enable Onboard LAN Power On which is usually under the ACPI settings in the BIOS.

Allow the Shutdown and Reboot Commands to be run by sudo without a password

If you want your system to shutdown automatically after being idle for a while then you should use the launcher and check the settings on the 'Shutdown Settings' page.

The defaults will exit mythfrontend_qml after 90 minutes of in activitly and the mythlauncher_qml will wait a further 10 minutes before attempting to shutdown.

The default shutdown and reboot commands should be good on Ubuntu but by default sudo needs a password to execute them. You can fix this by editing /etc/sudoers to allow your user to execute those command without a password so shutdown will work unattended.
sudo visudo -f /etc/sudoers
and add a line something like this (change the user name paul to whatever you use to run mythlauncher_qml and mythfrontend_qml)
%paul ALL = NOPASSWD: /sbin/poweroff, /sbin/reboot