This guide is shamelessly based on '''Jarod Wilson's''' how to guide which no longer exists.

+

This guide is shamelessly based on '''Jarod Wilson's''' how to guide, which no longer exists.

−

Fedora provides updates for a release until two releases after that(N-2). The current release is Fedora 12, which means support for Fedora 10 was discontinued a month after it was released. Thus, it makes sense to update to the latest release at least every other version, if not every verson.

+

Fedora provides updates for a release until two releases after that(N-2). At the time of this writing, the current release is Fedora 12, which means support for Fedora 10 was discontinued a month after Fedora 12 was released. Thus, it makes sense to update to the latest release at least every other version, if not every version.

−

You are welcome as a MythTV user and general wiki participant to add and modify this document that will help the community the best way possible.

+

You are welcome as a MythTV user and general wiki participant, to add to, and modify this document that will help the community the best way possible.

==Getting Fedora==

==Getting Fedora==

Line 21:

Line 21:

===Filesystems===

===Filesystems===

−

Among the MythTV community it is highly recommend to use a custom partitioning scheme rather than auto-partitioning, with a dedicated /video (or similar) partition for storage of all your recordings. If possible, for best efficiency, the video partition should be on a separate physical drive than the operating system partitions. Software RAID and LVM for your video partitions will only slow it down and should be avoided. LVM is no longer necessary for MythTV due to Storage Groups.

+

Among the MythTV community, it is highly recommend to use a custom partitioning scheme rather than auto-partitioning, with a dedicated /video (or similar) partition for storage of all your recordings. If possible, for best efficiency, the video partition should be on a drive physically separate from the operating system partitions. Software RAID and LVM for your video partitions will only slow it down and should be avoided. LVM is no longer necessary for MythTV due to Storage Groups.

−

Previously, XFS was the recommendation for the file system to use for such a purpose, but with EXT4 now the default in Fedora and other distributions, many have migrated to using it as the partitioning scheme. Barring that, XFS is still an option, as is JFS, or even ReiserFS. An example partitioning setup can be found below.

+

Previously, XFS was the recommendation for the file system to use for such a purpose, but now that EXT4 is the default in Fedora and other distributions, many have migrated to it. XFS is still an option, as is JFS, or even ReiserFS. Here's a partition setup example:

<center>

<center>

Line 55:

Line 55:

</center>

</center>

−

At the Installation Type screen, you want to choose a Custom installation (rather than Personal Desktop, Workstation or Server), because none of the defaults give us everything we need and/or add junk we don't need.

+

At the Installation Type screen, choose a Custom installation rather than Personal Desktop, Workstation or Server. None of the defaults give us everything we need, or add junk we don't need.

On the Disk Partitioning Setup screen, choose to Manually partition with Disk Druid. A suitable custom partitioning setup is as follows (assuming a single IDE hard drive):

On the Disk Partitioning Setup screen, choose to Manually partition with Disk Druid. A suitable custom partitioning setup is as follows (assuming a single IDE hard drive):

−

Note that there's really no point in using anything but ext4 on / and /boot.

+

There's really no point in using anything but ext4 on / and /boot.

+

+

It might be a good idea to make the /boot partition at least 500MB to accommodate future upgrades. (Fedora 13 on)

===Network configuration===

===Network configuration===

−

On the Network Configuration screen, it is highly recommend setting a static IP address (could either be truly static, or a statically mapped DHCP address). It really isn't a huge deal if you only have one Myth box (though you probably don't want MythWeb to be a moving target), but it could cause major headaches once you have more than one machine, since non-primary systems wouldn't know where the master backend was anymore if the address changed.

+

On the Network Configuration screen, setting a static IP address is highly recommended. (could be either a static, or statically mapped DHCP address). It really isn't a huge deal if you only have one Myth box (though you probably don't want MythWeb to be a moving target), but it could cause major headaches once you have more than one machine, since non-primary systems won't know where the master backend is, if the address changes.

===Package selection===

===Package selection===

Line 122:

Line 124:

−

Some commands will need to be run as mythtv and some commands will need to be run as the root user. The boxes below will indicate with a prompt which user a command should be run as. Commands with a "$" prompt should be run as the mythtv user. If you see a command that starts with a "#", you will need to use the '''su''' command to become the root user.

+

Some commands need to be run as the mythtv user, and some commands need to be run as the root user. The boxes below will indicate with a prompt which user should run the command. Commands with a "$" prompt should be run as the mythtv user. If you see a command that starts with a "#", you will need to use the '''su''' command to become the root user.

−

To execute commands as the root run "su -" and enter the root password you set when you installed Fedora.

+

To execute commands as the root run "su -" and enter the Fedora root password.

['''mythtv'''@''machine_name'' ~]'''$''' su -

['''mythtv'''@''machine_name'' ~]'''$''' su -

Line 136:

Line 138:

['''mythtv'''@''machine_name'' ~]'''$'''

['''mythtv'''@''machine_name'' ~]'''$'''

−

Your screen should clear, and your prompt will be a "$" sign again. If this is not the case, keep typing "exit" until it is.

+

Your screen should clear, and your prompt should be a "$" again. If this is not the case, keep typing "exit" until it is.

===Set $KVER variable===

===Set $KVER variable===

−

To make life simpler after we've rebooted and are prepared to start installing drivers for some of our hardware not supported natively by the kernel, we're going to set up a custom environment variable, KVER, that will help avoid problems from typos, user error, confusion, and so-forth. Simply drop a file in /etc/profile.d, like so:

+

To make life simpler after we've rebooted, and are prepared to start installing drivers for hardware not supported natively by the kernel, we're going to set up a custom environment variable, KVER, that will help avoid problems from typos, user error, confusion, etc. Simply drop a file in /etc/profile.d, like so:

# echo "export KVER=\`uname -r\`" >> /etc/profile.d/kver.sh

# echo "export KVER=\`uname -r\`" >> /etc/profile.d/kver.sh

Line 147:

Line 149:

If you are using an nVidia graphics card, read the notes below under NVIDIA. The changes to grub.conf should be done before rebooting.

If you are using an nVidia graphics card, read the notes below under NVIDIA. The changes to grub.conf should be done before rebooting.

−

Now you're ready to reboot into that new kernel and start installing kernel modules for your tuner card(s), remote, and so-forth.

+

Now you're ready to reboot into that new kernel and start installing kernel modules for your tuner card(s), remote, etc.

# reboot

# reboot

Line 153:

Line 155:

===Add a few important yum packages===

===Add a few important yum packages===

====yum-fastestmirror====

====yum-fastestmirror====

−

To ensure that yum always uses the fastest available mirror for a repository (if it has more than one mirror) you can install the package yum-fastestmirror. This will decrease the time for downloads in many cases.

+

To ensure that yum always uses the fastest available mirror for a repository, (if it has more than one mirror), install the package yum-fastestmirror. This will decrease download time in many cases.

yum install yum-fastestmirror

yum install yum-fastestmirror

−

If the above command does not work you get something like this:

+

If the above command does not work, you'll get something like this:

(this was using Fedora 8)

(this was using Fedora 8)

yum install yum-fastestmirror

yum install yum-fastestmirror

Line 164:

Line 166:

====Yum-Presto====

====Yum-Presto====

−

Yum-presto is another useful package to install. It downloads only the deltas (changes) between the installed and new packages, and rebuilds an installable rpm on your machine. The data required to be downloaded is cut to an amazingly small proportion of what would otherwise be required.

+

Yum-presto is another useful package. It downloads only the deltas (changes) between the installed and new packages, and rebuilds an installable rpm on your machine. The data required to be downloaded is cut to an amazingly small proportion of what would otherwise be required.

yum install yum-presto

yum install yum-presto

−

Note for FC14 users: The default install should already have this enabled.

+

Note for FC14 users: The should be enabled in the default installation.

====Refresh-packagekit====

====Refresh-packagekit====

Line 176:

Line 178:

====Yum Priorities====

====Yum Priorities====

−

Optional: To prevent packages from the Fedora repositories from being overwritten by ones from secondary repositories, edit the /etc/yum.repos.d/fedora.repo and /etc/yum.repos.d/fedora-updates.repo files by adding a priority=1 line like below:

+

Optional: To prevent packages from the Fedora repositories from being overwritten by ones from secondary repositories, edit the /etc/yum.repos.d/fedora.repo and /etc/yum.repos.d/fedora-updates.repo files by adding a priority=1 line as shown below:

[fedora]

[fedora]

Line 188:

Line 190:

<b>priority=1</b>

<b>priority=1</b>

−

Then, after configuring a secondary package repository (see next section), add this line to the new repo's configuration, giving it a lower (higher-numbered) value:

+

Then, after configuring a secondary package repository, (see next section), add this line to the new repo's configuration, giving it a lower (higher-numbered) value:

priority=10

priority=10

Line 202:

Line 204:

A very helpful guide is available here: [http://www.howtoforge.com/managing_packages_repositories_yum_yumex_fedora7 yum repositories on fedora.

A very helpful guide is available here: [http://www.howtoforge.com/managing_packages_repositories_yum_yumex_fedora7 yum repositories on fedora.

−

Configuration of yum is needed to use ATrpms or RPMFusion package repositories. Both offer MythTV packages, but you must use either one or the other as they do not work together. ATrpms tends to be updated more frequently though. Pre-configured files can be downloaded and run from the desktop. Follow the links below and install the RPMs for the latest version and correct architecture.

+

Configuration of yum is needed to use ATrpms or RPMFusion package repositories. Both offer MythTV packages, but you must use either one or the other as they do not work together. ATrpms tends to be updated more frequently. Pre-configured files can be downloaded and run from the desktop. Follow the links below and install the RPMs for the latest version and correct architecture.

ATrpms

ATrpms

Line 216:

Line 218:

−

Many MythTV installations require additional kernel modules to make all the hardware work. The ATrpms repository offers a package which downloads new kernel modules when the stock Fedora kernel is updated. You should wait a few days after the new kernel appears to update, giving the packagers time to create kernel module rpms. You can get this package with the following command

+

Many MythTV installations require additional kernel modules to make all the hardware work. The ATrpms repository offers a package which downloads new kernel modules when the stock Fedora kernel is updated. You should wait a few days after the new kernel appears to update, giving the packagers time to create kernel module rpms. You can get this package with the following command:

<pre>

<pre>

Line 254:

Line 256:

<b>Note for FC12 Users</b>

<b>Note for FC12 Users</b>

−

Fedora 12 uses the nouveau driver by default and a copy of the driver is included in the initrd file used for booting. We have to avoid that. Before rebooting, edit (as root) /boot/grub/grub.conf to append the following to the end of the kernel line:

+

Fedora 12 uses the nouveau driver by default. A copy of the driver is included in the initrd file used for booting. We have to avoid that. Before rebooting, edit (as root) /boot/grub/grub.conf to append the following to the end of the kernel line:

<pre>

<pre>

Line 266:

Line 268:

</pre>

</pre>

−

To allow automatic switching of the X-server drivers. After installing the nvidia driver, if you run 'yum update' any new kernel installation will create its own initrd which does not contain the nouveau driver. Note that if you use nvidia's install package, you will have to re-install it on every kernel upgrade (you will see an error in Xorg.0.log saying 'No screens found')

+

To allow automatic switching of the X-server drivers. After installing the nvidia driver, if you run 'yum update' any new kernel installation will create its own initrd which does not contain the nouveau driver. Note: If you use nvidia's install package, you will have to re-install it on every kernel upgrade (you will see an error in Xorg.0.log saying 'No screens found')

<b>Note for FC13 Users</b>

<b>Note for FC13 Users</b>

Line 315:

Line 317:

</pre>

</pre>

−

NOTE: Depending on your hardware, you may not need to set the vmalloc amount. However, many systems will need this, and it's easier to experiment with taking it out later if needed, ''after'' you know everything is working. For more info see the link above in the FC13 section.

+

NOTE: Depending on your hardware, you may not need to set the vmalloc amount. However, many systems need this, and it's easier to experiment with taking it out later if needed, ''after'' you know everything is working. For more info, see the link above in the FC13 section.

After rebooting with the new driver, if you're using GNOME, you may find your font size has shrunk to be almost unreadable. To fix this, select System->Preferences->Appearance from the menus, choose the Fonts tab, click Advanced, then change the DPI to a larger value such as 96.

After rebooting with the new driver, if you're using GNOME, you may find your font size has shrunk to be almost unreadable. To fix this, select System->Preferences->Appearance from the menus, choose the Fonts tab, click Advanced, then change the DPI to a larger value such as 96.

Line 321:

Line 323:

<b>Note for FC15 Users</b>

<b>Note for FC15 Users</b>

−

Follow the steps above to install kmod-nvidia, and ensure nouveau is not running (with lsmod, above). You may need to manually run dracut as well to change your initramfs to keep nouveau from running, more detail can be found on http://blog.bodhizazen.net/linux/how-to-install-the-nvidia-driver-on-fedora-15 and http://forums.fedoraforum.org/showthread.php?t=204752

+

These notes apply for kmod-nvidia. As of November 2011, these drivers install on FC15 without problems, even making the necessary configuration updates to suppress nouveau. If you still experience problems, the following notes may be helpful.

+

+

Follow the steps above to install kmod-nvidia, and ensure nouveau is not being used (with lsmod, above). You may need to manually run dracut as well to change your initramfs to keep nouveau from loading, more detail can be found on http://blog.bodhizazen.net/linux/how-to-install-the-nvidia-driver-on-fedora-15 and http://forums.fedoraforum.org/showthread.php?t=204752

<i>Notes for Gnome 3 on FC15</i>

<i>Notes for Gnome 3 on FC15</i>

−

You may find that you lose plymouth (graphical boot), and if Gnome 3 fails to properly load; you may find issues when you enter the GUI (hangs without fully loading, stops at splash, only mouse control after log in). One noted item from the fedoraforum post above tries to address a bug ( https://bugzilla.redhat.com/show_bug.cgi?id=694918 ) related to gnome-shell, it offers the advice of trying:

+

You may find you lose plymouth (graphical boot), and if Gnome 3 fails to load properly, you may find issues when you enter the GUI (hangs without fully loading, stops at splash, only mouse control after log in). One noted item from the fedoraforum post above tries to address a bug ( https://bugzilla.redhat.com/show_bug.cgi?id=694918 ) related to gnome-shell, it offers the advice of trying:

<pre>

<pre>

Line 335:

Line 339:

If gnome still fails to load completely, you may attempt to force Gnome 3 fallback, discussed in the section "Is there a procedure to always use fallback mode?" @ http://fedoraproject.org/wiki/Features/Gnome3#Comments_and_Discussion

If gnome still fails to load completely, you may attempt to force Gnome 3 fallback, discussed in the section "Is there a procedure to always use fallback mode?" @ http://fedoraproject.org/wiki/Features/Gnome3#Comments_and_Discussion

−

Should the resolution settings not pass properly into the gnome display preferences, configure your video settings with

+

Should the resolution settings not pass properly into the gnome display preferences, configure your video settings in an x session (e.g. gnome terminal) by running:

<pre>

<pre>

nvidia-settings

nvidia-settings

</pre>

</pre>

+

+

<b>Note for FC16 Users</b>

+

+

Installing VDPAU drivers and disabling nouveau is similiar in FC16. You may be able to minimize the number of steps given the guide @ http://www.if-not-true-then-false.com/2011/fedora-16-nvidia-drivers-install-guide-disable-nouveau-driver/

===Sound setup===

===Sound setup===

−

Fedora uses PulseAudio by default, as do many Linux distributions. MythTV does work with Pulseaudio, however, if you wish to remove it, you can run the following command to revert to using ALSA only.

+

Fedora uses PulseAudio by default, as do many Linux distributions. MythTV does work with Pulseaudio. However, if you wish to remove it, you can run the following command to revert to ALSA.

<pre>

<pre>

Line 351:

Line 359:

'''Note for FC 13 Users'''

'''Note for FC 13 Users'''

−

You may have sound by using the test feature found in

+

Your sound may check good when using the test feature found in

−

the GUI gnome-volume-control, yet none while running Mythtv.

+

the GUI gnome-volume-control, yet not while running Mythtv.

−

Consider using the solution found in this bug report

+

Consider the solution found in this bug report

http://svn.mythtv.org/trac/ticket/7645

http://svn.mythtv.org/trac/ticket/7645

Line 379:

Line 387:

Note for Fedora ...

Note for Fedora ...

−

ATrpms may have a dependency issue that requires removing python-imaging that was installed by default with the distro. After removing python-imaging, mythtv should install smoothly. This does not appear to affect FC14 but may be an issue in older versions.

+

ATrpms may have a dependency issue that requires removing python-imaging installed by default with the distro. After removing python-imaging, mythtv should install smoothly. This does not appear to affect FC14 but may be an issue in older versions.

At this point, enter the password you just set above (ROOT_PWD) when prompted. Also note, "mythtv-0.22" refers to the version of MythTV you are have installed, in this case version 0.22.

+

At this point, enter the password you just set above (ROOT_PWD) when prompted. Also note, "mythtv-docs-0.24.1" refers to the version of MythTV you are have installed, in this case version 0.24.1.

Again, all subsequent database population for MythTV's add-on modules must now be done '''after''' running mythtvsetup at least one time. It's worth customizing some parameters in /etc/my.cnf for optimal performance with MythTV.

Again, all subsequent database population for MythTV's add-on modules must now be done '''after''' running mythtvsetup at least one time. It's worth customizing some parameters in /etc/my.cnf for optimal performance with MythTV.

+

+

Once the database is established, consult the main section of the docs for information on granting database access to all users in the event you have more than one front end.

These adjustments to my.cnf under the [mysqld] section improve performance with both MythTV (especially in the GUI) and MythWeb:

These adjustments to my.cnf under the [mysqld] section improve performance with both MythTV (especially in the GUI) and MythWeb:

Line 473:

Line 483:

==Setup MythTV==

==Setup MythTV==

−

Recall what your video device was set up as (likely /dev/video0 for analog video sources; if you have a digital tuner see: https://fedoraproject.org/wiki/DavidTimms/DVB). Note that the actual device number is '''not''' what determines what order MythTV will use your cards in. What matters is the order that you enter them in mythtvsetup, so your best card doesn't have to be /dev/video0. Set up /dev/video8 first, and it'll be the first card used for recordings.

+

Recall what your video device was set up as (likely /dev/video0 for analog video sources; if you have a digital tuner see: https://fedoraproject.org/wiki/DavidTimms/DVB). Note that the actual device number is '''not''' what determines what order MythTV will use your cards in. What matters is the order that you enter them in mythtvsetup, so your best card doesn't have to be /dev/video0. If you set up /dev/video8 first, it'll be the first card used for recordings.

−

If you are in the US, you will need a paid account with [schedulesdirect.org]. The current pricing is $20 per year. This will give you television feed data that your myth box uses for scheduling once you have localized your acct to your zip code, chosen a content provider service and then set your channels from the webpage. There are a few other ways to get your data, but these are outside this document support scope and the lsitings are not as accurate or as reliable.

+

If you are in the US, you will need a paid account with [schedulesdirect.org]. The current pricing is $20 per year. This will give you television feed data that your myth box uses for scheduling once you have localized your acct to your zip code, chosen a content provider service and then set your channels from the webpage. There are a few other ways to get your data, but they are outside the scope of this document and the listings are not as accurate or as reliable.

−

Now on to launching the MythTV setup utility. For this part, you need to have an X session started up, as the setup utility is an X application. Fire it up like so:

+

Now on to launching the MythTV setup utility. For this part, you need to have an X running, as the setup utility is an X application. Fire it up like so:

<pre>

<pre>

−

$ mythtv-setup

+

$ mythtv-setup

</pre>

</pre>

−

I'm told that non-U.S. folks may have issues correctly getting through the tv_grab_xx/xmltv part of the setup if "focus follows mouse" is already set (in KDE's Control Center), so keep that in mind. Just set "focus follows mouse" when everything else is already configured.

+

I'm told that non-U.S. folks may have issues getting through the tv_grab_xx/xmltv part of the setup correctly if "focus follows mouse" is already set (in KDE's Control Center), so keep that in mind. Just set "focus follows mouse" after everything else is configured.

−

Note: If you receive an error involving permissions on a .so library, you may have SELinux installed and preventing you from accessing these libraries. You can either turn off SELinux, or allow access to the libraries with the following command as root: <pre>chcon -t texrel_shlib_t /usr/lib/libmyth*.so*</pre>

+

Note: If you receive an error involving permissions on a .so library, you may have SELinux installed and preventing you from accessing those libraries. You can either turn off SELinux, or allow access to the libraries with the following command as root: <pre>chcon -t texrel_shlib_t /usr/lib/libmyth*.so*</pre>

Those using a dedicated /video partition, per my example, should obviously set /video/recordings for storage of recorded shows. However, you can do pretty much whatever you like here, such as recording to an NFS or Samba mount, a software RAID array. Just make sure your mythtv user has permission to read and write to whatever location you choose.

Those using a dedicated /video partition, per my example, should obviously set /video/recordings for storage of recorded shows. However, you can do pretty much whatever you like here, such as recording to an NFS or Samba mount, a software RAID array. Just make sure your mythtv user has permission to read and write to whatever location you choose.

−

It is highly recommended that you go through the setup steps in order. Follow the on-screen instruction, with aid from the MythTV website's documentation on this page:

+

It is highly recommended that you go through the setup steps in order. Follow the on-screen instruction, with aid from the MythTV website documentation on this page:

http://www.mythtv.org/docs/mythtv-HOWTO-9.html

http://www.mythtv.org/docs/mythtv-HOWTO-9.html

−

'''Note:''' your system may appear to hang at step 3; give it time, it isn't locked up, that part just takes a while!

+

'''Note:''' your system may appear to hang at step 3. Give it time, it isn't locked up, that part takes a while!

−

Once you've gone through the setup, you have to populate the MythTV database with some program info. I spent a good long time tweaking my channel lineup on schedulesdirect's site to remove all the junk channels I didn't really care to have show up. Once you have your listings to your liking, you're ready to fill your database with programming info. You must start up the backend first, we'll set it to autostart later.

+

Once you've gone through the setup, you have to populate the MythTV database with some program info. I spent a long time tweaking my channel lineup on schedulesdirect's site to remove all the junk channels I didn't really care to have show up. Once you have your listings to your liking, you're ready to fill your database with programming info. You must start up the backend first. We'll set it to autostart later.

<pre>

<pre>

Line 508:

Line 518:

</pre>

</pre>

−

If you're using a guide data source other than SchedulesDirect (i.e., anyone outside the U.S. and Canada), you may well need to add a "--manual" flag to the end of that command to get it to work. Look at the output of "mythfilldatabase --help" for more clues if you have problems.

+

If you're using a guide data source other than SchedulesDirect (i.e., anyone outside the U.S. and Canada), you may need to add a "--manual" flag to the end of that command to get it to work. Look at the output of "mythfilldatabase --help" for more clues if you have problems.

−

Also, '''be patient!''' This step can take a fairly long time, depending on your internet connection speed and how many channels your service provides... To get automatic updates of programming data daily see below for configuration in mythfrontend.

+

Also, '''be patient!''' This step can take a fairly long time, depending on your internet connection speed and how many channels your service provides. To get automatic updates of programming data daily, see below for configuration in mythfrontend.

Now start up the MythTV front-end (I recommend doing this in a separate shell window, so you can distinctly see the different output for the backend and frontend processes)...

Now start up the MythTV front-end (I recommend doing this in a separate shell window, so you can distinctly see the different output for the backend and frontend processes)...

Line 520:

Line 530:

There are various options within mythfrontend that you can tweak...a lot of this is covered by other parts of the wiki.

There are various options within mythfrontend that you can tweak...a lot of this is covered by other parts of the wiki.

−

It is recommended to use the built in features of MythTV to have mythfilldatabase updated automatically. After starting up mythfrontend, enter the Setup > General screen and advance to "Mythfilldatabase", the fourth screen. Select the checkbox, then complete the options as you see fit. If using SchedulesDirect for programming data, selecting the option to allow the scheduler to recommend the next mythfilldatabase option and changing the allowed update time to be from 0 to 24 is best as it allows SchedulesDirect to balance the load on their servers. After setup the mythbackend program will now run mythfilldatabase for you.

+

It is recommended to use the built in features of MythTV to have mythfilldatabase updated automatically. After starting up mythfrontend, enter the Setup > General screen and advance to "Mythfilldatabase", the fourth screen. Select the checkbox, then complete the options as you see fit. If using SchedulesDirect for programming data, selecting the option to allow the scheduler to recommend the next mythfilldatabase option and changing the allowed update time to be from 0 to 24 is best, as it allows SchedulesDirect to balance the load on their servers. After setup the mythbackend program will now run mythfilldatabase for you.

Introduction

This guide is shamelessly based on Jarod Wilson's how to guide, which no longer exists.

Fedora provides updates for a release until two releases after that(N-2). At the time of this writing, the current release is Fedora 12, which means support for Fedora 10 was discontinued a month after Fedora 12 was released. Thus, it makes sense to update to the latest release at least every other version, if not every version.

You are welcome as a MythTV user and general wiki participant, to add to, and modify this document that will help the community the best way possible.

Getting Fedora

ISO images

Physical media

CD-ROM and DVD-ROM discs can be purchased from online and local vendors.

Installing Fedora

Anaconda is the Fedora installer program and will launch a GUI by default.

Filesystems

Among the MythTV community, it is highly recommend to use a custom partitioning scheme rather than auto-partitioning, with a dedicated /video (or similar) partition for storage of all your recordings. If possible, for best efficiency, the video partition should be on a drive physically separate from the operating system partitions. Software RAID and LVM for your video partitions will only slow it down and should be avoided. LVM is no longer necessary for MythTV due to Storage Groups.

Previously, XFS was the recommendation for the file system to use for such a purpose, but now that EXT4 is the default in Fedora and other distributions, many have migrated to it. XFS is still an option, as is JFS, or even ReiserFS. Here's a partition setup example:

Partition

Mount Point

Size

Format

/dev/sda1

/boot

100-200MB

ext4

/dev/sda2

swap

same as RAM (ex: 512MB)

swap

/dev/sda3 (for the OS)

/

8-12GB

ext4

/dev/sda5

/video

Everything else

At the Installation Type screen, choose a Custom installation rather than Personal Desktop, Workstation or Server. None of the defaults give us everything we need, or add junk we don't need.

On the Disk Partitioning Setup screen, choose to Manually partition with Disk Druid. A suitable custom partitioning setup is as follows (assuming a single IDE hard drive):

There's really no point in using anything but ext4 on / and /boot.

It might be a good idea to make the /boot partition at least 500MB to accommodate future upgrades. (Fedora 13 on)

Network configuration

On the Network Configuration screen, setting a static IP address is highly recommended. (could be either a static, or statically mapped DHCP address). It really isn't a huge deal if you only have one Myth box (though you probably don't want MythWeb to be a moving target), but it could cause major headaches once you have more than one machine, since non-primary systems won't know where the master backend is, if the address changes.

Package selection

Note for FC14 Users: Packages marked with a * were likely installed by default.

Required

If you enable options under the install to install from additional repositories, you'll also have alternate desktop environment and window manager options such as XFCE, fluxbox or ratpoison, which are more lightweight and thus may be better for a dedicate frontend.

First boot

At this point Anaconda will ask you to remove the disc from the drive and reboot the system. Once your system has finished rebooting you will be prompted to accept the license agreement and a few more installation configuration options.

Firewall

A basic MythTV box should not have any problems running with the firewall turned on however you will probably save yourself a lot of headaches if you disable it completely. This is especially recommended for new users. If you do need to enable the firewall, you will at the very least want to enable SSH, Secure WWW (HTTPS) and WWW (HTTP) checkboxes to enable those services.

If you plan to run separate front end and back end servers you will need to allow those ports through on under "Other Ports". Add TCP ports 6543 and 6544 to allow the MythTV protocol access through the firewall, and TCP 3306 for mysql.

SELinux

It is strongly recommended that SELinux is disabled or run in "permissive" mode. There are a few things that will not work properly if you set SELinux to "enforcing" such as the MythWeb plugin. If you think you might want to run with SELinux in enforcing mode in the future, choose the permissive mode which will only warn you of problems. This will enable you to quickly and easily set SELinux to enforcing mode at a later time. Fedora Core 6 comes with the excellent setroubleshoot tool which will notify of denials whilst permitting you to leave SELinux enabled on your system.

If you insist on running enforcing SELinux with mythweb, the following commands may be helpful:

Note for FC14 users:
Disabling SELinux may cause the system to have a long boot time or crash upon reboot. Use the permissive mode instead. This can be changed by editing /etc/selinux/config.

Date/Time

Here you should adjust the date and time of the machine to the current date and time. Once you have done this, select the "Network Time Protocol" tab and select the "Enable Network Time Protocol" checkbox. Making sure the system is running to the correct time is important for timely scheduling of recordings.

Display

The Setup Agent should have detected your video card and your monitor. Select the screen resolution that is best for your monitor.

Switch user

Create a user on the system with the username "mythtv". You can set the password for this user to anything you want. This should be be a Strong Password that is different than the root password.

Fedora setup

The next section will require you to be logged in as the mythtv user. Some commands will need to be executed from the command line. In GNOME, this is under Applications > Accessories > Terminal. Under KDE, you can run commands with the "Konsole" program. To start Konsole, right-click on your desktop and select "Konsole..." and a new Konsole window should appear.

Some commands need to be run as the mythtv user, and some commands need to be run as the root user. The boxes below will indicate with a prompt which user should run the command. Commands with a "$" prompt should be run as the mythtv user. If you see a command that starts with a "#", you will need to use the su command to become the root user.

To execute commands as the root run "su -" and enter the Fedora root password.

[mythtv@machine_name ~]$ su -
Password:
[root@machine_name ~]#

Notice the way the username changes from mythtv to root and the prompt changes from "$" to "#". Be sure you run all of the following commands as the correct user. If you do not, you will likely run into problems sooner or later. To become the mythtv user again, type "exit".

[root@machine_name ~]# exit
logout
[mythtv@machine_name ~]$

Your screen should clear, and your prompt should be a "$" again. If this is not the case, keep typing "exit" until it is.

Set $KVER variable

To make life simpler after we've rebooted, and are prepared to start installing drivers for hardware not supported natively by the kernel, we're going to set up a custom environment variable, KVER, that will help avoid problems from typos, user error, confusion, etc. Simply drop a file in /etc/profile.d, like so:

# echo "export KVER=\`uname -r\`" >> /etc/profile.d/kver.sh

(Note: those are back-ticks, not single-quotes.)

If you are using an nVidia graphics card, read the notes below under NVIDIA. The changes to grub.conf should be done before rebooting.
Now you're ready to reboot into that new kernel and start installing kernel modules for your tuner card(s), remote, etc.

# reboot

Add a few important yum packages

yum-fastestmirror

To ensure that yum always uses the fastest available mirror for a repository, (if it has more than one mirror), install the package yum-fastestmirror. This will decrease download time in many cases.

yum install yum-fastestmirror

If the above command does not work, you'll get something like this:
(this was using Fedora 8)

yum install yum-fastestmirror
Existing lock /var/run/yum.pid: another copy is running as pid 21830.
Another app is currently holding the yum lock; waiting for it to exit...

Yum-Presto

Yum-presto is another useful package. It downloads only the deltas (changes) between the installed and new packages, and rebuilds an installable rpm on your machine. The data required to be downloaded is cut to an amazingly small proportion of what would otherwise be required.

yum install yum-presto

Note for FC14 users: The should be enabled in the default installation.

Refresh-packagekit

You may see this listed as one of the loaded plugins when you run yum. It is installed through 'PackageKit-yum-plugin' as part of the PackageKit group of programs. It is this package (I think!) which allows you to click on an rpm package on a web-page and install it directly.

Yum Priorities

Optional: To prevent packages from the Fedora repositories from being overwritten by ones from secondary repositories, edit the /etc/yum.repos.d/fedora.repo and /etc/yum.repos.d/fedora-updates.repo files by adding a priority=1 line as shown below:

Configure package repositories

Configuration of yum is needed to use ATrpms or RPMFusion package repositories. Both offer MythTV packages, but you must use either one or the other as they do not work together. ATrpms tends to be updated more frequently. Pre-configured files can be downloaded and run from the desktop. Follow the links below and install the RPMs for the latest version and correct architecture.

Note: You will need to download the packages rpmfusion-free-release and rpmfusion-nonfree-release and install with rpm -ivh *.

Generally, any problems encountered with ATrpms and ATrpms packages should be addressed on the atrpms-users mailing list before being taken to the MythTV list. You can subscribe to the ATrpms lists here.

Many MythTV installations require additional kernel modules to make all the hardware work. The ATrpms repository offers a package which downloads new kernel modules when the stock Fedora kernel is updated. You should wait a few days after the new kernel appears to update, giving the packagers time to create kernel module rpms. You can get this package with the following command:

# yum install yum-plugin-kmdl

As with any other mailing list, please search their respective archives first.

NVIDIA

You can install binary drivers from NVIDIA, but in most cases it's simpler to use yum to get and install them from ATrpms or RPM Fusion. It is essential to get the proper version of the drivers. Start by running

/sbin/lspci -nn | grep 'VGA\|NV'

This will give you the chipset name and the PCI id (which is after the colon inside the bracket set before the rev number). Compare these to the NVIDIA docs http://www.nvidia.com/object/IO_18897.html. Unless your card is in one of the legacy lists, you can install the latest drivers. If you have one of the legacy products you will have to modify the yum package name to get the proper drivers. The newer drivers will NOT work on "legacy" cards.

If you need a legacy package from RPM Fusion consult the available packages table at http://rpmfusion.org/.

Note for FC12 Users

Fedora 12 uses the nouveau driver by default. A copy of the driver is included in the initrd file used for booting. We have to avoid that. Before rebooting, edit (as root) /boot/grub/grub.conf to append the following to the end of the kernel line:

rdblacklist=nouveau vga=0x318

The first entry disables a driver that conflicts with nvidia, and the second allows the graphical boot screen to show. Also run

livna-config-display

To allow automatic switching of the X-server drivers. After installing the nvidia driver, if you run 'yum update' any new kernel installation will create its own initrd which does not contain the nouveau driver. Note: If you use nvidia's install package, you will have to re-install it on every kernel upgrade (you will see an error in Xorg.0.log saying 'No screens found')

If X does not start, consider hitting <ctrl> <alt> <F2> to get to a login screen.

Then use the following to see if the required components are loaded:

glxinfo
rpm -qa |grep nvidia
cat /etc/X11/xorg.conf

To see if the nouveau blacklist worked try:

lsmod | grep nouveau

To see if the nvidia driver loaded try:

lsmod | grep nvidia

If glxinfo returns nothing.

Try:

nvidia-config-display disable
nvidia-config-display enable

Or try using nvidia settings:

nvidia-settings

Note for FC14 Users

Edit /boot/grub/grub.conf as root and add the following to the end of the kernel line before rebooting:

rdblacklist=nouveau vga=0x318 vmalloc=256M

NOTE: Depending on your hardware, you may not need to set the vmalloc amount. However, many systems need this, and it's easier to experiment with taking it out later if needed, after you know everything is working. For more info, see the link above in the FC13 section.

After rebooting with the new driver, if you're using GNOME, you may find your font size has shrunk to be almost unreadable. To fix this, select System->Preferences->Appearance from the menus, choose the Fonts tab, click Advanced, then change the DPI to a larger value such as 96.

Note for FC15 Users

These notes apply for kmod-nvidia. As of November 2011, these drivers install on FC15 without problems, even making the necessary configuration updates to suppress nouveau. If you still experience problems, the following notes may be helpful.

You may find you lose plymouth (graphical boot), and if Gnome 3 fails to load properly, you may find issues when you enter the GUI (hangs without fully loading, stops at splash, only mouse control after log in). One noted item from the fedoraforum post above tries to address a bug ( https://bugzilla.redhat.com/show_bug.cgi?id=694918 ) related to gnome-shell, it offers the advice of trying:

Install MythTV

Now, here's why we really like yum… MythTV has numerous required dependencies to function correctly, which are automatically taken care of with one simple command, using either repository:

# yum install mythtv

You may run into some problems with dependencies. These can usually be resolved by removing the offending package and re-running the above command. Dependency issues can be mitigated be keeping additional (third-party) repositories to a minimum. MythTV on Fedora requires only the default repositories plus ATrpms and Freshrpms to fulfill all requirements.

Note for Fedora ...

ATrpms may have a dependency issue that requires removing python-imaging installed by default with the distro. After removing python-imaging, mythtv should install smoothly. This does not appear to affect FC14 but may be an issue in older versions.

Setting up drivers/Modules

Install capture card drivers

Some capture card drivers have been included by default with Fedora. The IVTV drivers required for the PVR-150/250/350 and the drivers required for the Hauppauge HD-PVR 1212 are included, for example.

Note for FC14 users: Fedora may also automatically detect and install the needed firmware for some TV cards (e.g. Hauppauge HVR-1600). If this occurs you will see a balloon in the top-right corner shortly after login, asking you to install needed firmware for devices. You can click the link in the balloon to complete the installation, or install the firmware manually.

Install LIRC

Note for Fedora 12 + users the default LIRC socket file name has changed to /var/run/lirc/lircd , so you will need to update MythTV Settings -> General from /dev/lircd ->/var/run/lirc/lircd and then restart mythfrontend.

Check first if lirc is installed before proceeding below...(eg find / -name lircd)

# yum install lirc

This will install the Linux Infra-Red Control package. This is a daemon which translates infra-red key presses into keyboard events, therefore you will need to configure your remote control accordingly. Some examples of the lircrc file can be found under /usr/share/doc/mythtv-$VERSION/

Update Fedora

To get your system fully updated, simply run the command:

# yum update

When you see the Transaction Summary, you will need to press "y" to begin downloading the packages.

Kernel upgrades

Note: Fedora is shipped with a specific kernel, over time bugs are discovered and corrected in new versions. If possible update your kernel to the newest one.

Among the packages upgraded just a minute ago with yum should be your kernel, to the very latest errata release. Additionally, your boot loader should have been automatically updated to use the new kernel, so all you need to do is reboot to start using the new kernel, which you'll want to do in just a minute. As of January 2010, 2.6.31.12-174.2.3.fc12.i686 is the latest released kernel. You should be using the latest released kernel available for your distribution.

Generally speaking, you should always install the latest errata kernel, shortly after the release of which Axel should have all the needed kernel modules available. Kernel modules are not maintained for older kernels, because of two things. First, a new kernel from Red Hat usually fixes some flaw in earlier kernels (security hole or bug fix), so it is good practice not to use the flawed kernel and second, building kernel modules for every kernel would take forever and a day and cause assorted other headaches for Axel. To make providing kernel modules feasible, only the very latest one or two kernels are supported

Setup MySQL

We'll need to enable MySQL to load at startup, set some passwords, and create the MythTV database, which we'll populate shortly. The population of this database is handled by mythtvsetup in the next step, and all MythTV add-on module database additions must be done after running mythtvsetup at least one time.

# /sbin/chkconfig mysqld on
# /sbin/service mysqld start

Set the MySQL root password.

mysql_secure_installation

Now we create the MythTV database (called mythconverg) to get us started:

At this point, enter the password you just set above (ROOT_PWD) when prompted. Also note, "mythtv-docs-0.24.1" refers to the version of MythTV you are have installed, in this case version 0.24.1.

Again, all subsequent database population for MythTV's add-on modules must now be done after running mythtvsetup at least one time. It's worth customizing some parameters in /etc/my.cnf for optimal performance with MythTV.

Once the database is established, consult the main section of the docs for information on granting database access to all users in the event you have more than one front end.

These adjustments to my.cnf under the [mysqld] section improve performance with both MythTV (especially in the GUI) and MythWeb:

Does /dev/video* exist?

Before going further it is wise to check whether things have worked so far. Has a /dev/video entry been created for an analog video source?

$ ls -la /dev/video*

If not, either you have a digital tv tuner (in which case you will have some entries in /dev/dvb/, and you should be reading https://fedoraproject.org/wiki/DavidTimms/DVB), or you have an analog source yet something has gone wrong with installing it (in which case you should look at /var/log/dmesg, and check whether udev, ivtv, and so on are working, and required modules are loaded). A useful quick test for USB video sources is to unplug them then plug them in again and look at the ends of whatever /var/log files get updated.

Setup MythTV

Recall what your video device was set up as (likely /dev/video0 for analog video sources; if you have a digital tuner see: https://fedoraproject.org/wiki/DavidTimms/DVB). Note that the actual device number is not what determines what order MythTV will use your cards in. What matters is the order that you enter them in mythtvsetup, so your best card doesn't have to be /dev/video0. If you set up /dev/video8 first, it'll be the first card used for recordings.

If you are in the US, you will need a paid account with [schedulesdirect.org]. The current pricing is $20 per year. This will give you television feed data that your myth box uses for scheduling once you have localized your acct to your zip code, chosen a content provider service and then set your channels from the webpage. There are a few other ways to get your data, but they are outside the scope of this document and the listings are not as accurate or as reliable.

Now on to launching the MythTV setup utility. For this part, you need to have an X running, as the setup utility is an X application. Fire it up like so:

$ mythtv-setup

I'm told that non-U.S. folks may have issues getting through the tv_grab_xx/xmltv part of the setup correctly if "focus follows mouse" is already set (in KDE's Control Center), so keep that in mind. Just set "focus follows mouse" after everything else is configured.

Note: If you receive an error involving permissions on a .so library, you may have SELinux installed and preventing you from accessing those libraries. You can either turn off SELinux, or allow access to the libraries with the following command as root:

chcon -t texrel_shlib_t /usr/lib/libmyth*.so*

Those using a dedicated /video partition, per my example, should obviously set /video/recordings for storage of recorded shows. However, you can do pretty much whatever you like here, such as recording to an NFS or Samba mount, a software RAID array. Just make sure your mythtv user has permission to read and write to whatever location you choose.

It is highly recommended that you go through the setup steps in order. Follow the on-screen instruction, with aid from the MythTV website documentation on this page:

Note: your system may appear to hang at step 3. Give it time, it isn't locked up, that part takes a while!

Once you've gone through the setup, you have to populate the MythTV database with some program info. I spent a long time tweaking my channel lineup on schedulesdirect's site to remove all the junk channels I didn't really care to have show up. Once you have your listings to your liking, you're ready to fill your database with programming info. You must start up the backend first. We'll set it to autostart later.

$ mythbackend &

Assuming all goes well and the process doesn't exit on you (if it does, check out the troubleshooting section below), lets get some guide data:

$ mythfilldatabase

If you're using a guide data source other than SchedulesDirect (i.e., anyone outside the U.S. and Canada), you may need to add a "--manual" flag to the end of that command to get it to work. Look at the output of "mythfilldatabase --help" for more clues if you have problems.

Also, be patient! This step can take a fairly long time, depending on your internet connection speed and how many channels your service provides. To get automatic updates of programming data daily, see below for configuration in mythfrontend.

Now start up the MythTV front-end (I recommend doing this in a separate shell window, so you can distinctly see the different output for the backend and frontend processes)...

$ mythfrontend

There are various options within mythfrontend that you can tweak...a lot of this is covered by other parts of the wiki.

It is recommended to use the built in features of MythTV to have mythfilldatabase updated automatically. After starting up mythfrontend, enter the Setup > General screen and advance to "Mythfilldatabase", the fourth screen. Select the checkbox, then complete the options as you see fit. If using SchedulesDirect for programming data, selecting the option to allow the scheduler to recommend the next mythfilldatabase option and changing the allowed update time to be from 0 to 24 is best, as it allows SchedulesDirect to balance the load on their servers. After setup the mythbackend program will now run mythfilldatabase for you.

Configure startup

The necessary init script for the MythTV backend to automatically start at system boot is already in place for you, just simply turn it on:

# /sbin/chkconfig mythbackend on

If the backend isn't already running, save yourself a reboot and issue this command:

It might be worthwhile to kill a number of scripts that you not used. Each script in /etc/init.d contains a short explanation of what they do. You can prevent the scripts from starting by issuing the command:

# chkconfig --del <name>

Now, because I have a few things that don't seem to want to play nice anymore (i.e., nvidia-settings don't load like they should, alsa volume levels aren't restored), I decided to create a quick little shell script in ~/.kde/Autostart/myth-load.sh to handle loading up all the extra goodies I need/want to auto-start, as well as force stubborn things to work. This script loads my nvidia settings, restores alsa volumes, launches irexec for my little power button script (on the Tips 'n' Tricks page), then launches mythfrontend, all in one fell swoop. Just copy and past all this into ~/.kde/Autostart/myth-load.sh (adjust accordingly for different desktop environments):