How to Select Mainboards for Your LinuxMCE System
From LinuxMCE wiki
|Version||Status||Date Updated||Updated By|
|710||written for 710||9th June 2009||Alx9r|
|810||still mostly relevant||N/A||N/A|
The selection of mainboards for your hybrid, core and media directors is a crucial step. There are many devices on your mainboard that have to be compatible with LinuxMCE for your system to work. Our advice is to select a mainboard with as many devices onboard that are known to work out-of-the-box. Doing so can mean clear sailing through the installation process (although you might still hit the odd snag).
If you do end up trying to install LinuxMCE on a mainboard with an incompatible component, a fix for it might be possible. Sometimes a few carefully crafted bash commands can fix the problem. On the other hand, some incompatible components just cannot be made to work right.
Scrutinize the components on any mainboard you are considering carefully. Your vetting process for each component should include these steps:
- Check them against the advice and compatibility lists on this page.
- Search the wiki for any documented troubles and possible fixes.
- Search the forums for experiences that other users have had with the component.
- Google search to find what other non-LinuxMCE linux users have experienced with the component.
A few minutes of careful scrutiny of the components on a mainboard can save days of grief later. When it comes to mainboard selection, measure twice and cut once.
Why Can't I Just Pick from a List of Mainboard Models?
You might be asking why you can't just buy a mainboard from a list of known-working models. The answer is that you might be able to. Sometimes users will generously share their experiences with a mainboard (good or bad) either in the forums (like this post) or put an entry in the wiki mainboards category.
There are some factors, however, that limit the success of this approach:
- There are vastly more mainboards that can work with LinuxMCE than have been explicitly documented to work. While you might be able to buy a mainboard that another user has had success with, there are likely other mainboards that are even better value (i.e. more capabilities for less money) that are available in your area.
- Many known-working models of mainboard are no longer available. The marketplace lifetime of a mainboard is limited. Often, by the time a user tries out a mainboard, proves it to work well under LinuxMCE, and documents the results, the mainboard is already nearing the end of its production life.
- The ideal LinuxMCE mainboard depends somewhat on the details of how it will be used. Questions like will it be a core, hybrid, or media director, will it act as a fileserver, or will it play HD content all impact what a mainboard needs to be capable of.
This guide will hopefully help you determine whether any mainboard is likely to work well with your particular LinuxMCE installation, regardless of whether another user has tried it out before. Once you have successfully selected a mainboard and are using it with LinuxMCE, we hope you report your results in the mainboards category of the wiki to help others.
Computers running LinuxMCE are typically built to reside in one of three locations:
- Out of sight in a closet, basement, or utility room. This is common for cores and centralized media directors. Typically these computers are put in normal desktop PC or rack mount cases.
- In plain sight alongside other home theater components. This is common for media directors that are in a home theater room. Typically these computers are put in home theater PC (HTPC) cases to match the look of other home theater components.
- Out of sight hidden behind a TV or otherwise unobtrusively mounted. This is common for media directors in rooms where you have a TV but don't want or have space for home theater components. Nettop computers are usually used in these locations.
LinuxMCE computers that will be in locations (1) or (2) typically use the same mainboards that are used in full-size desktop PCs.
Nettop computers are usually purchased fully integrated. This means that what you buy is actually a mainboard with a power supply, hard drive, memory, case et cetera all put together and ready to use.
Regardless of whether you opt for a full-size or nettop computer as part of your LinuxMCE system the same careful scrutiny of onboard components is necessary. In fact, even more care ought to be taken when selecting a nettop computer because their small form factor usually makes it impossible to add in a card if one of the onboard components isn't compatible with LinuxMCE.
Two Distinct Resolution Capabilities
When selecting a mainboard, there are two distinct resolutions to consider:
- Display Interface Resolution - This is the resolution of video that the GPU sends to the display.
- Encoded Video Resolution - This refers to the resolution at which a particular video is encoded.
There are two factors that limit a mainboard's maximum video playback resolution:
- the maximum display interface resolution
- the maximum resolution of encoded video that the mainboard can decode in real-time
The maximum real resolution of motion video that a mainboard is capable of playing is limited to the lesser of the two. What this means is that while the GPU on a mainboard may be capable of driving a display at 1080P, its video decoding performance may restrict it to flawless playback of only 720P videos. Conversely, a mainboard may be able to decode 1080P video in real-time. However, its video output may be restricted to 720P if that is the maximum resolution the GPU can output.
Of course in order to actually display the aforementioned videos, you need to connect a display that is capable of displaying video at the Display Interface Resolution.
When selecting a mainboard, the GPU is the component that determines the mainboard's maximum display interface resolution.
In LinuxMCE, the maximum resolution of encoded video that a mainboard can decode in real-time depends on the performance of the CPU and the details of how the video was encoded. It does not depend on the display interface resolution. See the video decoding section for more information.
Video Decoding in CPU or GPU
GPUs generally include hardware that is more efficient than CPUs at decoding video for playback in real-time. Using a GPU to perform decoding is sometimes referred to as GPU offloading. In order for LinuxMCE to use GPU offloading, linux developers need to have a way to access the hardware decoding features of GPUs.
Up until around the end of 2008 there was no mainstream way for linux developers to access the hardware decoding features of GPUs. What this means is that all video decoding in LinuxMCE 0710 is performed by the CPU.
Around the end of 2008, nVidia released an API called VDPAU that provides access to hardware-accelerated video decoding on some late models of GPU.
As of March 2009, there were no plans to include VDPAU support in LinuxMCE 0810. There are, however, rumors of successful GPU offloading from users of the video players that LinuxMCE is based on. As of May 2009, there are also LinuxMCE users who are working towards patching LinuxMCE to use VDPAU.
Until LinuxMCE supports GPU offloading, we recommend that you select your mainboard and CPU such that it is capable for decoding video using the CPU only. When selecting your GPU, you may want to consider one that might one day support VDPAU GPU offloading.
Three Crucial Mainboard Components
There are three mainboard components whose compatibility is particularly crucial to your LinuxMCE success: GPU, network adapter, and audio chipset. Most mainboard-related installation issues arise from incomplete support for one of these three components.
Note: GPU selection is critical only for those LinuxMCE computers that will be displaying media. If you are building a core that will not be used to display media (i.e. a headless core), any GPU should work fine.
For best results, select an nVidia GPU. Some Intel and ATI GPUs can be made to work, however, nVidia GPUs are least problematic. Of the nVidia GPUs, generally speaking, the 6000 and 7000 series are least problematic. Compatibility and ease-of-installation of 8000 and 9000 series GPUs is more spotty.
7000 series GPUs will perform just as well under LinuxMCE as a 9000 series with less likelihood of installation issues. This is because all video decoding is performed by the CPU only.
Note: While not working in LinuxMCE as of May 2009, VDPAU promises to provide GPU video decoding for some nVidia GPUs (see the section on CPU vs GPU video decoding above). You may want to consider selecting a GPU that is likely to support GPU offloading of video decoding via VDPAU.
The table below summarizes which popular GPUs that have been reported to work:
Note: The entries in this table are for GPUs that have actually been used by LinuxMCE users. If your GPU is not listed, that just means that no one has confirmed how well it works under LinuxMCE. A GPU's absence from the table does not indicate that it won't work. (Although it doesn't indicate that it works either.)
|Mfr.||Model||Onboard/Card||Highest Working Res.||UI||LinuxMCE Version||Status||Notes|
|nVidia||6200||Card (PCIe-16)||1024x768||UI2+alpha blending||0710||working||(1)|
|nVidia||7600||Card||1080p(Component)||UI2+masking||0710||working, some installation issues reported||(1)|
|Intel||GMA950||Onboard||720p(VGA/DVI/HDMI)||UI2+masking||0710||working with caveats||(2)|
(1) From the forum survey at http://forum.linuxmce.org/index.php?topic=5313.0.
(2) Used in Asus eee box b202. Photo screen saver causes crashes.
(3) From the forum post at http://forum.linuxmce.org/index.php?topic=6904.msg42885#msg42885.
There are three different criteria a network adapter needs to meet in a LinuxMCE system depending on the role the adapter is playing:
|Location||Role||Recommended Speed||PXE boot|
|EXTERNAL network adapter on core||connects LinuxMCE system to the internet||only needs to be as fast as your internet connection||not required|
|INTERNAL network adapter on core||connects the core to all other LinuxMCE network devices||Gigabit||not required|
|network adapter on media director||connects the media director to the core and storage||Gigabit||required|
Note that you will need two separate network adapters on the core and one network adapter on a media director. We don't recommend having more network adapters than needed on a LinuxMCE box because some parts of LinuxMCE may inadvertently try to access the unused adapter.
The table below summarizes network adapters that have been reported to work:
Note: The entries in this table are for network adapters that have actually been used by LinuxMCE users. If your network adapter is not listed, that just means that no one has confirmed whether it works under LinuxMCE. A network adapter's absence from the table does not indicate that it won't work. (Although it doesn't indicate that it works either.)
|Mfr.||Model||Onboard/Card||Speed||LinuxMCE Version||Status||PXEBoot ?||Notes|
|3COM||3C905CX-TXM||Card||100Mbit||0710 RC2 i386||working||no||(1)|
|Asus||NX1101||Card||Gigabit||0710 RC2 i386||working||no (no boot rom installed)||(1)|
|Broadcom||NetXtreme 57xx||onboard||Gigabit||0710 RC2 i386||working||working||(1)|
|Marvell||Yukon 88E8056||Gigabit||0710 amd64||working||not tested||(1)|
|Marvell||Yukon 88E8053||Gigabit||0710 amd64||some reports indicate doesn't work OOB||yes, on asus A8N32-sli-deluxe||(1)|
|Realtek||RT8100B LAN||Onboard||100Mbit||0710 RC2 i386||working||working||(1)|
|Realtek||RTL 8168||Onboard||Gigabit||0710||working, with caveats||yes, on EEE Box B202||link|
|Realtek||RTL 8139||Card||100 Mbit||0710||working||not tested||link|
|Realtek||RTL 8201||Onboard||100Mbit||0710 RC2 i386||working||not tested||(1)|
(1) From this forum survey.
Note: LinuxMCE cores do not need to PXE-boot, so mainboard/network adapter combinations that cannot PXE-boot can be safely selected.
The ability for a mainboard to initiate booting from a network adapter is crucial for a media director. A media director does not normally boot from a local disk. Instead, the LinuxMCE core serves a filesystem image to each media director. In fact, media directors can be entirely diskless.
Booting from a network adapter is commonly referred to as PXE-booting or netbooting. When selecting a mainboard for a media director, you need to make sure that it can PXE-boot from its network adapter. PXE-boot capability depends on the network adapter, a PXE-boot ROM, and the mainboard's BIOS all working together to boot.
Note: Audio chipset selection is critical only for those LinuxMCE computers that will be playing back media. If you are building a core that will not be used to play videos or audio (i.e. a headless core) a working audio chipset is not necessary.
Audio chipsets output sound usually using the following connections:
- SPDIF - This is a digital audio output. Typically SPDIF is used by a LinuxMCE computer to output audio to a home theater receiver capable of decoding the digital audio signal.
- Multi-Channel Analog Audio - This is an analog audio output. Analog audio outputs can be used by LinuxMCE to output audio to a TV's speakers, powered computer speakers, studio monitors, stereo amplifiers, and home theater receivers.
A media director needs an audio chipset with at least one of the above connections. Many mainboards come with both which provides flexibility for connecting to a variety of different devices.
The following table lists audio chipsets that have been reported to work in LinuxMCE:
Note: The entries in this table are for audio chipsets that have actually been used by LinuxMCE users. If your audio chipset is not listed, that just means that no one has confirmed whether it works under LinuxMCE. A chipset's absence from the table does not indicate that it won't work. (Although it doesn't indicate that it works either.)
|Mfr.||Model||Onboard/Card||SPDIF ?||Analog Channels||LinuxMCE Version||Status||Notes|
|Analog Devices (SoundMax)||AD1986A||Onboard||optical+coax||6||0710||working|
|Analog Devices||AD2000B||Onboard||yes||0710|| analog working |
SPDIF not working OOB
|Realtek||ALC850||Onboard||optical||0710|| analog working |
SPDIF not tested
|Realtek||ALC888||Onboard||optical||2||0710|| analog working |
SPDIF not tested
|Sound Blaster||Audigy 2 ZS||Card||Coax||0710||working, with caveats||(1)|
|AOpen||Cobra AW850||Card||5.1||0710||working, quadraphonic analog only||(1)|
(1) From this forum survey.
Components that Always Seem to Work
Mainboard components needed by LinuxMCE, other than those discussed in the crucial section, generally work out-of-the-box. They include the following:
- USB ports
- SATA Controllers
- COM Ports
While we don't recommend that you invest too much time vetting these mainboard components for compatibility, we do recommend that you ensure that you have enough of USB, SATA, and COM ports to connect all the necessary things to the mainboard.
Many mainboards include COM (aka serial or RS232) ports onboard. These COM ports are useful when building your LinuxMCE system because they can be used to control home theatre and audio equipment that have RS232 control ports.
To be useful, a COM port needs to be brought out to the backpanel of the mainboard with a 9-pin D-sub connector. Sometimes a D-sub connector is provided on the mainboard backpanel itself. Usually though, only a header is provided on the mainboard and a breakout cable is required to connect the header to the backpanel. Breakout cables for your mainboard can usually be purchased from the same vendor that sells the mainboard.
You can always use USB-to-serial adapters to add COM ports to your system if you prefer, or if your mainboard doesn't have any or enough onboard.
The amount of processing power you need for each of your LinuxMCE computers depends on what it will be doing. The processing-intensive functions of LinuxMCE computers are as follows:
- Video Decoding: This occurs whenever you playback video. All video decoding is performed by the CPU of the media director on which the media is being played. No decoding is performed by the GPU. What this means is that higher definition video requires more processing power to playback smoothly.
- Commercial Flagging: For recorded TV shows, you can have LinuxMCE flag commercials so that they can be skipped automatically. The nice thing about commflagging is that it runs at a reduced priority. This means that it will use only spare computing time on the core and media directors. LinuxMCE distributes jobs like commflagging amongst all media directors. Generally whatever leftover computing resources are available on your core and media directors is sufficient to perform commflag processing.
What this boils down to is that you need to consider mainly video decoding requirements when selecting a CPU.
Video Decoding Requirements
Note: When contemplating processing requirements for video decoding, it is the resolution of the encoded video that matters, not the displayed resolution. That is, a video encoded at 1080p requires a large amount of processing power to decode whether it is displayed on a 1080p display or a 640x480 display. Conversely, a video encoded in standard definition will use relatively little processing power, even if it displayed on a 1080p display. See this section for more information.
The good news is that most modern processors used in mainstream PCs are capable of playing back all widely distributed standard definition content, including DVDs, flawlessly. If you intend to play higher-definition content, you might want to invest in fast processors for your media directors.
There are numerous variables that can determine whether a processor will be capable of playing back a particular video. The table below is meant to give you an idea of how much processor power you might need to decode different types of encoded video. It is meant to provide you with some real-world examples, but it is far from exhaustive. In other words, your results may vary. To compare your processor to the ones listed in the table, use a review site that allows you to compare processors like Tom's Hardware Charts.
Generally the higher resolution a video is, the more processing power is required to decode and play it back in real time. The codec used also has an impact, as some coding schemes are more efficiently decoded by particular processors than others.
The decoding of many videos is more CPU-intensive during scenes with a lot of motion. What this means is that two videos encoded with the same resolution, frame rate, and codec might playback with different results.
Flaws in playback occur when the processor cannot keep up with decoding the video in real time. The flaws might be as mild as the occasional stutter, or as severe as hanging of video playback. If the encoded video requires too much processing power to decode, it may not play at all.
|AMD Athlon 64 X2 4600+ EE Dual Core Processor AM2 Windsor 2.4GHZ 512KBX2 65W||
|Intel Atom N270 (1.6 GHz, FSB 533)||
||EEE Box B202|
Results in green showed no noticeable flaws
Results in orange are quite watchable but noticeably flawed
Results in red are unwatchable
LinuxMCE cores and media directors can run with as little as 512MB RAM in a pinch. Users generally recommend 1 or 2 GB for both media directors and cores in typical installations and up to 4GB for the core of a very large installation.