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:

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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'.

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.

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.

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.

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 '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.

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.

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.

MM_PLUGIN_GALLERY_ENABLED

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.

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.

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:

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:

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:

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.

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.

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:

creates the themecache squashfs image from the themecache directory, and

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'.

MM_MEDIA_GALLERY_MOUNTPOINT

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 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'.

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:

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.

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.

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.

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:

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.

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.

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.

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.

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

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.

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.

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}.