From Gentoo Wiki
Jump to:navigation Jump to:search
This article is a stub. You can help by expanding it.

MythTV is a powerful media center and video recording software system. The distributed architecture allows analog and digital media to be captured, organized, and streamed over the network to other MythTV instances or network attached devices.


MythTV is a complex and capable system and during the first install can be a little daunting to configure if there is no familiarity with the software. Once the backend has been set up properly and configured with recording devices/sources (DVB or analog capture etc.), there is usually little maintenance in the future.


Depending on how MythTV is going to be configured, there may be options in the kernel that need to be enabled. If support is required for recording media from DVB devices or controlling with a remote control, the relevant devices need to be enabled in the kernel before MythTV or any other applications will be able to access them.

KERNEL Example enabling support for DVB devices
Device Drivers  --->
    <*> Multimedia Support  --->
        [*] Analog TV Support # Depends upon the hardware, some devices are not shown if this is disabled.
        [*] Digital TV Support
        [*] Remote Controller support # Enable this if the device has IR even if it's not going to be used.
        [*] Media USB Adapters  --->
            <M> Support for various USB DVB devices
                (select devices here)
            <M> Support for various USB DVB devices v2
                (select devices here, eg.)
                <M> ITE IT913X DVB-T USB2.0 Support
        [*] Media PCI Adapters  --->
                (select devices here)

USE flags

MythTV has quite a few USE flags to customize configuration according to hardware specification and software requirements.

USE flags for media-tv/mythtv Open Source DVR and media center hub

X Add support for X11
alsa Allows MythTV to directly output sound to ALSA devices
altivec Add support for optimizations for G4 and G5/ppc970 processors
asi Support for DVEO ASI recorder
autostart Use a custom autostart configuration
bluray Use the system libbluray for BluRay support
cdda Add Compact Disk Digital Audio (Standard Audio CD) support
cdr Add support for CD writer hardware
cec Allows control of CEC enabled TVs via HDMI
ceton Ceton InfiniTV 4 a CableCARD-enabled tuner support
debug Instructs Qt to use the 'debug' target
dvb Add support for DVB (Digital Video Broadcasting)
dvd Add support for DVDs
egl EGL video output support
exif Add support for reading EXIF headers from JPEG and TIFF images
fftw Support visualizations via sci-libs/fftw
hdhomerun Silicondust USA tuner support
hdpvr Hauppauge HD-PVR?
ieee1394 Firewire enabled Cable boxe support
ivtv Support kernel driver for the iTVC15 family of MPEG codecs
jack Allows MythTV to use JACK as your sound output device
java BD-J support for Blu-ray discs
lame Prefer using LAME libraries for MP3 encoding support
lcd Enable use of app-misc/lcdproc data display
libass SRT/SSA/ASS (SubRip / SubStation Alpha) subtitle support
lirc LIRC remote control device support
nvdec Enable NVDEC (NVCUVID) hardware accelerated video decoding
opengl Add support for OpenGL (3D graphics)
oss Add support for OSS (Open Sound System)
perl Build the perl bindings for MythTV
pulseaudio Add support for PulseAudio sound server
python Add optional support/bindings for the Python language
raw Add support for raw image formats
systemd Enable use of systemd-specific libraries and features like socket activation or session tracking
v4l Enable support for video4linux (using linux-headers or userspace libv4l libraries)
vaapi Enable Video Acceleration API for hardware decoding
vbox V@Box Communications network-attached tuner devices support
vdpau Enable the Video Decode and Presentation API for Unix acceleration interface
vpx Enable VP8/VP9 support for media-libs/libvpx
wrapper Use Ubuntu mythtfrontend wrapper
x264 Enable h264 encoding using x264
x265 Enable h265 encoding using x265
xml Add support for XML files
xmltv Support media-tv/xmltv TV listingnot used by Schedules Direct]
xvid Add support for's open-source mpeg-4 codec
zeroconf Support for DNS Service Discovery (DNS-SD)


root #emerge --ask media-tv/mythtv


MythTV includes a mythbackend server which handles recordings and manages databases of media, this has to be configured and running before the a client, mythfrontend, or other media player can interact with the MythTV system. MythTV also requires a running MySQL compatible database server such as MySQL or MariaDB to function, this is handled through the database modules of Qt.

User mythtv

A daemon user named mythtv for mythbackend is created and maintained by acct-user/mythtv.

Some existing installations also use mythtv user with mythfrontend which works, but can cause problems. An actual non-root user should be used with mythfrontend.

Old installations that use a modified mythtv user may either need updating or a local acct-user/mythtv overlay to prevent undesired changes to the mythtv user. After acct-user/mythtv is successfully emerged restore the mythtv user. It will remain at its restored state until acct-user/mythtv is forced/updated. Installing the MythTV package media-tv/mythtv depends on acct-user/mythtv and does not install it again on subsequent updates.


A database will need to be set up before the MythTV backend can be started. The emerge command should have already pulled in MySQL or MariaDB but the database server may not have been configured yet, if this is the case please refer to MySQL or MariaDB for information. The following command will set up the MythTV database using the emerge config phase, this will require a root user and password for the database.

root #emerge --config media-tv/mythtv

MythTV backend configuration

MythTV backend is configured by a GUI that can stop mythbackend when configuring. Run mythtv-setup GUI to setup MythTV before starting mythfrontend on a new installation. It is not normally used in daily operation once the system is configured for your setup/hardware. This GUI can setup:

* Connection to the database
* Setup TV tuners and scan channels
* Setup media storage locations
* Setup Program Guide Provider
* Multiple MythTV backend configuration

Execute the setup program to configure MythTV. The documentation for MythTV is a good reference at this point.

root #mythtv-setup

Mythbackend daemon

At least one backend must be running to use MythTV, this can be on the same host as the frontend or a different host on the network.

Start the MythTV backend on the chosen host(s) and add it to the default runlevel.

root #/etc/init.d/mythbackend start
root #rc-update add mythbackend default


Once the database is set up and mythtv-setup has been completed, and the mythbackend started. General use is through the included mythfrontend.


MythTV frontend

The mythfrontend application is the frontend process of MythTV with a graphical user interface for the MythTV system. It can select TV shows to record/watch, play media, select GUI theme, show the status of MythTV, and configure playback display/audio.

user $mythfrontend




This may remove user mythtv, but the home directory will remain. If user mythtv was modified the changes may be lost. Much of the documentation suggests using mythtv as the user for autostart. This is no longer considered good practice because the mythtv user is created as a daemon for mythbackend and has access to groups not needed when running mythfrontend.

Removal can be as simple as running:

root #emerge --ask --depclean --verbose media-tv/mythtv

No media, recordings, database, or configuration setup is deleted.

See also

  • XmlTV - Gather television listings from various countries for MythTV database.
  • MythTV/MythPlugins - Plugins for MythTV handling games, news, weather, etc.
  • MythTV/MythWeb - Web application for allowing control of MythTV from a web browser.
  • Kodi — an open source home theater application.

External resources