MiniMyth from minimyth.org
minimyth.conf description
General

The MiniMyth configuration file 'minimyth.conf" is at the core of the MiniMyth configuration process. The goal is for all MiniMyth configuration to be done with the MiniMyth configuration file. Since this is sometimes not possible today, MiniMyth provides other configuration methods a well. However, the need to use any of these other configuration methods should be considered a bug. Therefore, if you need to use these other configuration methods, then let us know.

Essentially, the MiniMyth configuration file variables are shell variables. In fact, MiniMyth configuration variables are processed using the shell. Therefore, all variable values should be enclosed in single quotes (') to prevent the shell from interpreting the values. Therefore, all MiniMyth configuration file settings should take the form:

{variable-name}='{variable-value}'

For some examples of how to set variables, see MM_X_MODELINE, MM_LIRC_KERNEL_MODULE_OPTIONS, MM_GENERIC_MEDIA_LIST, MM_MYTHDB_JUMPPOINTS_{key}, MM_MYTHDB_KEYBINDINGS_{key} and MM_MYTHDB_SETTINGS_{key}.

Configuration variables for: MiniMyth
Overview

General MiniMyth related configuration variables.

The Uniform Resource Locators (URLs) in this section must have the following form:

{protocol}://{server}/{path}

The valid protocol values are: 'http", 'tftp' and 'file'.

MM_MINIMYTH_UPDATE_URL

Set the URL that points to the location of the latest MiniMyth files. The default value is 'http://www.minimyth.org/download/stable/latest/'.

If you are using local boot, then you can use the MiniMyth command 'mm_local_update' to update your MiniMyth distribution: the kernel file, the root file system image, the theme file system images and (optionally) extras file system image.

MM_MINIMYTH_BOOT_URL

Set the MiniMyth boot directory. MiniMyth needs to know the boot directory because the location of configuration files is relative to the boot directory.

If MM_MINIMYTH_BOOT_URL is not set, then MiniMyth 'guesses' the MiniMyth boot directory using other information as described in the location of configuration files section. However, you may want to override the guessed boot directory when MiniMyth 'guesses' the wrong boot directory or when MiniMyth 'guesses' the right boot directory but you want to use a different protocol to access the boot directory.

If MM_MINIMYTH_BOOT_URL is set on the boot line, then MiniMyth will use the value as the boot directory when retrieving all configuration files. If MM_MINIMYTH_BOOT_URL is set on in the MiniMyth configuration file then MiniMyth will use the value as the boot directory when retrieving all configuration files except the MiniMyth configuration file, and will use the 'guessed' boot directory as the boot directory when retrieving the MiniMyth configuration file.

I do not like to use the TFTP protocol because it can be slow and unreliable. Therefore, I make my TFTP root directory (/var/tftpboot) available as a virtual web host (tftp.home) as well, allowing MiniMyth to access the configuration files using the root directory URL 'http://tftp.home/minimyth/'. Below is the section of my Apache HTTP Server configuration file that makes my TFTP root directory available as a virtual web host.

# Load the mod_dav and mod_dav_fs modules needed by the MiniMyth read-write configuration directory.
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so

# Configure the mod_dav_fs module needed by the MiniMyth read-write configuration directory.
<IfModule mod_dav_fs.c>
    # Location of the WebDAV lock database.
    DAVLockDB /var/lib/dav/lockdb
</IfModule>

# Configure a virtual host to serve the TFTP directory.
<VirtualHost 192.168.0.1:80>
    DocumentRoot /var/tftpboot
    ServerName tftp.home
    ServerAdmin webmaster@www.home
    <Directory /var/tftpboot>
        AllowOverride None
    </Directory>
    <Location />
        # Do not allow access to the TFTP directory except where explicitly granted.
        Order Deny,Allow
        Deny from all
        Dav Off
        <LimitExcept GET>
        </LimitExcept>
    </Location>
    <Location /minimyth>
        # Restrict access to the MiniMyth system.
        Order Deny,Allow
        Deny from all
        Allow from myth-livingroom.home
        Allow from myth-parents.home
        Allow from myth-sp8000e.home
    </Location>
    <Location /minimyth/conf>
        # If the file is not in host specific directory, then redirect to the default directory.
        # This gets rid of the page failure messages from the logs and should speed things up somewhat.
        # One downside is that the MiniMyth logs will show that the file came from the host specific directory
        # even though the file is located in the default directory.
        RewriteEngine on
        RewriteCond %{REQUEST_FILENAME} !^.+/default/[^/]+$
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.+)/[^/]+/([^/]+)$ $1/default/$2 [L]
    </Location>
    <Location /minimyth/conf-rw>
        # Turn on WebDAV so that MiniMyth can put configuration files.
        # This will not work unless the mod_dav and mod_dav_fs modules are enabled and configured:
        # http://httpd.apache.org/docs/2.0/mod/mod_dav.html
        # and
        # http://httpd.apache.org/docs/2.0/mod/mod_dav_fs.html.
        Dav On
        FileETag None
        <LimitExcept GET PUT>
        </LimitExcept>
    </Location>
</VirtualHost>
MM_MINIMYTH_FETCH_MINIMYTH_PM

Indicate whether or not to fetch the 'minimyth.pm' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

Configuration variables for: DHCP override
Overview

Normally, MiniMyth obtains required network and network service configuration parameters from the Dynamic Host Configuration Protocol (DHCP) server. However, most of the DHCP servers found in off-the-shelf home routers do not support some or all of these parameters. If your DHCP server does not support certain parameters (or provides incorrect values for certain parameters), then you can use these DHCP override variables to override the parameter values provided by the DHCP server.

Note: While all DHCP override variables are listed here for convenience, some DHCP override variables will not work unless they are set on the boot line.

MM_DHCP_ADDRESS
See Address. Note: MM_DHCP_ADDRESS must be set on the boot line.
MM_DHCP_BROADCAST
See Broadcast Address.
MM_DHCP_SUBNET_MASK
See Subnet Mask.
MM_DHCP_ROUTERS
See Routers.
MM_DHCP_HOST_NAME
See Host Name.
MM_DHCP_DOMAIN_NAME
See Domain Name.
MM_DHCP_DOMAIN_NAME_SERVERS
See Domain Name Servers.
MM_DHCP_NTP_SERVERS
See NTP Servers.
MM_DHCP_LOG_SERVERS
See Log Servers.
MM_DHCP_TCODE
See TCode.
Configuration variables for: security
Overview

Security related configuration variables.

MM_SECURITY_ENABLED

Indicate whether or not security is enabled. Valid values are 'yes' and 'no', with 'no' the default.

When security is enabled, MiniMyth disables less secure access. That is, MiniMyth disables

Even when security is enabled, if MiniMyth detects an error during boot, then MiniMyth enables virtual console access and telnet access. This is a serious security hole, but users have difficulty debugging when they cannot connect.

MM_SECURITY_USER_MINIMYTH_UID

Set the UID for the user 'minimyth'. Valid values are integers between 200 and 32767, with the default being '1000'.

If you have configured MiniMyth to mount NFS network shares, then being able to specify the UID for the user 'minimyth' can be useful. Since the MiniMyth GUI runs as user 'minimyth', it accesses network shares as user 'minimyth'. Being able to set the UID for the user 'minimyth' enables it to be set to a UID that has the desired access permissions on the NFS network shares.

MM_SECURITY_USER_MINIMYTH_GID

Set the GID for the user 'minimyth'. Valid values are integers between 200 and 32767, with the default being '1000'.

MM_SECURITY_FETCH_CREDENTIALS_CIFS

Indicate whether or not to fetch the 'credentials_cifs' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

MiniMyth saves this file as '/etc/cifs/credentials_cifs' on the MiniMyth system. Therefore, in order to use this credentials file when mounting CIFS shares, you need to add the mount option credentials='/etc/cifs/credentials_cifs'.

MM_SECURITY_FETCH_CA_BUNDLE_CRT

Indicate whether or not to fetch the 'ca-bundle.crt' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

The is a user bundle of digital certificates for trusted certificate authorities that MiniMyth prepends to it's built-in bundle of digital certificates for trusted certificate authorities, resulting in the file '/etc/pki/tls/certs/ca-bundle.crt'. Applications (such as Curl and MythBrowser) use the resulting bundle of digital certificates for trusted certificate authorities to validate digital certificates when establishing SSL or TLS connections. The built-in bundle of digital certificates for trusted certificate authorities is the same as the digital certificates for trusted certificate authorities found in the Mozilla NSS package used by MiniMyth.

Configuration variables for: firmware
Overview

Firmware related configuration variables.

MM_FIRMWARE_FILE_LIST

A list of firmware files to add. These firmware files will be fetched from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'auto', 'none' or a space separated list of file names, with 'auto' being the default.

If the value is 'auto', then MiniMyth will decide the firmware files based on the hardware present. MiniMyth autodetects the following firmware for at least some hardware:

If MiniMyth does not detect the firmware required by your hardware, then let us know the output of the commands 'lspci -mn' and 'lsusb', the firmware file(s) required, and the URL on the Internet from where the firmware file can be downloaded.

Configuration variables for: ACPI
Overview

ACPI related configuration variables.

MM_ACPI_EVENT_BUTTON_POWER

Set the action to take when the MiniMyth system's power button is pushed. Valid values are 'off', 'sleep' and 'none', with 'off' the default.

MM_ACPI_VIDEO_FLAGS

Set the ACPI video flags ('/proc/sys/kernel/acpi_video_flags'). Valid values are '0', '1', '2' and '3', with '0' the default.

This variable equivalent to the kernel parameter 'acpi_sleep', where

  • '0' corresponds to acpi_sleep="",
  • '1' corresponds to acpi_sleep="s3_bios",
  • '2' corresponds to acpi_sleep="s3_mode", and
  • '3' corresponds to acpi_sleep="s3_bios,s3_mode".

Setting this variable to one of the non-zero values can sometimes enable broken video hardware to wake up from sleep (S3) correctly. For example, setting MM_ACPI_VIDEO_FLAGS='2' enables the VIA EPIA SP8000E video to wake from sleep (S3) correctly.

If this variable fails to solve the problem, then try MM_X_RESTART_ON_SLEEP_ENABLED.

Configuration variables for: CPU
Overview

CPU related configuration variables.

MM_CPU_FREQUENCY_GOVERNOR

Set the CPU frequency scaling governor. Valid values are 'performance', 'powersave', 'ondemand', 'conservative' and 'userspace', with 'performance' the default.

If 'userspace' is selected, then the 'powernowd' daemon is run to control the CPU speed.

MM_CPU_FETCH_MICROCODE_DAT

Indicate whether or not to fetch the 'microcode.dat' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

Configuration variables for: audio
Overview

Audio related configuration variables.

MM_AUDIO_TYPE

Set audio type. Valid values are 'analog', 'digital' and 'digital+analog', with 'analog' the default.

MM_AUDIO_CARD_NUMBER

Set audio card number. Valid values are 'auto' and any non-negative integer, with 'auto' the default'. Since ALSA uses the card number and the card name interchangeably, you can specify the card name as listed in directory '/proc/asound/' instead of the card number.

If the value is 'auto', then MiniMyth will auto configure the audio card number. There is no automatic method for determining the correct audio card number needed by ALSA. Therefore, MiniMyth uses audio card PCI/USB ids indexed lookup table to determine the correct audio card number. If your audio card number is not auto-configured to the correct value, then let us know the motherboard vendor and model, the output of the commands 'lspci -mn' and 'lsusb', and the audio device number that makes the audio work.

MM_AUDIO_DEVICE_NUMBER

Set audio device number. Valid values are 'auto' and any non-negative integer, with 'auto' the default'.

If the value is 'auto', then MiniMyth will auto configure the audio device number. There is no automatic method for determining the correct audio device number needed by ALSA. Therefore, MiniMyth uses audio card PCI/USB ids indexed lookup table to determine the correct audio device number. If your audio card number is not auto-configured to the correct value, then let us know the motherboard vendor and model, the output of the commands 'lspci -mn' and 'lsusb', and the audio device number that makes the audio work.

MM_AUDIO_GAIN

Set audio gain in percent. Valid values are 'auto' and any integer between 0 and 100, with 'auto' the default'.

If the value is 'auto', then MiniMyth will auto configure the audio gain. MiniMyth uses audio card PCI/USB ids indexed lookup table to determine the correct audio gain. If your audio gain is not auto-configured to the correct value, then let us know the motherboard vendor and model, the output of the commands 'lspci -mn' and 'lsusb', and the highest audio gain that does not create distortion.

MM_AUDIO_FETCH_ASOUND_CONF

Indicate whether or not to fetch the 'asound.conf' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

MM_AUDIO_FETCH_ASOUND_STATE

Indicate whether or not to fetch the 'asound.state' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

Configuration variables for: video
Overview

Video related configuration variables.

MM_VIDEO_ASPECT_RATIO

Set video aspect ratio. Valid values are '4:3', '16:9' and '16:10', with '4:3' the default.

MM_VIDEO_DECODER

Set the decoder to use. Valid values are 'auto', 'ffmpeg', 'libmpeg2', 'vdpau', 'xvmc' and 'xvmc-vld', with 'auto' the default.

If the value is 'auto', then MiniMyth will pick the 'best' decoder based on the other MiniMyth configuration settings.

While all decoders are supported by MythTV's internal video player, they may not be supported by the external video players (MPlayer, VLC and Xine). If the selected decoder is not supported by a particular particular external video player, then MiniMyth picks a reasonable substitute.

MM_VIDEO_DEINTERLACER

Set the video deinterlacer to use. Valid values are 'auto', 'none', 'bobdeint', 'greedyhdeint', 'greedyhdoubleprocessdeint', 'kerneldeint', 'linearblend', 'onefield', 'openglbobdeint', 'opengldoubleratefieldorder', 'opengldoubleratekerneldeint', 'opengldoubleratelinearblend', 'opengldoublerateonefield', 'openglkerneldeint', 'opengllinearblend', 'openglonefield', 'vdpauadvanced', 'vdpauadvanceddoublerate', 'vdpaubasic', 'vdpaubasicdoublerate', 'vdpaubobdeint', 'vdpauonefield', 'yadifdeint' and 'yadifdoubleprocessdeint', with 'none' the default.

If the value is 'none', then video deinterlacing will be disabled.

If the value is 'auto', then MiniMyth will pick the 'best' video deinterlacer based on the other MiniMyth configuration settings.

While all video deinterlacers are supported by MythTV's internal video player, they may not be supported by the external video players (MPlayer, VLC and Xine). If the selected video deinterlacer is not supported by a particular particular external video player, then MiniMyth picks a reasonable substitute.

MM_VIDEO_FONT_SCALE

Set the font size scale factor as a percentage. Valid values are an integer not less than '25' or greater than '400', with '100' the default. A smaller value results in smaller MythTV fonts, and a larger value results in larger MythTV fonts.

MythTV is designed for 100 dots per inch. By default, MiniMyth configures X so that the vertical dots per inch is 100. Decreasing or increasing 'MM_VIDEO_FONT_SCALE' will decrease or increase the dots per inch, resulting in smaller or larger MythTV fonts.

MM_VIDEO_PLAYBACK_PROFILE

Set the name of the MythTV video playback profile to use. Valid values are 'none' or any video playback profile name, with 'MiniMyth' the default.

A value of 'none' means that the video playback profile is not changed.

A value of 'MiniMyth' means that the video playback profile is MiniMyth generated video playback profile.

MM_VIDEO_RESIZE_ENABLED

Indicate whether or not you want to enable MythTV's video resizing (mode switching) based on the video. Valid values are 'yes', 'no' and '', with '' the default.

A value of 'yes' means that video resizing is enabled. If video resizing is enabled, then MiniMyth will enable MythTV's video resizing and configure MythTV's video resizing fields based on the values of 'MM_X_MODE', 'MM_X_MODE_0', 'MM_X_MODE_1' and 'MM_X_MODE_2'.

A value of 'no' means that video resizing is disabled. If video resizing is disabled, then then MiniMyth will disable MythTV's video resizing and delete MythTV's video resizing fields.

A value of '' means that MiniMyth will not change MythTV's video resizing fields.

Configuration variables for: X
Overview

The X configuration variables can be divided into five groups: application, output, display, hack and fetch. The X application configuration variables configure which X applications are to be enabled. The X XKB configuration variables configure the XKB options. The X output configuration variables configure which video outputs are to be enabled. The X display configuration variables configure the parameters of the X display. The X hack configuration variables cause different X related hacks to be applied. The X fetch configuration variables cause different X related files to be fetched.

X needs at least one mode line in order to work. The X display configuration variables provide three methods for specifying the main mode line. 'MM_X_RESOLUTION', 'MM_X_MODELINE' and 'MM_X_MODE'. Since these are mutually exclusive, you must only set one of them ('MM_X_RESOLUTION', 'MM_X_MODELINE' or 'MM_X_MODE') in your MiniMyth configuration file. If you do not set one of them, then MiniMyth will pick a default for 'MM_X_MODE' that may not be optimal but should work.

In addition to the main mode line, the X display configuration variables provide two methods for specifying up to three additional mode lines. 'MM_X_MODELINE_0', 'MM_X_MODELINE_1' and 'MM_X_MODELINE_2', and 'MM_X_MODE_0', 'MM_X_MODE_1' and 'MM_X_MODE_2'. Since these are mutually exclusive, you must only set one of them (either 'MM_X_MODELINE_n' or ''MM_X_MODE_n') for each additional mode line you want to specify.

While the X display configuration variables allow you set the X variables related to the mode, they do not allow you to set the physical display size. This is because the physical display size is not relevant. Unlike with a computer monitor, with a television the bigger the television the farther back you sit. As a result, the television always appears to be the same size. Consequently, MythTV does not care about the physical display size. Instead, it is optimized for 100 dots per inch. Therefore, MiniMyth calculates the physical display size so that the vertical dots per inch is 100. If this results in fonts that are too small or too large, then you can adjust the font size using 'MM_VIDEO_FONT_SCALE'.

MM_X_ENABLED

Indicate whether or not to enable the X Window System. Valid values are 'yes' and 'no', with 'yes' the default.

MiniMyth requires the X Window System in order to run MythTV and other X application. Normally, there should be no reason to use 'MM_X_ENABLED' to disable the X Window System. However, when you are debugging MiniMyth, it can sometimes be useful to disable the X Window System.

MiniMyth uses the Xorg X Window System.

MM_X_DRIVER

Indicate the X driver to use. Valid values are any X driver included in MiniMyth with the default dependent on your hardware.

This variable should not be needed. If your hardware's video driver is not detected, then let us know the output of 'lspci -mn' as well as the correct video driver.

MM_X_RESTART_ON_SLEEP_ENABLED

Indicate whether or not to restart X on sleep. Valid values are 'yes' and 'no', with 'no' the default.

With some X video drivers on some hardware, X hangs when returning from sleep. If you are using sleep and X hangs when returning from sleep, then setting this variable to 'yes' may help.

Before trying this variable, try MM_ACPI_VIDEO_FLAGS.

MM_X_WM_ENABLED

Indicate whether or not to enable the X window manager. Valid values are 'yes' and 'no', with 'yes' the default.

MythTV and other X applications may not work correctly without an X window manager. For example, the MythBrowser and MythGame plugins will not work correctly without an X window manager. In addition, keyboard navigation will not work correctly without an X window manager. Therefore, you should not disable the X window manager.

MiniMyth uses the ratpoison X window manager.

MM_X_VNC_ENABLED

Indicate whether or not to enable the X Virtual Network Computing (VNC) server. Valid values are 'yes' and 'no', with 'yes' the default.

VNC can be used to attach to either real or virtual X Window displays. A real X display is an X display that is attached to a console (e.g. your television). That is, the X display seen on the console and seen by the VNC client are the same X session. A virtual X display is an X display that is not attached to a console. That is, the X display seen on the console and seen by the VNC client are different X sessions.

A VNC server can enable attachment to either real or virtual X window displays but not both. The reason for including a VNC server in MiniMyth is to enable keyboard entry of MythTV data without requiring a keyboard be connected to the MiniMyth system. Therefore, the MiniMyth VNC server serves the real X display and not virtual X displays.

When security is enabled (MM_SECURITY_ENABLED='yes'), the VNC server listens on and allows connections from localhost (127.0.0.1) only. To connect to the VNC server, you will need to enable the SSH server (MM_SSH_SERVER) and tunnel VNC over SSH.

When security is disabled (MM_SECURITY_ENABLED='no'), the VNC server listens on and allows connections from all IP addresses.

MiniMyth uses the x11vnc VNC server.

MM_X_SCREENSAVER

Set the X screensaver to use. Valid values are 'none', 'xorg' and 'xscreensaver', with 'none' the default.

If an X screensaver is selected, then MiniMyth will blank the screen after a short period of inactivity (2 minutes). This can be useful when MiniMyth is connected to a display that is subject to burn-in.

MiniMyth supports both the Xorg screensaver (MM_X_SCREENSAVER='xorg') and XScreenSaver screensaver (MM_X_SCREENSAVER='xscreensaver'), because neither screensaver works with all displays.

MM_X_SCREENSAVER_TIMEOUT

Set the screensaver timeout in minutes. Valid values are positive integers, with '2' the default.

MM_X_SCREENSAVER_HACK

Set the XScreenSaver hack to use when using XScreenSaver as the screensaver. Valid values are 'off', 'sleep', 'blank' and 'glslideshow', with 'blank' the default.

The 'off' and 'sleep' hacks are special. They the actual XScreenSaver hack to 'blank' and power off or put to sleep the MiniMyth system respectively when XScreenSaver activates.

The 'glslideshow' hack randomly displays JPEG (*.jpg) images found in the image gallery directory ('MM_MEDIA_GALLERY_MOUNTPOINT').

MM_X_MYTH_PROGRAM

Set the myth program to run. Valid values are 'mythfrontend' and 'mythwelcome', with 'mythfrontend' the default.

The XKB configuration variables are:

MM_X_XKB_RULES

Set the XkbRules XKB configuration option.

MM_X_XKB_LAYOUT

Set the XkbLayout XKB configuration option.

MM_X_XKB_VARIANT

Set the XkbVariant XKB configuration option.

MM_X_XKB_MODEL

Set the XkbModel XKB configuration option.

MM_X_XKB_OPTIONS

Set the XkbOptions XKB configuration option.

The X output configuration variables are:

MM_X_OUTPUT_HDMI

Set the HDMI output to use. Valid values are 'none', 'auto' and HDMI output number, with 'none' the default.

If the value is 'none', then a HDMI output will not be enabled.

If the value is 'auto', then an HDMI output will be enabled and the driver will decide which HDMI output to use. Usually, the driver will pick the HDMI output that it considers the first HDMI output.

If the value is a number, then HDMI output specified by the number will be enabled. HDMI outputs are numbered starting from '0'.

MM_X_OUTPUT_DVI

Set the DVI-D output to use. Valid values are 'none', 'auto' and DVI-D output number, with 'none' the default.

If the value is 'none', then a DVI-D output will not be enabled.

If the value is 'auto', then a DVI-D output will be enabled and the driver will decide which DVI-D output to use. Usually, the driver will pick the DVI-D output that it considers the first DVI-D output.

If the value is a number, then DVI-D output specified by the number will be enabled. DVI-D outputs are numbered starting from '0'.

MM_X_OUTPUT_VGA

Set the VGA (or DVI-A) output to use. Valid values are 'none', 'auto' and VGA output number, with 'none' the default.

If the value is 'none', then a VGA output will not be enabled.

If the value is 'auto', then a VGA output will be enabled and the driver will decide which VGA output to use. Usually, the driver will pick the VGA output that it considers the first VGA output.

If the value is a number, then VGA output specified by the number will be enabled. VGA outputs are numbered starting from '0'.

MM_X_OUTPUT_TV

Set the TV output to use. Valid values are 'none', 'auto' and TV output number, with 'none' the default.

If the value is 'none', then a TV output will not be enabled.

If the value is 'auto', then a TV output will be enabled and the driver will decide which TV output to use. Usually, the driver will pick the TV output that it considers the first TV output.

If the value is a number, then TV output specified by the number will be enabled. TV outputs are numbered starting from '0'.

MM_X_TV_TYPE

Set the type of television (if any) being used. Valid values depend on the graphics hardware. For Intel graphics hardware, valid values are 'NTSC-443', 'NTSC-J', 'NTSC-M', 'PAL', 'PAL-M' and 'PAL-N' with 'NTSC-M' the default. For NVIDIA graphics hardware, valid values are 'PAL-B', 'PAL-D', 'PAL-G', 'PAL-H', 'PAL-I', 'PAL-K1', 'PAL-M', 'PAL-N', 'PAL-NC', 'NTSC-J', 'NTSC-M', 'HD480i', 'HD480p', 'HD720p', 'HD1080i', 'HD1080p', 'HD576i' and 'HD576p', with 'NTSC-M' the default. For VIA graphics hardware, valid values are 'NTSC', 'PAL', '480P', '576P', '720P' and '1080I', with 'NTSC' the default. For all other graphics hardware, valid values are 'NTSC' and 'PAL', with 'NTSC' the default.

MM_X_TV_OUTPUT

Set the television output (if any) being used. Valid values depend on the graphics hardware. For Intel graphics hardware, valid values are 'Composite', 'S-Video' and 'Component' 'S-Video' the default. For NVIDIA graphics hardware, valid values are 'AUTOSELECT', 'COMPOSITE', 'SVIDEO', 'COMPONENT' and 'SCART', with 'AUTOSELECT' the default. For VIA graphics hardware, valid values are 'Composite', 'S-Video', 'SC' (untested), 'RGB' (untested) and 'YCbCr', with 'Composite' the default. For all other graphics hardware, valid values are 'Composite', with 'Composite' the default.

MM_X_TV_OVERSCAN

Set the television overscan factor. Valid values depend on the graphics hardware. For NVIDIA graphics hardware, valid values are any value between '0.0' and '1.0' inclusive', with '0.0' the default. For all other graphics hardware, valid values are the value '0.0', with '0.0' the default.

The X display configuration variables are:

MM_X_SYNC

Set the horizontal sync rate that X will use. The value can be a horizontal sync rate value, a horizontal sync rate range, a comma separated list of sync rate values and ranges or 'auto', with 'auto' the default.

If the value is 'auto' then the horizontal sync rate will be auto-configured to '20-80'.

If the value is a horizontal sync rate value, then MiniMyth will set the horizontal sync rate to a range that is between two less than the value and two more than the value. This is done to ensure that rounding errors do not cause X to declare a mode line out of range.

MM_X_REFRESH

Set the vertical refresh rate that X will use. The value can be a vertical refresh rate value, a vertical refresh rate range, a comma separated list of vertical refresh values and ranges or 'auto', with 'auto' the default.

If the value is 'auto' then the vertical refresh rate will be auto-configured based on 'MM_X_TV_TYPE'.

If the value is a vertical refresh rate value, then MiniMyth will set the vertical refresh rate to a range that is between two less than the value and two more than the value. This is done to ensure that rounding errors do not cause X to declare a mode line out of range.

If 'MM_X_RESOLUTION' is set, then the value cannot be a range or a list.

MM_X_RESOLUTION

Set the screen resolution (in pixels). The screen resolution must have the form 'HxV' (e.g. '1024x768'), where H and V are the horizontal and vertical resolution in pixels.

MiniMyth will use 'MM_X_RESOLUTION' along with 'MM_X_REFRESH' to generate the screen mode line that X will use.

If 'MM_X_RESOLUTION' is set, then 'MM_X_MODELINE' and 'MM_X_MODE' must not be set.

MM_X_MODELINE

Set the screen mode line that X will use. The screen mode line has the form 'ModeLine "HxV..." ...', where H and V are the horizontal and vertical resolution in pixels. For example:

MM_X_MODELINE='ModeLine "1280x720_60.00"  74.48  1280 1336 1472 1664  720 721 724 746  -HSync +Vsync'

The screen mode line must have this form 'ModeLine "HxV..." ...', because MiniMyth needs to know the X resolution in pixels before starting X. MiniMyth needs to know the X resolution in pixels before starting X, because MiniMyth uses the X resolution in pixels to calculate an X display size in millimeters.

If 'MM_X_MODELINE' is set, then 'MM_X_RESOLUTION' and 'MM_X_MODE' must not be set.

MM_X_MODE

Set the built in screen mode that X will use. The value can be the screen mode or 'auto', with 'auto' the default. The screen mode must have the form 'HxV...' (e.g. '1024x768_60.0'), where H and V are the horizontal and vertical resolution in pixels.

The screen mode must have this form 'HxV...', because MiniMyth needs to know the X resolution in pixels before starting X. MiniMyth needs to know the X resolution in pixels before starting X, because MiniMyth uses the X resolution in pixels to calculate an X display size in millimeters.

If the value is 'auto' then the screen mode will be auto-configured based on 'MM_VIDEO_ASPECT_RATIO', 'MM_X_OUTPUT_HDMI', 'MM_X_OUTPUT_DVI', 'MM_X_OUTPUT_VGA', 'MM_X_OUTPUT_TV', 'MM_X_TV_TYPE' and 'MM_X_RESOLUTION'.

For VIA graphcis hardware, some popular modes for connecting to a standard definition televsion are '720x480', '720x480Noscale', '720x480Over', '720x576', '720x570Noscale' and '720x576Over'.

If 'MM_X_MODE' is set, then 'MM_X_RESOLUTION' and 'MM_X_MODELINE' must not be set.

MM_X_MODELINE_0, MM_X_MODELINE_1 and MM_X_MODELINE_2

Set up to three additional screen mode lines the X will use. These screen mode lines must have the same form as 'MM_X_MODELINE'.

If 'MM_X_MODELINE_n' is set, then 'MM_X_MODE_n' must not be set.

MM_X_MODE_0, MM_X_MODE_1 and MM_X_MODE_2

Set up to three additional built in screen modes that X will use. The value can be the screen mode, 'auto' or 'none', with 'auto' the default. These screen modes must have the same form as 'MM_X_MODE'.

If the value is 'auto' and MM_VIDEO_RESIZE_ENABLED='yes', then the value will bet set based on 'MM_VIDEO_ASPECT_RATIO' and 'MM_X_TV_TYPE'. Otherwise, if the value is 'auto', then the value will be set to 'none'.

If 'MM_X_MODE_n' is set, then 'MM_X_MODELINE_n' must not be set. MiniMyth will derive the appropriate value for 'MM_X_MODE_n' based on 'MM_X_MODELINE_n'.

If MM_VIDEO_RESIZE_ENABLED='yes', then MiniMyth will use the 'MM_X_MODE_n' values to fill out MythTV's video resizing fields.

The X hack configuration variables are:

MM_X_HACK_HIDE_BLUE_LINE_ENABLED

Indicate whether or not to use the hack for hiding blue line(s) around the edge of the display as described here. The value can be the 'yes' or 'no', with 'no' the default.

This hack relies on being able to set XV_COLORKEY, which requires the video hardware to be configured to use Xv video overlay. Unfortunately, some video hardware and video drivers (e.g. newer NVIDIA video hardware, including all VDPAU capable hardware) do not support Xv video overlay. When using video hardware or drivers that do not support Xv video overlay, this hack will not work.

The X fetch configuration variables are:

MM_X_FETCH_XBINDKEYSRC

Indicate whether or not to fetch the 'xbindkeysrc' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

MM_X_FETCH_XINITRC

Indicate whether or not to fetch the 'xinitrc' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

MM_X_FETCH_XMODMAPRC

Indicate whether or not to fetch the 'xmodmaprc' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

MM_X_FETCH_XORG_CONF

Indicate whether or not to fetch the 'xorg.conf' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

Configuration variables for: fonts
Overview

Font related configuration variables.

MM_FONT_FILE_TTF_ADD

A list of TrueType font (TTF) files to add. These font files will be fetched from the MiniMyth system's MiniMyth read-only configuration directory.

MiniMyth contains the Liberation font, which provides reasonable monospace, serif and sans-serif fonts. The main reason for needing to add additional fonts is that the Liberation font does not contain all characters. For instance, the Liberation font do not contain Chinese characters. Therefore, if you need to display Chinese characters, then you will need to add additional fonts.

MM_FONT_FILE_TTF_DELETE

A list of TrueType font (TTF) files to delete. These font files will be deleted from the MiniMyth system's directory '/usr/share/fonts/X11/TTF'. The list can include pathname expansion patterns (e.g. '*.TTF *.ttf' would match all TTF files).

In general, there should be no need to delete font files. However, if there are fonts that you do not want use, then you can ensure that they will not be used by deleting them.

Configuration variables for: Myth master backend communication
Overview

Myth master backend communication related configuration variables.

MM_MASTER_SERVER

Set the DNS name or IP address of the MythTV master backend (mysql.txt:DBHostName). If not specified, it defaults to the TFTP server's IP address.

MM_MASTER_DBUSERNAME

Set the MythTV master backend database username (mysql.txt:DBUserName). Valid values are any string, with 'mythtv' the default.

MM_MASTER_DBPASSWORD

Set the MythTV master backend database password (mysql.txt:DBPassword). Valid values are any string, with 'mythtv' the default.

MM_MASTER_DBNAME

Set the MythTV master backend database name (mysql.txt:DBName). Valid values are any string, with 'mythconverg' the default.

MM_MASTER_WOL_ENABLED

Indicate whether or not to enable wake-on-lan. Valid values are 'yes' and 'no', with 'no' the default.

MM_MASTER_WOL_MAC

Set the MAC address of the MythTV master backend. The default is '00:00:00:00:00:00'.

MM_MASTER_WOLSQLRECONNECTWAITTIME

Set the MythTV master backend WOL database reconnect wait time in seconds (WOLSqlReconnectWaitTime). Valid values are any positive integer, with '15' the default.

MM_MASTER_WOLSQLCONNECTRETRY

Set the MythTV master backend WOL database connection retries (WOLSqlConnectRetry). Valid values are any positive integer, with '20' the default.

MM_MASTER_WOLSQLCOMMAND

Set the MythTV master backend WOL command. The default is 'wakelan -b {broadcast} -m {mac}', where {broadcast} is the subnet broadcast address, and {mac} is 'MM_MASTER_WOL_MAC'.

MM_MASTER_WOL_ADDITIONAL_DELAY
Set the additional delay in seconds to wait for the MythTV master backend to wake after connecting to the database. Valid values are any non-negative integer, with '0' the default.
Configuration variables for: Apple AirPlay
Overview

Myth Apple AirPlay configuration variables.

MM_AIRPLAY_FETCH_RAOPKEY_RSA

Indicate whether or not to fetch the 'RAOPKey.rsa' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

Configuration variables for: Myth plugins
Overview

Myth plugins related configuration variables.

MM_PLUGIN_INFORMATION_CENTER_ENABLED

Indicate whether or not to enable MythTV support for the 'Information Center' menu. Valid values are 'yes' and 'no', with 'yes' the default.

If you are disabling all plugins under the 'Information Center' menu, and you do not use the 'System Status' sub-menu, then disabling the 'Information Center' menu can reduce menu clutter.

MM_PLUGIN_OPTICAL_DISK_ENABLED

Indicate whether or not to enable MythTV support for 'Optical Disks' menu. Valid values are 'yes' and 'no', with 'yes' the default.

If you are disabling all plugins under the 'Optical Disks' menu, or you do not have an optical disk, then disabling the 'Information Center' menu can reduce menu clutter.

MM_PLUGIN_BROWSER_ENABLED

Indicate whether or not to enable MythBrowser. Valid values are 'yes' and 'no', with 'yes' the default when the plugin is present and 'no' the default when the plugin is not present.

Indicate whether or not to enable MythGallery. Valid values are 'yes' and 'no', with 'yes' the default when the plugin is present and 'no' the default when the plugin is not present.

MM_PLUGIN_GAME_ENABLED

Indicate whether or not to enable MythGame. Valid values are 'yes' and 'no', with 'yes' the default when the plugin is present and 'no' the default when the plugin is not present.

MM_PLUGIN_MUSIC_ENABLED

Indicate whether or not to enable MythMusic. Valid values are 'yes' and 'no', with 'yes' the default when the plugin is present and 'no' the default when the plugin is not present.

MM_PLUGIN_NETVISION_ENABLED

Indicate whether or not to enable MythNetvision. Valid values are 'yes' and 'no', with 'yes' the default when the plugin is present and MM_PLUGIN_BROWSER_ENABLED='yes' and 'no' the default when the plugin is not present.

Note, the MythNetvision plugin was added after MythTV release 0.22.x. Therefore, this setting does not apply to MythTV release 0.22.x.

MM_PLUGIN_NEWS_ENABLED

Indicate whether or not to enable MythNews. Valid values are 'yes' and 'no', with 'yes' the default when the plugin is present and 'no' the default when the plugin is not present.

MM_PLUGIN_STREAM_ENABLED

Indicate whether or not to enable MythStream. Valid values are 'yes' and 'no', with 'yes' the default when the plugin is present and 'no' the default when the plugin is not present.

MM_PLUGIN_VIDEO_ENABLED

Indicate whether or not to enable MythVideo. Valid values are 'yes' and 'no', with 'yes' the default when the plugin is present and 'no' the default when the plugin is not present.

MM_PLUGIN_WEATHER_ENABLED

Indicate whether or not to enable MythWeather. Valid values are 'yes' and 'no', with 'yes' the default when the plugin is present and 'no' the default when the plugin is not present.

MM_PLUGIN_ZONEMINDER_ENABLED

Indicate whether or not to enable MythZoneMinder. Valid values are 'yes' and 'no', with 'yes' the default when the plugin is present and 'no' the default when the plugin is not present.

Configuration variables for: Extras directory
Overview

You can extend MiniMyth by adding files under /usr/local.

The Uniform Resource Locators (URLs) in this section must have the following form:

{protocol}://{username}:{password}@{server}/{path}?{options}

where {options} are additional mount options (-o). For example:

cifs://user:pass@server.home/music?domain=home
nfs://server.home/home/public/music
confrw:themecaches/G.A.N.T..1024.768.sfs

The valid protocol values are: 'cifs', 'nfs', 'ext2', 'ext3', 'ext4', 'http', 'tftp', 'confro', 'confrw', 'dist', 'hunt' and 'file'. For 'cifs' and 'nfs', the URL points to a remote directory. For 'ext2', 'ext3' and 'ext4', the URL points to a local ext2, ext3 or ext4 device. For 'http', 'tftp', 'confro', 'confrw', 'dist' and 'hunt', the URL points to a remote file. For 'file', the URL points to a local directory or file. A directory will be mounted at the mount point. A file, which can be a squashfs image (*.sfs.), cramfs image (*.cmg) or a tarball file (*.tar.bz2) will be retrieved and mounted at (for *.sfs and *.cmg files) or retrieved at expanded into (for *.tar.bz2 files) the mount point. The 'confro', 'confrw', 'dist' and 'hunt' are special MiniMyth specific URLs. A 'dist' URL causes MiniMyth to look for the file in the MiniMyth distribution directory (the directory with the MiniMyth root file system squashfs image). A 'confro' URL causes MiniMyth to look for the file in the MiniMyth read-only configuration directory. A 'confrw' URL causes MiniMyth to look for the file in the MiniMyth read-write configuration directory. A 'hunt' URL causes MiniMyth to look for the file first in the MiniMyth read-write configuration directory, second in the MiniMyth read-only configuration directory and third in the MiniMyth distribution directory.

MM_EXTRAS_URL

Set the location of the extras directory that will be mounted as '/usr/local'. Valid values are a URL, 'none' and 'auto', with 'auto' being the default.

If the value is 'none', then nothing will be mounted as '/usr/local'.

If the value is 'auto' and the MiniMyth root file system is a squashfs image, then MiniMyth will assume that the extras directory is in a squashfs image file located in either the MiniMyth distribution directory or the MiniMyth read-only configuration directory and having the name 'extras.sfs'. If the value is 'auto' and the MiniMyth root file system is not a squashfs image, then MiniMyth will assume that the extras directory is in a squashfs image file located in the MiniMyth read-only configuration directory and having the name 'extras.sfs'. That is, if the value is 'auto', then MiniMyth will assume MM_EXTRAS_URL='hunt:extras.sfs' when the MiniMyth root file system is a squashfs image and will assume MM_EXTRAS_URL='confro:extras.sfs' when the MiniMyth root file system is not a squashfs image.

As MiniMyth mounts the extras directory as '/usr/local', MiniMyth expects the extras directory to contain the top level directories 'bin' (in which binaries are included) and 'lib' (in which libraries are included). As a result of the extras directory containing these top level directories, the MiniMyth file system will contain a '/usr/local/bin' directory and a '/usr/local/lib' directory after mounting.

Alternatively, you can mount the extras directory by adding the appropriate commands to the 'minimyth.pm' package.

Configuration variables for: CODECs directory
Overview

You can extend MiniMyth by adding files under '/usr/lib/codecs'.

The URLs in this section must have the form described in the Extras directory ... section.

MM_CODECS_URL

Set the location of the CODECs directory that will be mounted as '/usr/lib/codecs'. Valid values are a URL, 'none' and 'auto', with 'auto' being the default.

If the value is 'none', then nothing will be mounted as '/usr/lib/codecs'.

If the value is 'auto', then MiniMyth will assume that the CODECs directory is in a squashfs image file located in the MiniMyth read-write configuration directory and having the name 'codecs.{arch}.sfs', where {arch} is either 32 or 64. That is, MiniMyth will assume MM_CODECS_URL='confrw:codecs.32.sfs' when compiled for a 32-bit architecture, and MiniMyth will assume MM_CODECS_URL='confrw:codecs.64.sfs' when compiled for a 64-bit architecture.

The Myth frontend menus contain the 'MiniMyth Tools' menu (under the 'Utilities / Setup' menu in a regular theme and under the main menu in a classic theme). The 'MiniMyth Tools' menu contains the menu item 'Fetch and Save Codecs' to help with creating and saving a CODECs squashfs image ('codecs.{arch}.sfs'). The 'Fetch and Save Codecs' menu item does the following:

  1. fetches the 32-bit essentials CODECs tarball or the 64-bit essentials CODECs tarball from the Internet,
  2. creates a temporary CODECs directory,
  3. puts the downloaded CODECs in the temporary CODECs directory,
  4. creates the CODECs squashfs image from the temporary CODECSs directory, and
  5. saves the CODECs squashfs image in the MiniMyth read-write configuration directory.

During the time that it takes MiniMyth to fetch, create and save the CODECs squashfs image, MiniMyth will display a terminal window with status information.

For these newly downloaded CODECs to take effect, you must reboot your MiniMyth system.

Alternatively, you can mount the CODECs directory by adding the appropriate commands to the 'minimyth.pm' package.

Configuration variables for: Adobe Flash Player
Overview

You can extend MiniMyth by adding Adobe Flash Player for use by MythBrowser and Hulu Desktop.

The URLs in this section must have the form described in the Extras directory ... section.

MM_FLASH_URL

Set the location of the Adobe Flash Player shared library that will be installed at '/usr/lib/browser/plugins/libflashplayer.so'. Valid values are a URL, 'none' and 'auto', with 'auto' being the default.

If the value is 'none', then nothing will be installed at '/usr/lib/browser/plugins/libflashplayer.so'.

Usually, if the value is 'auto', then MiniMyth will assume that the file is a shared library file located in the MiniMyth read-write configuration directory and having the name 'libflashplayer.{arch}.so', where {arch} is 32 or 64. That is, MiniMyth will assume MM_FLASH_URL='confrw:libflashplayer.32.so' when compiled for a 32-bit architecture and MM_FLASH_URL='confrw:libflashplayer.64.so' when compiled for a 64-bit architecture. However, as only MythBrowser and Hulu Desktop use Adobe Flash Player, if the value is 'auto', MM_HULU_URL='none', MM_PLUGIN_BROWSER_ENABLED='no' and MM_PLUGIN_NETVISION_ENABLED='no', then MiniMyth will assume that the value is 'none'.

The Myth frontend menus contain the 'MiniMyth Tools' menu (under the 'Utilities / Setup' menu in a regular theme and under the main menu in a classic theme). The 'MiniMyth Tools' menu contains the menu item 'Fetch and Save Adobe Flash Player' to help with fetching and saving the Adobe Flash Player shared library ('libflashplayer.{arch}.so'). The 'Fetch and Save Adobe Flash Player' menu item does the following:

  1. fetches 32-bit Adobe Flash Player 11.2.202.228 or 64-bit Adobe Flash Player 11.2.202.228 from the Internet,
  2. extracts the Adobe Flash Player shared library, and
  3. saves the Adobe Flash Player shared library in the MiniMyth read-write configuration directory.

During the time that it takes MiniMyth to fetch and save the Adobe Flash Player shared library, MiniMyth will display a terminal window with status information.

For the newly downloaded Adobe Flash Player to take effect, you must reboot your MiniMyth system.

Alternatively, copy the Adobe Flash Player shared library to the browser plugin directory by adding the appropriate commands to the 'minimyth.pm' package.

Configuration variables for: Hulu Desktop
Overview

You can extend MiniMyth by adding Hulu Desktop.

The URLs in this section must have the form described in the Extras directory ... section.

MM_HULU_URL

Set the location of the Hulu Desktop executable that will be installed at '/usr/bin/huludesktop'. Valid values are a URL, 'none' and 'auto', with 'auto' being the default.

If the value is 'none', then nothing will be installed at '/usr/bin/huludesktop'.

If the value is 'auto', then MiniMyth will assume that the file is an executable file located in the MiniMyth read-write configuration directory and having the name 'huludesktop.{arch}', where {arch} is 32 or 64. That is, MiniMyth will assume MM_HULU_URL='confrw:huludesktop.32' when compiled for a 32-bit architecture and MM_HULU_URL='confrw:huludesktop.64' when compiled for a 64-bit architecture.

The Myth frontend menus contain the 'MiniMyth Tools' menu (under the 'Utilities / Setup' menu in a regular theme and under the main menu in a classic theme). The 'MiniMyth Tools' menu contains the menu item 'Fetch and Save Hulu Desktop' to help with fetching and saving the Hulu Desktop executable ('huludesktop.{arch}'). The 'Fetch and Save Hulu Desktop' menu item does the following:

  1. fetches 32-bit Hulu Desktop or 64-bit Hulu Desktop from the Internet,
  2. extracts the Hulu Desktop executable, and
  3. saves the Hulu Desktop executable in the MiniMyth read-write configuration directory.

During the time that it takes MiniMyth to fetch and save the Hulu Desktop executable, MiniMyth will display a terminal window with status information.

For the newly downloaded Hulu Desktop to take effect, you must reboot your MiniMyth system.

MM_HULU_REMOTE

Set the name of the remote control that Hulu Desktop will use. Valid values are remote control name with, 'devinput' the default.

For some reason, Hulu Desktop requires the name of the remote control. It ignores remote control input that is not from the named remote control.

In order to determine the name of your remote control, telnet into your MiniMyth system, run the command 'irw' and press a key on your remote control. The name of your remote control is the word at the end of each line output by 'irw'

MM_HULU_STORE_HULUDESKTOP_DATA

Indicate whether or not to store and fetch the 'huludesktop.data' file to and from the MiniMyth system's MiniMyth read-write configuration directory. Valid values are 'yes' and 'no', with 'no' the default when MM_HULU_URL is 'none' and '/usr/bin/huludesktop' does not exist, and 'yes' the default otherwise.

If MM_HULU_STORE_HULUDESKTOP_DATA='yes', then MiniMyth will fetch this file on boot and store this file whenever the 'mm_hulu' command exits. Therefore, if you want MiniMyth to store your Hulu Desktop configuration file, then you must run Hulu Desktop using the 'mm_hulu' command rather than the 'huludesktop' command.

Alternatively, copy the Hulu Desktop executable to the binary directory by adding the appropriate commands to the 'minimyth.pm' package.

Configuration variables for: themes
Overview

MythTV themes are large and numerous. Rather than burden the MiniMyth root file system image with this extra size, MiniMyth downloads and mounts the MythTV theme and the MythTV OSD theme that are to be used by MythTV. The MiniMyth distribution contains several themes, which can be found in the 'themes/' directory. Themes that end in 'osd' are MythTV OSD themes. Themes that end in 'wide' are widescreen MythTV themes. The remaining themes are standard MythTV themes. In addition to choosing from the included themes, you can use your own MythTV theme and MythTV OSD theme.

MythTV scales the MythTV theme graphics to sizes that are appropriate for your display resolution. If it present and up-to-date, then this cached theme is reused each time a MythTV GUI starts. This works well on MythTV system's that have non-volatile storage (e.g. a hard disk drive). However, MiniMyth systems do not have non-volatile storage. As a result, MythTV regenerates the cached theme each time that MiniMyth is rebooted. In order to enable MiniMyth to have all the advantages of a cached theme without regenerating the cached theme each time MiniMyth is rebooted, MiniMyth can mount the themecache directory at boot time.

The URLs in this section must have the form described in the Extras directory ... section.

MM_THEME_NAME

Set the name of the MythTV theme to be used. You must provide a MythTV theme name.

MM_THEMEOSD_NAME

Set the name of the MythTV OSD theme to be used. You must provide a MythTV OSD theme name.

After MythTV 0.23, MythTV does not contain separate OSD themes. Therefore, after MythTV 0.23, this variable must not be set.

MM_THEME_URL

Set the location of the MythTV theme that will be mounted in the MythTV themes directory ('/home/minimyth/.mythtv/themes') as "${MM_THEME_NAME}". Valid values are a URL, 'none' and 'auto', with 'auto' the default.

If the value is 'none', then nothing will be mounted in the MythTV themes directory as "${MM_THEME_NAME}".

If the value is 'auto' and the MiniMyth root file system is a squashfs image, then MiniMyth will assume that the MythTV theme directory is in a squashfs image file located in either the MiniMyth distribution directory or the MiniMyth read-only configuration directory and having the name "themes/${MM_THEME_NAME}.sfs". If the value is 'auto' and the MiniMyth root file system is not a squashfs image, then MiniMyth will assume that the MythTV theme directory is in a squashfs image file located in the MiniMyth read-only configuration directory and having the name "themes/${MM_THEME_NAME}.sfs". That is, if the value is 'auto', then MiniMyth will assume MM_THEME_URL="hunt:themes/${MM_THEME_NAME}.sfs". when the MiniMyth root file system is a squashfs image and will assume MM_THEME_URL="confro:themes/${MM_THEME_NAME}.sfs". when the MiniMyth root file system is not a squashfs image.

MM_THEMEOSD_URL

Set the location of the MythTV OSD theme that will be mounted in the MythTV themes directory ('/home/minimyth/.mythtv/themes') as "${MM_THEMEOSD_NAME}". Valid values are a URL, 'none' and 'auto', with 'auto' the default.

If the value is 'none', then nothing will be mounted in the MythTV themes directory as "${MM_THEMEOSD_NAME}".

If the value is 'auto' and the MiniMyth root file system is a squashfs image, then MiniMyth will assume that the MythTV OSD theme directory is in a squashfs image file located in either the MiniMyth distribution directory or the MiniMyth read-only configuration directory and having the name "themes/${MM_THEMEOSD_NAME}.sfs". If the value is 'auto' and the MiniMyth root file system is not a squashfs image, then MiniMyth will assume that the MythTV OSD theme directory is in a squashfs image file located in the MiniMyth read-only configuration directory and having the name "themes/${MM_THEMEOSD_NAME}.sfs". That is, if the value is 'auto', then MiniMyth will assume MM_THEMEOSD_URL="hunt:themes/${MM_THEMEOSD_NAME}.sfs". when the MiniMyth root file system is a squashfs image and will assume MM_THEMEOSD_URL="confro:themes/${MM_THEMEOSD_NAME}.sfs". when the MiniMyth root file system is not a squashfs image.

MM_THEMECACHE_URL

Set the location of the already generated MythTV themecache directory that will be mounted as the MythTV themecache directory ('/home/minimyth/.mythtv/themecache'). Valid values are URL, 'none' and 'auto', with 'auto' the default.

If the value is 'none', then nothing will be mounted as the already generated MythTV themecache directory.

If the value is 'auto', then MiniMyth will assume that the MythTV themecache directory is in a squashfs image file located in the MiniMyth read-write configuration directory and having the name "themecache.sfs". That is, MiniMyth will assume MM_THEMECACHE_URL='confrw:themecache.sfs'.

The Myth frontend menus contain the 'MiniMyth Tools' menu (under the 'Utilities / Setup' menu in a regular theme and under the main menu in a classic theme). The 'MiniMyth Tools' menu contains the menu item 'Save Themecache' to help with creating and saving the themecache squashfs image ('themecache.sfs'). The 'Save Themecache' menu item does the following:

  1. creates the themecache squashfs image from the themecache directory, and
  2. saves the themecache squashfs image in the MiniMyth read-write configuration directory.

During the time that it takes MiniMyth to create and save the themecache squashfs image, MiniMyth will display a terminal window with status information.

After MythTV 0.23, MythTV does not contain separate OSD themes. Therefore, after MythTV 0.23, this variable must not be set.

MM_THEME_FILE_MENU_ADD

Set a space separated list of theme menu files that will override/extend MythTV theme menus. These files will be copied from the MiniMyth read-only configuration directory.

You can use this variable to do things such as change the frontend's menu structure by overriding the XML files that define the menu structure.

Alternatively, you can mount the theme directories by adding the appropriate commands to the 'minimyth.pm' package.

Configuration variables for: media directories
Overview

You can mount media directories by setting some variables.

The directories in this section must be absolute paths and must not contain a trailing '/'.

The URLs in this section must have the form described in the Extras directory ... section.

MM_MEDIA_TV_MOUNTPOINT

Set the location on the MiniMyth system's file system where 'MM_MEDIA_TV_URL' will be mounted. The default value is '/mnt/tv'.

MM_MEDIA_TV_URL

Set the URL that points to the location of the media for MythTV (the recorded television store). This will be mounted at 'MM_MEDIA_TV_MOUNTPOINT'.

If MiniMyth is not acting as a MythTV slave backend, then MM_MEDIA_TV_URL is not needed. This is because MythTV has its own protocol for streaming recording from the backend to the frontend. However, if you want to bypass MythTV's streaming protocol, then you can set MM_MEDIA_TV_URL.

If MiniMyth is acting as a MythTV slave backend, then MM_MEDIA_TV_URL should be set. This is because MythTV needs a location where it can save television recordings.

The location specified by MM_MEDIA_TV_URL must be readable by the user 'minimyth'. In addition, if MiniMyth is acting as a MythTV slave backend, then the location specified by MM_MEDIA_TV_URL must be writable by the user 'minimyth'.

Set the location on the MiniMyth system's file system where 'MM_MEDIA_GALLERY_URL' will be mounted. The default value is '/mnt/gallery'.

Set the URL that points to the location of the media for MythGallery. This will be mounted at 'MM_MEDIA_GALLERY_MOUNTPOINT'.

MM_MEDIA_GAME_MOUNTPOINT

Set the location on the MiniMyth system's file system where 'MM_MEDIA_GAME_URL' will be mounted. The default value is '/mnt/game'.

MM_MEDIA_GAME_URL

Set the URL that points to the location of the media for MythGame. This will be mounted at 'MM_MEDIA_GAME_MOUNTPOINT'.

MM_MEDIA_MUSIC_MOUNTPOINT

Set the location on the MiniMyth system's file system where 'MM_MEDIA_MUSIC_URL' will be mounted. The default value is '/mnt/music'.

MM_MEDIA_MUSIC_URL

Set the URL that points to the location of the media for MythAudio and MythMusic. This will be mounted at 'MM_MEDIA_MUSIC_MOUNTPOINT'. If you plan to rip CDs, then the user 'minimyth' must have read-write access to this directory, else this directory can be read-only.

MM_MEDIA_VIDEO_MOUNTPOINT

Set the location on the MiniMyth system's file system where 'MM_MEDIA_VIDEO_URL' will be mounted. The default value is '/mnt/video'.

MM_MEDIA_VIDEO_URL

Set the URL that points to the location of the media for MythVideo. This will be mounted at 'MM_MEDIA_VIDEO_MOUNTPOINT'.

MM_MEDIA_GENERIC_LIST

A space separated list of {mountpoint}={url} values. If you have media shares that cannot be mounted using the MM_MEDIA_*_MOUNTPOINT + MM_MEDIA_*_URL pairs, then include them in this list and MiniMyth will mount them after mounting all shares specified by the MM_MEDIA_*_MOUNTPOINT + MM_MEDIA_*_URL pairs. The user 'minimyth' must have read access to the directory specified by {url}.

For example, to mount the remote media directory 'nfs://foo.example.net/videos' at the location '/mnt/videos/foo' and the remote media directory 'nfs://bar.example.net/videos' at the location '/mnt/videos/bar', you would use:

MM_MEDIA_GENERIC_LIST='/mnt/videos/foo=nfs://foo.example.net/videos /mnt/videos/bar=nfs://bar.example.net/videos'.

Alternatively, you can mount remote directories by adding the appropriate commands to the 'minimyth.pm' package. If you do this, there are some things that you should know.

First, it is suggested that you create new mount points below '/mnt'.

Second, there is a MiniMyth.pm function called 'Minimyth::url_mount' that you might find useful. This function takes two arguments:

url: required argument:
This argument is described above.
mount_dir: required argument:
The local directory (e.g. /mnt/music) where the URL will be mounted.
Configuration variables for: games
Overview

Game related configuration variables.

MM_GAME_SAVE_ENABLED

Indicate whether or not to enable saving of game settings. Valid values are 'yes' and 'no', with 'no' the default.

MythGame uses third party game console emulators to enable the user to play different games. Each game console emulator has its own method for configuration and its own set of configuration files. In addition, many of the game console emulators can save game state. However, unless this is saved somewhere other than your MiniMyth system, it will not survive reboot.

If you set MM_GAME_SAVE_ENABLED='yes', then MiniMyth will save the game settings 'game.tar' in the MiniMyth read-write configuration directory during shut down and will restore the game settings from 'game.gar' during start up. Also, if you set MM_GAME_SAVE_ENABLED='yes' and you are running the game emulator using 'mm_game_start', then MiniMyth will save the game settings 'game.tar' in the MiniMyth read-write configuration directory on game emulator exit.

In addition, the Myth frontend menus contain the 'MiniMyth Tools' menu (under the 'Utilities / Setup' menu in a regular theme and under the main menu in a classic theme). The 'MiniMyth Tools' menu contains the menu items 'Save Game Settings' and 'Restore Game Settings' to manually save and restore the game settings. During the time that it takes MiniMyth to save or restore the game settings MiniMyth will display a terminal window with status information.

MM_GAME_SAVE_LIST

Set a colon (':') separated list of game directories and files that will be saved and restored. All directories and files are relative to the home directory ('/home/minimyth'). The default is a reasonable list based on the game emulators included in MiniMyth.

MM_GAME_BIOS_ROOT

Set the root of the directory tree containing the game console BIOS files. The default is "${MM_MEDIA_GAME_MOUNTPOINT}/mnt/game/bios".

MiniMyth expects the BIOS files for the game console '{console}' to be in the directory "${MM_GAME_BIOS_ROOT}/{console}". Example values for '{console}' are:

  • a2600 - Atari 2600,
  • cgb - Color Game Boy,
  • gb - Game Boy,
  • gba - Game Boy Advance,
  • intv - Intellivision,
  • nes - Nintendo Entertainment System, and
  • snes - Super Nintendo Entertainment System.

However, depending on the included game console emulators, other values may be needed.

MM_GAME_GAME_ROOT

Set the root of the directory tree containing the game console game files. The default is "${MM_MEDIA_GAME_MOUNTPOINT}/game".

MiniMyth expects the game files for the game console '{console}' to be in the directory "${MM_GAME_GAME_ROOT}/{console}". Example values for '{console}' are:

  • a2600 - Atari 2600,
  • cgb - Color Game Boy,
  • gb - Game Boy,
  • gba - Game Boy Advance,
  • intv - Intellivision,
  • nes - Nintendo Entertainment System, and
  • snes - Super Nintendo Entertainment System.

However, depending on the included game console emulators, other values may be needed.

Configuration variables for: Bluetooth
Overview

Bluetooth related configuration variables.

MM_BLUETOOTH_DEVICE_LIST

The list of Bluetooth host controller interface devices to be configured. Valid values are the Bluetooth devices in directory '/sys/class/bluetooth', 'none' and 'auto', with 'auto' the default.

If the value is 'auto', then MiniMyth will set MM_BLUETOOTH_DEVICE_LIST to a list of all devices in directory '/sys/class/bluetooth'.

Configuration variables for: Wii remote control
Overview

Wii remote control related configuration variables.

MM_WIIMOTE_ADDRESS_0, MM_WIIMOTE_ADDRESS_1 MM_WIIMOTE_ADDRESS_2 and MM_WIIMOTE_ADDRESS_3

Provide the address(es) of the Wii remote control(s).

MiniMyth uses the CWiid's wminput user space driver in conjunction with the uinput kernel driver to map Wii remote control inputs to Linux input device events. For Wii remote control number n={0,1,2,3}, MiniMyth input mapping file '/etc/cwiid/wminput/default_n'. Each file '/etc/cwiid/wminput/default_n' includes file '/etc/cwiid/wminput/default' and lights the appropriate LED on the Wiimote.

If you have only one Wii remote control, then you can set MM_WIIMOTE_ADDRESS_0='00:00:00:00:00:00'. Setting MM_WIIMOTE_ADDRESS_0='00:00:00:00:00:00' causes wminput to pair with the first Wii remote control that it detects. However, if you want MiniMyth to use more than one Wii remote control at the same time or to use only a specific Wii remote remote control, then you must set MM_WIIMOTE_ADDRESS_n to the Wii remote control's address.

Once MiniMyth boots, you need to put your Wii remote control(s) into discovery mode. You can do this by pressing the 1 and 2 buttons on the Wii remote control at the same time. Once MiniMyth acquires the Wii remote control it will light the LED corresponding to the Wii remote control's number. MiniMyth does not always acquire on the first attempt. Therefore, if the LEDs stop flashing but the LED corresponding the Wii remote control's number does not light, then put the Wii remote control into discovery mode again.

Configuration variables for: LIRC
Overview

Support for remote control transcievers under Linux is going through a transition. Thanks to the hard work of Jarod Wilson, LIRC's kernel drivers are being integrated into the kernel tree. Traditionally, translation from remote control signal to Linux input event has been performed by the lircd daemon. However, once a driver is integrated into the kernel tree, translation from remote control signal to Linux input event is performed by the kernel. Therefore, the mapping from remote control signal to Linux input event is handled by either the lircd daemon or the Linux kernel, depending on whether or not the kernel driver has been integrated into the kernel tree.

If your remote control receiver uses one of the drivers listed below, then translation from remote control signal to Linux input event is handled by the Linux kernel, which means that you replace the appropriate RC key map file (and 'rc_maps.cfg' if needed) using 'MM_LIRC_RC_KEYMAPS_FILE_ADD' (and 'MM_LIRC_FETCH_RC_MAPS_CFG' if needed).

  • ati_remote
  • ene_ir
  • fintek-cir
  • imon
  • ite-cir
  • mceusb
  • nuvoton-cir
  • redrat3
  • streamzap
  • winbond-cir

if your remote control receiver uses one the drivers listed below or uses one of the LIRC userspace drivers, then translation form remote control signal to Linux input event is handled by the lircd daemon, which means you replace 'lircd.conf' using 'MM_LIRC_FETCH_LIRCD_CONF' for changing the remote control signal to Linux input event mapping.

  • lirc_atiusb
  • lirc_bt829
  • lirc_igorplugusb
  • lirc_imon
  • lirc_parallel
  • lirc_sasem
  • lirc_serial
  • lirc_sir
  • lirc_ttusbir
  • lirc_wpc8769l
  • lirc_zilog

MiniMyth supports remote controls using a combination of udev, LIRC, eventlircd and MiniMyth read only configuration variables. This combination enables MiniMyth

MiniMyth uses udev

  • to load remote control subsystem kernel driver(s) when a device requiring the driver(s) is added,
  • to load LIRC kernel driver(s) when a device requiring the driver(s) is added,
  • to start and stop lircd when a device requiring lircd is added or removed,
  • to notify eventlircd when an input event device that should be routed through LIRC is added or removed,
  • to prevent Xorg from handling input devices that are routed through LIRC.

MiniMyth uses the in-tree LIRC kernel driver (lirc_dev.ko), out-of-tree LIRC kernel drivers (lirc_*.ko except lirc_dev.ko) and the LIRC daemon (lircd)

  • to create a Linux input event device for receiving remote control key presses as Linux input events, and
  • to create an lircd socket for sending IR commands using IR transmitters.

MiniMyth uses the eventlircd daemon

  • to map keyboard shortcuts to single events,
  • to create a Linux input event device for events not handled by the lircd socket (e.g. mouse and joystick events), and
  • to combine multiple input event devices into a single lircd socket.

If your MiniMyth system has a remote control receiver/transmitter that is not (or cannot) be detected by udev, then you can manually configure it using the LIRC configuration variables.

MM_LIRC_AUTO_ENABLED

Indicate whether or not to auto-detect remote control receivers (and remote controls). Valid values are 'yes' and 'no', with the default depending on 'MM_LIRC_DRIVER'. If 'MM_LIRC_DRIVER' is 'none', then the default value is 'yes'. Otherwise, the default value is 'no'.

Auto-detection of a remote control receiver is done using the remote control receiver's USB vendor and product identifiers in conjunction with the '/lib/modules/*/modules.*' file. If your remote control receiver is not auto-configured and you believe that it should have been auto-configured, then let us know the remote control receiver vendor and model, the LIRC driver used and the output of the command 'lsusb' with the remote control receiver connected.

If a remote control is bundled with the remote control receiver, then auto-detection of the remote control is done using the remote control receiver's USB vendor and product identifiers in conjunction with the '/lib/udev/rules.d/05-minimyth-detect-lirc.rules' file. If your remote control is not auto-autoconfigured and you believe that it should have been auto-configured, then let us know the remote control / remote control receiver vendor and model, the LIRC driver used, the output of the command 'lsusb' with the remote control receiver connected and (if you have them) 'lircd.conf' and 'lircrc' files that work with MiniMyth.

Mapping from Remote Control Buttons to Application Actions

There are multiple configuration files in the processing chain from remote control button to application action; each of which can modify the mapping from remote control button to application action.

First, MiniMyth attempts to map each remote control button to a unique EVKEY Linux input event. Second, MiniMyth attempts to map each KEY_* EVKEY Linux input event to an action for each supported application.

MiniMyth attempts to make the mapping from KEY_* to application action independent of the remote control. It does this so that it needs one lircrc per application rather than one lircrc per application per remote. In order to accomplish this, MiniMyth attempts to map remote control buttons to the appropriate KEY_* before outputing it on the lircd socket. For remote control devices that make use of lircd, any mapping of remote control button to KEY_* is done using an lircd configuration file. For remote control devices that do not make use of lircd (e.g. a remote control device that presents itself as a USB keyboard and/or mouse), the mapping from remote control button to KEY_* is done an eventlircd event map file.

Therefore, when a remote control button does not cause the desired application action, then it is important to determine whether the problem is with the mapping of remote control button to KEY_* or with the mapping of KEY_* to application action. If MiniMyth does not contain a KEY_* to application action in its lircrc files for the desired application action, then let us know the missing application action so that MiniMyth can include it. If MiniMyth does not map remote control button to KEY_* correctly for your remote, then let us know.

MM_LIRC_DEVICE_BLACKLIST

Set the space separated list of devices that LIRC should ignore. Valid values are space separated list of device names with '' the default.

If you have a remote control receiver that you do not want MiniMyth to use, then you should either disconnect or disable it. However some systems (e.g. systems that have the remote control receiver with the VFD/LCD display) have integrated remote control receivers that cannot be disconnected or disabled without disabling other functionality. As a result, if these are USB devices known to MiniMyth, then MiniMyth would configure and use them. If you do not want MiniMyth to use such a remote control receiver, then include it in this list.

When MiniMyth detects a remote control device, it adds a persistent name for the device (/dev/persistent/usb:{idVendor}:{idProduct}:{serial}):{bInterfaceNumber} when possible. Since this persistent name is the same across reboots, it can be easily included in the black list.

MM_LIRC_DRIVER

Set the name of the lircd driver (e.g. irman) as found under the 'configure --with-driver option' here. Valid values are the name of the lircd driver, 'bdremote', 'iguanaIR', 'irtrans' and 'none', with 'none' the default. 'MM_LIRC_DRIVER' is used to determine what LIRC driver to use.

Most MM_LIRC_DRIVER values are handled by the lircd daemon. However, the MM_LIRC_DRIVER values of 'bdremote', 'iguanaIR', 'irtrans' and 'devinput' are handled by other daemons.

If the value is 'bdremote', then MiniMyth will start the bdremoteng daemon as well as eventlircd, allowing you to control your MiniMyth system with a Sony PlayStation 3 Blu-ray Disc remote control. When the value is 'bdremote', 'MM_LIRC_DEVICE' must be set to the Bluetooth address of the Sony PlayStation 3 Blu-ray Disc remote control, which can be found by putting the Sony PlayStation 3 Blu-ray Disc remote control in pairing mode (done by simultaneously pressing the 'start' and 'enter' buttons on the remote control for at least 5 seconds) and then running the command 'hcitool scan' on the MiniMyth system. In addition the remote control must be paired with your MiniMyth frontend, which can be done by putting the Sony PlayStation 3 Blu-ray Disc remote control in pairing mode and then running the command 'hidd --connect {bdremote-address}' on the MiniMyth system, where {bdremote-address} is the Bluetooth address of the remote control. After pairing the remote control with the MiniMyth system, it should not need to be paired again unless you pair it with a different system.

If the value is 'iguanaIR' then MiniMyth will start the igdaemon daemon as well as lircd and eventlircd.

If the value is 'irtrans', then MiniMyth will start the irserver daemon instead of lircd and eventlircd.

If the value is 'devinput', then MiniMyth will use eventlircd alone instead of lircd and eventlircd together.

If the value is 'none,' then no lircd driver will be set.

MM_LIRC_DEVICE

Set the name of your lirc device (e.g. '/dev/ttyS0'). Valid values are the lirc device, 'none' and 'auto', with 'auto' the default.

If the value is 'none,' then no lirc device will be set.

If the value is 'auto', then MiniMyth will attempt to pick a reasonable default value based on the value of 'MM_LIRC_DRIVER'.

MM_LIRC_KERNEL_MODULE

Set the name of any kernel module that you need to load to support your lirc device (e.g. 'lirc_serial'). Valid values are the kernel module, 'none' and 'auto', with 'auto' the default.

If the value is 'none,' then no lirc device will be set.

If the value is 'auto', then MiniMyth will attempt to pick a reasonable default value based on the value of 'MM_LIRC_DRIVER'.

MM_LIRC_KERNEL_MODULE_OPTIONS

Set the options for the kernel module specified by 'MM_LIRC_KERNEL_MODULE'. Valid values are the kernel module options, 'none' and 'auto', with 'auto' the default. For MM_LIRC_KERNEL_MODULE='lirc_serial', you need to use 'MM_LIRC_KERNEL_MODULE_OPTIONS' to specify the parameters for the serial port that you are using. For example:

COM1: MM_LIRC_KERNEL_MODULE_OPTIONS='irq=4 io=0x3f8'
COM2: MM_LIRC_KERNEL_MODULE_OPTIONS='irq=3 io=0x2f8'

If these do not work or you need values for other COM ports, then you may need to look at your BIOS settings to determine the correct values for irq and io on your system.

If the value is 'none,' then no lirc device will be set.

If the value is 'auto', then MiniMyth will attempt to pick a reasonable default value based on the value of 'MM_LIRC_DRIVER'.

MM_LIRC_IREXEC_ENABLED

Indicate whether or not the irexec daemon runs. Valid values are 'yes', 'no' and 'auto', with 'auto' the default.

If the value is 'auto', then MiniMyth will enable or disable the irexec daemon depending on whether or not the irexec binary is present and whether or not irexec is used the lircrc file.

MM_LIRC_IRXEVENT_ENABLED

Indicate whether or not the irxevent daemon runs. Valid values are 'yes', 'no' and 'auto', with 'auto' the default.

If the value is 'auto', then MiniMyth will enable or disable the irxevent daemon depending on whether or not the irxevent binary is present and whether or not irxevent is used the lircrc file.

MM_LIRC_IRXKEYS_ENABLED

Indicate whether or not the irxkeys daemon runs. Valid values are 'yes', 'no' and 'auto', with 'auto' the default.

If the value is 'auto', then MiniMyth will enable or disable the irxkeys daemon depending on whether or not the irxkeys binary is present and whether or not irxkeys is used the lircrc file.

MM_LIRC_SLEEP_ENABLED

Indicate whether or not the remote control's power button is used to put the MiniMyth system into S3 sleep Valid values are 'yes' and 'no', with 'yes' the default.

Before entering sleep, MiniMyth will attempt to exit MPlayer (if running), exit VLC (if running), exit Xine (if running), exit game emulators (if running) and return to the Myth frontend's main menu. MiniMyth relies on the 'Main Menu' JumpPoint in order to return to the Myth frontend's main menu.

Whether or not S3 sleep and wakeup work correctly depends on the motherboard's BIOS as well as the kernel and xorg drivers used by the MiniMyth system.

MM_LIRC_WAKEUP_ENABLED

Indicate whether or not the the remote control's power button is used to wake up the MiniMyth system from S3 sleep. Valid values are 'yes' and 'no', with 'yes' the default.

Whether or not S3 sleep and wakeup work correctly depends on the motherboard's BIOS as well as the kernel and xorg drivers used by the MiniMyth system.

This function assumes that the remote receiver uses the lirc_dev driver, creates a device /dev/lircN, and connects using USB. In addition, it assumes the motherboard supports USB wakeup from S3 sleep that has been enabled using the appropriate motherboard BIOS settings and/or motherboard jumper positions.

MM_LIRC_EVENTLIRCD_FILE_EVMAP_ADD

A list of eventlircd event map (*.evmap) files to add/replace. These event map files will be fetched from the MiniMyth system's MiniMyth read-only configuration directory.

MiniMyth's goal is to include all the required eventlircd evmap files, As a result, you should not need to use this variable. If you do, then please let us know.

MM_LIRC_FETCH_RC_MAPS_CFG

Indicate whether or not to fetch the 'rc_maps.cfg' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

MM_LIRC_RC_KEYMAPS_FILE_ADD

A list of rc keymap files to add/replace. These rc keymap files will be fetched from the MiniMyth system's MiniMyth read-only configuration directory.

MM_LIRC_FETCH_LIRCD_CONF

Indicate whether or not to fetch the 'lircd.conf' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

MiniMyth includes a limited number of 'lircd.conf' files. If MiniMyth does not contain an 'lircd.conf' file for your receiver+remote combination, then you will need to provide one in order for your remote control to work with MiniMyth.

While the lircd daemon makes use of 'lircd.conf', other daemons used to support remote controls do not. Therefore, MiniMyth does not use this file for the remote control devices handled by other daemons: MM_LIRC_DRIVER='bdremote' (handled by the bdremoteng daemon), MM_LIRC_DRIVER='iguanaIR' (handled by the igdaemon daemon), MM_LIRC_DRIVER='irtrans' (handled by the irserver daemon) and MM_LIRC_DRIVER='devinput' (handled by the eventlircd daemon).

MM_LIRC_FETCH_LIRCMD_CONF

Indicate whether or not to fetch the 'lircmd.conf' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

If 'lircmd.conf' is fetched, then MiniMyth will start the LIRC mouse daemon (lircmd) in uinput mode and configure Xorg to use the resulting event device. 'lircmd.conf'. Note that the LIRC mouse daemon in uinput mode ignores the PROTOCOL option in 'lircmd.conf'

MM_LIRC_FETCH_LIRCRC

Indicate whether or not to fetch the 'lircrc' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

MiniMyth includes a general 'lircrc' as well as extensions to the general 'lircrc' for specific remote controls. If you do not like the mapping provided by the included 'lircrc' files, then you can provide your own.

MM_LIRC_FETCH_LIRCRC_MINIMYTH

Indicate whether or not to fetch the 'lircrc.minimyth' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

MM_LIRC_FETCH_LIRCRC_MYTHTV

Indicate whether or not to fetch the 'lircrc.mythtv' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

MM_LIRC_FETCH_LIRCRC_MPLAYER

Indicate whether or not to fetch the 'lircrc.mplayer' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

MM_LIRC_FETCH_LIRCRC_VLC

Indicate whether or not to fetch the 'lircrc.vlc' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

MM_LIRC_FETCH_LIRCRC_XINE

Indicate whether or not to fetch the 'lircrc.xine' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

Alternatively, you can configure LIRC by adding the appropriate commands to 'minimyth.pm' package. If you do this, when you run LIRCd, you need to specify the driver using the '--driver' command line option and the device using the '--device' command line option. If 'MM_LIRC_AUTO_ENABLED' is 'no' and 'MM_LIRC_DRIVER' is 'none', then MiniMyth will not start lircd on its own.

Configuration variables for: LCDproc
Overview

MiniMyth uses LCDproc to enable MiniMyth to display information on a Liquid Crystal Display (LCD) or Vacuum Fluorescent Display (VFD), which can be mounted in one of the computer case's front mount drive bays. LCDproc supports many LCDs and VFDs, each of which require different configuration.

If you are using an LCD or VFD that connects using USB, then MiniMyth attempts to auto-detect the LCD or VFD. However, if MiniMyth is not able to auto-detect your LCD or VFD, then you can configure it using the LCDproc configuration variables.

MM_LCDPROC_DRIVER

Set the name of the LCDd driver. Valid values are the name of the LCDd driver, 'none' and 'auto', with 'auto' the default' 'MM_LCDPROC_DRIVER' is used to pick a driver specific built-in LCDd.conf file.

If there is no driver specific build-in 'LCDd.conf' file for the LCDd driver, then the generic LCDd.conf file is used. Currently, there are no built-in 'LCDd.conf' files. If your LCD or VFD does not have a built-in 'LCDd.conf' file or you do not want to use the built-in 'LCDd.conf' file, then you can load your own 'LCDd.conf' using 'MM_LCDPROC_FETCH_LCDD_CONF'.

If the value is 'none,' then none will be picked.

If the value is 'auto', then MiniMyth will attempt to auto-configure your LCD or VFD. If you use an LCD or VFD the connects using USB, then MiniMyth will attempt to determine the values for 'MM_LCDPROC_DRIVER' and 'MM_LCDPROC_DEVICE' using the USB vendor and product identifiers in conjunction with the '/etc/hardware.d/usb2lcdproc.map' file. If your LCD or VFD is not auto-detected and you believe that it should have been auto-detected, then let us know the LCD or VFD vendor and model, the LCDproc driver used, the output of the command 'lsusb' with the LCD or VFD connected, and (if you have one) an 'LCDd.conf' file that works with MiniMyth.

MM_LCDPROC_DEVICE

Set the name of your LIRC device (e.g. '/dev/ttyS0'). Valid values are the LIRC device, 'none' and 'auto', with 'auto' the default.

If the value of 'MM_LCDPROC_DRIVER' is 'auto', then the value of MM_LCDPROC_DEVICE is ignored. Instead, MiniMyth uses the device associated with the auto-configured driver.

If the value is 'none,' then no LIRC device will be set.

If the value is 'auto', then MiniMyth will attempt to pick a reasonable default value based on the value of 'MM_LCDPROC_DRIVER'.

MM_LCDPROC_KERNEL_MODULE

Set the name of any kernel module that you need to load to support your LIRC device (e.g. '8250'). Valid values are the kernel module, 'none' and 'auto', with 'auto' the default.

If the value of 'MM_LCDPROC_DRIVER' is 'auto' then MM_LCDPROC_KERNEL_MODULE is ignored. Instead, MiniMyth does not load any additional kernel modules.

If the value is 'none,' then no LIRC device will be set.

If the value is 'auto', then MiniMyth will attempt to pick a reasonable default value based on the value of 'MM_LCDPROC_DRIVER'.

MM_LCDPROC_KERNEL_MODULE_OPTIONS

Set the options for the kernel module specified by MM_LCDPROC_KERNEL_MODULE. Valid values are the kernel module options, 'none' and 'auto', with 'auto' the default.

If the value of 'MM_LCDPROC_DRIVER' is 'auto' then MM_LCDPROC_KERNEL_MODULE_DRIVERS is ignored.

If the value is 'none,' then no LIRC device will be set.

If the value is 'auto', then MiniMyth will attempt to pick a reasonable default value based on the value of 'MM_LCDPROC_DRIVER'.

MM_LCDPROC_FETCH_LCDD_CONF

Indicate whether or not to fetch the 'LCDd.conf' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

Alternatively, you can configure LCDproc by adding the appropriate commands to 'minimyth.pm' package. If the 'lcdproc' init script detects that LCDd is already running, then it will exit immediately.

Configuration variables for: external equipment control
Overview

External equipment control related configuration variables.

MM_EXTERNAL_POWER_OFF

Set the command sequence MiniMyth should use when it needs to power off external equipment. Valid values are a ';' separated list of zero or more shell commands, with '' the default.

This command sequence will be executed just before MiniMyth enters sleep.

MM_EXTERNAL_POWER_ON

Set the command sequence MiniMyth should use when it needs to power on external equipment. Valid values are a ';' separated list of zero or more shell commands, with '' the default.

This command sequence will be executed just after MiniMyth leaves sleep.

MM_EXTERNAL_VOLUME_DOWN

Set the command sequence MiniMyth should use when it needs to turn down the volume using external equipment. Valid values are a ';' separated list of zero or more shell commands, with '' the default. If 'MM_EXTERNAL_VOLUME_DOWN is set, then MM_EXTERNAL_VOLUME_UP must be set.

MM_EXTERNAL_VOLUME_UP

Set the command sequence MiniMyth should use when it needs to turn up the volume using external equipment. Valid values are a ';' separated list of zero or more shell commands, with '' the default. If 'MM_EXTERNAL_VOLUME_UP' is set, then MM_EXTERNAL_VOLUME_DOWN must be set.

MM_EXTERNAL_VOLUME_MUTE

Set the command sequence MiniMyth should use when it needs to mute/unmute the volume using external equipment. Valid values are a ';' separated list of zero or more shell commands, with '' the default. If 'MM_EXTERNAL_VOLUME_MUTE' is set, then MM_EXTERNAL_VOLUME_DOWN and MM_EXTERNAL_VOLUME_UP must be set.

MM_EXTERNAL_AQUOS_ENABLED

Enable control of a Sharp Aquos television using its serial interface. Valid values are 'yes' and 'no', with 'yes' the default when 'MM_EXTERNAL_AQUOS_DEVICE' is set, and with 'no' the default when 'MM_EXTERNAL_AQUOS_DEVICE' is not set.

Sharp Aquos television control using its serial interface uses Ron Frazier's scripts.

MM_EXTERNAL_AQUOS_DEVICE

Set the serial device connected to the Sharp Aquos television. Valid values are '' and any serial device, with '' the default.

MM_EXTERNAL_AQUOS_PORT

Set the TCP/IP port on which the Sharp Aquos server will listen for commands. Valid values are any TCP/IP port number, with '4684' the default.

MM_EXTERNAL_AQUOS_POWER_ENABLED

Enable MiniMyth to control the power of a Sharp Aquos television through its serial interface. Valid values are 'yes' and 'no', with 'MM_EXTERNAL_AQUOS_ENABLED' the default.

If your Sharp Aquos television has Energy Star enabled (the default), then the serial port will be turned off when the television is turned off. Therefore, if you want MiniMyth to be able to power on your Sharp Aquos television, you will need to disable Energy Star. In order to do this, telnet/ssh into your MiniMyth system that is controlling your Sharp Aquos television and run the command

                /bin/echo -e "SERIALPOWERUP ENABLE\nEXIT" | /usr/bin/nc localhost {port}
              

where {port} is the value of 'MM_EXTERNAL_AQUOS_PORT'

MM_EXTERNAL_AQUOS_VOLUME_ENABLED

Enable MiniMyth to control the volume of a Sharp Aquos television through its serial interface. Valid values are 'yes' and 'no', with 'MM_EXTERNAL_AQUOS_ENABLED' the default.

MM_EXTERNAL_AQUOS_INPUT

Set the Sharp Aquos television input number to which the MiniMyth system is connected. Valid values are '' and any valid Sharp Aquos television input number, with '' the default.

If the value is set, then MiniMyth will set the Sharp Aquos television's input to the value as part of its external equipment power on sequence.

If the value is not set, then MiniMyth will not change the Sharp Aquos television's input.

Configuration variables for: SSH server
Overview

MiniMyth supports running an SSH server. If you are not securing the MiniMyth system, then there is little reason to run an SSH server. However, if you are securing the MiniMyth system, then using an SSH server rather than a telnet server will provide secure access to the MiniMyth system.

The SSH server is configured such that it allows only public key authentication.

If you decide to enable the SSH server, be sure that you know what you are doing. Since the TFTP server's access is not secure, when you are network booting, you should assume that anything with access to your network has access the SSH private RSA identity file and can impersonate the SSH server. Therefore, when you are network booting, you should not assume that an SSH server using this identity file is your SSH server.

MM_SSH_SERVER_ENABLED

Indicate whether or not you want to enable MiniMyth's SSH server. Valid values are 'yes' and 'no', with 'yes' the default when 'MM_SECURITY_ENABLED' is 'yes', and with 'no' the default when 'MM_SECURITY_ENABLED' is not 'yes'.

When the SSH is enabled, MiniMyth will attempt to fetch the 'ssh_host_rsa_key' and 'authorized_keys' files from the MiniMyth system's MiniMyth read-only configuration directory. If it fails to fetch either file, then it will generate an error.

Configuration variables for: cron
Overview

Cron related configuration variables.

MM_CRON_FETCH_CRONTAB

Indicate whether or not to fetch the 'crontab' file from the MiniMyth system's MiniMyth read-only configuration directory. Valid values are 'yes' and 'no', with 'no' the default.

Configuration variables for: Myth slave backend
Overview

Myth slave backend related configuration variables.

MiniMyth can run a MythTV slave backend.

In order to configure your Myth slave backend, you will need to run 'mythtv-setup'. The Myth frontend menus contain the 'MiniMyth Tools' menu (under the 'Utilities / Setup' menu in a regular theme and under the main menu in a classic theme). The 'MiniMyth Tools' menu contains the menu item 'Configure Slave Backend' to launch 'mythtv-setup'.

MiniMyth has support for a limited number of tuner cards for use with the Myth slave backend. This support includes kernel modules, kernel module loading, firmware file detection and firmware file loading. However, MiniMyth does not include firmware files. Rather, the firmware files are fetched from the MiniMyth read-only configuration directory.

If you have a tuner card that requires a kernel modules not included and you would like it added, then let us know. Also, if you have tuner card that requires loading one or more firmware files and MiniMyth does not detect the requirement, then let us know.

MM_BACKEND_ENABLED

Indicate whether or not to enable the slave backend functionality. Valid values are 'yes', 'no' and 'auto', with 'auto' the default.

If the value is 'auto', then MiniMyth will decide the value based on whether or not a tuner is present. If a tuner is present, then the value will be 'yes'. Otherwise, the value will be 'no'.

If you enable the Myth slave backend functionality, then MiniMyth will run the MythTV backend daemon ('/usr/bin/mythbackend') as user 'minimyth'.

If you enable the Myth slave backend functionality, then you will likely want to use the MM_MEDIA_TV_MOUNTPOINT and MM_MEDIA_TV_URL variables to mount MythTV's recordings directory at the appropriate location on the MiniMyth system.

MM_BACKEND_DEBUG_LEVEL

Indicate the mythbackend debug level. Valid values are any value accepted by mythbackend's '-v' option, with 'none' (when MM_DEBUG='no') and 'all' (when MM_DEBUG='yes') being the default.

Configuration variables for: direct Myth database configuration
Overview

Based on settings in other sections, MiniMyth changes the Myth settings in the Myth database. However, if you want MiniMyth to change other Myth settings in the Myth database (or you want to override the changes made by MiniMyth as a result of settings in other sections), then you can use the direct Myth database configuration variables.

MM_MYTHDB_JUMPPOINTS_{key}

Myth frontend jumppoints are stored in the 'jumppoints' table in the MythTV master backend database. MiniMyth can modify its jumppoints in the 'jumppoints' table. The variables are set as follows:

MM_MYTHDB_JUMPPOINTS_{key}='{destination}~{keylist}' One possible value to use for the key is {destination}.

The {key} is added to ensure that each jumppoint variable has a unique name. Therefore, you must choose a different value of {key} for each jumppoint variable.

MM_MYTHDB_KEYBINDINGS_{key}

Myth frontend keybindings are stored in the 'keybindings' table in the MythTV master backend database. MiniMyth can modify its keybindings in the 'keybindings' table. The variables are set as follows:

MM_MYTHDB_KEYBINDINGS_{key}='{context}~{action}~{keylist}'

The {key} is added to ensure that each keybinding variable has a unique name. Therefore, you must choose a different value of {key} for each keybinding variable. One possible value to use for the key is {context}_{action}.

MM_MYTHDB_SETTINGS_{key}

Myth frontend settings are stored in the 'settings' table in the Myth master backend database. MiniMyth can modify its settings in the 'settings' table. The variables are set as follows:

MM_MYTHDB_SETTINGS_{key}='{value}~{data}'

The {key} is added to ensure that each setting variable has a unique name. Therefore, you must choose a different value of {key} for each setting variable. One possible value to use for the key is {value}.