http://wiki.linuxmce.org/api.php?action=feedcontributions&user=Demus&feedformat=atomLinuxMCE - User contributions [en]2024-03-29T07:04:27ZUser contributionsMediaWiki 1.24.1http://wiki.linuxmce.org/index.php?title=LinuxMCE_%2B_RAID_on_boot_drive&diff=15770LinuxMCE + RAID on boot drive2008-10-01T23:17:07Z<p>Demus: </p>
<hr />
<div>[[category: tutorials]]<br />
=Warnings and Disclaimer=<br />
This process has only been performed a handful of times and should not be considered reliable. Additionally, this procedure involves rearranging the data on your working drive. A failure during any number of crucial steps will lead to complete loss of data on ALL drives. I would suggest, at least until this process becomes more refined that only Linux competent users attempt it.<br />
<br />
I am not sure how this method of RAID will play with the Linux MCE scripts and built-in software RAID module. <br />
<br />
'''IT IS HIGHLY RECOMMENDED THAT YOU BACKUP ALL IMPORTANT DATA.'''<br />
=Preface=<br />
The intention of this how-to is to describe how a user may protect their bootable LinuxMCE drive with Linux software RAID. This process works on existing installations too, no reformat is required. It is recommended that you do not use this as an excuse to store your media on your boot drive. This could make future migrations (version upgrades) complex and problematic. Instructions are provided on making all levels of RAID arrays, however it is recommended that RAID 1 be used. RAID 5&6 incur a performance penalty over their RAID 0&1 counterparts, and may be overkill for the level of protection required by your boot drive. <br />
<br />
If you do want to run other RAID levels you must make a slight modification to these steps. You must create an additional RAID array, about 50MB big. This array must be RAID 1 and it will house your boot partition. I suggest adding this RAID 1 array to all devices.<br />
<br />
For RAID 0 installations your best bet is to backup the contents of an installed partition to another location. Create the array, and then restore the data from backup. It seems technically possible to me, that you could backup just the sectors that would be overwritten by the MD superblock. Perform an in-place copy of the data one stripe at a time from the boot device to the MD device. I will test this at a later date as a fun project. It's all theory for now.<br />
<br />
Having a Linux Live CD or USB distribution on hand would be very useful for troubleshooting. Especially if the LinuxMCE machines is currently acting as your internet gateway!<br />
<br />
=Overview=<br />
For Linux guru's, who may not want to read the grueling details these are the basic steps to this how-to. <br />
<br />
# Install LinuxMCE to a single drive, as normal. (Skip this step if you are converting an existing installation.)<br />
# Partition RAID drives (except current boot drive) with the same partitions as the boot drive.<br />
# Create all RAID arrays without using the current boot drive (specify missing argument to mdadm).<br />
# Format RAID arrays to desired file system.<br />
# Mount RAID arrays and copy all files from boot drive to array.<br />
# Create initrd image that will load RAID modules (you may skip this step if you are using Linux Autodetect partitions).<br />
# Setup fstab and grub on arrays<br />
# Reboot<br />
# Verify a successful boot to the RAID array<br />
# Add original BOOT drive to RAID array<br />
# Watch RAID rebuild all data to BOOT drive<br />
=Process=<br />
* Install Linux MCE using the instructions [[Installation Guide|here]]. Skip this step if you are converting an existing installation.<br />
* Boot the computer with all RAID devices attached. <br />
* Login to a console over SSH or locally as root.<br />
$ sudo su root<br />
* Copy partition information from boot drive to target RAID drives. Repeat this command for each RAID drive.<br />
# sfdisk -d /dev/sda | sfdisk /dev/sdb<br />
* Create degraded RAID array. <br />
<br />
:If you are using other RAID modes this is the time to tweak RAID settings such as chunk size. Note: I use RAID-1 for the swap partition. This is something overlooked by most people running RAID systems. A failure of your swap space could cause erroneous information to be used by the kernel and cause a failure of the RAID system, even if no drives fail! Don't fall into the trap of running your swap as standalone partitions or worse as RAID 0. As the saying goes, you're only as strong as your weakest link. <br />
<br />
:Also note that I am using the switch -e1. This tells mdadm to create the array with the new 1.0 superblock instead of the older 0.90. The newer superblock has many more features and less restrictions. This how-to assumes you use this superblock version as well. If you use the 0.90 for auto-detect support please be aware of the restrictions imposed by this older format. <br />
# mdadm -C /dev/md0 -n2 -l1 -e1 missing /dev/sdb1<br />
# mdadm -C /dev/md1 -n2 -l1 -e1 missing /dev/sdb5<br />
# mdadm -C /dev/md2 -n2 -l1 -e1 missing /dev/sdb6<br />
* Create the file system. <br />
<br />
:Note: If you are using other RAID modes, you should specify the stripe size using the stride option. This is apparently auto-detected for software RAID arrays, but I would make certain of it or your array will experience extremely poor performance.<br />
# mke2fs -j /dev/md0<br />
# mkswap /dev/md1<br />
# mke2fs -j /dev/md2<br />
* Mount the RAID array<br />
# mkdir /mnt/md0 /mnt/md2<br />
# mount /dev/md0 /mnt/md0<br />
# mount /dev/md2 /mnt/md2<br />
* Copy the contents of the boot drive to the RAID array. Rebuild system directories. <br />
# cd /mnt/md0<br />
# tar -c --exclude /dev --exclude /tmp --exclude /sys --exclude /proc --anchored --one-file-system / | tar -xv<br />
# mkdir dev tmp sys proc <br />
# chmod 1777 tmp<br />
# chmod 755 dev sys<br />
# chmod 555 proc<br />
# cp -axv /dev/md* /mnt/md0/dev/<br />
# cp -axv /dev/hd* /mnt/md0/dev/<br />
# cp -axv /dev/sd* /mnt/md0/dev/<br />
# cp -axv /mnt/recovery/dev/ /mnt/md0/<br />
# cp -axv /mnt/recovery/* /mnt/md2/<br />
<br />
* Chroot to RAID array<br />
# chroot /mnt/md0<br />
# mount -t proc proc /proc<br />
* Make mdadm.conf. <br />
<br />
:This is a good time to fill in the MAILADDR field of the mdadm.conf file. Adjust these settings to match your specific installation.<br />
# echo -n "ARRAY /dev/md0 level=raid1 num-devices=2 UUID=" >> /etc/mdadm/mdadm.conf<br />
# mdadm -D /dev/md0 2>/dev/null | grep 'UUID' | awk '{ print $3 }' >> /etc/mdadm/mdadm.conf<br />
# echo -n "ARRAY /dev/md1 level=raid1 num-devices=2 UUID=" >> /etc/mdadm/mdadm.conf<br />
# mdadm -D /dev/md1 2>/dev/null | grep 'UUID' | awk '{ print $3 }' >> /etc/mdadm/mdadm.conf<br />
# echo -n "ARRAY /dev/md2 level=raid1 num-devices=2 UUID=" >> /etc/mdadm/mdadm.conf<br />
# mdadm -D /dev/md2 2>/dev/null | grep 'UUID' | awk '{ print $3 }' >> /etc/mdadm/mdadm.conf<br />
<br />
The result should look like these three lines at the end of the file:<br />
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=f71980df:ab649521:bd9f1658:0a1d2015<br />
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=8dbcb53b:35014427:bd9f1658:0a1d2015<br />
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=cf76f7e4:10a3b5a1:bd9f1658:0a1d2015<br />
* Grab UUID's of RAID block devices. <br />
<br />
:These are not the same as the UUID reported by mdadm. Do not mix them up and do not copy mine, yours will be different.<br />
# blkid<br />
/dev/md0: UUID="7a57eaf8-0025-4a69-874d-37a32ad74625" SEC_TYPE="ext2" TYPE="ext3"<br />
/dev/md1: TYPE="swap" UUID="6433b425-af37-45b1-a009-bfd121b5dcd2"<br />
/dev/md2: UUID="c7687c07-c8d8-4588-b988-86341cccbb6e" SEC_TYPE="ext2" TYPE="ext3"<br />
* Replace the matching entry in fstab with your new UUIDs. <br />
<br />
:With RAID devices in particular it is nice to specify the associated UUID's, since simply adding a new drive the array may change it's device number.<br />
# nano /etc/fstab<br />
<br />
Your fstab should look similar to this when you are done:<br />
proc /proc proc defaults 0 0<br />
UUID=7a57eaf8-0025-4a69-874d-37a32ad74625 / ext3 defaults,errors=remount-ro 0 1<br />
UUID=6433b425-af37-45b1-a009-bfd121b5dcd2 none swap sw 0 0<br />
/dev/cdrom /media/cdrom0 udf,iso9660 user,noauto 0 0<br />
UUID=c7687c07-c8d8-4588-b988-86341cccbb6e /mnt/recovery ext3 ro 0 0<br />
* Modify Grub (/boot/grub/menu.lst). <br />
<br />
:Make your menu.lst look like the one below. Of course substitute your RAID root partition UUID as needed. The last entry (System Recovery) seems to point to an invalid kernel image. This might be a bug or it might be remanent from old scripts. I couldn't find any information on it in the Wiki. I removed this entry, but you may elect to keep it in. <br />
<br />
:The last entry at the bottom is my original boot entry. It is left there only for the first few boots to ensure the initramfs images can successfully assemble the arrays. <br />
<br />
:We add a second boot option for the second hard drive in the RAID array. The idea is that we instruct Grub to load this second boot option automatically if the first one fails (eg. a hard drive dies). For now the fallback command is set to use our original boot parameters. Once everything is working we will change this.<br />
<br />
:Note: Some modern boards play very weird tricks on you when using many different interfaces (IDE/SATA/USB). My BIOS for some reason would order my primary slave IDE hard drive as hd0, and the primary master IDE hard drive as hd4, with my SATA drives spread out all over. Despite Linux ordering these devices properly, and specifying the correct geometry to Grub, grub would still fail to boot from hd1 and insisted that I specify hd4. Specifying the drives in the device.map file did not help. I would imagine manually specifying the BIOS address of each drive would solve the problem. In troubleshooting this issue I found the cat command very useful from the grub command-line. Eg: cat (hd0,0)/boot/grub/menu.lst<br />
<br />
default 1<br />
fallback 4<br />
<br />
timeout 3<br />
<br />
hiddenmenu<br />
<br />
title Ubuntu 7.10, kernel 2.6.22-14-raid - drive 1<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=7a57eaf8-0025-4a69-874d-37a32ad74625 ro quiet splash<br />
initrd /boot/initrd.img-2.6.22-14-raid<br />
quiet<br />
<br />
title Ubuntu 7.10, kernel 2.6.22-14-raid - drive 2<br />
root (hd1,0)<br />
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=7a57eaf8-0025-4a69-874d-37a32ad74625 ro quiet splash<br />
initrd /boot/initrd.img-2.6.22-14-raid<br />
quiet<br />
<br />
title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=7a57eaf8-0025-4a69-874d-37a32ad74625 ro single<br />
initrd /boot/initrd.img-2.6.22-14-raid<br />
<br />
title Ubuntu 7.10, memtest86+<br />
root (hd0,0)<br />
kernel /boot/memtest86+.bin<br />
quiet<br />
<br />
title Ubuntu 7.10, kernel 2.6.22-14-generic (original boot)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=65b7f225-5581-428f-befe-edcc9e1dd9d7 ro quiet splash<br />
initrd /boot/initrd.img-2.6.22-14-generic<br />
quiet<br />
<br />
* At this time it is a good idea to check your /boot/grub/device.map file and ensure that hd0 and hd1 point to both of your RAID devices. If you are having boot-time issues see my notes above about weird BIOS ordering.<br />
<br />
* Make new initramfs image to load RAID modules and boot the correct root device. Ubuntu comes with the mkinitramfs tools, so this step is very easy. We must add one easy script to the initramfs image.<br />
<br />
# echo "mdadm --assemble --scan" > /etc/initramfs-tools/scripts/init-premount/mdadm<br />
# chmod 755 /etc/initramfs-tools/scripts/init-premount/mdadm<br />
# mkinitramfs -o /boot/initrd.img-2.6.22-14-raid<br />
* Run the grub install utility. Note: For the first boot it is best to use the --once option. That way if we made any mistakes it will revert to previous settings and boot normally.<br />
# grub<br />
# root (hd1,0)<br />
# setup (hd0)<br />
# quit<br />
* Exit chroot. Unmount RAID drive. Reboot.<br />
# exit<br />
# umount /mnt/md0/proc<br />
# umount /mnt/md0<br />
# umount /mnt/md2<br />
# mdadm -S /dev/md0<br />
# mdadm -S /dev/md1<br />
# mdadm -S /dev/md2<br />
* Verify that system booted off of RAID device without error.<br />
<br />
:You're looking to match the UUID of the current root filesystem with the UUID from the md0 device we found earlier using blkids.<br />
<br />
:If you ran into errors, boot to the last option which should boot Linux MCE as normal.<br />
# mount | grep 'on / '<br />
rootfs on / type rootfs (rw)<br />
/dev/disk/by-uuid/7a57eaf8-0025-4a69-874d-37a32ad74625 on / type ext3 (rw,data=ordered)<br />
<br />
* Add original boot device to RAID<br />
<br />
:This is where the real magic takes place. We will now add our original boot drive to the RAID arrays, which will begin syncing immediately.<br />
# swapoff /dev/sda5<br />
# hdadm --add /dev/md0 /dev/sda1<br />
# hdadm --add /dev/md1 /dev/sda5<br />
# hdadm --add /dev/md2 /dev/sda6<br />
<br />
* Watch RAID rebuild<br />
<br />
:The arrays will begin rebuilding, one array at a time. <br />
<br />
# watch -n2 cat /proc/mdstat<br />
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]<br />
md2 : active raid1 sda6[2] sdb6[1]<br />
9766848 blocks super 1.0 [2/1] [_U]<br />
resync=DELAYED<br />
<br />
md1 : active raid1 sda5[2] sdb5[1]<br />
1951852 blocks super 1.0 [2/1] [_U]<br />
resync=DELAYED<br />
<br />
md0 : active raid1 sda1[2] sdb1[1]<br />
68324340 blocks super 1.0 [2/1] [_U]<br />
[==>..................] recovery = 12.5% (8557312/68324340) finish=26.8min speed=37032K/sec<br />
<br />
unused devices: <none><br />
<br />
* After the arrays have been rebuilt it's time to run the grub install again. <br />
# grub<br />
# root (hd0,0)<br />
# setup (hd0)<br />
# root (hd1,0)<br />
# setup (hd1)<br />
# quit<br />
<br />
* Change menu.lst options to default 0, fallback 1<br />
<br />
=Caveats=<br />
I am unsure of how this will play with the built-in raid scripts and components of LinuxMCE. After more testing I will update this wiki with my findings.<br />
<br />
This process is dangerous. It involves moving all of your data around. There is significant protential for data loss due to factors out of your control, such as power failure or hard drive mechanical failure. I recommend backing up all of your data prior to attempting this. <br />
=Troubleshooting=<br />
One of the great advantages of Linux software RAID (and open source in general) is how much flexibility you get with the software. Recovering from data failure with Linux is far easier than all other solutions. If you get stuck in a potential data loss situation, ask for help on some Linux forums or mailing lists. It is EXTREMELY useful to have a Linux Live distribution on hand.<br />
=Notes=<br />
This document is a work in progress. Please update it with your experiences and comments. I personally have followed these steps and experienced great success, that does not mean you will too.</div>Demushttp://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&diff=15640Upgrading the Kernel2008-09-17T09:55:39Z<p>Demus: Undo revision 15603 by (Talk) - The nVidia error would not apply to a newly built kernel and thus, does not belong in this article.</p>
<hr />
<div>[[Category:LinuxMCEMaintenance]]<br />
[[category: tutorials]]<br />
[[category: programmer's Guide]]<br />
<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
<br />
=Introduction=<br />
The ability to change kernel versions at will can be extremely useful for fighting driver bugs and regressions. The kernel version that ships with LinuxMCE 0710 is 2.6.22-14. At the time of writing the most recent kernel version is 2.6.26.5. The .22 kernel is almost a full year old and as such does not support a lot of the newer hardware. <br />
<br />
==Caveats==<br />
Some modules that are part of the vanilla Linux MCE installation are not part of the standard Linux kernel. These modules have been added as part of the Ubuntu distribution or by LMCE. It is not always straight forward, or even possible to compile these modules against different kernel sources. I suggest you read this entire Wiki first, to determine if you will be affected by the missing modules.<br />
<br />
==Alternatives==<br />
Usually kernels are upgraded for better driver support. In these cases it is often easier to compile new versions of modules against the 2.6.22-14 kernel than it is to upgrade the whole kernel (for reasons mentioned in the [[Upgrading the Kernel#Caveats|caveats]] section. Unfortunately, a lot of modules depend on other modules or patches in the kernel. So this option is not always possible.<br />
<br />
Example:<br />
cd ~<br />
wget http://www.somesite.com/some_kernel_driver.c<br />
echo obj-m = some_kernel_driver.o > Makefile<br />
cd /lib/modules/2.6.22-14-generic/build<br />
make M=~ modules<br />
ls -l ~/some_kernel_driver.ko<br />
<br />
You may then copy the module to the appropriate directory in the modules tree. <br />
<br />
=Upgrade process=<br />
<br />
This wiki will provide step-by-step instructions on how to upgrade your kernel. These examples will assume you are upgrading to 2.6.26 from 2.6.22. You may however apply these steps to any 2.6 kernel.<br />
<br />
==Potential problems==<br />
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. <br />
<br />
==Steps==<br />
The first step is to grab the kernel source and extract it to the /usr/src folder.<br />
<br />
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2<br />
tar -jxvf linux-2.6.26.5.tar.bz<br />
rm linux<br />
ln -s linux-2.6.26.5 linux<br />
<br />
Now lets copy the .config file from our generic 2.6.22 kernel.<br />
cd linux<br />
cp /boot/config-2.6.22-14-generic .config<br />
<br />
On our first load of menuconfig there will be many warnings displayed about non-existant config options. This is simply due to the removal or renaming of old options. Most of these warnings are insignificant, and enabled by default in the vanilla kernel. I would quickly go over the list of warnings and verify that any drivers you need haven't been renamed. One option that has been renamed is DVB_CORE_ATTACH. It is now DVB_MEDIA_ATTACH, and you may need it if you use the DVB stack. Also some netfilter matches have been renamed. Simply reselect these from the config menus. You may also need to install the ncurses library and development files if you haven't already.<br />
<br />
apt-get install libncurses5 libncurses5-dev<br />
make menuconfig 2> module_errors<br />
<br />
It's also a good idea to go over the kernel and make any optimizations for your particular system. The performance gain from these options is fairly minor, but definitely worth selecting. <br />
<br />
I opted to change these things:<br />
* Selected exact processor family to enable processor optimization extensions<br />
* Selected preemptive kernel (low latency)<br />
* Build SATA driver into kernel<br />
* Build MD,RAID1,RAID5 modules into kernel<br />
* Build NIC module into kernel<br />
* Disabled kernel debugging ('''Note: This is very important if you plan to use this kernel on Media Directors.''')<br />
<br />
<br />
At this point you can start the kernel build process. You may use the standard kernel method or the Debian build method. For simplicity this Wiki will use the standard method.<br />
make<br />
make modules_install<br />
<br />
You should now build any custom modules you need. Linux MCE (and Ubuntu) come with some non-standard drivers. The key modules to worry about are AppArmor, Asterisk (ztdummy & zaptel), ALSA, nVidia video, ATI video. You are better off downloading the latest nVidia and ATI drivers and installing them using the instructions found in the [[Display Drivers|display drivers]] wiki. The Gutsy kernel also contains other important video drivers, like ivtv. However most of these drivers are now in the mainstream kernel and more up-to-date than the Gutsy versions.<br />
<br />
I have decided to forgo the AppArmor module. Compiling and running this module would require a complete upgrade of the whole package in addition to manually patching many areas of the kernel. This is entirely too much work for something that is largely useless in a Linux MCE installation. <br />
<br />
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there's no reason to play around with mixmatched versions. Just rebuild both the kernel drivers and the userspace utilities. Here are the steps for that (Note: You should select your card specifically for the alsa-driver package, using the --with-cards option):<br />
mkdir alsa<br />
cd alsa<br />
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2<br />
for fi in *; do<br />
tar -jxvf $fi<br />
done<br />
cd alsa-driver-1.0.17 <br />
./configure --with-cards=hda-intel<br />
make<br />
make install<br />
cd ..<br />
for fi in alsa-lib-1.0.17a alsa-plugins-1.0.17 alsa-utils-1.0.17 alsa-oss-1.0.17 alsa-firmware-1.0.17; do<br />
cd $fi<br />
./configure<br />
make<br />
make install<br />
cd ..<br />
done<br />
<br />
<br />
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. <br />
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz<br />
tar -zxvf zaptel-1.4.12.1.tar.gz<br />
cd zaptel-1.4.12.1<br />
./configure --prefix=/usr<br />
make<br />
make install<br />
<br />
You will also need to recompile LIRC. Note: Some LIRC drivers are not SMP safe and will not compile on SMP kernels. In this case I suggest you pick only the drivers you need. For 2.6.26.5 I had to patch some files in the kernel to get LIRC to compile. The patch is located on the LIRC site. Also only the CVS version will compile. I ran into even more drama with LIRC, because many drivers failed to even attempt a build. I was able to manually enter each driver directory and perform a make/make install. After applying the patch to the kernel, it failed to compile as well. At this point I would assume that LIRC is not working with 2.6.26.5. <br />
cd /usr/src/linux<br />
wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch<br />
patch -p1 < lirc-bttv-linux-2.6.24.patch<br />
cd ..<br />
cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc<br />
cd lirc-0.8.3<br />
./configure --prefix=/usr --with-driver=all<br />
make<br />
make install<br />
<br />
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file. <br />
cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5<br />
mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5<br />
nano /boot/grub/menu.lst<br />
<br />
Save a list of all currently used modules for future reference. You will use this later to make sure you have all the required modules.<br />
lsmod > ~/module_list-2.6.22.14<br />
<br />
Go ahead and reboot. Your new kernel should now load. If your boot fails, simply edit the parameters from the grub menu and specify your old kernel and initramfs image.<br />
'''Please note:''' udev attempts to assign persistent names to most devices. If the way the kernel identifies your device changes from your old kernel version to the new one, udev may assume it's a new device and assign it an unexpected name. For example, the nForce ethernet drivers corrected a bug in the way the MAC address was read from the device. On my first boot what was usually my eth0 device was now my eth1 device. To fix this simply flush the offending rule from the /etc/udev/rules.d folder. <br />
reboot<br />
<br />
You will most likely need to reinstall your video driver at this point, if you used a proprietary binary version. Instructions for getting the latest driver and installing it can be found in the [[Display Drivers|display drivers]] wiki.<br />
<br />
For nVidia do this:<br />
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
<br />
Now it is a good idea to compare your lsmod output from your old kernel to the output of your new kernel. Just to be certain you didn't miss anything. I found the order to be different, so I copied the output to an Excel spreadsheet and sorted the two different lists. The only discrepancies I found were related to name changes in the kernel and AppArmor.<br />
<br />
==Media Directors==<br />
In a traditional installation the Core and Media Directors all run the Gutsy 2.6.22-14 kernel. You may still use this kernel if you like, or you may opt to use your newly built kernel. <br />
===Use old kernel===<br />
If you want the media directors to continue to use this old kernel then you must create a symlink to the old kernel in the boot directory of each MD. You must also update the MD archives with this symlink, so future MDs will be setup correctly.<br />
<br />
mkdir /tmp/moonfs_64 /tmp/moonfs_32<br />
tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/<br />
tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/<br />
for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do<br />
md_device=`echo "$md" | sed -e 's/.*[/]\([^/]\)/\1/g'`<br />
cd $md/boot<br />
ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5<br />
ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5<br />
done<br />
tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .<br />
tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .<br />
rm -rf /tmp/moonfs_*<br />
<br />
===Use new kernel===<br />
A better route, although more complex one is to use your new kernel on the media directors as well. You can do this by copying your kernel and modules to each MD root filesystem. Additionally, you will need to add the kernel image plus modules to the MD root archive (/usr/pluto/install/PlutoMD-xxxyyy.tar.bz2) where xxxyyy is your architecture. This does present an issue if your core and media directors are not the same architecture. In this case you will need to build a kernel for the other architecture using cross-compile methods or using a machine of the that architecture. <br />
<br />
These scripts serve as a guideline, and may need to be customized to your unique configuration. <br />
<br />
'''A few notes:'''<br />
* Your initrd-img file should be about 10MB. If it is around the 40MB mark you compiled your kernel with debugging support. The tftp server will refuse to transfer files this large. As a result, all MDs will fail to boot. If you absolutely must use a debugging kernel then there are options you can pass to tftp to make it ignore this limit.<br />
* These scripts assume all media directors and cores are 64-bit machines. It is left as an exercise for the reader to distribute the proper kernel image for the target MD's architecture.<br />
* You should build your video driver files first, so you can include them in your MD archive.<br />
<br />
for md in /usr/pluto/diskless/*; do<br />
md_device=`echo "$md" | sed -e 's/.*[/]\([^/]\)/\1/g'`<br />
cp /boot/vmlinuz-2.6.26.5 $md/boot/<br />
cp /boot/initrd.img-2.6.26.5 $md/boot/<br />
cp -r /lib/modules/2.6.26.5/ $md/lib/modules/<br />
/usr/pluto/bin/Diskless_InstallKernel.sh $md_device<br />
done<br />
/usr/pluto/bin/Diskless_BuildDefaultImage.sh<br />
<br />
<br />
Now rebuild the archives, so future Media Directors will get the correct kernel image. <br />
cd /tmp<br />
mkdir moonfs_x64<br />
cd moonfs_x64<br />
tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2<br />
cp /boot/vmlinuz-2.6.26.5 boot<br />
cp /boot/initrd.img-2.6.26.5 boot<br />
cp -r /lib/modules/2.6.26.5/ lib/modules/<br />
tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *<br />
cd ..<br />
rm -rf moonfs_x64<br />
<br />
==Video Drivers==<br />
Video drivers get their own section because they often require updated libraries in addition to updated kernel modules. These libraries will have to be distributed to the media directors and updated in the archive. nVidia's driver installation script provides many useful options for this. I have not looked into a way to do with the ATI drivers, but I assume it's similar. <br />
<br />
You will need this small script I made. NVIDIA packages the precompiled kernel interface with a proprietary header. Removing the header allows you to link the interface and kernel module manually.<br />
<br />
stripheader.sh<br />
readsint ()<br />
{<br />
byte=`head -c$2 $1 | tail -c1`<br />
sint=`printf '%u' "'$byte"`<br />
let "sint=$sint & 0xFF"<br />
eval "$3=\"$sint\""<br />
}<br />
readuint32 ()<br />
{<br />
readsint $1 $(($2+1)) b1<br />
readsint $1 $(($2+2)) b2<br />
readsint $1 $(($2+3)) b3<br />
readsint $1 $(($2+4)) b4 <br />
<br />
uint=$(( ($b4 << 24) + ($b3 << 16) + ($b2 << 8) + $b1 ))<br />
eval "$3=\"$uint\""<br />
} <br />
<br />
let "header=12"<br />
readuint32 $1 $header int<br />
let "header=$header+$int+4"<br />
readuint32 $1 $header int<br />
let "header=$header+$int+4"<br />
readuint32 $1 $header int<br />
let "header=$header+$int+4"<br />
<br />
precomp=$(stat -c%s "$1")<br />
let "precomp-=$header"<br />
tail -c$precomp $1 > $2<br />
<br />
<br />
These commands will update each Media Director. You should also copy these files into the MD archives. This is left as an exercise for the reader.<br />
<br />
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel<br />
./stripheader.sh NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/precompiled/precompiled-nv-linux.o* NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv-linux.o<br />
ld -d -r -o nvidia.ko NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv-linux.o NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv-kernel.o<br />
for md in /usr/pluto/diskless/*; do<br />
cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/<br />
cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/<br />
done</div>Demushttp://wiki.linuxmce.org/index.php?title=Display_Drivers&diff=15639Display Drivers2008-09-17T09:50:53Z<p>Demus: /* Latest Drivers */</p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
[[Category: Tutorials]]<br />
[[Category: Hardware| ]]<br />
<br />
An incomplete HowTo on updating LinuxMCE to the latest display drivers and configuring them manually. It could use your help, so if something is different in your situation, please add it.<br />
<br />
'''Note that this should normally not be necessary unless you have specific wishes or trouble getting your display to work properly.''' <br />
<br />
== Installation ==<br />
If the graphical environment cannot start you are likely to see a text screen blinking, this makes it very hard to login, if this is the case you can reboot into "recovery mode" by pressing [Esc] when GRUB tells you to during the boot process and then select it from the menu you will be presented with.<br />
<br />
=== ATI Chipsets ===<br />
The two main ways to install the ATI drivers are described in the [http://wiki.cchtml.com/index.php/Ubuntu_Feisty_Installation_Guide Ubuntu Feisty Installation Guide].<br />
<br />
For more information see also the [http://wiki.cchtml.com/index.php/Main_Page Unofficial ATI Linux Driver Wiki] and you might want to have a look at [http://www.mythtv.org/wiki/index.php/AtiProprietaryDriver AtiProprietaryDriver] in the MythTV wiki as well since LinuxMCE depends on it for viewing TV. MythTV in turn relies heavily on the support of certain features by the graphics drivers. The ATI drivers turn out to be a bit "challenged" in this area to say the least.<br />
<br />
==== Installing The ATI Driver ====<br />
<br />
Here's the procedure I use for setting up an ATI X1250 MD. Currently the the AVwizard in 0710 does not configure ATI cards properly so you need to to do some manual steps to get things working.<br />
<br />
'''Step 1'''<br />
<br />
Add the MD in the normal way (ie plug it into the network and let it add itself). Let it reboot and then it should run the AVwizard. Choose the options you want - output connector, resolution, refresh.... UI2 with Overlay etc etc and complete the wizard. Now the screen will return to a console screen and will after 5-10 mins will try to run the setup Wizard... but the setup Wizard will run very slowly and the video of 'Sarah' will not play smoothly. This is because the ATI drivers are not installed yet and the X driver is set to 'vesa'.<br />
<br />
'''Step 2'''<br />
<br />
From another machine ssh into the partially installed MD using Konsole from the KDE Desktop or a terminal app like Putty under Windows XP. Do the following from the console;<br />
<br />
sudo su - <return><br />
ssh moonNN <return> (**where the NN is the device number for the MD we're configuring**)<br />
<br />
Alternatively do the following from the MD/Core you are configuring;<br />
<br />
Ctrl+Alt+2<br />
<br />
Now login using the login you created when you installed your system ie When you ran the DVD installer or CD installer. Now we're logged into the MD we are configuring as 'root' and we can install the ATI drivers and configure Xorg.conf;<br />
<br />
Firstly make sure our sources.list is up to date:<br />
<br />
apt-get update <return><br />
<br />
Now lets install the ATI driver and packages;<br />
<br />
apt-get install linux-restricted-modules-generic restricted-manager <return><br />
<br />
Answer 'Y' to installing new packages then do the following steps;<br />
<br />
apt-get install xorg-driver-fglrx <return><br />
depmod -a <return><br />
<br />
So far so good... now we have the ATI drivers installed! (the current driver in the repos is not the latest ATI release an updated driver will be packaged soon though). Now we have to configure Xorg to use it! Do the steps below;<br />
<br />
I use the console text editor 'joe' below but you can use whichever you prefer ('nano' is installed by default for example);<br />
<br />
joe /etc/X11/xorg.conf <return><br />
<br />
Now you are editing the xorg.conf of your MD and the only change you need to make is to the 'Device' section. In the 'Device' section you will see a line thats says;<br />
<br />
Driver "vesa"<br />
or<br />
Driver "ati"<br />
<br />
Change the string 'vesa' (or ati) to 'fglrx' which is the name of the ATI driver. The updated driver line should look like below;<br />
<br />
Driver "fglrx"<br />
<br />
Now save the changes you have made to xorg.conf.<br />
<br />
Now reboot the MD from the console with;<br />
<br />
reboot <return><br />
<br />
The MD will now reboot normally and the setup wizard will run again.... but this time the video and the Ui will run smoothly as the ATI driver is installed and confgured.<br />
<br />
Currently the ATI driver will not support UI2 with transparency but it will support UI2 with overlay very nicely indeed. There are two small caveats to running UI2 with Overlay currently with the ATI driver in that the 'Compass Rose' on screen menu for selecting DVD chapters, Lighting levels etc etc and the 'Zoom & Aspect ratio' screen when playing Video do not draw correctly - the bit maps for the menus do not display but the menus do work.<br />
<br />
=== NVidia Chipsets ===<br />
<br />
==== Bugs ====<br />
If you are here, trying to update your driver because video is not working, remember that there is a bug with some Nvidia cards that makes graphical output always appear on the DVI plug, not the VGA plug. If you have a display attached to the VGA port on your adapter, buy a DVI to VGA converter plug before putting yourself through a lot of pain!<br />
<br />
==== Legacy Drivers ====<br />
With legacy drivers the AVWizard might crash because it could not load the nvidia-legacy kernel module. It is unclear why kdm will start and not AVWizard. A quick fix is to set the '''driver''' option in the ''/etc/X11/xorg.conf'' file to '''vesa'''. Go through the AVWizard and then change it back. Another option is to edit ''/etc/modprobe.d/aliases'' and add '''alias nvidia nvidia-legacy'''. Don't forget about this line when you switch to a newer card.<br />
<br />
==== Latest Drivers ====<br />
There are several ways to install nVidia drivers, the way described here is meant as a guide to install the very latest drivers from the nVidia website. Note that this way will bypass the LinuxMCE (Kubuntu) packaging system, possibly removing and/or overwriting some of it's files. <br />
<br />
1. Go to a console (text) terminal by holding [CTRL]-[ALT] and pressing the [F1] key simultaneously, log in with the user account you have created during the Kubuntu install and become root, if you haven't done so already. <br />
'''<you>@dcerouter:~$''' sudo -s<br />
2. Download the latest [http://www.nvidia.com/object/unix.html linux drivers from NVidia] (depending [http://www.nvidia.com/object/IO_32667.html on your hardware], one of versions: 1XX.XX.XX, 1.0-96xx or 1.0-71XX), if you haven't done so already. When you have found the URL for downloading the package on the nvidia site you could download it like this:<br />
'''root@dcerouter:~#''' wget <nowiki>http://us.download.nvidia.com/XFree86/Linux-x86/</nowiki>''<version>''<nowiki>/NVIDIA-Linux-x86-</nowiki>''<version>''<nowiki>-pkg1.run</nowiki><br />
3. Go to runlevel 1 to stop the currently running X-server. <br />
'''root@dcerouter:~#''' telinit 1 <br />
4. Execute the installer and follow instructions. Ignore the warning about runlevel 1 and don't bother looking for precompiled drivers.<br />
'''root@dcerouter:~#''' sh NVIDIA-Linux-x86-''<version>''-pkg1.run<br />
5. The installer will attempt to remove old legacy drivers. If it cannot, you may receive X errors (Eg. ''Error: API mismatch''). The solution is to manually remove or disable the legacy drivers. <br />
'''nano /etc/default/linux-restricted-modules-common''' <br />
Disable the NVIDIA linux-restricted kernel modules (nvidia, nvidia_legacy) by changing the DISABLED_MODULES line to read:<br />
'''DISABLED_MODULES="nv nvidia_new"'''<br />
6. Now it needs to be configured. The recommended and most convenient way is to use the [[AVWizard]]. For more advanced setup, or if the AVWizard for some reason is unable to set your up your screens to your liking, you can configure the ''X-server'' manually by editing the ''xorg.conf'' file directly.<br />
<br />
==== Media Directors ====<br />
Instructions for installing the latest nVidia driver on your media directors can be found in the [[Upgrading the Kernel#Video Drivers|upgrading the kernel]] wiki.<br />
<br />
=== Intel Chipsets ===<br />
There is a renewed interest in the Intel graphics chipsets since Intel released the drivers under the GPL. Currently the Intel driver still cannot support UI2 with Alphablending but they will support UI2 with Overlay very nicely and video performance is excellent. LinuxMCE versions after Beta4 have full support for configuring the Intel driver in the AVwizard.<br />
<br />
From LinuxMCE-0710 Beta4 onwards LinuxMCE will install the newer intel driver by default - so the instructions below are only useful if your still running LinuxMCE-0704.<br />
<br />
==== For LinuxMCE-0704 ====<br />
<br />
You will want to make sure you are using the newer intel drivers from http://packages.ubuntu.com/gutsy/i386/xserver-xorg-video-intel/download for i386. These replace the older i810, etc. drivers and should cover all the modern intel chipsets. The name for this driver is 'intel' and would replace the older 'i810' drivers.<br />
<br />
If you're using i810 driver make sure you add Option "LinearAlloc" "8160" to xorg.conf or video players will crash with X11 error: BadAlloc.<br />
<br />
From man i810:<br />
Option "LinearAlloc" "integer"<br />
Allows more memory for the offscreen allocator. This usually<br />
helps in situations where HDTV movies are required to play but<br />
not enough offscreen memory is usually available. Set this to<br />
8160 for upto 1920x1080 HDTV support. Default 0KB (off).<br />
<br />
==== potential problem ====<br />
<br />
there can be a problem with some intel drivers, like the gma 3100. see [[bug/gma3100driver]] for further informations<br />
<br />
=== Via Chipsets ===<br />
Use the Openchrome or Via Unichrome drivers. The Via Unichrome drivers can be downloaded from [http://www.viaarena.com/default.aspx?PageID=2&OSID=45&CatID=3220]<br />
<br />
The proprietary Via Unichrome driver works best with Linux MCE. Unfortunately this driver has intentionally been stripped of support for most GLX extensions. This driver does not support alpha blending which is a prerequisite of [[UI2]]. Via licenses the full featured driver to system integrators, such as [[Fiire]]. This licensed driver is not publicly available. Additionally there is a known incompatibility issue with the licensed driver and Linux MCE 0710. <br />
<br />
On April 08, 2008 Via announced a new open source initiative to help develop open drivers for certain video chipsets [http://www.phoronix.com/scan.php?page=article&item=via_oss&num=1]. This press release echos sour notes with many developers who have heard this tune many times before. No useful information or code has been released to date, striking yet another all to familiar chord in the open source community [http://www.phoronix.com/scan.php?page=article&item=via_bluff&num=1].<br />
<br />
'''HOW-TO VIA Openchrome driver for xorg:'''<br><br />
For VIA CX700M2 UniChrome PRO II Graphics (1" VIA units) or mainly via graphics:<br><br />
==== NOTE:--[[User:Usaf-lt-g|Usaf-lt-g]] 13:17, 2 August 2008 (PDT) ====<br />
<br />
==== --[[User:Usaf-lt-g|Usaf-lt-g]] 14:01, 6 August 2008 (PDT)The steps mentioned BELOW were ONLY successful for UI1 not UI2. I have yet to get UI2 working, however these steps will work for 710 UI1. <br />
<br><br />
After following the below directions, you MAY experience your MD locking the next time it boots, if this the case... ssh to your core first and make sure you have root access by issuing the '''sudo -s''' command.<br><br />
<br><br />
cd /tftpboot/pxelinux.cfg<br><br />
<br><br />
locate the mac address of the MD and then<br><br />
vi <your MAC address here> <br><br />
place the '''acpi=off''' command at the end of the APPEND line.<br><br />
<br><br />
save the file and reboot MD.<br />
<br><br />
<br><br />
<br />
==== NOTE: --[[User:Usaf-lt-g|Usaf-lt-g]] 14:02, 6 August 2008 (PDT) You will most likely need to generate a new xorg.conf file as well. See the additional steps section on how to do this and how to set it up for your particular setup<br />
<br />
==== NOTE:[[User:usaf-lt-g|usaf-lt-g]] Sunday July 28th, 2008 ====<br />
<br />
----<br />
<br />
Burgiman's instructions worked... with some minor modifications. Take note, I had a VERY difficult time first being able to SSH in to my MD. However, note, that I'm using an "earlier" version of LMCE (Beta 3). My MD is also diskless, and NETBIOS handled. If you can't gain root access to your MD through SSH I suggest the following method:<br />
<br />
----<br />
<br />
<br />
--[[User:Usaf-lt-g|Usaf-lt-g]] 22:55, 27 July 2008 (PDT)<br />
<br />
''shell into your core as linuxmce / linuxmce and do the following:''<br><br />
<br />
<br />
----<br />
sudo -s <br />
cd /usr/pluto/diskless <br />
chroot <your MD # found on the linuxmce admin devices page> <br />
(chroot will allow you to access the MD's file system as a root user) <br />
----<br />
''from here I suggest you make a new group and user and then add them to the list of sudoers so that you can easily have SSH access to your MD anytime without this hassle. I did the following:''<br />
<br />
----<br />
groupadd parents<br />
useradd -g parents chris<br />
passwd chris<br />
<set your password><br />
visudo<br />
here you need to add a line below the: <br />
root ALL=(ALL) ALL </b> <br />
line. Mine was:<br />
chris ALL=(ALL) ALL<br><br />
----<br />
<br />
''Now you'll be able to login using this user with password you supplied and issue the <b> sudo -s </b> command, which will grant you root access to the MD.''<br />
<br><br />
--[[User:Usaf-lt-g|Usaf-lt-g]] 22:55, 27 July 2008 (PDT)<br />
''now from here you're going to need some additional packages installed before you can do anything with the OpenChrome drivers.''<br><br />
<br />
----<br />
apt-get install subversion (which will give you the svn command)<br />
apt-get install xserver-xorg-dev<br><br />
apt-get install libdrm-dev<br><br />
apt-get install libxvmc-dev<br><br />
----<br />
<br />
''After that, you SHOULD be able to follow the rest of the install below. It worked for me. Hope this helps.''<br />
<br><br />
Feel free to edit if necessary.<br />
Chris<br />
<br />
====NOTE:[[User:ddamron|ddamron]] Monday June 30, 2008====<br />
Burgiman's instructions did NOT work for me. <br />
Take that for what it's worth. <br />
I had better success installing the VIA Unichrome Driver, and UI1. Use CLE266 mode.<br />
If you have more success, please update this page<br />
Dan<br />
<br />
'''UPDATED FOR 0710!'''<br />
--[[User:Burgiman|burgi]] 11:47, 2 June 2008 (PDT)<br />
<br />
''shell into your box and do the following:''<br><br />
apt-get install build-essential automake1.9 libtool x11proto-* libgl1-mesa-dev makedepend libxxf86vm-dev libexpat1-dev libexpat1 libxmu-dev xtrans-dev libpng12-dev libxcomposite-dev libxfixes-dev libxdamage-dev libxrandr-dev libxrender-dev libstartup-notification0-dev libgconf2-dev<br />
<br />
cd /usr/src<br />
svn checkout http://svn.openchrome.org/svn/trunk openchrome<br />
cd openchrome*<br />
./autogen.sh --prefix=/usr<br />
make<br />
make install<br />
<br />
Now we have to edit /etc/X11/xorg.conf and change the device driver to via openchrome:<br><br />
vi /etc/X11/xorg.conf<br />
Go to<br />
Section "Device"<br />
and change<br />
Driver "vesa" <br />
to<br />
Driver "openchrome"<br />
save and test the compiled new driver with a: <br><br />
X :1<br />
and if your xwindow comes up, you can reboot and have fun<br><br />
--[[User:Burgiman|burgi]] 13:37, 3 March 2008 (PST)<br />
<br />
=== Other Chipsets ===<br />
Please help out by adding more if you can.<br />
<br />
== Configuration ==<br />
The recommended and most convenient way is to use the [[AVWizard]]. For more advanced setup, or if the X-server (and thus also the AVWizard) is unable to start, you can configure the ''X-server'' manually by editing the ''xorg.conf'' file directly.<br />
<br />
=== Getting started ===<br />
Start by making a backup copy of the ''/etc/X11/xorg.conf'' file (even if it doesn't work it might contain settings you could need). In this example we will start from scratch and edit the configuration file step by step to get the main display setup. <br />
<br />
Some of these steps require that there will be no X-server active on the system, the easiest way to achieve this is to boot in ''rescue-mode'', just hit [Esc] when [[Grub]] tells you to during the startup of your machine and select the right line from the menu. Another way is to go to a text-mode console (aka. terminal) with [CTRL]-[ALT]-[F1], [[Logging In|log in]], become root and issue the command:<br />
telinit 1<br />
This wil stop the running X-server and drop you into rescue mode as well. <br />
<br />
One of the advantages is that now you can start and stop the X-server by hand with an alternative configuration file and without having to reboot or even start an entire desktop environment.<br />
<br />
=== Generating a template ===<br />
These instructions were originally written for ATI chipsets, so they might need to be adjusted and updated a bit. Not all of the specific options may be relevant for your chipset. <br />
<br />
'''While there is no (other) X-server running''' you can create a template configuration file by running:<br />
X -configure<br />
This will create a file called xorg.conf.new in your ''home'' directory, test it with the following command and hit [CTRL]-[ALT]-[Backspace] when done:<br />
X -config ~/xorg.conf.new<br />
Within a few seconds a gray bitpattern should show up with an 'X' shaped mouse cursor. If the screen is distorted or reports the refresh rate to be out of range then you will either have to specify the proper refreshrate limitations for your screen or insert "modelines" for the resolution(s) you want to use (see below). <br />
<br />
When you're satisfied you can overwrite ''/etc/X11/xorg.conf'' with this file to make it the default (you did make a backup didn't you?), once you have done that you can use "startx" to test and have the use of your desktop as well. This should at least be enough to allow the use of a graphic configuration tool (like the [[AVWizard]] for instance) to set up your display further. More advanced manual configuration options can be found below.<br />
<br />
Here is an example of such a generated file:<br />
<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
RgbPath "/etc/X11/rgb"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/X11/misc"<br />
FontPath "/usr/X11R6/lib/X11/fonts/misc"<br />
FontPath "/usr/share/fonts/X11/cyrillic"<br />
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"<br />
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"<br />
FontPath "/usr/share/fonts/X11/Type1"<br />
FontPath "/usr/X11R6/lib/X11/fonts/Type1"<br />
FontPath "/usr/share/fonts/X11/100dpi"<br />
FontPath "/usr/share/fonts/X11/75dpi"<br />
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "extmod"<br />
Load "record"<br />
Load "xtrap"<br />
Load "dri"<br />
Load "glx"<br />
Load "dbe"<br />
Load "GLcore"<br />
Load "type1"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
### Available Driver options are:-<br />
### Values: &lt;i&gt;: integer, <f>: float, <bool>: "True"/"False",<br />
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"<br />
### [arg]: arg optional<br />
#Option "ShadowFB" # [<bool>]<br />
#Option "DefaultRefresh" # [<bool>]<br />
#Option "ModeSetClearScreen" # [<bool>]<br />
Identifier "Card0"<br />
Driver "vesa"<br />
''VendorName "ATI Technologies Inc"''<br />
''BoardName "ATI Radeon Xpress 1200 Series"''<br />
''BusID '''"PCI:1:5:0"'''''<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Note that the only thing really specific to my setup in this config file is ''BusID'', if you only have one graphics adapter in your system this value can be omitted, otherwise the value(s) can be found with:<br />
X -scanpci<br />
Where each card will need it's own Device Section in the config file. The "VendorName" and "BoardName" settings are just labels and serve no real purpose other then being able to identify this particular device, which is usefull if you have more then one.<br />
<br />
We'll be using this sample configuration as a starting point in the other examples below, the comments (lines starting with ''#'' can be safely removed as well as the ''"Display"'' subsections for the colordepths we don't plan on using.<br />
<br />
=== Refresh rate / ModeLine ===<br />
The easiest way to sort this problem is to let the X-server figure this out by not specifying the limits of your screen. However this often fails, leaving you with an unusable display. Simply look up '''your screen''''s refresh rates in the documentation and add them like this:<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
''HorizSync '''27-102''' # kHz''<br />
''VertRefresh '''50-160''' # Hz''<br />
EndSection<br />
<br />
Alternatively you could specify a "ModeLine" for each resolution you want to use. By using ModeLines you have much finer controll over the timings of the output signal generated by your videocard. The drawback is that the timing values can be hard to get right. <br />
<br />
Search the web for a "modeline generator", and many of these will include instructions on how to add the modeline, but briefly, you just add it to the "Monitor" section. Read the [http://en.wikipedia.org/wiki/Modeline wikipedia entry] to learn how to use modelines. <br />
* http://koala.ilog.fr/cgi-bin/nph-colas-modelines<br />
* http://xtiming.sourceforge.net/cgi-bin/xtiming.pl<br />
* http://www.bohne-lang.de/spec/linux/modeline/<br />
* http://amlc.berlios.de/<br />
* http://www.mythtv.org/wiki/index.php/Working_with_Modelines<br />
If one modeline doesn't work perfectly, try another, perhaps from another generator, because they can vary so much.<br />
<br />
Using the wrong timings could in some (nowadays rare) occasions damage the hardware of your screen, so if it looks garbeled don't leave it like that for hours on end but hit [Ctrl]-[Alt]-[&larr;Backspace] and readjust your settings. Most modern screens however simply report that the signal is out of range if this happens.<br />
<br />
=== Colordepth and resolution ===<br />
Specify the colordepth and resolution(s) you would like to use, like this:<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
''DefaultDepth '''24'''''<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
''Virtual '''1600 1200'''''<br />
''Modes '''"1600x1200" "1280x1024" "1024x768" "800x600" "640x480" "512x384" "400x300" "320x240"'''''<br />
EndSubSection<br />
EndSection<br />
<br />
As most people will only be using 24 bits anyway, I have removed the other redundant subsections. "Virtual" is the size of your desktop and "Modes" are physical resolutions, you can flip through these by holding [CTRL]-[ALT] and pressing the plus or minus on the numeric keypad. These are just examples, most people will only want to specify the resolution they actually use.<br />
<br />
=== DRI device permissions ===<br />
This section is needed to have the X-server set the proper permissions on the DRI device during startup. Simply add it to the end of the /etx/X11.xorg file if it isn't there already.<br />
<br />
Section "DRI"<br />
Mode 0666<br />
EndSection<br />
<br />
=== Chipset driver ===<br />
Change "'''vesa'''" to "'''fglrx'''" (or "'''ati'''", depending on which drivers you installed earlier), as shown below, the old line is left as a comment in this example for clarity, but it's better to remove it as some scripts seem to find it confusing. For Nvidia chipsets use '''nvidia''' or '''nv''' as the driver names (instead of '''fglrx''').<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
''# Driver "'''vesa'''"''<br />
''Driver "'''fglrx'''"''<br />
VendorName "ATI Technologies Inc"<br />
BoardName "ATI Radeon Xpress 1200 Series"<br />
BusID "PCI:1:5:0"<br />
EndSection<br />
<br />
If your X-server was running you will have to restart it completely for the changes to take effect, the easiest and most thorough way to do this is to reboot.<br />
<br />
=== Physical display size ===<br />
Like specifying the refresh rate his is optional but sometimes necessary, most of the time it is either detected or some sane defaults are used but sometimes it isn't, which can result in unreadable font sizes.<br />
<br />
Section "Monitor"<br />
...<br />
DisplaySize '''155 95'''<br />
EndSection<br />
<br />
Where you have to replace the numbers with the physical '''width''' and '''height''' of your screen in millimeters (1" = 25mm), feel free to try mine, however these are for a small touchscreen.<br />
<br />
=== Disable composite ===<br />
Aparently the ATI '''fglrx''' driver does not ''yet'' support composite with DRI. So if you are using the fglrx driver, disable it by adding this to the end of the /etx/X11.xorg file if it isn't there already.<br />
<br />
Section "Extensions"<br />
Option "Composite" "Disable"<br />
EndSection<br />
<br />
=== Additional options ===<br />
To be continued, I don't think this is enough to get UI2 completely (either mode) going yet. Feel free to jump in anytime... <br />
<br />
<br />
Things still to sort out amongst others (i.e. what is it, do we need it and what are the settings if any):<br />
<br />
Section "Module"<br />
Load "i2c"<br />
Load "bitmap"<br />
Load "ddc"<br />
Load "freetype"<br />
Load "int10"<br />
Load "vbe"<br />
Load "speedo"<br />
Load "type1"<br />
Load "dbe"<br />
Load "glx"<br />
Load "v4l"<br />
EndSection<br />
<br />
Section "ServerFlags"<br />
Option "AIGLX" "off"<br />
EndSection<br />
<br />
Section "Extensions"<br />
Option "Composite" "Disable"<br />
# Option "RENDER" "true"<br />
EndSection<br />
<br />
Option "PseudoColorVisuals" "off"<br />
Option "OpenGLOverlay" "off"<br />
Option "VideoOverlay" "off"<br />
Option "DesktopSetup" "clone"<br />
<br />
TV-out options, 2nd display, etc.<br />
<br />
<br />
== Troubleshooting ==<br />
<br />
=== The AVWizard crashes X-windows ===<br />
<br />
Try setting the [[#Chipset_driver]] option to '''vesa''', run the AVWizard again and then change the driver back to what it was.<br />
<br />
=== Black screen ===<br />
<br />
* Screen is black, after install seemed to go okay. You may have even seen the Kubuntu splash screen. See [[AVWizard]] on how to select the proper output.<br />
<br />
*One problem on nvidia-cards could be that it does not detect the right monitor.<br />
<br />
::Go to Console 1 ([Ctrl]+[Alt]+1) and edit /etc/X11/xorg.conf (nano -w /etc/X11/xorg.conf). Find the section ::Device with the driver nvidia add the line <pre>Option "ConnectedMonitor" "XXX"</pre><br />
::where XXX is CRT, CRT-0, CRT-1, DVI-0, DVI-1, ...<br />
::Save and exit (nano: Ctrl+x) and restart the computer. In my case it was "CRT-1".<br />
<br />
=== X-windows won't start ===<br />
<br />
Reboot into rescue-mode if needed (hit [Esc] when [[Grub]] tells you to), and restore a working copy of your /etc/X11/xorg.conf, or edit it by hand to fix the problem. Test it with the command "X" and press [Ctrl]-[Alt]-[&larr;Backspace] simultaneous to quit (alternative: use "startx" and get the full desktop, if any), then reboot when it works and you're done.<br />
<br />
=== Signal out of range ===<br />
<br />
See ''[[#Refresh rate / ModeLine ]]'' above.<br />
<br />
=== Microscopic fonts in KDE ===<br />
<br />
See ''[[#Physical_display_size]]'' above.<br />
<br />
If the above does not work, probably Xorg is calculating the DPI value in the wrong way.<br />
This can be verified by having a look at the file /var/log/Xorg.0.log related to the MD with this issue searching for the line containing "DPI set to (x , y)",where x and y are values that apply to the specific display.<br />
<br />
If those values are too small, fonts will be displayed accordingly (i.e, VERY small)<br />
<br />
A workaround is to force Xorg to startup with a given DPI value.<br />
<br />
To achieve this the following steps are required:<br />
<br />
* edit the file /usr/pluto/bin/Start_X_Wrapper.sh on your MD where you are facing the font problem<br />
* find the line beginning with xinit<br />
* add "-dpi 96" (without quotes) at the end of this line<br />
* save the file and reboot MD<br />
<br />
Obviously it is possible to set DPI to something different than 96, according to specific needs.<br />
<br />
Please note that after an LMCE update the startup script may be replaced by new ones, so the above workaround may have to be re-applied in order to keep fonts at the desired dimension.<br />
<br />
=== LinuxMCE keeps reconfiguring my display settings ===<br />
<br />
Add a line containing '''exit''' to the top of the ''/usr/pluto/bin/Xconfigure.sh'' file. After you do this you may experience difficulties running the AVWizard again, if so remove this line and add it back again after the wizard is finished.<br />
<br />
For LinuxMCE 710 simply comment out the line that says<br />
. /usr/pluto/bin/X-CleanupVideo.sh<br />
This is the command that gets run that modifies the xorg.conf file on startup. This is different than above because if you put exit at the top your display will not get initialized. And as above if you want to run the AVWizard you will need to uncomment this line.<br />
<br />
== See also ==<br />
* [http://www.mythtv.org/wiki/index.php/Main_Page MythTV wiki] <br />
* MythTV Experience [http://brentlagesse.net/~brent/mythtv.php]<br />
* [[X_Configuration_Scripts]]</div>Demushttp://wiki.linuxmce.org/index.php?title=Olevia_700_Series_LCDs&diff=15601Olevia 700 Series LCDs2008-09-15T06:44:03Z<p>Demus: /* Adding new template */</p>
<hr />
<div>[[Category: Hardware]]<br />
[[Category: Video]]<br />
[[Category: Displays]]<br />
<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
==Features==<br />
===Basics===<br />
* 42-47" (diagonal) [[16:9|widescreen]] [[LCD]] television<br />
* Fantastic quality at an even better price<br />
* RS-232 control port<br />
* A variety of standard inputs<br />
* Full 1080P<br />
<br />
===Detailed Specifications===<br />
<br />
'''PANEL'''<br />
<br />
*Screen Size 42-47"<br />
*Aspect Ratio 16:9<br />
*HDTV HDTV Built-In<br />
*Native Resolution 1920 x 1080<br />
*Response Time 8 ms<br />
*Video Processor Silicon Optix HQV<br />
*Viewing Angle 178°/178°<br />
<br />
'''VIDEO'''<br />
*1080p<br />
*2:2/3:2 Pull Down<br />
*Color Temperature Adjust<br />
*Digital 3D Comb Filter<br />
*Progressive Scan<br />
*Supported Resolutions NTSC & ATSC with High Definition (480i, 480p, 720p, 1080i, 1080p)<br />
<br />
<br />
'''AUDIO'''<br />
*Audio Output 1 R/L RCA Audio<br />
*Earphone Output 1 Stereo Mini Jack<br />
*Speakers 2 x 25W<br />
<br />
'''I/O PORTS'''<br />
*Component Input 3 (1 VGA) + R/L RCA Audio<br />
*Composite Input 2 + R/L RCA Audio<br />
*S-Video Input<br />
*Digital Input 2 HDMI w/HDCP<br />
*VGA Input 1 15-Pin D-sub + R/L RCA Audio<br />
*Optical Audio Output<br />
*Service Port DB-9 (labelled as service port, but works as control port on my model. 747i)<br />
*TV System Support up to 1080p<br />
<br />
'''FUNCTION'''<br />
*Channel Return<br />
*Clock/Alarm<br />
*Closed Caption<br />
*Favorite Channel<br />
*Languages: English, French and Spanish<br />
*MTS<br />
*PIP/Split Screen<br />
*Sleep Timer<br />
*V-Chip Parental Control<br />
<br />
'''WARRANTY'''<br />
*Warranty Type One year on-site warranty<br />
<br />
'''OTHER (47" model)'''<br />
*Dimensions 46.4" x 38.1" x 13.8"<br />
*Gross Weight 164 lbs<br />
*Net Weight 132.3 lbs<br />
*PC Resolution Support Up to 1920 x 1080 at 60 Hz<br />
*Power Consumption 240W<br />
*Regulatory Approval FCC-B, UL, cUL, ICES-003, CSA, Energy Star<br />
*Shipping Dimensions 50.9" x 38.9" x 14.7"<br />
*Universal Remote included<br />
<br />
== Adding new template ==<br />
Here are all the RS-232 control codes for Olevia 700 series TVs. When these models were first produced Olevia provided a chart with all of the control codes. However in newer manuals they labeled the RS-232 ports as "Service Ports" and stopped circulating the chart. Despite my port being labeled as a service port, all of the control commands worked perfectly. The commands are different for other models, so I would not expect this template to work for anything but a 700 series.<br />
<br />
I have the 747i and have personally tested these codes.<br />
<br />
=== Specify device data and parameters ===<br />
<br />
On the LinuxMCE admin website go to: Advanced > Configuration > Device Templates<br />
<br />
Select: Add manufacturer. Type: Olevia. Click add.<br />
<br />
Select: Manufacturer 'Olevia', Device Category 'TVs/Plasmas/LCD's/Projectors' and press 'Add device template'<br />
<br />
Description : 700 Series<br />
Implements DCE : yes<br />
Command line : Generic_Serial_Device<br />
Device Category AV TVs/Plasmas/Projection... #77<br />
Manufacturer Olevia<br />
<br />
Add the follow parameters under device data:<br />
<br />
Device data<br />
Current Data Comments Default Value<br />
#37 COM Port on PC(string) The serial port <br />
#76 COM Port ParityBit/Stop(string) Parity/Stop bits (factory defaults) N81 <br />
#78 COM Port BaudRate(string) Baud rate (factory default) B115200<br />
#157 Discrete Volume(bool) Indicates if the volume on... 1 <br />
<br />
Make sure that the check box for Allowed to Modify is checked for COM Port on PC. This is important and will cause you to go bald like me if you miss it.<br />
<br />
=== 'Edit Ruby code' (on A/V properties page) ===<br />
<br />
==== 'Make command group' ====<br />
Click the "Help me choose" button. Type "Olevia 700 Series RS232 LCD TV" into the box. Click "Add i/r group". <br />
<br />
==== 'Add/remove inputs' ====<br />
Click the "change/explain" link after inputs heading. Select all inputs on your TV. I selected: Component 1, Component 2, Composite, Composite 2, HDMI, HDMI 2, SVideo/YC 1, SVideo/YC 2, Tuner, Tuner 2, VGA.<br />
<br />
Note: VGA was not a standard item, I had to add it to the list. <br />
<br />
==== 'Add/remove commands' ====<br />
Select the follow command groups for your TV:<br />
<br />
* Ruby Internal Commands<br />
* Standard TV<br />
<br />
Click update.<br />
<br />
==== 'Add Ruby Commands' ==== <br />
Add the following codes to each command. <br />
'''Note: These will be updated to include scripts that will make everything play nicely. The Olevia 700's have a nice feature that will report the current input. Utilizing this in the input select commands will prevent selecting already active inputs. Which is kind of annoying as the scripts are right now.'''<br />
<br />
#193 Off <$"\xBE\x05\x27\x00\xEA"$> <br />
#192 On <$"\xBE\x05\x27\x01\xEB"$> <br />
#712 Component 1 <$"\xBE\x05\x26\x08\xF1"$> <br />
#713 Component 2 <$"\xBE\x05\x26\x09\xF2"$> <br />
#181 Composite <$"\xBE\x05\x25\x02\xEB"$> <br />
#766 Composite 2 <$"\xBE\x05\X26\x03\xEC"$> <br />
#361 HDMI <$"\xBE\x05\x26\x0C\xF5"$> <br />
#767 HDMI 2 <$"\xBE\x05\x26\x0E\xF7"$> <br />
#319 SVideo/YC 1 <$"\xBE\x05\x26\x05\xEE"$> <br />
#320 SVideo/YC 2 <$"\xBE\x05\x26\x03\xEC"$> <br />
#166 Tuner <$"\xBE\x05\x26\x00\xE9"$> <br />
#175 Tuner 2 <$"\xBE\x05\x26\x01\xEA"$> <br />
#953 VGA <$"\xBE\x05\x26\x0A\xF3"$> <br />
#190 Enter/Go <$"\xBE\x05\25\1B\03"$><br />
#204 0 <$"\xBE\x05\x25\x10\xF8"$><br />
#205 1 <$"\xBE\x05\x25\x11\xF9"$><br />
#206 2 <$"\xBE\x05\x25\x12\xFA"$><br />
#207 3 <$"\xBE\x05\x25\x13\xFB"$><br />
#208 4 <$"\xBE\x05\x25\x14\xFC"$><br />
#209 5 <$"\xBE\x05\x25\x15\xFD"$><br />
#210 6 <$"\xBE\x05\x25\x16\xFE"$><br />
#211 7 <$"\xBE\x05\x25\x17\xFF"$><br />
#212 8 <$"\xBE\x05\x25\x18\x00"$><br />
#213 9 <$"\xBE\x05\x25\x19\x01"$><br />
#64 Skip Back - Channel/Track Lower <$"\xBE\x05\x25\x01\xE9"$> <br />
#63 Skip Fwd - Channel/Track Greater <$"\xBE\x05\x25\x00\xE8"$> <br />
#97 Mute <$"\xBE\x05\x25\x09\xF1"$><br />
#90 Vol Down <$"\xBE\x05\x25\x03\xEB"$><br />
#89 Vol Up <$"\xBE\x05\x25\x02\xEA"$><br />
<br />
== Adding device ==<br />
You can now add the device via the [[LinuxMCE Admin Website]] at '''Wizard > [[AV Devices|A/V Equipment]]'''<br />
=== Add device based on created template ===<br />
Just search for the device template that you created and select it from the list.<br />
=== Specify COM port for it ===<br />
Tell LinuxMCE which com port to use.<br />
=== Assing it to new room ===<br />
Tell LinuxMCE which room to assign this device.<br />
=== Specifiy Audio pipe connections to inputs on receiver ===<br />
Tell LinuxMCE how you have thing attached to the LG TV and how the LG TV is attached to the computer.<br />
<br />
==Making Plug&Play==<br />
I have not been able to get PnP to work properly, despite the script detecting the TV correctly. If you want to play with it, here is the PnP script. You will have to change the 1931 parameter to the DeviceTamplate ID of your new template.<br />
<br />
Copy to (on Core's and MD's): /usr/pluto/pnp/20_OleviaTV.sh<br />
#!/bin/bash<br />
#Plug and Play script for Olevia 700 series LCDs<br />
echo "Olevia 700 series TV Detection script queue $2"<br />
response=`/usr/pluto/bin/TestSerialPort -p $3 -P N81 -b 115200 -t "\\BE\\05\\90\\00\\53" -i 1`<br />
<br />
if [ "$response" = "\06\05\90\01\9c" ] || [ "$response" = "\06\05\90\00\9b" ]; then<br />
echo "Its an Olevia 7xx TV"<br />
/usr/pluto/bin/MessageSend dcerouter -r 0 $1 1 806 224 $2 13 "$4" 44 1931<br />
else<br />
echo "It's not an Olevia 7xx TV"<br />
/usr/pluto/bin/MessageSend dcerouter -r 0 $1 1 806 224 $2 13 "$4" 44 0<br />
fi</div>Demushttp://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&diff=15587Upgrading the Kernel2008-09-13T03:19:02Z<p>Demus: </p>
<hr />
<div>[[Category:LinuxMCEMaintenance]]<br />
[[category: tutorials]]<br />
[[category: programmer's Guide]]<br />
<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
<br />
=Introduction=<br />
The ability to change kernel versions at will can be extremely useful for fighting driver bugs and regressions. The kernel version that ships with LinuxMCE 0710 is 2.6.22-14. At the time of writing the most recent kernel version is 2.6.26.5. The .22 kernel is almost a full year old and as such does not support a lot of the newer hardware. <br />
<br />
==Caveats==<br />
Some modules that are part of the vanilla Linux MCE installation are not part of the standard Linux kernel. These modules have been added as part of the Ubuntu distribution or by LMCE. It is not always straight forward, or even possible to compile these modules against different kernel sources. I suggest you read this entire Wiki first, to determine if you will be affected by the missing modules.<br />
<br />
==Alternatives==<br />
Usually kernels are upgraded for better driver support. In these cases it is often easier to compile new versions of modules against the 2.6.22-14 kernel than it is to upgrade the whole kernel (for reasons mentioned in the [[Upgrading the Kernel#Caveats|caveats]] section. Unfortunately, a lot of modules depend on other modules or patches in the kernel. So this option is not always possible.<br />
<br />
Example:<br />
cd ~<br />
wget http://www.somesite.com/some_kernel_driver.c<br />
echo obj-m = some_kernel_driver.o > Makefile<br />
cd /lib/modules/2.6.22-14-generic/build<br />
make M=~ modules<br />
ls -l ~/some_kernel_driver.ko<br />
<br />
You may then copy the module to the appropriate directory in the modules tree. <br />
<br />
=Upgrade process=<br />
<br />
This wiki will provide step-by-step instructions on how to upgrade your kernel. These examples will assume you are upgrading to 2.6.26 from 2.6.22. You may however apply these steps to any 2.6 kernel.<br />
<br />
==Potential problems==<br />
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. <br />
<br />
==Steps==<br />
The first step is to grab the kernel source and extract it to the /usr/src folder.<br />
<br />
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2<br />
tar -jxvf linux-2.6.26.5.tar.bz<br />
rm linux<br />
ln -s linux-2.6.26.5 linux<br />
<br />
Now lets copy the .config file from our generic 2.6.22 kernel.<br />
cd linux<br />
cp /boot/config-2.6.22-14-generic .config<br />
<br />
On our first load of menuconfig there will be many warnings displayed about non-existant config options. This is simply due to the removal or renaming of old options. Most of these warnings are insignificant, and enabled by default in the vanilla kernel. I would quickly go over the list of warnings and verify that any drivers you need haven't been renamed. One option that has been renamed is DVB_CORE_ATTACH. It is now DVB_MEDIA_ATTACH, and you may need it if you use the DVB stack. Also some netfilter matches have been renamed. Simply reselect these from the config menus. You may also need to install the ncurses library and development files if you haven't already.<br />
<br />
apt-get install libncurses5 libncurses5-dev<br />
make menuconfig 2> module_errors<br />
<br />
It's also a good idea to go over the kernel and make any optimizations for your particular system. The performance gain from these options is fairly minor, but definitely worth selecting. <br />
<br />
I opted to change these things:<br />
* Selected exact processor family to enable processor optimization extensions<br />
* Selected preemptive kernel (low latency)<br />
* Build SATA driver into kernel<br />
* Build MD,RAID1,RAID5 modules into kernel<br />
* Build NIC module into kernel<br />
* Disabled kernel debugging ('''Note: This is very important if you plan to use this kernel on Media Directors.''')<br />
<br />
<br />
At this point you can start the kernel build process. You may use the standard kernel method or the Debian build method. For simplicity this Wiki will use the standard method.<br />
make<br />
make modules_install<br />
<br />
You should now build any custom modules you need. Linux MCE (and Ubuntu) come with some non-standard drivers. The key modules to worry about are AppArmor, Asterisk (ztdummy & zaptel), ALSA, nVidia video, ATI video. You are better off downloading the latest nVidia and ATI drivers and installing them using the instructions found in the [[Display Drivers|display drivers]] wiki. The Gutsy kernel also contains other important video drivers, like ivtv. However most of these drivers are now in the mainstream kernel and more up-to-date than the Gutsy versions.<br />
<br />
I have decided to forgo the AppArmor module. Compiling and running this module would require a complete upgrade of the whole package in addition to manually patching many areas of the kernel. This is entirely too much work for something that is largely useless in a Linux MCE installation. <br />
<br />
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there's no reason to play around with mixmatched versions. Just rebuild both the kernel drivers and the userspace utilities. Here are the steps for that (Note: You should select your card specifically for the alsa-driver package, using the --with-cards option):<br />
mkdir alsa<br />
cd alsa<br />
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2<br />
for fi in *; do<br />
tar -jxvf $fi<br />
done<br />
cd alsa-driver-1.0.17 <br />
./configure --with-cards=hda-intel<br />
make<br />
make install<br />
cd ..<br />
for fi in alsa-lib-1.0.17a alsa-plugins-1.0.17 alsa-utils-1.0.17 alsa-oss-1.0.17 alsa-firmware-1.0.17; do<br />
cd $fi<br />
./configure<br />
make<br />
make install<br />
cd ..<br />
done<br />
<br />
<br />
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. <br />
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz<br />
tar -zxvf zaptel-1.4.12.1.tar.gz<br />
cd zaptel-1.4.12.1<br />
./configure --prefix=/usr<br />
make<br />
make install<br />
<br />
You will also need to recompile LIRC. Note: Some LIRC drivers are not SMP safe and will not compile on SMP kernels. In this case I suggest you pick only the drivers you need. For 2.6.26.5 I had to patch some files in the kernel to get LIRC to compile. The patch is located on the LIRC site. Also only the CVS version will compile. I ran into even more drama with LIRC, because many drivers failed to even attempt a build. I was able to manually enter each driver directory and perform a make/make install. After applying the patch to the kernel, it failed to compile as well. At this point I would assume that LIRC is not working with 2.6.26.5. <br />
cd /usr/src/linux<br />
wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch<br />
patch -p1 < lirc-bttv-linux-2.6.24.patch<br />
cd ..<br />
cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc<br />
cd lirc-0.8.3<br />
./configure --prefix=/usr --with-driver=all<br />
make<br />
make install<br />
<br />
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file. <br />
cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5<br />
mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5<br />
nano /boot/grub/menu.lst<br />
<br />
Save a list of all currently used modules for future reference. You will use this later to make sure you have all the required modules.<br />
lsmod > ~/module_list-2.6.22.14<br />
<br />
Go ahead and reboot. Your new kernel should now load. If your boot fails, simply edit the parameters from the grub menu and specify your old kernel and initramfs image.<br />
'''Please note:''' udev attempts to assign persistent names to most devices. If the way the kernel identifies your device changes from your old kernel version to the new one, udev may assume it's a new device and assign it an unexpected name. For example, the nForce ethernet drivers corrected a bug in the way the MAC address was read from the device. On my first boot what was usually my eth0 device was now my eth1 device. To fix this simply flush the offending rule from the /etc/udev/rules.d folder. <br />
reboot<br />
<br />
You will most likely need to reinstall your video driver at this point, if you used a proprietary binary version. Instructions for getting the latest driver and installing it can be found in the [[Display Drivers|display drivers]] wiki.<br />
<br />
For nVidia do this:<br />
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
<br />
Now it is a good idea to compare your lsmod output from your old kernel to the output of your new kernel. Just to be certain you didn't miss anything. I found the order to be different, so I copied the output to an Excel spreadsheet and sorted the two different lists. The only discrepancies I found were related to name changes in the kernel and AppArmor.<br />
<br />
==Media Directors==<br />
In a traditional installation the Core and Media Directors all run the Gutsy 2.6.22-14 kernel. You may still use this kernel if you like, or you may opt to use your newly built kernel. <br />
===Use old kernel===<br />
If you want the media directors to continue to use this old kernel then you must create a symlink to the old kernel in the boot directory of each MD. You must also update the MD archives with this symlink, so future MDs will be setup correctly.<br />
<br />
mkdir /tmp/moonfs_64 /tmp/moonfs_32<br />
tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/<br />
tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/<br />
for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do<br />
md_device=`echo "$md" | sed -e 's/.*[/]\([^/]\)/\1/g'`<br />
cd $md/boot<br />
ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5<br />
ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5<br />
done<br />
tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .<br />
tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .<br />
rm -rf /tmp/moonfs_*<br />
<br />
===Use new kernel===<br />
A better route, although more complex one is to use your new kernel on the media directors as well. You can do this by copying your kernel and modules to each MD root filesystem. Additionally, you will need to add the kernel image plus modules to the MD root archive (/usr/pluto/install/PlutoMD-xxxyyy.tar.bz2) where xxxyyy is your architecture. This does present an issue if your core and media directors are not the same architecture. In this case you will need to build a kernel for the other architecture using cross-compile methods or using a machine of the that architecture. <br />
<br />
These scripts serve as a guideline, and may need to be customized to your unique configuration. <br />
<br />
'''A few notes:'''<br />
* Your initrd-img file should be about 10MB. If it is around the 40MB mark you compiled your kernel with debugging support. The tftp server will refuse to transfer files this large. As a result, all MDs will fail to boot. If you absolutely must use a debugging kernel then there are options you can pass to tftp to make it ignore this limit.<br />
* These scripts assume all media directors and cores are 64-bit machines. It is left as an exercise for the reader to distribute the proper kernel image for the target MD's architecture.<br />
* You should build your video driver files first, so you can include them in your MD archive.<br />
<br />
for md in /usr/pluto/diskless/*; do<br />
md_device=`echo "$md" | sed -e 's/.*[/]\([^/]\)/\1/g'`<br />
cp /boot/vmlinuz-2.6.26.5 $md/boot/<br />
cp /boot/initrd.img-2.6.26.5 $md/boot/<br />
cp -r /lib/modules/2.6.26.5/ $md/lib/modules/<br />
/usr/pluto/bin/Diskless_InstallKernel.sh $md_device<br />
done<br />
/usr/pluto/bin/Diskless_BuildDefaultImage.sh<br />
<br />
<br />
Now rebuild the archives, so future Media Directors will get the correct kernel image. <br />
cd /tmp<br />
mkdir moonfs_x64<br />
cd moonfs_x64<br />
tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2<br />
cp /boot/vmlinuz-2.6.26.5 boot<br />
cp /boot/initrd.img-2.6.26.5 boot<br />
cp -r /lib/modules/2.6.26.5/ lib/modules/<br />
tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *<br />
cd ..<br />
rm -rf moonfs_x64<br />
<br />
==Video Drivers==<br />
Video drivers get their own section because they often require updated libraries in addition to updated kernel modules. These libraries will have to be distributed to the media directors and updated in the archive. nVidia's driver installation script provides many useful options for this. I have not looked into a way to do with the ATI drivers, but I assume it's similar. <br />
<br />
You will need this small script I made. NVIDIA packages the precompiled kernel interface with a proprietary header. Removing the header allows you to link the interface and kernel module manually.<br />
<br />
stripheader.sh<br />
readsint ()<br />
{<br />
byte=`head -c$2 $1 | tail -c1`<br />
sint=`printf '%u' "'$byte"`<br />
let "sint=$sint & 0xFF"<br />
eval "$3=\"$sint\""<br />
}<br />
readuint32 ()<br />
{<br />
readsint $1 $(($2+1)) b1<br />
readsint $1 $(($2+2)) b2<br />
readsint $1 $(($2+3)) b3<br />
readsint $1 $(($2+4)) b4 <br />
<br />
uint=$(( ($b4 << 24) + ($b3 << 16) + ($b2 << 8) + $b1 ))<br />
eval "$3=\"$uint\""<br />
} <br />
<br />
let "header=12"<br />
readuint32 $1 $header int<br />
let "header=$header+$int+4"<br />
readuint32 $1 $header int<br />
let "header=$header+$int+4"<br />
readuint32 $1 $header int<br />
let "header=$header+$int+4"<br />
<br />
precomp=$(stat -c%s "$1")<br />
let "precomp-=$header"<br />
tail -c$precomp $1 > $2<br />
<br />
<br />
These commands will update each Media Director. You should also copy these files into the MD archives. This is left as an exercise for the reader.<br />
<br />
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel<br />
./stripheader.sh NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/precompiled/precompiled-nv-linux.o* NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv-linux.o<br />
ld -d -r -o nvidia.ko NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv-linux.o NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv-kernel.o<br />
for md in /usr/pluto/diskless/*; do<br />
cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/<br />
cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/<br />
done</div>Demushttp://wiki.linuxmce.org/index.php?title=Olevia_700_Series_LCDs&diff=15586Olevia 700 Series LCDs2008-09-13T03:17:25Z<p>Demus: New page: Category: Hardware Category: Video Category: Displays {| align="right" | __TOC__ |} ==Features== ===Basics=== * 42-47" (diagonal) widescreen LCD television *...</p>
<hr />
<div>[[Category: Hardware]]<br />
[[Category: Video]]<br />
[[Category: Displays]]<br />
<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
==Features==<br />
===Basics===<br />
* 42-47" (diagonal) [[16:9|widescreen]] [[LCD]] television<br />
* Fantastic quality at an even better price<br />
* RS-232 control port<br />
* A variety of standard inputs<br />
* Full 1080P<br />
<br />
===Detailed Specifications===<br />
<br />
'''PANEL'''<br />
<br />
*Screen Size 42-47"<br />
*Aspect Ratio 16:9<br />
*HDTV HDTV Built-In<br />
*Native Resolution 1920 x 1080<br />
*Response Time 8 ms<br />
*Video Processor Silicon Optix HQV<br />
*Viewing Angle 178°/178°<br />
<br />
'''VIDEO'''<br />
*1080p<br />
*2:2/3:2 Pull Down<br />
*Color Temperature Adjust<br />
*Digital 3D Comb Filter<br />
*Progressive Scan<br />
*Supported Resolutions NTSC & ATSC with High Definition (480i, 480p, 720p, 1080i, 1080p)<br />
<br />
<br />
'''AUDIO'''<br />
*Audio Output 1 R/L RCA Audio<br />
*Earphone Output 1 Stereo Mini Jack<br />
*Speakers 2 x 25W<br />
<br />
'''I/O PORTS'''<br />
*Component Input 3 (1 VGA) + R/L RCA Audio<br />
*Composite Input 2 + R/L RCA Audio<br />
*S-Video Input<br />
*Digital Input 2 HDMI w/HDCP<br />
*VGA Input 1 15-Pin D-sub + R/L RCA Audio<br />
*Optical Audio Output<br />
*Service Port DB-9 (labelled as service port, but works as control port on my model. 747i)<br />
*TV System Support up to 1080p<br />
<br />
'''FUNCTION'''<br />
*Channel Return<br />
*Clock/Alarm<br />
*Closed Caption<br />
*Favorite Channel<br />
*Languages: English, French and Spanish<br />
*MTS<br />
*PIP/Split Screen<br />
*Sleep Timer<br />
*V-Chip Parental Control<br />
<br />
'''WARRANTY'''<br />
*Warranty Type One year on-site warranty<br />
<br />
'''OTHER (47" model)'''<br />
*Dimensions 46.4" x 38.1" x 13.8"<br />
*Gross Weight 164 lbs<br />
*Net Weight 132.3 lbs<br />
*PC Resolution Support Up to 1920 x 1080 at 60 Hz<br />
*Power Consumption 240W<br />
*Regulatory Approval FCC-B, UL, cUL, ICES-003, CSA, Energy Star<br />
*Shipping Dimensions 50.9" x 38.9" x 14.7"<br />
*Universal Remote included<br />
<br />
== Adding new template ==<br />
Here are all the remote codes for an Olevia 700 series TV. When these models were first produced Olevia provided a chart with all of the control codes. However in newer manuals they labeled this port the "Service Port" and stopped circulating the chart. Despite my port being labeled as a service port, all of the control commands worked perfectly. I found several hex codes for other model lines as well, however they were different so I would not expect this template to work for those models.<br />
<br />
I have the 747i and have personally tested these codes.<br />
<br />
=== Specify device data and parameters ===<br />
<br />
On the LinuxMCE admin website go to: Advanced > Configuration > Device Templates<br />
<br />
Select: Add manufacturer. Type: Olevia. Click add.<br />
<br />
Select: Manufacturer 'Olevia', Device Category 'TVs/Plasmas/LCD's/Projectors' and press 'Add device template'<br />
<br />
Description : 700 Series<br />
Implements DCE : yes<br />
Command line : Generic_Serial_Device<br />
Device Category AV TVs/Plasmas/Projection... #77<br />
Manufacturer Olevia<br />
<br />
Add the follow parameters under device data:<br />
<br />
Device data<br />
Current Data Comments Default Value<br />
#37 COM Port on PC(string) The serial port <br />
#76 COM Port ParityBit/Stop(string) Parity/Stop bits (factory defaults) N81 <br />
#78 COM Port BaudRate(string) Baud rate (factory default) B115200<br />
#157 Discrete Volume(bool) Indicates if the volume on... 1 <br />
<br />
Make sure that the check box for Allowed to Modify is checked for COM Port on PC. This is important and will cause you to go bald like me if you miss it.<br />
<br />
=== 'Edit Ruby code' (on A/V properties page) ===<br />
<br />
==== 'Make command group' ====<br />
Click the "Help me choose" button. Type "Olevia 700 Series RS232 LCD TV" into the box. Click "Add i/r group". <br />
<br />
==== 'Add/remove inputs' ====<br />
Click the "change/explain" link after inputs heading. Select all inputs on your TV. I selected: Component 1, Component 2, Composite, Composite 2, HDMI, HDMI 2, SVideo/YC 1, SVideo/YC 2, Tuner, Tuner 2, VGA.<br />
<br />
Note: VGA was not a standard item, I had to add it to the list. <br />
<br />
==== 'Add/remove commands' ====<br />
Select the follow command groups for your TV:<br />
<br />
* Ruby Internal Commands<br />
* Standard TV<br />
<br />
Click update.<br />
<br />
==== 'Add Ruby Commands' ==== <br />
Add the following codes to each command. <br />
'''Note: These will be updated to include scripts that will make everything play nicely. The Olevia 700's have a nice feature that will report the current input. Utilizing this in the input select commands will prevent selecting already active inputs. Which is kind of annoying as the scripts are right now.'''<br />
<br />
#193 Off <$"\xBE\x05\x27\x00\xEA"$> <br />
#192 On <$"\xBE\x05\x27\x01\xEB"$> <br />
#712 Component 1 <$"\xBE\x05\x26\x08\xF1"$> <br />
#713 Component 2 <$"\xBE\x05\x26\x09\xF2"$> <br />
#181 Composite <$"\xBE\x05\x25\x02\xEB"$> <br />
#766 Composite 2 <$"\xBE\x05\X26\x03\xEC"$> <br />
#361 HDMI <$"\xBE\x05\x26\x0C\xF5"$> <br />
#767 HDMI 2 <$"\xBE\x05\x26\x0E\xF7"$> <br />
#319 SVideo/YC 1 <$"\xBE\x05\x26\x05\xEE"$> <br />
#320 SVideo/YC 2 <$"\xBE\x05\x26\x03\xEC"$> <br />
#166 Tuner <$"\xBE\x05\x26\x00\xE9"$> <br />
#175 Tuner 2 <$"\xBE\x05\x26\x01\xEA"$> <br />
#953 VGA <$"\xBE\x05\x26\x0A\xF3"$> <br />
#190 Enter/Go <$"\xBE\x05\25\1B\03"$><br />
#204 0 <$"\xBE\x05\x25\x10\xF8"$><br />
#205 1 <$"\xBE\x05\x25\x11\xF9"$><br />
#206 2 <$"\xBE\x05\x25\x12\xFA"$><br />
#207 3 <$"\xBE\x05\x25\x13\xFB"$><br />
#208 4 <$"\xBE\x05\x25\x14\xFC"$><br />
#209 5 <$"\xBE\x05\x25\x15\xFD"$><br />
#210 6 <$"\xBE\x05\x25\x16\xFE"$><br />
#211 7 <$"\xBE\x05\x25\x17\xFF"$><br />
#212 8 <$"\xBE\x05\x25\x18\x00"$><br />
#213 9 <$"\xBE\x05\x25\x19\x01"$><br />
#64 Skip Back - Channel/Track Lower <$"\xBE\x05\x25\x01\xE9"$> <br />
#63 Skip Fwd - Channel/Track Greater <$"\xBE\x05\x25\x00\xE8"$> <br />
#97 Mute <$"\xBE\x05\x25\x09\xF1"$><br />
#90 Vol Down <$"\xBE\x05\x25\x03\xEB"$><br />
#89 Vol Up <$"\xBE\x05\x25\x02\xEA"$> <br />
<br />
== Adding device ==<br />
You can now add the device via the [[LinuxMCE Admin Website]] at '''Wizard > [[AV Devices|A/V Equipment]]'''<br />
=== Add device based on created template ===<br />
Just search for the device template that you created and select it from the list.<br />
=== Specify COM port for it ===<br />
Tell LinuxMCE which com port to use.<br />
=== Assing it to new room ===<br />
Tell LinuxMCE which room to assign this device.<br />
=== Specifiy Audio pipe connections to inputs on receiver ===<br />
Tell LinuxMCE how you have thing attached to the LG TV and how the LG TV is attached to the computer.<br />
<br />
==Making Plug&Play==<br />
I have not been able to get PnP to work properly, despite the script detecting the TV correctly. If you want to play with it, here is the PnP script. You will have to change the 1931 parameter to the DeviceTamplate ID of your new template.<br />
<br />
Copy to (on Core's and MD's): /usr/pluto/pnp/20_OleviaTV.sh<br />
#!/bin/bash<br />
#Plug and Play script for Olevia 700 series LCDs<br />
echo "Olevia 700 series TV Detection script queue $2"<br />
response=`/usr/pluto/bin/TestSerialPort -p $3 -P N81 -b 115200 -t "\\BE\\05\\90\\00\\53" -i 1`<br />
<br />
if [ "$response" = "\06\05\90\01\9c" ] || [ "$response" = "\06\05\90\00\9b" ]; then<br />
echo "Its an Olevia 7xx TV"<br />
/usr/pluto/bin/MessageSend dcerouter -r 0 $1 1 806 224 $2 13 "$4" 44 1931<br />
else<br />
echo "It's not an Olevia 7xx TV"<br />
/usr/pluto/bin/MessageSend dcerouter -r 0 $1 1 806 224 $2 13 "$4" 44 0<br />
fi</div>Demushttp://wiki.linuxmce.org/index.php?title=Display_Drivers&diff=15574Display Drivers2008-09-12T11:00:11Z<p>Demus: </p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
[[Category: Tutorials]]<br />
[[Category: Hardware| ]]<br />
<br />
An incomplete HowTo on updating LinuxMCE to the latest display drivers and configuring them manually. It could use your help, so if something is different in your situation, please add it.<br />
<br />
'''Note that this should normally not be necessary unless you have specific wishes or trouble getting your display to work properly.''' <br />
<br />
== Installation ==<br />
If the graphical environment cannot start you are likely to see a text screen blinking, this makes it very hard to login, if this is the case you can reboot into "recovery mode" by pressing [Esc] when GRUB tells you to during the boot process and then select it from the menu you will be presented with.<br />
<br />
=== ATI Chipsets ===<br />
The two main ways to install the ATI drivers are described in the [http://wiki.cchtml.com/index.php/Ubuntu_Feisty_Installation_Guide Ubuntu Feisty Installation Guide].<br />
<br />
For more information see also the [http://wiki.cchtml.com/index.php/Main_Page Unofficial ATI Linux Driver Wiki] and you might want to have a look at [http://www.mythtv.org/wiki/index.php/AtiProprietaryDriver AtiProprietaryDriver] in the MythTV wiki as well since LinuxMCE depends on it for viewing TV. MythTV in turn relies heavily on the support of certain features by the graphics drivers. The ATI drivers turn out to be a bit "challenged" in this area to say the least.<br />
<br />
==== Installing The ATI Driver ====<br />
<br />
Here's the procedure I use for setting up an ATI X1250 MD. Currently the the AVwizard in 0710 does not configure ATI cards properly so you need to to do some manual steps to get things working.<br />
<br />
'''Step 1'''<br />
<br />
Add the MD in the normal way (ie plug it into the network and let it add itself). Let it reboot and then it should run the AVwizard. Choose the options you want - output connector, resolution, refresh.... UI2 with Overlay etc etc and complete the wizard. Now the screen will return to a console screen and will after 5-10 mins will try to run the setup Wizard... but the setup Wizard will run very slowly and the video of 'Sarah' will not play smoothly. This is because the ATI drivers are not installed yet and the X driver is set to 'vesa'.<br />
<br />
'''Step 2'''<br />
<br />
From another machine ssh into the partially installed MD using Konsole from the KDE Desktop or a terminal app like Putty under Windows XP. Do the following from the console;<br />
<br />
sudo su - <return><br />
ssh moonNN <return> (**where the NN is the device number for the MD we're configuring**)<br />
<br />
Alternatively do the following from the MD/Core you are configuring;<br />
<br />
Ctrl+Alt+2<br />
<br />
Now login using the login you created when you installed your system ie When you ran the DVD installer or CD installer. Now we're logged into the MD we are configuring as 'root' and we can install the ATI drivers and configure Xorg.conf;<br />
<br />
Firstly make sure our sources.list is up to date:<br />
<br />
apt-get update <return><br />
<br />
Now lets install the ATI driver and packages;<br />
<br />
apt-get install linux-restricted-modules-generic restricted-manager <return><br />
<br />
Answer 'Y' to installing new packages then do the following steps;<br />
<br />
apt-get install xorg-driver-fglrx <return><br />
depmod -a <return><br />
<br />
So far so good... now we have the ATI drivers installed! (the current driver in the repos is not the latest ATI release an updated driver will be packaged soon though). Now we have to configure Xorg to use it! Do the steps below;<br />
<br />
I use the console text editor 'joe' below but you can use whichever you prefer ('nano' is installed by default for example);<br />
<br />
joe /etc/X11/xorg.conf <return><br />
<br />
Now you are editing the xorg.conf of your MD and the only change you need to make is to the 'Device' section. In the 'Device' section you will see a line thats says;<br />
<br />
Driver "vesa"<br />
or<br />
Driver "ati"<br />
<br />
Change the string 'vesa' (or ati) to 'fglrx' which is the name of the ATI driver. The updated driver line should look like below;<br />
<br />
Driver "fglrx"<br />
<br />
Now save the changes you have made to xorg.conf.<br />
<br />
Now reboot the MD from the console with;<br />
<br />
reboot <return><br />
<br />
The MD will now reboot normally and the setup wizard will run again.... but this time the video and the Ui will run smoothly as the ATI driver is installed and confgured.<br />
<br />
Currently the ATI driver will not support UI2 with transparency but it will support UI2 with overlay very nicely indeed. There are two small caveats to running UI2 with Overlay currently with the ATI driver in that the 'Compass Rose' on screen menu for selecting DVD chapters, Lighting levels etc etc and the 'Zoom & Aspect ratio' screen when playing Video do not draw correctly - the bit maps for the menus do not display but the menus do work.<br />
<br />
=== NVidia Chipsets ===<br />
==== Legacy Drivers ====<br />
With legacy drivers the AVWizard might crash because it could not load the nvidia-legacy kernel module. It is unclear why kdm will start and not AVWizard. A quick fix is to set the '''driver''' option in the ''/etc/X11/xorg.conf'' file to '''vesa'''. Go through the AVWizard and then change it back. Another option is to edit ''/etc/modprobe.d/aliases'' and add '''alias nvidia nvidia-legacy'''. Don't forget about this line when you switch to a newer card.<br />
<br />
==== Latest Drivers ====<br />
There are several ways to install nVidia drivers, the way described here is meant as a guide to install the very latest drivers from the nVidia website. Note that this way will bypass the LinuxMCE (Kubuntu) packaging system, possibly removing and/or overwriting some of it's files. <br />
<br />
1. Go to a console (text) terminal by holding [CTRL]-[ALT] and pressing the [F1] key simultaneously, log in with the user account you have created during the Kubuntu install and become root, if you haven't done so already. <br />
'''<you>@dcerouter:~$''' sudo -s<br />
2. Download the latest [http://www.nvidia.com/object/unix.html linux drivers from NVidia] (depending [http://www.nvidia.com/object/IO_32667.html on your hardware], one of versions: 1XX.XX.XX, 1.0-96xx or 1.0-71XX), if you haven't done so already. When you have found the URL for downloading the package on the nvidia site you could download it like this:<br />
'''root@dcerouter:~#''' wget <nowiki>http://us.download.nvidia.com/XFree86/Linux-x86/</nowiki>''<version>''<nowiki>/NVIDIA-Linux-x86-</nowiki>''<version>''<nowiki>-pkg1.run</nowiki><br />
3. Go to runlevel 1 to stop the currently running X-server. <br />
'''root@dcerouter:~#''' telinit 1 <br />
4. Execute the installer and follow instructions. Ignore the warning about runlevel 1 and don't bother looking for precompiled drivers.<br />
'''root@dcerouter:~#''' sh NVIDIA-Linux-x86-''<version>''-pkg1.run<br />
5. Now it needs to be configured. The recommended and most convenient way is to use the [[AVWizard]]. For more advanced setup, or if the AVWizard for some reason is unable to set your up your screens to your liking, you can configure the ''X-server'' manually by editing the ''xorg.conf'' file directly.<br />
<br />
==== Media Directors ====<br />
Instructions for installing the latest nVidia driver on your media directors can be found in the [[Upgrading the Kernel#Video Drivers|upgrading the kernel]] wiki.<br />
<br />
=== Intel Chipsets ===<br />
There is a renewed interest in the Intel graphics chipsets since Intel released the drivers under the GPL. Currently the Intel driver still cannot support UI2 with Alphablending but they will support UI2 with Overlay very nicely and video performance is excellent. LinuxMCE versions after Beta4 have full support for configuring the Intel driver in the AVwizard.<br />
<br />
From LinuxMCE-0710 Beta4 onwards LinuxMCE will install the newer intel driver by default - so the instructions below are only useful if your still running LinuxMCE-0704.<br />
<br />
==== For LinuxMCE-0704 ====<br />
<br />
You will want to make sure you are using the newer intel drivers from http://packages.ubuntu.com/gutsy/i386/xserver-xorg-video-intel/download for i386. These replace the older i810, etc. drivers and should cover all the modern intel chipsets. The name for this driver is 'intel' and would replace the older 'i810' drivers.<br />
<br />
If you're using i810 driver make sure you add Option "LinearAlloc" "8160" to xorg.conf or video players will crash with X11 error: BadAlloc.<br />
<br />
From man i810:<br />
Option "LinearAlloc" "integer"<br />
Allows more memory for the offscreen allocator. This usually<br />
helps in situations where HDTV movies are required to play but<br />
not enough offscreen memory is usually available. Set this to<br />
8160 for upto 1920x1080 HDTV support. Default 0KB (off).<br />
<br />
==== potential problem ====<br />
<br />
there can be a problem with some intel drivers, like the gma 3100. see [[bug/gma3100driver]] for further informations<br />
<br />
=== Via Chipsets ===<br />
Use the Openchrome or Via Unichrome drivers. The Via Unichrome drivers can be downloaded from [http://www.viaarena.com/default.aspx?PageID=2&OSID=45&CatID=3220]<br />
<br />
The proprietary Via Unichrome driver works best with Linux MCE. Unfortunately this driver has intentionally been stripped of support for most GLX extensions. This driver does not support alpha blending which is a prerequisite of [[UI2]]. Via licenses the full featured driver to system integrators, such as [[Fiire]]. This licensed driver is not publicly available. Additionally there is a known incompatibility issue with the licensed driver and Linux MCE 0710. <br />
<br />
On April 08, 2008 Via announced a new open source initiative to help develop open drivers for certain video chipsets [http://www.phoronix.com/scan.php?page=article&item=via_oss&num=1]. This press release echos sour notes with many developers who have heard this tune many times before. No useful information or code has been released to date, striking yet another all to familiar chord in the open source community [http://www.phoronix.com/scan.php?page=article&item=via_bluff&num=1].<br />
<br />
'''HOW-TO VIA Openchrome driver for xorg:'''<br><br />
For VIA CX700M2 UniChrome PRO II Graphics (1" VIA units) or mainly via graphics:<br><br />
==== NOTE:--[[User:Usaf-lt-g|Usaf-lt-g]] 13:17, 2 August 2008 (PDT) ====<br />
<br />
==== --[[User:Usaf-lt-g|Usaf-lt-g]] 14:01, 6 August 2008 (PDT)The steps mentioned BELOW were ONLY successful for UI1 not UI2. I have yet to get UI2 working, however these steps will work for 710 UI1. <br />
<br><br />
After following the below directions, you MAY experience your MD locking the next time it boots, if this the case... ssh to your core first and make sure you have root access by issuing the '''sudo -s''' command.<br><br />
<br><br />
cd /tftpboot/pxelinux.cfg<br><br />
<br><br />
locate the mac address of the MD and then<br><br />
vi <your MAC address here> <br><br />
place the '''acpi=off''' command at the end of the APPEND line.<br><br />
<br><br />
save the file and reboot MD.<br />
<br><br />
<br><br />
<br />
==== NOTE: --[[User:Usaf-lt-g|Usaf-lt-g]] 14:02, 6 August 2008 (PDT) You will most likely need to generate a new xorg.conf file as well. See the additional steps section on how to do this and how to set it up for your particular setup<br />
<br />
==== NOTE:[[User:usaf-lt-g|usaf-lt-g]] Sunday July 28th, 2008 ====<br />
<br />
----<br />
<br />
Burgiman's instructions worked... with some minor modifications. Take note, I had a VERY difficult time first being able to SSH in to my MD. However, note, that I'm using an "earlier" version of LMCE (Beta 3). My MD is also diskless, and NETBIOS handled. If you can't gain root access to your MD through SSH I suggest the following method:<br />
<br />
----<br />
<br />
<br />
--[[User:Usaf-lt-g|Usaf-lt-g]] 22:55, 27 July 2008 (PDT)<br />
<br />
''shell into your core as linuxmce / linuxmce and do the following:''<br><br />
<br />
<br />
----<br />
sudo -s <br />
cd /usr/pluto/diskless <br />
chroot <your MD # found on the linuxmce admin devices page> <br />
(chroot will allow you to access the MD's file system as a root user) <br />
----<br />
''from here I suggest you make a new group and user and then add them to the list of sudoers so that you can easily have SSH access to your MD anytime without this hassle. I did the following:''<br />
<br />
----<br />
groupadd parents<br />
useradd -g parents chris<br />
passwd chris<br />
<set your password><br />
visudo<br />
here you need to add a line below the: <br />
root ALL=(ALL) ALL </b> <br />
line. Mine was:<br />
chris ALL=(ALL) ALL<br><br />
----<br />
<br />
''Now you'll be able to login using this user with password you supplied and issue the <b> sudo -s </b> command, which will grant you root access to the MD.''<br />
<br><br />
--[[User:Usaf-lt-g|Usaf-lt-g]] 22:55, 27 July 2008 (PDT)<br />
''now from here you're going to need some additional packages installed before you can do anything with the OpenChrome drivers.''<br><br />
<br />
----<br />
apt-get install subversion (which will give you the svn command)<br />
apt-get install xserver-xorg-dev<br><br />
apt-get install libdrm-dev<br><br />
apt-get install libxvmc-dev<br><br />
----<br />
<br />
''After that, you SHOULD be able to follow the rest of the install below. It worked for me. Hope this helps.''<br />
<br><br />
Feel free to edit if necessary.<br />
Chris<br />
<br />
====NOTE:[[User:ddamron|ddamron]] Monday June 30, 2008====<br />
Burgiman's instructions did NOT work for me. <br />
Take that for what it's worth. <br />
I had better success installing the VIA Unichrome Driver, and UI1. Use CLE266 mode.<br />
If you have more success, please update this page<br />
Dan<br />
<br />
'''UPDATED FOR 0710!'''<br />
--[[User:Burgiman|burgi]] 11:47, 2 June 2008 (PDT)<br />
<br />
''shell into your box and do the following:''<br><br />
apt-get install build-essential automake1.9 libtool x11proto-* libgl1-mesa-dev makedepend libxxf86vm-dev libexpat1-dev libexpat1 libxmu-dev xtrans-dev libpng12-dev libxcomposite-dev libxfixes-dev libxdamage-dev libxrandr-dev libxrender-dev libstartup-notification0-dev libgconf2-dev<br />
<br />
cd /usr/src<br />
svn checkout http://svn.openchrome.org/svn/trunk openchrome<br />
cd openchrome*<br />
./autogen.sh --prefix=/usr<br />
make<br />
make install<br />
<br />
Now we have to edit /etc/X11/xorg.conf and change the device driver to via openchrome:<br><br />
vi /etc/X11/xorg.conf<br />
Go to<br />
Section "Device"<br />
and change<br />
Driver "vesa" <br />
to<br />
Driver "openchrome"<br />
save and test the compiled new driver with a: <br><br />
X :1<br />
and if your xwindow comes up, you can reboot and have fun<br><br />
--[[User:Burgiman|burgi]] 13:37, 3 March 2008 (PST)<br />
<br />
=== Other Chipsets ===<br />
Please help out by adding more if you can.<br />
<br />
== Configuration ==<br />
The recommended and most convenient way is to use the [[AVWizard]]. For more advanced setup, or if the X-server (and thus also the AVWizard) is unable to start, you can configure the ''X-server'' manually by editing the ''xorg.conf'' file directly.<br />
<br />
=== Getting started ===<br />
Start by making a backup copy of the ''/etc/X11/xorg.conf'' file (even if it doesn't work it might contain settings you could need). In this example we will start from scratch and edit the configuration file step by step to get the main display setup. <br />
<br />
Some of these steps require that there will be no X-server active on the system, the easiest way to achieve this is to boot in ''rescue-mode'', just hit [Esc] when [[Grub]] tells you to during the startup of your machine and select the right line from the menu. Another way is to go to a text-mode console (aka. terminal) with [CTRL]-[ALT]-[F1], [[Logging In|log in]], become root and issue the command:<br />
telinit 1<br />
This wil stop the running X-server and drop you into rescue mode as well. <br />
<br />
One of the advantages is that now you can start and stop the X-server by hand with an alternative configuration file and without having to reboot or even start an entire desktop environment.<br />
<br />
=== Generating a template ===<br />
These instructions were originally written for ATI chipsets, so they might need to be adjusted and updated a bit. Not all of the specific options may be relevant for your chipset. <br />
<br />
'''While there is no (other) X-server running''' you can create a template configuration file by running:<br />
X -configure<br />
This will create a file called xorg.conf.new in your ''home'' directory, test it with the following command and hit [CTRL]-[ALT]-[Backspace] when done:<br />
X -config ~/xorg.conf.new<br />
Within a few seconds a gray bitpattern should show up with an 'X' shaped mouse cursor. If the screen is distorted or reports the refresh rate to be out of range then you will either have to specify the proper refreshrate limitations for your screen or insert "modelines" for the resolution(s) you want to use (see below). <br />
<br />
When you're satisfied you can overwrite ''/etc/X11/xorg.conf'' with this file to make it the default (you did make a backup didn't you?), once you have done that you can use "startx" to test and have the use of your desktop as well. This should at least be enough to allow the use of a graphic configuration tool (like the [[AVWizard]] for instance) to set up your display further. More advanced manual configuration options can be found below.<br />
<br />
Here is an example of such a generated file:<br />
<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
RgbPath "/etc/X11/rgb"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/X11/misc"<br />
FontPath "/usr/X11R6/lib/X11/fonts/misc"<br />
FontPath "/usr/share/fonts/X11/cyrillic"<br />
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"<br />
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"<br />
FontPath "/usr/share/fonts/X11/Type1"<br />
FontPath "/usr/X11R6/lib/X11/fonts/Type1"<br />
FontPath "/usr/share/fonts/X11/100dpi"<br />
FontPath "/usr/share/fonts/X11/75dpi"<br />
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "extmod"<br />
Load "record"<br />
Load "xtrap"<br />
Load "dri"<br />
Load "glx"<br />
Load "dbe"<br />
Load "GLcore"<br />
Load "type1"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
### Available Driver options are:-<br />
### Values: &lt;i&gt;: integer, <f>: float, <bool>: "True"/"False",<br />
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"<br />
### [arg]: arg optional<br />
#Option "ShadowFB" # [<bool>]<br />
#Option "DefaultRefresh" # [<bool>]<br />
#Option "ModeSetClearScreen" # [<bool>]<br />
Identifier "Card0"<br />
Driver "vesa"<br />
''VendorName "ATI Technologies Inc"''<br />
''BoardName "ATI Radeon Xpress 1200 Series"''<br />
''BusID '''"PCI:1:5:0"'''''<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Note that the only thing really specific to my setup in this config file is ''BusID'', if you only have one graphics adapter in your system this value can be omitted, otherwise the value(s) can be found with:<br />
X -scanpci<br />
Where each card will need it's own Device Section in the config file. The "VendorName" and "BoardName" settings are just labels and serve no real purpose other then being able to identify this particular device, which is usefull if you have more then one.<br />
<br />
We'll be using this sample configuration as a starting point in the other examples below, the comments (lines starting with ''#'' can be safely removed as well as the ''"Display"'' subsections for the colordepths we don't plan on using.<br />
<br />
=== Refresh rate / ModeLine ===<br />
The easiest way to sort this problem is to let the X-server figure this out by not specifying the limits of your screen. However this often fails, leaving you with an unusable display. Simply look up '''your screen''''s refresh rates in the documentation and add them like this:<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
''HorizSync '''27-102''' # kHz''<br />
''VertRefresh '''50-160''' # Hz''<br />
EndSection<br />
<br />
Alternatively you could specify a "ModeLine" for each resolution you want to use. By using ModeLines you have much finer controll over the timings of the output signal generated by your videocard. The drawback is that the timing values can be hard to get right. <br />
<br />
Search the web for a "modeline generator", and many of these will include instructions on how to add the modeline, but briefly, you just add it to the "Monitor" section. Read the [http://en.wikipedia.org/wiki/Modeline wikipedia entry] to learn how to use modelines. <br />
* http://koala.ilog.fr/cgi-bin/nph-colas-modelines<br />
* http://xtiming.sourceforge.net/cgi-bin/xtiming.pl<br />
* http://www.bohne-lang.de/spec/linux/modeline/<br />
* http://amlc.berlios.de/<br />
* http://www.mythtv.org/wiki/index.php/Working_with_Modelines<br />
If one modeline doesn't work perfectly, try another, perhaps from another generator, because they can vary so much.<br />
<br />
Using the wrong timings could in some (nowadays rare) occasions damage the hardware of your screen, so if it looks garbeled don't leave it like that for hours on end but hit [Ctrl]-[Alt]-[&larr;Backspace] and readjust your settings. Most modern screens however simply report that the signal is out of range if this happens.<br />
<br />
=== Colordepth and resolution ===<br />
Specify the colordepth and resolution(s) you would like to use, like this:<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
''DefaultDepth '''24'''''<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
''Virtual '''1600 1200'''''<br />
''Modes '''"1600x1200" "1280x1024" "1024x768" "800x600" "640x480" "512x384" "400x300" "320x240"'''''<br />
EndSubSection<br />
EndSection<br />
<br />
As most people will only be using 24 bits anyway, I have removed the other redundant subsections. "Virtual" is the size of your desktop and "Modes" are physical resolutions, you can flip through these by holding [CTRL]-[ALT] and pressing the plus or minus on the numeric keypad. These are just examples, most people will only want to specify the resolution they actually use.<br />
<br />
=== DRI device permissions ===<br />
This section is needed to have the X-server set the proper permissions on the DRI device during startup. Simply add it to the end of the /etx/X11.xorg file if it isn't there already.<br />
<br />
Section "DRI"<br />
Mode 0666<br />
EndSection<br />
<br />
=== Chipset driver ===<br />
Change "'''vesa'''" to "'''fglrx'''" (or "'''ati'''", depending on which drivers you installed earlier), as shown below, the old line is left as a comment in this example for clarity, but it's better to remove it as some scripts seem to find it confusing. For Nvidia chipsets use '''nvidia''' or '''nv''' as the driver names (instead of '''fglrx''').<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
''# Driver "'''vesa'''"''<br />
''Driver "'''fglrx'''"''<br />
VendorName "ATI Technologies Inc"<br />
BoardName "ATI Radeon Xpress 1200 Series"<br />
BusID "PCI:1:5:0"<br />
EndSection<br />
<br />
If your X-server was running you will have to restart it completely for the changes to take effect, the easiest and most thorough way to do this is to reboot.<br />
<br />
=== Physical display size ===<br />
Like specifying the refresh rate his is optional but sometimes necessary, most of the time it is either detected or some sane defaults are used but sometimes it isn't, which can result in unreadable font sizes.<br />
<br />
Section "Monitor"<br />
...<br />
DisplaySize '''155 95'''<br />
EndSection<br />
<br />
Where you have to replace the numbers with the physical '''width''' and '''height''' of your screen in millimeters (1" = 25mm), feel free to try mine, however these are for a small touchscreen.<br />
<br />
=== Disable composite ===<br />
Aparently the ATI '''fglrx''' driver does not ''yet'' support composite with DRI. So if you are using the fglrx driver, disable it by adding this to the end of the /etx/X11.xorg file if it isn't there already.<br />
<br />
Section "Extensions"<br />
Option "Composite" "Disable"<br />
EndSection<br />
<br />
=== Additional options ===<br />
To be continued, I don't think this is enough to get UI2 completely (either mode) going yet. Feel free to jump in anytime... <br />
<br />
<br />
Things still to sort out amongst others (i.e. what is it, do we need it and what are the settings if any):<br />
<br />
Section "Module"<br />
Load "i2c"<br />
Load "bitmap"<br />
Load "ddc"<br />
Load "freetype"<br />
Load "int10"<br />
Load "vbe"<br />
Load "speedo"<br />
Load "type1"<br />
Load "dbe"<br />
Load "glx"<br />
Load "v4l"<br />
EndSection<br />
<br />
Section "ServerFlags"<br />
Option "AIGLX" "off"<br />
EndSection<br />
<br />
Section "Extensions"<br />
Option "Composite" "Disable"<br />
# Option "RENDER" "true"<br />
EndSection<br />
<br />
Option "PseudoColorVisuals" "off"<br />
Option "OpenGLOverlay" "off"<br />
Option "VideoOverlay" "off"<br />
Option "DesktopSetup" "clone"<br />
<br />
TV-out options, 2nd display, etc.<br />
<br />
<br />
== Troubleshooting ==<br />
<br />
=== The AVWizard crashes X-windows ===<br />
<br />
Try setting the [[#Chipset_driver]] option to '''vesa''', run the AVWizard again and then change the driver back to what it was.<br />
<br />
=== Black screen ===<br />
<br />
* Screen is black, after install seemed to go okay. You may have even seen the Kubuntu splash screen. See [[AVWizard]] on how to select the proper output.<br />
<br />
*One problem on nvidia-cards could be that it does not detect the right monitor.<br />
<br />
::Go to Console 1 ([Ctrl]+[Alt]+1) and edit /etc/X11/xorg.conf (nano -w /etc/X11/xorg.conf). Find the section ::Device with the driver nvidia add the line <pre>Option "ConnectedMonitor" "XXX"</pre><br />
::where XXX is CRT, CRT-0, CRT-1, DVI-0, DVI-1, ...<br />
::Save and exit (nano: Ctrl+x) and restart the computer. In my case it was "CRT-1".<br />
<br />
=== X-windows won't start ===<br />
<br />
Reboot into rescue-mode if needed (hit [Esc] when [[Grub]] tells you to), and restore a working copy of your /etc/X11/xorg.conf, or edit it by hand to fix the problem. Test it with the command "X" and press [Ctrl]-[Alt]-[&larr;Backspace] simultaneous to quit (alternative: use "startx" and get the full desktop, if any), then reboot when it works and you're done.<br />
<br />
=== Signal out of range ===<br />
<br />
See ''[[#Refresh rate / ModeLine ]]'' above.<br />
<br />
=== Microscopic fonts in KDE ===<br />
<br />
See ''[[#Physical_display_size]]'' above.<br />
<br />
If the above does not work, probably Xorg is calculating the DPI value in the wrong way.<br />
This can be verified by having a look at the file /var/log/Xorg.0.log related to the MD with this issue searching for the line containing "DPI set to (x , y)",where x and y are values that apply to the specific display.<br />
<br />
If those values are too small, fonts will be displayed accordingly (i.e, VERY small)<br />
<br />
A workaround is to force Xorg to startup with a given DPI value.<br />
<br />
To achieve this the following steps are required:<br />
<br />
* edit the file /usr/pluto/bin/Start_X_Wrapper.sh on your MD where you are facing the font problem<br />
* find the line beginning with xinit<br />
* add "-dpi 96" (without quotes) at the end of this line<br />
* save the file and reboot MD<br />
<br />
Obviously it is possible to set DPI to something different than 96, according to specific needs.<br />
<br />
Please note that after an LMCE update the startup script may be replaced by new ones, so the above workaround may have to be re-applied in order to keep fonts at the desired dimension.<br />
<br />
=== LinuxMCE keeps reconfiguring my display settings ===<br />
<br />
Add a line containing '''exit''' to the top of the ''/usr/pluto/bin/Xconfigure.sh'' file. After you do this you may experience difficulties running the AVWizard again, if so remove this line and add it back again after the wizard is finished.<br />
<br />
For LinuxMCE 710 simply comment out the line that says<br />
. /usr/pluto/bin/X-CleanupVideo.sh<br />
This is the command that gets run that modifies the xorg.conf file on startup. This is different than above because if you put exit at the top your display will not get initialized. And as above if you want to run the AVWizard you will need to uncomment this line.<br />
<br />
== See also ==<br />
* [http://www.mythtv.org/wiki/index.php/Main_Page MythTV wiki] <br />
* MythTV Experience [http://brentlagesse.net/~brent/mythtv.php]<br />
* [[X_Configuration_Scripts]]</div>Demushttp://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&diff=15573Upgrading the Kernel2008-09-12T10:34:42Z<p>Demus: /* Media Directors */ Added video drivers - Added module install for MD's</p>
<hr />
<div>[[Category:LinuxMCEMaintenance]]<br />
<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
<br />
=Introduction=<br />
The ability to change kernel versions at will can be extremely useful for fighting driver bugs and regressions. The kernel version that ships with LinuxMCE 0710 is 2.6.22-14. At the time of writing the most recent kernel version is 2.6.26.5. The .22 kernel is almost a full year old and as such does not support a lot of the newer hardware. <br />
<br />
==Caveats==<br />
Some modules that are part of the vanilla Linux MCE installation are not part of the standard Linux kernel. These modules have been added as part of the Ubuntu distribution or by LMCE. It is not always straight forward, or even possible to compile these modules against different kernel sources. I suggest you read this entire Wiki first, to determine if you will be affected by the missing modules.<br />
<br />
==Alternatives==<br />
Usually kernels are upgraded for better driver support. In these cases it is often easier to compile new versions of modules against the 2.6.22-14 kernel than it is to upgrade the whole kernel (for reasons mentioned in the [[Upgrading the Kernel#Caveats|caveats]] section. Unfortunately, a lot of modules depend on other modules or patches in the kernel. So this option is not always possible.<br />
<br />
Example:<br />
cd ~<br />
wget http://www.somesite.com/some_kernel_driver.c<br />
echo obj-m = some_kernel_driver.o > Makefile<br />
cd /lib/modules/2.6.22-14-generic/build<br />
make M=~ modules<br />
ls -l ~/some_kernel_driver.ko<br />
<br />
You may then copy the module to the appropriate directory in the modules tree. <br />
<br />
=Upgrade process=<br />
<br />
This wiki will provide step-by-step instructions on how to upgrade your kernel. These examples will assume you are upgrading to 2.6.26 from 2.6.22. You may however apply these steps to any 2.6 kernel.<br />
<br />
==Potential problems==<br />
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. <br />
<br />
==Steps==<br />
The first step is to grab the kernel source and extract it to the /usr/src folder.<br />
<br />
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2<br />
tar -jxvf linux-2.6.26.5.tar.bz<br />
rm linux<br />
ln -s linux-2.6.26.5 linux<br />
<br />
Now lets copy the .config file from our generic 2.6.22 kernel.<br />
cd linux<br />
cp /boot/config-2.6.22-14-generic .config<br />
<br />
On our first load of menuconfig there will be many warnings displayed about non-existant config options. This is simply due to the removal or renaming of old options. Most of these warnings are insignificant, and enabled by default in the vanilla kernel. I would quickly go over the list of warnings and verify that any drivers you need haven't been renamed. One option that has been renamed is DVB_CORE_ATTACH. It is now DVB_MEDIA_ATTACH, and you may need it if you use the DVB stack. Also some netfilter matches have been renamed. Simply reselect these from the config menus. You may also need to install the ncurses library and development files if you haven't already.<br />
<br />
apt-get install libncurses5 libncurses5-dev<br />
make menuconfig 2> module_errors<br />
<br />
It's also a good idea to go over the kernel and make any optimizations for your particular system. The performance gain from these options is fairly minor, but definitely worth selecting. <br />
<br />
I opted to change these things:<br />
* Selected exact processor family to enable processor optimization extensions<br />
* Selected preemptive kernel (low latency)<br />
* Build SATA driver into kernel<br />
* Build MD,RAID1,RAID5 modules into kernel<br />
* Build NIC module into kernel<br />
* Disabled kernel debugging ('''Note: This is very important if you plan to use this kernel on Media Directors.''')<br />
<br />
<br />
At this point you can start the kernel build process. You may use the standard kernel method or the Debian build method. For simplicity this Wiki will use the standard method.<br />
make<br />
make modules_install<br />
<br />
You should now build any custom modules you need. Linux MCE (and Ubuntu) come with some non-standard drivers. The key modules to worry about are AppArmor, Asterisk (ztdummy & zaptel), ALSA, nVidia video, ATI video. You are better off downloading the latest nVidia and ATI drivers and installing them using the instructions found in the [[Display Drivers|display drivers]] wiki. The Gutsy kernel also contains other important video drivers, like ivtv. However most of these drivers are now in the mainstream kernel and more up-to-date than the Gutsy versions.<br />
<br />
I have decided to forgo the AppArmor module. Compiling and running this module would require a complete upgrade of the whole package in addition to manually patching many areas of the kernel. This is entirely too much work for something that is largely useless in a Linux MCE installation. <br />
<br />
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there's no reason to play around with mixmatched versions. Just rebuild both the kernel drivers and the userspace utilities. Here are the steps for that (Note: You should select your card specifically for the alsa-driver package, using the --with-cards option):<br />
mkdir alsa<br />
cd alsa<br />
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2<br />
for fi in *; do<br />
tar -jxvf $fi<br />
done<br />
cd alsa-driver-1.0.17 <br />
./configure --with-cards=hda-intel<br />
make<br />
make install<br />
cd ..<br />
for fi in alsa-lib-1.0.17a alsa-plugins-1.0.17 alsa-utils-1.0.17 alsa-oss-1.0.17 alsa-firmware-1.0.17; do<br />
cd $fi<br />
./configure<br />
make<br />
make install<br />
cd ..<br />
done<br />
<br />
<br />
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. <br />
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz<br />
tar -zxvf zaptel-1.4.12.1.tar.gz<br />
cd zaptel-1.4.12.1<br />
./configure --prefix=/usr<br />
make<br />
make install<br />
<br />
You will also need to recompile LIRC. Note: Some LIRC drivers are not SMP safe and will not compile on SMP kernels. In this case I suggest you pick only the drivers you need. For 2.6.26.5 I had to patch some files in the kernel to get LIRC to compile. The patch is located on the LIRC site. Also only the CVS version will compile. I ran into even more drama with LIRC, because many drivers failed to even attempt a build. I was able to manually enter each driver directory and perform a make/make install. After applying the patch to the kernel, it failed to compile as well. At this point I would assume that LIRC is not working with 2.6.26.5. <br />
cd /usr/src/linux<br />
wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch<br />
patch -p1 < lirc-bttv-linux-2.6.24.patch<br />
cd ..<br />
cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc<br />
cd lirc-0.8.3<br />
./configure --prefix=/usr --with-driver=all<br />
make<br />
make install<br />
<br />
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file. <br />
cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5<br />
mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5<br />
nano /boot/grub/menu.lst<br />
<br />
Save a list of all currently used modules for future reference. You will use this later to make sure you have all the required modules.<br />
lsmod > ~/module_list-2.6.22.14<br />
<br />
Go ahead and reboot. Your new kernel should now load. If your boot fails, simply edit the parameters from the grub menu and specify your old kernel and initramfs image.<br />
'''Please note:''' udev attempts to assign persistent names to most devices. If the way the kernel identifies your device changes from your old kernel version to the new one, udev may assume it's a new device and assign it an unexpected name. For example, the nForce ethernet drivers corrected a bug in the way the MAC address was read from the device. On my first boot what was usually my eth0 device was now my eth1 device. To fix this simply flush the offending rule from the /etc/udev/rules.d folder. <br />
reboot<br />
<br />
You will most likely need to reinstall your video driver at this point, if you used a proprietary binary version. Instructions for getting the latest driver and installing it can be found in the [[Display Drivers|display drivers]] wiki.<br />
<br />
For nVidia do this:<br />
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
<br />
Now it is a good idea to compare your lsmod output from your old kernel to the output of your new kernel. Just to be certain you didn't miss anything. I found the order to be different, so I copied the output to an Excel spreadsheet and sorted the two different lists. The only discrepancies I found were related to name changes in the kernel and AppArmor.<br />
<br />
==Media Directors==<br />
In a traditional installation the Core and Media Directors all run the Gutsy 2.6.22-14 kernel. You may still use this kernel if you like, or you may opt to use your newly built kernel. <br />
===Use old kernel===<br />
If you want the media directors to continue to use this old kernel then you must create a symlink to the old kernel in the boot directory of each MD. You must also update the MD archives with this symlink, so future MDs will be setup correctly.<br />
<br />
mkdir /tmp/moonfs_64 /tmp/moonfs_32<br />
tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/<br />
tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/<br />
for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do<br />
md_device=`echo "$md" | sed -e 's/.*[/]\([^/]\)/\1/g'`<br />
cd $md/boot<br />
ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5<br />
ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5<br />
done<br />
tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .<br />
tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .<br />
rm -rf /tmp/moonfs_*<br />
<br />
===Use new kernel===<br />
A better route, although more complex one is to use your new kernel on the media directors as well. You can do this by copying your kernel and modules to each MD root filesystem. Additionally, you will need to add the kernel image plus modules to the MD root archive (/usr/pluto/install/PlutoMD-xxxyyy.tar.bz2) where xxxyyy is your architecture. This does present an issue if your core and media directors are not the same architecture. In this case you will need to build a kernel for the other architecture using cross-compile methods or using a machine of the that architecture. <br />
<br />
These scripts serve as a guideline, and may need to be customized to your unique configuration. <br />
<br />
'''A few notes:'''<br />
* Your initrd-img file should be about 10MB. If it is around the 40MB mark you compiled your kernel with debugging support. The tftp server will refuse to transfer files this large. As a result, all MDs will fail to boot. If you absolutely must use a debugging kernel then there are options you can pass to tftp to make it ignore this limit.<br />
* These scripts assume all media directors and cores are 64-bit machines. It is left as an exercise for the reader to distribute the proper kernel image for the target MD's architecture.<br />
* You should build your video driver files first, so you can include them in your MD archive.<br />
<br />
for md in /usr/pluto/diskless/*; do<br />
md_device=`echo "$md" | sed -e 's/.*[/]\([^/]\)/\1/g'`<br />
cp /boot/vmlinuz-2.6.26.5 $md/boot/<br />
cp /boot/initrd.img-2.6.26.5 $md/boot/<br />
cp -r /lib/modules/2.6.26.5/ $md/lib/modules/<br />
/usr/pluto/bin/Diskless_InstallKernel.sh $md_device<br />
done<br />
/usr/pluto/bin/Diskless_BuildDefaultImage.sh<br />
<br />
<br />
Now rebuild the archives, so future Media Directors will get the correct kernel image. <br />
cd /tmp<br />
mkdir moonfs_x64<br />
cd moonfs_x64<br />
tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2<br />
cp /boot/vmlinuz-2.6.26.5 boot<br />
cp /boot/initrd.img-2.6.26.5 boot<br />
cp -r /lib/modules/2.6.26.5/ lib/modules/<br />
tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *<br />
cd ..<br />
rm -rf moonfs_x64<br />
<br />
==Video Drivers==<br />
Video drivers get their own section because they often require updated libraries in addition to updated kernel modules. These libraries will have to be distributed to the media directors and updated in the archive. nVidia's driver installation script provides many useful options for this. I have not looked into a way to do with the ATI drivers, but I assume it's similar. <br />
<br />
You will need this small script I made. NVIDIA packages the precompiled kernel interface with a proprietary header. Removing the header allows you to link the interface and kernel module manually.<br />
<br />
stripheader.sh<br />
readsint ()<br />
{<br />
byte=`head -c$2 $1 | tail -c1`<br />
sint=`printf '%u' "'$byte"`<br />
let "sint=$sint & 0xFF"<br />
eval "$3=\"$sint\""<br />
}<br />
readuint32 ()<br />
{<br />
readsint $1 $(($2+1)) b1<br />
readsint $1 $(($2+2)) b2<br />
readsint $1 $(($2+3)) b3<br />
readsint $1 $(($2+4)) b4 <br />
<br />
uint=$(( ($b4 << 24) + ($b3 << 16) + ($b2 << 8) + $b1 ))<br />
eval "$3=\"$uint\""<br />
} <br />
<br />
let "header=12"<br />
readuint32 $1 $header int<br />
let "header=$header+$int+4"<br />
readuint32 $1 $header int<br />
let "header=$header+$int+4"<br />
readuint32 $1 $header int<br />
let "header=$header+$int+4"<br />
<br />
precomp=$(stat -c%s "$1")<br />
let "precomp-=$header"<br />
tail -c$precomp $1 > $2<br />
<br />
<br />
These commands will update each Media Director. You should also copy these files into the MD archives. This is left as an exercise for the reader.<br />
<br />
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel<br />
./stripheader.sh NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/precompiled/precompiled-nv-linux.o* NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv-linux.o<br />
ld -d -r -o nvidia.ko NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv-linux.o NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/src/nv/nv-kernel.o<br />
for md in /usr/pluto/diskless/*; do<br />
cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/<br />
cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/<br />
done</div>Demushttp://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&diff=15572Upgrading the Kernel2008-09-12T07:29:03Z<p>Demus: </p>
<hr />
<div>[[Category:LinuxMCEMaintenance]]<br />
<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
<br />
=Introduction=<br />
The ability to change kernel versions at will can be extremely useful for fighting driver bugs and regressions. The kernel version that ships with LinuxMCE 0710 is 2.6.22-14. At the time of writing the most recent kernel version is 2.6.26.5. The .22 kernel is almost a full year old and as such does not support a lot of the newer hardware. <br />
<br />
==Caveats==<br />
Some modules that are part of the vanilla Linux MCE installation are not part of the standard Linux kernel. These modules have been added as part of the Ubuntu distribution or by LMCE. It is not always straight forward, or even possible to compile these modules against different kernel sources. I suggest you read this entire Wiki first, to determine if you will be affected by the missing modules.<br />
<br />
==Alternatives==<br />
Usually kernels are upgraded for better driver support. In these cases it is often easier to compile new versions of modules against the 2.6.22-14 kernel than it is to upgrade the whole kernel (for reasons mentioned in the [[Upgrading the Kernel#Caveats|caveats]] section. Unfortunately, a lot of modules depend on other modules or patches in the kernel. So this option is not always possible.<br />
<br />
Example:<br />
cd ~<br />
wget http://www.somesite.com/some_kernel_driver.c<br />
echo obj-m = some_kernel_driver.o > Makefile<br />
cd /lib/modules/2.6.22-14-generic/build<br />
make M=~ modules<br />
ls -l ~/some_kernel_driver.ko<br />
<br />
You may then copy the module to the appropriate directory in the modules tree. <br />
<br />
=Upgrade process=<br />
<br />
This wiki will provide step-by-step instructions on how to upgrade your kernel. These examples will assume you are upgrading to 2.6.26 from 2.6.22. You may however apply these steps to any 2.6 kernel.<br />
<br />
==Potential problems==<br />
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. <br />
<br />
==Steps==<br />
The first step is to grab the kernel source and extract it to the /usr/src folder.<br />
<br />
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2<br />
tar -jxvf linux-2.6.26.5.tar.bz<br />
rm linux<br />
ln -s linux-2.6.26.5 linux<br />
<br />
Now lets copy the .config file from our generic 2.6.22 kernel.<br />
cd linux<br />
cp /boot/config-2.6.22-14-generic .config<br />
<br />
On our first load of menuconfig there will be many warnings displayed about non-existant config options. This is simply due to the removal or renaming of old options. Most of these warnings are insignificant, and enabled by default in the vanilla kernel. I would quickly go over the list of warnings and verify that any drivers you need haven't been renamed. One option that has been renamed is DVB_CORE_ATTACH. It is now DVB_MEDIA_ATTACH, and you may need it if you use the DVB stack. Also some netfilter matches have been renamed. Simply reselect these from the config menus. You may also need to install the ncurses library and development files if you haven't already.<br />
<br />
apt-get install libncurses5 libncurses5-dev<br />
make menuconfig 2> module_errors<br />
<br />
It's also a good idea to go over the kernel and make any optimizations for your particular system. The performance gain from these options is fairly minor, but definitely worth selecting. <br />
<br />
I opted to change these things:<br />
* Selected exact processor family to enable processor optimization extensions<br />
* Selected preemptive kernel (low latency)<br />
* Build SATA driver into kernel<br />
* Build MD,RAID1,RAID5 modules into kernel<br />
* Build NIC module into kernel<br />
* Disabled kernel debugging ('''Note: This is very important if you plan to use this kernel on Media Directors.''')<br />
<br />
<br />
At this point you can start the kernel build process. You may use the standard kernel method or the Debian build method. For simplicity this Wiki will use the standard method.<br />
make<br />
make modules_install<br />
<br />
You should now build any custom modules you need. Linux MCE (and Ubuntu) come with some non-standard drivers. The key modules to worry about are AppArmor, Asterisk (ztdummy & zaptel), ALSA, nVidia video, ATI video. You are better off downloading the latest nVidia and ATI drivers and installing them using the instructions found in the [[Display Drivers|display drivers]] wiki. The Gutsy kernel also contains other important video drivers, like ivtv. However most of these drivers are now in the mainstream kernel and more up-to-date than the Gutsy versions.<br />
<br />
I have decided to forgo the AppArmor module. Compiling and running this module would require a complete upgrade of the whole package in addition to manually patching many areas of the kernel. This is entirely too much work for something that is largely useless in a Linux MCE installation. <br />
<br />
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there's no reason to play around with mixmatched versions. Just rebuild both the kernel drivers and the userspace utilities. Here are the steps for that (Note: You should select your card specifically for the alsa-driver package, using the --with-cards option):<br />
mkdir alsa<br />
cd alsa<br />
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2<br />
for fi in *; do<br />
tar -jxvf $fi<br />
done<br />
cd alsa-driver-1.0.17 <br />
./configure --with-cards=hda-intel<br />
make<br />
make install<br />
cd ..<br />
for fi in alsa-lib-1.0.17a alsa-plugins-1.0.17 alsa-utils-1.0.17 alsa-oss-1.0.17 alsa-firmware-1.0.17; do<br />
cd $fi<br />
./configure<br />
make<br />
make install<br />
cd ..<br />
done<br />
<br />
<br />
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. <br />
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz<br />
tar -zxvf zaptel-1.4.12.1.tar.gz<br />
cd zaptel-1.4.12.1<br />
./configure --prefix=/usr<br />
make<br />
make install<br />
<br />
You will also need to recompile LIRC. Note: Some LIRC drivers are not SMP safe and will not compile on SMP kernels. In this case I suggest you pick only the drivers you need. For 2.6.26.5 I had to patch some files in the kernel to get LIRC to compile. The patch is located on the LIRC site. Also only the CVS version will compile. I ran into even more drama with LIRC, because many drivers failed to even attempt a build. I was able to manually enter each driver directory and perform a make/make install. After applying the patch to the kernel, it failed to compile as well. At this point I would assume that LIRC is not working with 2.6.26.5. <br />
cd /usr/src/linux<br />
wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch<br />
patch -p1 < lirc-bttv-linux-2.6.24.patch<br />
cd ..<br />
cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc<br />
cd lirc-0.8.3<br />
./configure --prefix=/usr --with-driver=all<br />
make<br />
make install<br />
<br />
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file. <br />
cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5<br />
mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5<br />
nano /boot/grub/menu.lst<br />
<br />
Save a list of all currently used modules for future reference. You will use this later to make sure you have all the required modules.<br />
lsmod > ~/module_list-2.6.22.14<br />
<br />
Go ahead and reboot. Your new kernel should now load. If your boot fails, simply edit the parameters from the grub menu and specify your old kernel and initramfs image.<br />
'''Please note:''' udev attempts to assign persistent names to most devices. If the way the kernel identifies your device changes from your old kernel version to the new one, udev may assume it's a new device and assign it an unexpected name. For example, the nForce ethernet drivers corrected a bug in the way the MAC address was read from the device. On my first boot what was usually my eth0 device was now my eth1 device. To fix this simply flush the offending rule from the /etc/udev/rules.d folder. <br />
reboot<br />
<br />
You will most likely need to reinstall your video driver at this point, if you used a proprietary binary version. Instructions for getting the latest driver and installing it can be found in the [[Display Drivers|display drivers]] wiki.<br />
<br />
For nVidia do this:<br />
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
<br />
Now it is a good idea to compare your lsmod output from your old kernel to the output of your new kernel. Just to be certain you didn't miss anything. I found the order to be different, so I copied the output to an Excel spreadsheet and sorted the two different lists. The only discrepancies I found were related to name changes in the kernel and AppArmor.<br />
<br />
==Media Directors==<br />
In a traditional installation the Core and Media Directors all run the Gutsy 2.6.22-14 kernel. You may still use this kernel if you like, or you may opt to use your newly built kernel. <br />
===Use old kernel===<br />
If you want the media directors to continue to use this old kernel then you must create a symlink to the old kernel in the boot directory of each MD. You must also update the MD archives with this symlink, so it future MDs will be setup correctly.<br />
<br />
mkdir /tmp/moonfs_64 /tmp/moonfs_32<br />
tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/<br />
tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/<br />
for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do<br />
md_device=`echo "$md" | sed -e 's/.*[/]\([^/]\)/\1/g'`<br />
cd $md/boot<br />
ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5<br />
ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5<br />
done<br />
tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .<br />
tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .<br />
rm -rf /tmp/moonfs_*<br />
<br />
===Use new kernel===<br />
A better route, although more complex one is to use your new kernel on the media directors as well. You can do this by copying your kernel and modules to each MD root filesystem. Additionally, you will need to add the kernel image plus modules to the MD root archive (/usr/pluto/install/PlutoMD-xxxyyy.tar.bz2) where xxxyyy is your architecture. This does present an issue if your core and media directors are not the same architecture. In this case you will need to build a kernel for the other architecture using cross-compile methods or using a machine of the that architecture. <br />
<br />
'''Warning: Make sure your initramfs file is around 10MB. If you have kernel debugging enabled the file will be too large to transfer over tftp and net boots will fail.'''<br />
<br />
'''Note: These scripts assume all media directors and cores are the same architecture. You should manually copy the files if you use a mixture of i386 and amd64 machines.'''<br />
for md in /usr/pluto/diskless/*; do<br />
md_device=`echo "$md" | sed -e 's/.*[/]\([^/]\)/\1/g'`<br />
cp /boot/vmlinuz-2.6.26.5 $md/boot/<br />
cp /boot/initrd.img-2.6.26.5 $md/boot/<br />
cp /lib/modules/2.6.26.5/ $md/lib/modules/<br />
/usr/pluto/bin/Diskless_InstallKernel.sh $md_device<br />
done<br />
/usr/pluto/bin/Diskless_BuildDefaultImage.sh<br />
<br />
<br />
Now rebuild the archives, so future Media Directors will get the correct kernel image.<br />
cd /tmp<br />
mkdir moonfs_amd64<br />
cd moonfs_amd64<br />
tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2<br />
cp /boot/vmlinuz-2.6.26.5 boot<br />
cp /boot/initrd.img-2.6.26.5 boot<br />
tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *<br />
cd ..<br />
rm -rf moonfs_amd64</div>Demushttp://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&diff=15561Upgrading the Kernel2008-09-11T03:32:47Z<p>Demus: /* Media Directors */</p>
<hr />
<div>[[Category:LinuxMCEMaintenance]]<br />
<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
<br />
=Introduction=<br />
The ability to change kernel versions at will can be extremely useful for fighting driver bugs and regressions. The kernel version that ships with LinuxMCE 0710 is 2.6.22-14. At the time of writing the most recent kernel version is 2.6.26.5. The .22 kernel is almost a full year old and as such does not support a lot of the newer hardware. <br />
<br />
Sometimes, it may be better not to upgrade your whole kernel. If you are only looking to upgrade a single modular driver, then you can often extract the driver files from the newer kernel and compile it against the older kernel. This is usually much quicker, and has the potential to break less things. On the other hand, if you need to upgrade core parts of the kernel, or drivers that are compiled directly into the kernel, you may not have another choice.<br />
<br />
This wiki will provide step-by-step instructions on how to upgrade your kernel. These examples will assume you are upgrading to 2.6.26 from 2.6.22. You may however apply these steps to any 2.6 kernel.<br />
<br />
==Caveats==<br />
A vanilla kernel does not come with several of the modules already present in your LMCE installation. For complete functionality with the new kernel you must compile these non-standard modules against the new kernel source. This is somewhat tedious and may be a little overwhelming for a beginner Linux user.<br />
<br />
=Upgrade process=<br />
==Potential problems==<br />
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. <br />
<br />
==Steps==<br />
The first step is to grab the kernel source and extract it to the /usr/src folder.<br />
<br />
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2<br />
tar -jxvf linux-2.6.26.5.tar.bz<br />
rm linux<br />
ln -s linux-2.6.26.5 linux<br />
<br />
Now lets copy the .config file from our generic 2.6.22 kernel.<br />
cd linux<br />
cp /boot/config-2.6.22-14-generic .config<br />
<br />
On our first load of menuconfig there will be many warnings displayed about non-existant config options. This is simply due to the removal or renaming of old options. Most of these warnings are insignificant, and enabled by default in the vanilla kernel. I would quickly go over the list of warnings and verify that any drivers you need haven't been renamed. One option that has been renamed is DVB_CORE_ATTACH. It is now DVB_MEDIA_ATTACH, and you may need it if you use the DVB stack. Also some netfilter matches have been renamed. Simply reselect these from the config menus.<br />
<br />
The performance gain from these options is fairly minor, but definitely worth selecting. You may also need to install the ncurses library and development files if you haven't already.<br />
apt-get install libncurses5 libncurses5-dev<br />
make menuconfig 2> module_errors<br />
<br />
It's also a good idea to go over the kernel and make any optimizations for your particular system. <br />
<br />
I opted to change these things:<br />
* Selected exact processor family to enable processor optimization extensions<br />
* Selected preemptive kernel (low latency)<br />
* Build SATA driver into kernel<br />
* Build MD,RAID1,RAID5 modules into kernel<br />
* Build NIC module into kernel<br />
* Disabled kernel debugging ('''Note: This is very important if you plan to use this kernel <br />
<br />
At this point you can start the kernel build process. You may use the standard kernel method or the Debian concurrency method. For simplicity this Wiki will use the standard method.<br />
make<br />
make modules_install<br />
<br />
You should now build any custom modules you need. Linux MCE (and Ubuntu) come with some non-standard drivers. The key modules to worry about are AppArmor, Asterisk (ztdummy & zaptel), ALSA, nVidia video, ATI video. You are better off downloading the latest nVidia and ATI drivers and installing them using the instructions found in the [[Display Drivers|display drivers]] wiki. The Gutsy kernel also contains other important video drivers, like ivtv. However most of these drivers are now in the mainstream kernel and more up-to-date than the Gutsy versions.<br />
<br />
I have decided to forgo the AppArmor module. Compiling and running this module would require a complete upgrade of the whole package in addition to manually patching many areas of the kernel. This is entirely too much work for something that is largely useless in a Linux MCE installation. <br />
<br />
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there's no reason to play around with mixmatched versions. Just rebuild both the kernel drivers and the userspace utilities. Here are the steps for that (Note: You should select your card specifically for the alsa-driver package, using the --with-cards option):<br />
mkdir alsa<br />
cd alsa<br />
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2<br />
for fi in *; do<br />
tar -jxvf $fi<br />
done<br />
cd alsa-driver-1.0.17 <br />
./configure --with-cards=hda-intel<br />
make<br />
make install<br />
cd ..<br />
for fi in alsa-lib-1.0.17a alsa-plugins-1.0.17 alsa-utils-1.0.17 alsa-oss-1.0.17 alsa-firmware-1.0.17; do<br />
cd $fi<br />
./configure<br />
make<br />
make install<br />
cd ..<br />
done<br />
<br />
<br />
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. <br />
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz<br />
tar -zxvf zaptel-1.4.12.1.tar.gz<br />
cd zaptel-1.4.12.1<br />
./configure --prefix=/usr<br />
make<br />
make install<br />
<br />
You will also need to recompile LIRC. Note: Some LIRC drivers are not SMP safe and will not compile on SMP kernels. In this case I suggest you pick only the drivers you need. For 2.6.26.5 I had to patch some files in the kernel to get LIRC to compile. The patch is located on the LIRC site. Also only the CVS version will compile. I ran into even more drama with LIRC, because many drivers failed to even attempt a build. I was able to manually enter each driver directory and perform a make/make install. After applying the patch to the kernel, it failed to compile as well. At this point I would assume that LIRC is not working with 2.6.26.5. <br />
cd /usr/src/linux<br />
wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch<br />
patch -p1 < lirc-bttv-linux-2.6.24.patch<br />
cd ..<br />
cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc<br />
cd lirc-0.8.3<br />
./configure --prefix=/usr --with-driver=all<br />
make<br />
make install<br />
<br />
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file. <br />
cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5<br />
mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5<br />
nano /boot/grub/menu.lst<br />
<br />
Save a list of all currently used modules for future reference. You will use this later to make sure you have all the required modules.<br />
lsmod > ~/module_list-2.6.22.14<br />
<br />
Go ahead and reboot. Your new kernel should now load. If your boot fails, simply edit the parameters from the grub menu and specify your old kernel and initramfs image.<br />
'''Please note:''' udev attempts to assign persistent names to most devices. If the way the kernel identifies your device changes from your old kernel version to the new one, udev may assume it's a new device and assign it an unexpected name. For example, the nForce ethernet drivers corrected a bug in the way the MAC address was read from the device. On my first boot what was usually my eth0 device was now my eth1 device. To fix this simply flush the offending rule from the /etc/udev/rules.d folder. <br />
reboot<br />
<br />
You will most likely need to reinstall your video driver at this point, if you used a proprietary binary version. Instructions for getting the latest driver and installing it can be found in the [[Display Drivers|display drivers]] wiki.<br />
<br />
For nVidia do this:<br />
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
<br />
Now it is a good idea to compare your lsmod output from your old kernel to the output of your new kernel. Just to be certain you didn't miss anything. I found the order to be different, so I copied the output to an Excel spreadsheet and sorted the two different lists. The only discrepancies I found were related to name changes in the kernel and AppArmor.<br />
<br />
==Media Directors==<br />
===Use old kernel===<br />
In a traditional installation the Core and Media Directors all run the Gutsy 2.6.22-14 kernel. If you want the media directors to continue to use this old kernel then you must fix a small bug in the Diskless_InstallKernel.sh script. This script assumes that media directors will run the same kernel version as the core. A temporary fix is to edit the /usr/pluto/bin/Diskless_InstallKernel.sh file and replace "Moon_KernelVersion=$(uname -r)" with "Moon_KernelVersion=2.6.22-14". Similarlly, the string "`uname -r`" in /usr/pluto/bin/Diskless_BuildDefaultImage.sh must be replaced with "2.6.22-14". <br />
<br />
Re-run scripts to build configs and symlinks.<br />
/usr/pluto/bin/Diskless_Setup.sh<br />
for md in /usr/pluto/diskless/*; do<br />
md_device=`echo "$md" | sed -e 's/.*[/]\([^/]\)/\1/g'`<br />
/usr/pluto/bin/Diskless_InstallKernel.sh $md_device<br />
done<br />
/usr/pluto/bin/Diskless_BuildDefaultImage.sh<br />
<br />
===Use new kernel===<br />
Another route is to use your new kernel on the media directors as well. You can do this by copying your kernel to each MD root filesystem. Additionally, you will need to add the kernel image to the MD root archive (/usr/pluto/install/PlutoMD-xxxyyy.tar.bz2) where xxxyyy is your architecture. <br />
<br />
'''Note: You should build the same kernel for both 32-bit and 64-bit architectures.'''<br />
<br />
'''Warning: Make sure your initramfs file is around 10MB. If you have kernel debugging enabled the file will be too large to transfer over tftp and net boots will fail.'''<br />
for md in /usr/pluto/diskless/*; do<br />
cp /boot/vmlinuz-2.6.26.5 $md/boot/<br />
cp /boot/initrd.img-2.6.26.5 $md/boot/<br />
done<br />
cd /tmp<br />
mkdir moonfs_amd64<br />
cd moonfs_amd64<br />
tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2<br />
cp /boot/vmlinuz-2.6.26.5 boot<br />
cp /boot/initrd.img-2.6.26.5 boot<br />
tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *<br />
cd ..<br />
rm -rf moonfs<br />
<br />
As a final step, copy the kernel to existing media directors, and rebuild symlinks. <br />
for md in /usr/pluto/diskless/*; do<br />
md_device=`echo "$md" | sed -e 's/.*[/]\([^/]\)/\1/g'`<br />
/usr/pluto/bin/Diskless_InstallKernel.sh $md_device<br />
cp /boot/vmlinuz-2.6.26.5 $md/boot<br />
cp /boot/initrd.img-2.6.26.5 $md/boot<br />
done<br />
/usr/pluto/bin/Diskless_BuildDefaultImage.sh</div>Demushttp://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&diff=15560Upgrading the Kernel2008-09-11T03:04:40Z<p>Demus: Added media directors. Fixed minor errors.</p>
<hr />
<div>[[Category:LinuxMCEMaintenance]]<br />
<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
<br />
=Introduction=<br />
The ability to change kernel versions at will can be extremely useful for fighting driver bugs and regressions. The kernel version that ships with LinuxMCE 0710 is 2.6.22-14. At the time of writing the most recent kernel version is 2.6.26.5. The .22 kernel is almost a full year old and as such does not support a lot of the newer hardware. <br />
<br />
Sometimes, it may be better not to upgrade your whole kernel. If you are only looking to upgrade a single modular driver, then you can often extract the driver files from the newer kernel and compile it against the older kernel. This is usually much quicker, and has the potential to break less things. On the other hand, if you need to upgrade core parts of the kernel, or drivers that are compiled directly into the kernel, you may not have another choice.<br />
<br />
This wiki will provide step-by-step instructions on how to upgrade your kernel. These examples will assume you are upgrading to 2.6.26 from 2.6.22. You may however apply these steps to any 2.6 kernel.<br />
<br />
==Caveats==<br />
A vanilla kernel does not come with several of the modules already present in your LMCE installation. For complete functionality with the new kernel you must compile these non-standard modules against the new kernel source. This is somewhat tedious and may be a little overwhelming for a beginner Linux user.<br />
<br />
=Upgrade process=<br />
==Potential problems==<br />
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. <br />
<br />
==Steps==<br />
The first step is to grab the kernel source and extract it to the /usr/src folder.<br />
<br />
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2<br />
tar -jxvf linux-2.6.26.5.tar.bz<br />
rm linux<br />
ln -s linux-2.6.26.5 linux<br />
<br />
Now lets copy the .config file from our generic 2.6.22 kernel.<br />
cd linux<br />
cp /boot/config-2.6.22-14-generic .config<br />
<br />
On our first load of menuconfig there will be many warnings displayed about non-existant config options. This is simply due to the removal or renaming of old options. Most of these warnings are insignificant, and enabled by default in the vanilla kernel. I would quickly go over the list of warnings and verify that any drivers you need haven't been renamed. One option that has been renamed is DVB_CORE_ATTACH. It is now DVB_MEDIA_ATTACH, and you may need it if you use the DVB stack. Also some netfilter matches have been renamed. Simply reselect these from the config menus.<br />
<br />
The performance gain from these options is fairly minor, but definitely worth selecting. You may also need to install the ncurses library and development files if you haven't already.<br />
apt-get install libncurses5 libncurses5-dev<br />
make menuconfig 2> module_errors<br />
<br />
It's also a good idea to go over the kernel and make any optimizations for your particular system. <br />
<br />
I opted to change these things:<br />
* Selected exact processor family to enable processor optimization extensions<br />
* Selected preemptive kernel (low latency)<br />
* Build SATA driver into kernel<br />
* Build MD,RAID1,RAID5 modules into kernel<br />
* Build NIC module into kernel<br />
* Disabled kernel debugging ('''Note: This is very important if you plan to use this kernel <br />
<br />
At this point you can start the kernel build process. You may use the standard kernel method or the Debian concurrency method. For simplicity this Wiki will use the standard method.<br />
make<br />
make modules_install<br />
<br />
You should now build any custom modules you need. Linux MCE (and Ubuntu) come with some non-standard drivers. The key modules to worry about are AppArmor, Asterisk (ztdummy & zaptel), ALSA, nVidia video, ATI video. You are better off downloading the latest nVidia and ATI drivers and installing them using the instructions found in the [[Display Drivers|display drivers]] wiki. The Gutsy kernel also contains other important video drivers, like ivtv. However most of these drivers are now in the mainstream kernel and more up-to-date than the Gutsy versions.<br />
<br />
I have decided to forgo the AppArmor module. Compiling and running this module would require a complete upgrade of the whole package in addition to manually patching many areas of the kernel. This is entirely too much work for something that is largely useless in a Linux MCE installation. <br />
<br />
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there's no reason to play around with mixmatched versions. Just rebuild both the kernel drivers and the userspace utilities. Here are the steps for that (Note: You should select your card specifically for the alsa-driver package, using the --with-cards option):<br />
mkdir alsa<br />
cd alsa<br />
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2<br />
for fi in *; do<br />
tar -jxvf $fi<br />
done<br />
cd alsa-driver-1.0.17 <br />
./configure --with-cards=hda-intel<br />
make<br />
make install<br />
cd ..<br />
for fi in alsa-lib-1.0.17a alsa-plugins-1.0.17 alsa-utils-1.0.17 alsa-oss-1.0.17 alsa-firmware-1.0.17; do<br />
cd $fi<br />
./configure<br />
make<br />
make install<br />
cd ..<br />
done<br />
<br />
<br />
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. <br />
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz<br />
tar -zxvf zaptel-1.4.12.1.tar.gz<br />
cd zaptel-1.4.12.1<br />
./configure --prefix=/usr<br />
make<br />
make install<br />
<br />
You will also need to recompile LIRC. Note: Some LIRC drivers are not SMP safe and will not compile on SMP kernels. In this case I suggest you pick only the drivers you need. For 2.6.26.5 I had to patch some files in the kernel to get LIRC to compile. The patch is located on the LIRC site. Also only the CVS version will compile. I ran into even more drama with LIRC, because many drivers failed to even attempt a build. I was able to manually enter each driver directory and perform a make/make install. After applying the patch to the kernel, it failed to compile as well. At this point I would assume that LIRC is not working with 2.6.26.5. <br />
cd /usr/src/linux<br />
wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch<br />
patch -p1 < lirc-bttv-linux-2.6.24.patch<br />
cd ..<br />
cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc<br />
cd lirc-0.8.3<br />
./configure --prefix=/usr --with-driver=all<br />
make<br />
make install<br />
<br />
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file. <br />
cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5<br />
mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5<br />
nano /boot/grub/menu.lst<br />
<br />
Save a list of all currently used modules for future reference. You will use this later to make sure you have all the required modules.<br />
lsmod > ~/module_list-2.6.22.14<br />
<br />
Go ahead and reboot. Your new kernel should now load. If your boot fails, simply edit the parameters from the grub menu and specify your old kernel and initramfs image.<br />
'''Please note:''' udev attempts to assign persistent names to most devices. If the way the kernel identifies your device changes from your old kernel version to the new one, udev may assume it's a new device and assign it an unexpected name. For example, the nForce ethernet drivers corrected a bug in the way the MAC address was read from the device. On my first boot what was usually my eth0 device was now my eth1 device. To fix this simply flush the offending rule from the /etc/udev/rules.d folder. <br />
reboot<br />
<br />
You will most likely need to reinstall your video driver at this point, if you used a proprietary binary version. Instructions for getting the latest driver and installing it can be found in the [[Display Drivers|display drivers]] wiki.<br />
<br />
For nVidia do this:<br />
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
<br />
Now it is a good idea to compare your lsmod output from your old kernel to the output of your new kernel. Just to be certain you didn't miss anything. I found the order to be different, so I copied the output to an Excel spreadsheet and sorted the two different lists. The only discrepancies I found were related to name changes in the kernel and AppArmor.<br />
<br />
==Media Directors==<br />
In a traditional installation the Core and Media Directors all run the Gutsy 2.6.22-14 kernel. If you want the media directors to continue to use this old kernel then you must fix a small bug in the Diskless_InstallKernel.sh script. This script assumes that media directors will run the same kernel version as the core. A temporary fix is to edit the /usr/pluto/bin/Diskless_InstallKernel.sh file and replace "Moon_KernelVersion=$(uname -r)" with "Moon_KernelVersion=2.6.22-14". Similarlly, the string "`uname -r`" in /usr/pluto/bin/Diskless_BuildDefaultImage.sh must be replaced with "2.6.22-14". And again in /usr/pluto/bin/Diskless_Setup.sh (replaced <br />
<br />
A more popular route is to push your kernel to the media directors as well. You can do this by copying your kernel to each MD root filesystem. Additionally, you will need to add the kernel image to the MD root archive (/usr/pluto/install/PlutoMD-xxxyyy.tar.bz2) where xxxyyy is your architecture. <br />
'''Note: You should build the same kernel for both 32-bit and 64-bit architectures.'''<br />
for md in /usr/pluto/diskless/*; do<br />
cp /boot/vmlinuz-2.6.26.5 $md/boot/<br />
cp /boot/initrd.img-2.6.26.5 $md/boot/<br />
done<br />
cd /tmp<br />
mkdir moonfs_amd64<br />
cd moonfs_amd64<br />
tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2<br />
cp /boot/vmlinuz-2.6.26.5 boot<br />
cp /boot/initrd.img-2.6.26.5 boot<br />
tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *<br />
cd ..<br />
rm -rf moonfs<br />
<br />
As a final step, you should rebuild the kernel symlinks and the pxeconfigs.<br />
for md in /usr/pluto/diskless/*; do<br />
md_device=`echo "$md" | sed -e 's/.*[/]\([^/]\)/\1/g'`<br />
/usr/pluto/bin/Diskless_InstallKernel.sh $md_device<br />
cp /boot/vmlinuz-2.6.26.5 $md/boot<br />
cp /boot/initrd.img-2.6.26.5 $md/boot<br />
done</div>Demushttp://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&diff=15559Upgrading the Kernel2008-09-10T23:46:36Z<p>Demus: /* Steps */ small corrections</p>
<hr />
<div>[[Category:LinuxMCEMaintenance]]<br />
<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
<br />
=Introduction=<br />
The ability to change kernel versions at will can be extremely useful for fighting driver bugs and regressions. The kernel version that ships with LinuxMCE 0710 is 2.6.22-14. At the time of writing the most current kernel version is 2.6.26.5. The .22 kernel is almost a full year old and as such does not support a lot of the newer hardware. <br />
<br />
Sometimes, it may be better not to upgrade your whole kernel. If you are only looking to upgrade a single modular driver, then you can often extract the driver files from the newer kernel and compile it against the older kernel. This is usually much quicker, and has the potential to break less things. On the other hand, if you need to upgrade core parts of the kernel, or drivers that are compiled directly into the kernel, you may not have another choice.<br />
<br />
This wiki will provide step-by-step instructions to upgrade your kernel. These examples will assume you are upgrading to 2.6.26 from 2.6.22. You may however apply these steps to any 2.6 kernel.<br />
<br />
==Caveats==<br />
A vanilla kernel does not come with several of the modules already present in your LMCE installation. For complete functionality with the new kernel you must compile these non-standard modules against the new kernel source. This is somewhat tedious and may be a little overwhelming for a beginner Linux user.<br />
<br />
=Upgrade process=<br />
==Potential problems==<br />
All the normal issues of upgrading your kernel apply. As a general safety rule always leave a boot option configured to enable loading of your "known working" kernel.<br />
<br />
==Steps==<br />
The first step is to grab the kernel source and extract it to the /usr/src folder.<br />
<br />
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2<br />
tar -jxvf linux-2.6.26.5.tar.bz<br />
rm linux<br />
ln -s linux-2.6.26.5 linux<br />
<br />
Now lets copy the .config file from our generic 2.6.22 kernel.<br />
cd linux<br />
cp /boot/config-2.6.22-14-generic .config<br />
<br />
On our first load of menuconfig there will be many warnings displayed about config options present in the .config file that are not valid kernel configs. This is simply due to the removal or renaming of old options. Most of these warnings are insignificant. I would quickly go over this list and verify that any drivers you need haven't been renamed. One option that has been renamed is DVB_CORE_ATTACH. It is now DVB_MEDIA_ATTACH, and you may need it if you use the DVB stack. Also some netfilter matches have been renamed. Simply reselect these from the config menus.<br />
<br />
It's also a good idea to go over the kernel and make any optimizations for your particular system. <br />
<br />
I opted to change these things:<br />
* Selected exact processor family to enable processor optimization extensions<br />
* Disabled forced preemption (only select this on Core's that are '''NOT''' hybrids)<br />
* Build SATA driver into kernel<br />
* Build MD,RAID1,RAID5 modules into kernel<br />
* Build NIC module into kernel<br />
<br />
The performance gain from these options is fairly minor, but definitely worth selecting. You may also need to install the ncurses library and development files if you haven't already.<br />
apt-get install libncurses5 libncurses5-dev<br />
make menuconfig 2> module_errors<br />
<br />
At this point you can start the kernel build process. You may use the standard kernel method or the Debian concurrency method. For simplicity this Wiki will use the standard method.<br />
make<br />
make modules_install<br />
<br />
You should now build any custom modules you need. Linux MCE (and Ubuntu) come with some non-standard drivers. The key modules to worry about are AppArmor, Asterisk (ztdummy & zaptel), ALSA, nVidia video, ATI video. You are better off downloading the latest nVidia and ATI drivers and installing them using the instructions found in the [[Display Drivers|display drivers]] wiki. The Gutsy kernel also contains other important video drivers, like ivtv. However most of these drivers are now in the mainstream kernel and are more up-to-date.<br />
<br />
I have decided to forgo the AppArmor module. Compiling and running this module would require a complete upgrade of the whole package in addition to manually patching many areas of the kernel. This is entirely too much work for something that is largely useless in a Linux MCE installation. <br />
<br />
For the ALSA drivers I opted to upgrade the whole package. I wouldn't bother trying to mix and match different versions. My board has an Intel HDA chip that required the latest version to work properly. Here are the steps for that (Note: You should select your card specifically for the alsa-driver package, using the --with-cards option):<br />
mkdir alsa<br />
cd alsa<br />
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2<br />
for fi in *; do<br />
tar -jxvf $fi<br />
done<br />
cd alsa-driver-1.0.17 <br />
./configure --with-cards=hda-intel<br />
make<br />
make install<br />
cd ..<br />
for fi in alsa-lib-1.0.17a alsa-plugins-1.0.17 alsa-utils-1.0.17 alsa-oss-1.0.17 alsa-firmware-1.0.17; do<br />
cd $fi<br />
./configure<br />
make<br />
make install<br />
cd ..<br />
done<br />
<br />
<br />
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. <br />
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz<br />
tar -zxvf zaptel-1.4.12.1.tar.gz<br />
cd zaptel-1.4.12.1<br />
./configure --prefix=/usr<br />
make<br />
make install<br />
<br />
You will also need to recompile LIRC. Note: Some LIRC drivers are not SMP safe and will not compile on SMP kernels. In this case I suggest you pick only the drivers you need. For 2.6.26.5 I had to patch some files in the kernel to get LIRC to compile. The patch is located on the LIRC site. Also only the CVS version will compile.<br />
cd /usr/src/linux<br />
wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch<br />
patch -p1 < lirc-bttv-linux-2.6.24.patch<br />
cd ..<br />
cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc<br />
cd lirc-0.8.3<br />
./configure --prefix=/usr --with-driver=all<br />
make<br />
make install<br />
<br />
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file. <br />
cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5<br />
mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5<br />
nano /boot/grub/menu.lst<br />
<br />
Save a list of all currently used modules for future reference. You will use this later to make sure you have all the required modules.<br />
lsmod > ~/module_list-2.6.22.14<br />
<br />
Go ahead and reboot. Your new kernel should now load. If your boot fails, simply edit the parameters from the grub menu and specify your old kernel and initramfs image.<br />
'''Please note:''' udev attempts to assign persistent names to most devices. If the way the kernel identifies your device changes from your old kernel version to the new one, udev may assume it's a new device and assign it an unexpected name. For example, the nForce ethernet drivers corrected a bug in the way the MAC address was read from the device. On my first boot what was usually my eth0 device was now my eth1 device. To fix this simply flush the offending rule from the /etc/udev/rules.d folder. <br />
reboot<br />
<br />
You will most likely need to reinstall your video driver at this point, if you used a proprietary binary version. Instructions for getting the latest driver and installing it can be found in the [[Display Drivers|display drivers]] wiki.<br />
<br />
For nVidia do this:<br />
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
<br />
Now it is a good idea to compare your lsmod output from your old kernel to the output of your new kernel. Just to be certain you didn't miss anything. I found the order to be different, so I copied the output to an Excel spreadsheet and sorted the two different lists. The only discrepancies I found were related to name changes in the kernel and AppArmor.</div>Demushttp://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&diff=15550Upgrading the Kernel2008-09-10T16:20:14Z<p>Demus: </p>
<hr />
<div>[[Category:LinuxMCEMaintenance]]<br />
<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
<br />
=Introduction=<br />
The ability to change kernel versions at will can be extremely useful for fighting driver bugs and regressions. The kernel version that ships with LinuxMCE 0710 is 2.6.22-14. At the time of writing the most current kernel version is 2.6.26.5. The .22 kernel is almost a full year old and as such does not support a lot of the newer hardware. <br />
<br />
Sometimes, it may be better not to upgrade your whole kernel. If you are only looking to upgrade a single modular driver, then you can often extract the driver files from the newer kernel and compile it against the older kernel. This is usually much quicker, and has the potential to break less things. On the other hand, if you need to upgrade core parts of the kernel, or drivers that are compiled directly into the kernel, you may not have another choice.<br />
<br />
This wiki will provide step-by-step instructions to upgrade your kernel. These examples will assume you are upgrading to 2.6.26 from 2.6.22. You may however apply these steps to any 2.6 kernel.<br />
<br />
==Caveats==<br />
A vanilla kernel does not come with several of the modules already present in your LMCE installation. For complete functionality with the new kernel you must compile these non-standard modules against the new kernel source. This is somewhat tedious and may be a little overwhelming for a beginner Linux user.<br />
<br />
=Upgrade process=<br />
==Potential problems==<br />
All the normal issues of upgrading your kernel apply. As a general safety rule always leave a boot option configured to enable loading of your "known working" kernel.<br />
<br />
==Steps==<br />
The first step is to grab the kernel source and extract it to the /usr/src folder.<br />
<br />
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2<br />
tar -jxvf linux-2.6.26.5.tar.bz<br />
rm linux<br />
ln -s linux-2.6.26.5 linux<br />
<br />
Now lets copy the .config file from our generic 2.6.22 kernel.<br />
cd linux<br />
cp /boot/config-2.6.22-14-generic .config<br />
<br />
On our first load of menuconfig there will be many warnings displayed about config options present in the .config file that are not valid kernel configs. This is simply due to the removal or renaming of old options. Most of these warnings are insignificant. I would quickly go over this list and verify that any drivers you need haven't been renamed. One option that has been renamed is DVB_CORE_ATTACH. It is now DVB_MEDIA_ATTACH, and you may need it if you use the DVB stack. Also some netfilter matches have been renamed. Simply reselect these from the config menus.<br />
<br />
It's also a good idea to go over the kernel and make any optimizations for your particular system. <br />
<br />
I opted to change these things:<br />
* Selected exact processor family to enable processor optimization extensions<br />
* Disabled forced preemption (only select this on Core's that are '''NOT''' hybrids)<br />
* Build SATA driver into kernel<br />
* Build MD,RAID1,RAID5 modules into kernel<br />
* Build NIC module into kernel<br />
<br />
The performance gain from these options is fairly minor, but definitely worth selecting. You may also need to install the ncurses library and development files if you haven't already.<br />
apt-get install libncurses5 libncurses5-dev<br />
make menuconfig 2> module_errors<br />
<br />
At this point you can start the kernel build process. You may use the standard kernel method or the Debian concurrency method. For simplicity this Wiki will use the standard method.<br />
make<br />
make modules_install<br />
<br />
You should now build any custom modules you need. Linux MCE (and Ubuntu) come with some non-standard drivers. The key modules to worry about are AppArmor, Asterisk (ztdummy & zaptel), ALSA, nVidia video, ATI video. You are better off downloading the latest nVidia and ATI drivers and installing them using the instructions found in the [[Display Drivers|display drivers]] wiki. The Gutsy kernel also contains other important video drivers, like ivtv. However most of these drivers are now in the mainstream kernel and are more up-to-date.<br />
<br />
I have decided to forgo the AppArmor module. Compiling and running this module would require a complete upgrade of the whole package in addition to manually patching many areas of the kernel. This is entirely too much work for something that is largely useless in a Linux MCE installation. <br />
<br />
For the ALSA drivers I opted to upgrade the whole package. I wouldn't bother trying to mix and match different versions. My board has an Intel HDA chip that required the latest version to work properly. Here are the steps for that (Note: You should select your card specifically for the alsa-driver package, using the --with-cards option):<br />
mkdir alsa<br />
cd alsa<br />
wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2<br />
wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2<br />
for fi in *; do<br />
tar -jxvf $fi<br />
done<br />
for fi in alsa-driver-1.0.17 alsa-lib-1.0.17a alsa-plugins-1.0.17 alsa-utils-1.0.17 alsa-oss-1.0.17 alsa-firmware-1.0.17; do<br />
cd $fi<br />
./configure<br />
make<br />
make install<br />
cd ..<br />
done<br />
<br />
<br />
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. <br />
wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz<br />
tar -zxvf zaptel-1.4.12.1.tar.gz<br />
cd zaptel-1.4.12.1<br />
./configure --prefix=/usr<br />
make<br />
make install<br />
<br />
You will also need to recompile LIRC. Note: Some LIRC drivers are not SMP safe and will not compile on SMP kernels. In this case I suggest you pick only the drivers you need. For 2.6.26.5 I had to patch some files in the kernel to get LIRC to compile. The patch is located on the LIRC site. Also only the CVS version will compile.<br />
cd /usr/src/linux<br />
wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch<br />
patch -p1 < lirc-bttv-linux-2.6.24.patch<br />
cd ..<br />
cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc<br />
tar -jxvf lirc-0.8.3.tar.bz2<br />
cd lirc-0.8.3<br />
./configure --prefix=/usr --with-driver=all<br />
make<br />
make install<br />
<br />
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file. <br />
cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5<br />
mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5<br />
nano /boot/grub/menu.lst<br />
<br />
Save a list of all currently used modules for future reference. You will use this later to make sure you have all the required modules.<br />
lsmod > ~/module_list-2.6.22.14<br />
<br />
Go ahead and reboot. Your new kernel should now load. If your boot fails, simply edit the parameters from the grub menu and specify your old kernel and initramfs image.<br />
'''Please note:''' udev attempts to assign persistent names to most devices. If the way the kernel identifies your device changes from your old kernel version to the new one, udev may assume it's a new device and assign it an unexpected name. For example, the nForce ethernet drivers corrected a bug in the way the MAC address was read from the device. On my first boot what was usually my eth0 device was now my eth1 device. To fix this simply flush the offending rule from the /etc/udev/rules.d folder. <br />
reboot<br />
<br />
You will most likely need to reinstall your video driver at this point, if you used a proprietary binary version. Instructions for getting the latest driver and installing it can be found in the [[Display Drivers|display drivers]] wiki.<br />
<br />
For nVidia do this:<br />
wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run<br />
<br />
Now it is a good idea to compare your lsmod output from your old kernel to the output of your new kernel. Just to be certain you didn't miss anything. I found the order to be different, so I copied the output to an Excel spreadsheet and sorted the two different lists. The only discrepancies I found were related to name changes in the kernel and AppArmor.</div>Demushttp://wiki.linuxmce.org/index.php?title=Fiire&diff=15518Fiire2008-09-07T12:07:20Z<p>Demus: /* Fiire Invisible */ SP</p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
=Company=<br />
[http://www.fiire.com Fiire Ltd.] is an online retailer of computer equipment specifically tailored for Linux MCE. The unique products offered by Fiire Ltd. are purchased from OEM manufacture [http://www.polywell.com Polywell Computers].<br />
<br />
==Address==<br />
The official address for Fiire Ltd. according to invoices is:<br />
<br />
:10573 W. Pico Blvd #42 <br />
:Los Angeles CA 90064 <br />
:UNITED STATES <br />
:+1 (213) 325-2667<br />
<br />
However, dealings with support staff indicates that most Fiire employees live in San Jose, California and that Fiire may not occupy an actual office. <br />
<br />
==Issues==<br />
Many Linux MCE users have experienced poor transactions with Fiire Ltd., for a plethora of reasons ranging from faulty hardware, poor support, and outright dishonesty by Fiire employees. Many customers have reported that support requests by e-mail often go unanswered, and that it is near impossible to reach a real person by phone. <br />
<br />
Some customers have been overcharged on shipping in excess of $200.00. Despite this obvious oversight, no efforts by Fiire were made to correct these issues. <br />
<br />
According to customer reports, products usually take a minimum of two weeks to ship and may take longer for certain items.<br />
<br />
Many Fiire products have known issues that have not been addressed and are still being sold to new customers with no indication of the defect or when a fix might be available. One particular issue, where the pointer will drift on Fiire Chief remotes has caused [[Convergenthome|Convergent Home Technologies]] to stop offering this product.<br />
<br />
Forum references: [http://forum.linuxmce.org/index.php?topic=5642.0]<br />
[http://forum.linuxmce.org/index.php?topic=5689.0]<br />
[http://forum.linuxmce.org/index.php?topic=6018.0]<br />
[http://forum.linuxmce.org/index.php?topic=3217.0]<br />
[http://forum.linuxmce.org/index.php?topic=4331.0]<br />
<br />
=Products=<br />
'''You are URGED to read the issues section before making any purchases with Fiire!''' Additionally check the main Wiki article for the product you are looking at purchasing. Many Fiire products have seen compatability regression between Linux MCE 0704 and 0710. The Wiki articles may not have been updated to reflect this. The [http://forum.linuxmce.org forums] are a good source of information on current supported hardware. <br />
<br />
==Fiire 12TB==<br />
(Main article: [[Fiire 12TB]])<br />
This is the Fiire offering for a Linux MCE Core. It is expandable up to 12,000 GB of storage in a RAID configuration. <br />
<br />
:*Supported in LinuxMCE 0710 <br />
:*Supports UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel E8400 Core2 Duo 3.0 GHz<br />
:*2GB RAM<br />
:*Dual gigabit<br />
:*7.1 HD Audio with analog, SPDIF coaxial and optical outputs<br />
<br />
==Fiire Invisible==<br />
(Main article: [[Fiire Invisible]])<br />
Fiire offers three possible units for use as media director. The Invisible is a 2" unit with VESA mounting provisions designed to be attached to the back of any VESA compliant display. <br />
:*Supports LinuxMCE 0710 <br />
:*1080i hardware accelerated de-interlacing<br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:* AMD BE 2400<br />
:* 1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
<br />
==Fiire Prestige==<br />
(Main article: [[Fiire Prestige]])<br />
This model is available in two flavors, the base model and a "lite" model. The only difference between the two is the chassis. The lite model does not include the brushed aluminum case, the VFD display or the infrared receiver. <br />
:*Supports LinuxMCE 0710 <br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel Core2 Duo E4600 2.4GHz<br />
:*1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Chief==<br />
(Main article: [[Fiire Chief]])<br />
The Fiire Chief is a remote specifically designed for LinuxMCE. It contains a gyroscope which allows the user to move an on-screen pointer by gesturing with the remote, similar to a Nintendo Wii controller. The Fiire Chief is based on the [[Using the Gyration Remote GYR3101US (Non-Fiire Chief)|Gyration HTPC remote]], except it contains unique firmware and labeling to perform special LinuxMCE functions (such as "Follow Me"). The Chief operates on the unlicensed 2.4 GHz frequency spectrum and does not require line of sight to control devices. <br />
<br />
==Miscellaneous==<br />
Fiire Ltd. also carries a select range of accessories and interface devices (such as Z-Wave dimmers and HDMI cables). Some of these devices require special drivers which are only available in binary form. To support the open source movement, it is recommended you purchase alternative components with open source drivers.<br />
=Discontinued Products=<br />
==Fiire Engine==<br />
(Main article: [[Fiire Engine]]) This unit has been replaced with the [[Fiire 12TB]]. <br />
:* Software: LinuxMCE 1.1 (KU0704)<br />
:* User Interface: UI2 with masking<br />
:* Processor: AMD Athlon 64 X2 4200+<br />
:* RAM: 1GB<br />
:* Internal Hard drive for operating system: 160 GB<br />
:* RAID storage for media: 6 external e-sata ports for external drives, or external drive cage. Drives and cage not included. Largest e-sata drive at this moment is 1,000 GB, for a total capacity of 6,000 GB or 6TB.<br />
:* Network: Dual Ethernet ports. Gigabit speed.<br />
:* Audio: Standard stereo audio<br />
:* Video: Via 890 chipset <br />
==Fiire Station==<br />
(Main article: [[Fiire Station]])<br />
This unit is no longer sold by Fiire. The unit was based on a Via embedded system which has no OpenGL support with open source drivers. During the LinuxMCE 0704 phase, Fiire licensed binary drivers from Via that contained the necessary OpenGL implementation. In LinuxMCE 0710 the binary driver developed a computability issue that was unable to be resolved. As a result Fiire dropped this product and began offering its new line of thin media directors, the [[Fiire Invisible]].</div>Demushttp://wiki.linuxmce.org/index.php?title=LinuxMCE_%2B_RAID_on_boot_drive&diff=15407LinuxMCE + RAID on boot drive2008-08-28T19:57:18Z<p>Demus: New page: =Warnings and Disclaimer= This process has only been performed a handful of times and should not be considered reliable. Additionally, this procedure involves rearranging the data on your ...</p>
<hr />
<div>=Warnings and Disclaimer=<br />
This process has only been performed a handful of times and should not be considered reliable. Additionally, this procedure involves rearranging the data on your working drive. A failure during any number of crucial steps will lead to complete loss of data on ALL drives. I would suggest, at least until this process becomes more refined that only Linux competent users attempt it.<br />
<br />
I am not sure how this method of RAID will play with the Linux MCE scripts and built-in software RAID module. <br />
<br />
'''IT IS HIGHLY RECOMMENDED THAT YOU BACKUP ALL IMPORTANT DATA.'''<br />
=Preface=<br />
The intention of this how-to is to describe how a user may protect their bootable LinuxMCE drive with Linux software RAID. This process works on existing installations too, no reformat is required. It is recommended that you do not use this as an excuse to store your media on your boot drive. This could make future migrations (version upgrades) complex and problematic. Instructions are provided on making all levels of RAID arrays, however it is recommended that RAID 1 be used. RAID 5&6 incur a performance penalty over their RAID 0&1 counterparts, and may be overkill for the level of protection required by your boot drive. <br />
<br />
If you do want to run other RAID levels you must make a slight modification to these steps. You must create an additional RAID array, about 50MB big. This array must be RAID 1 and it will house your boot partition. I suggest adding this RAID 1 array to all devices.<br />
<br />
For RAID 0 installations your best bet is to backup the contents of an installed partition to another location. Create the array, and then restore the data from backup. It seems technically possible to me, that you could backup just the sectors that would be overwritten by the MD superblock. Perform an in-place copy of the data one stripe at a time from the boot device to the MD device. I will test this at a later date as a fun project. It's all theory for now.<br />
<br />
Having a Linux Live CD or USB distribution on hand would be very useful for troubleshooting. Especially if the LinuxMCE machines is currently acting as your internet gateway!<br />
<br />
=Overview=<br />
For Linux guru's, who may not want to read the grueling details these are the basic steps to this how-to. <br />
<br />
# Install LinuxMCE to a single drive, as normal. (Skip this step if you are converting an existing installation.)<br />
# Partition RAID drives (except current boot drive) with the same partitions as the boot drive.<br />
# Create all RAID arrays without using the current boot drive (specify missing argument to mdadm).<br />
# Format RAID arrays to desired file system.<br />
# Mount RAID arrays and copy all files from boot drive to array.<br />
# Create initrd image that will load RAID modules (you may skip this step if you are using Linux Autodetect partitions).<br />
# Setup fstab and grub on arrays<br />
# Reboot<br />
# Verify a successful boot to the RAID array<br />
# Add original BOOT drive to RAID array<br />
# Watch RAID rebuild all data to BOOT drive<br />
=Process=<br />
* Install Linux MCE using the instructions [[Installation Guide|here]]. Skip this step if you are converting an existing installation.<br />
* Boot the computer with all RAID devices attached. <br />
* Login to a console over SSH or locally as root.<br />
$ sudo su root<br />
* Copy partition information from boot drive to target RAID drives. Repeat this command for each RAID drive.<br />
# sfdisk -d /dev/sda | sfdisk /dev/sdb<br />
* Create degraded RAID array. <br />
<br />
:If you are using other RAID modes this is the time to tweak RAID settings such as chunk size. Note: I use RAID-1 for the swap partition. This is something overlooked by most people running RAID systems. A failure of your swap space could cause erroneous information to be used by the kernel and cause a failure of the RAID system, even if no drives fail! Don't fall into the trap of running your swap as standalone partitions or worse as RAID 0. As the saying goes, you're only as strong as your weakest link. <br />
<br />
:Also note that I am using the switch -e1. This tells mdadm to create the array with the new 1.0 superblock instead of the older 0.90. The newer superblock has many more features and less restrictions. This how-to assumes you use this superblock version as well. If you use the 0.90 for auto-detect support please be aware of the restrictions imposed by this older format. <br />
# mdadm -C /dev/md0 -n2 -l1 -e1 missing /dev/sdb1<br />
# mdadm -C /dev/md1 -n2 -l1 -e1 missing /dev/sdb5<br />
# mdadm -C /dev/md2 -n2 -l1 -e1 missing /dev/sdb6<br />
* Create the file system. <br />
<br />
:Note: If you are using other RAID modes, you should specify the stripe size using the stride option. This is apparently auto-detected for software RAID arrays, but I would make certain of it or your array will experience extremely poor performance.<br />
# mke2fs -j /dev/md0<br />
# mkswap /dev/md1<br />
# mke2fs -j /dev/md2<br />
* Mount the RAID array<br />
# mkdir /mnt/md0 /mnt/md2<br />
# mount /dev/md0 /mnt/md0<br />
# mount /dev/md2 /mnt/md2<br />
* Copy the contents of the boot drive to the RAID array. Rebuild system directories. <br />
# cd /mnt/md0<br />
# tar -c --exclude /dev --exclude /tmp --exclude /sys --exclude /proc --anchored --one-file-system / | tar -xv<br />
# mkdir dev tmp sys proc <br />
# chmod 1777 tmp<br />
# chmod 755 dev sys<br />
# chmod 555 proc<br />
# cp -axv /dev/md* /mnt/md0/dev/<br />
# cp -axv /dev/hd* /mnt/md0/dev/<br />
# cp -axv /dev/sd* /mnt/md0/dev/<br />
# cp -axv /mnt/recovery/dev/ /mnt/md0/<br />
# cp -axv /mnt/recovery/* /mnt/md2/<br />
<br />
* Chroot to RAID array<br />
# chroot /mnt/md0<br />
# mount -t proc proc /proc<br />
* Make mdadm.conf. <br />
<br />
:This is a good time to fill in the MAILADDR field of the mdadm.conf file. Adjust these settings to match your specific installation.<br />
# echo -n "ARRAY /dev/md0 level=raid1 num-devices=2 UUID=" >> /etc/mdadm/mdadm.conf<br />
# mdadm -D /dev/md0 2>/dev/null | grep 'UUID' | awk '{ print $3 }' >> /etc/mdadm/mdadm.conf<br />
# echo -n "ARRAY /dev/md1 level=raid1 num-devices=2 UUID=" >> /etc/mdadm/mdadm.conf<br />
# mdadm -D /dev/md1 2>/dev/null | grep 'UUID' | awk '{ print $3 }' >> /etc/mdadm/mdadm.conf<br />
# echo -n "ARRAY /dev/md2 level=raid1 num-devices=2 UUID=" >> /etc/mdadm/mdadm.conf<br />
# mdadm -D /dev/md2 2>/dev/null | grep 'UUID' | awk '{ print $3 }' >> /etc/mdadm/mdadm.conf<br />
<br />
The result should look like these three lines at the end of the file:<br />
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=f71980df:ab649521:bd9f1658:0a1d2015<br />
ARRAY /dev/md1 level=raid1 num-devices=2 UUID=8dbcb53b:35014427:bd9f1658:0a1d2015<br />
ARRAY /dev/md2 level=raid1 num-devices=2 UUID=cf76f7e4:10a3b5a1:bd9f1658:0a1d2015<br />
* Grab UUID's of RAID block devices. <br />
<br />
:These are not the same as the UUID reported by mdadm. Do not mix them up and do not copy mine, yours will be different.<br />
# blkid<br />
/dev/md0: UUID="7a57eaf8-0025-4a69-874d-37a32ad74625" SEC_TYPE="ext2" TYPE="ext3"<br />
/dev/md1: TYPE="swap" UUID="6433b425-af37-45b1-a009-bfd121b5dcd2"<br />
/dev/md2: UUID="c7687c07-c8d8-4588-b988-86341cccbb6e" SEC_TYPE="ext2" TYPE="ext3"<br />
* Replace the matching entry in fstab with your new UUIDs. <br />
<br />
:With RAID devices in particular it is nice to specify the associated UUID's, since simply adding a new drive the array may change it's device number.<br />
# nano /etc/fstab<br />
<br />
Your fstab should look similar to this when you are done:<br />
proc /proc proc defaults 0 0<br />
UUID=7a57eaf8-0025-4a69-874d-37a32ad74625 / ext3 defaults,errors=remount-ro 0 1<br />
UUID=6433b425-af37-45b1-a009-bfd121b5dcd2 none swap sw 0 0<br />
/dev/cdrom /media/cdrom0 udf,iso9660 user,noauto 0 0<br />
UUID=c7687c07-c8d8-4588-b988-86341cccbb6e /mnt/recovery ext3 ro 0 0<br />
* Modify Grub (/boot/grub/menu.lst). <br />
<br />
:Make your menu.lst look like the one below. Of course substitute your RAID root partition UUID as needed. The last entry (System Recovery) seems to point to an invalid kernel image. This might be a bug or it might be remanent from old scripts. I couldn't find any information on it in the Wiki. I removed this entry, but you may elect to keep it in. <br />
<br />
:The last entry at the bottom is my original boot entry. It is left there only for the first few boots to ensure the initramfs images can successfully assemble the arrays. <br />
<br />
:We add a second boot option for the second hard drive in the RAID array. The idea is that we instruct Grub to load this second boot option automatically if the first one fails (eg. a hard drive dies). For now the fallback command is set to use our original boot parameters. Once everything is working we will change this.<br />
<br />
:Note: Some modern boards play very weird tricks on you when using many different interfaces (IDE/SATA/USB). My BIOS for some reason would order my primary slave IDE hard drive as hd0, and the primary master IDE hard drive as hd4, with my SATA drives spread out all over. Despite Linux ordering these devices properly, and specifying the correct geometry to Grub, grub would still fail to boot from hd1 and insisted that I specify hd4. Specifying the drives in the device.map file did not help. I would imagine manually specifying the BIOS address of each drive would solve the problem. In troubleshooting this issue I found the cat command very useful from the grub command-line. Eg: cat (hd0,0)/boot/grub/menu.lst<br />
<br />
default 1<br />
fallback 4<br />
<br />
timeout 3<br />
<br />
hiddenmenu<br />
<br />
title Ubuntu 7.10, kernel 2.6.22-14-raid - drive 1<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=7a57eaf8-0025-4a69-874d-37a32ad74625 ro quiet splash<br />
initrd /boot/initrd.img-2.6.22-14-raid<br />
quiet<br />
<br />
title Ubuntu 7.10, kernel 2.6.22-14-raid - drive 2<br />
root (hd1,0)<br />
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=7a57eaf8-0025-4a69-874d-37a32ad74625 ro quiet splash<br />
initrd /boot/initrd.img-2.6.22-14-raid<br />
quiet<br />
<br />
title Ubuntu 7.10, kernel 2.6.22-14-generic (recovery mode)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=7a57eaf8-0025-4a69-874d-37a32ad74625 ro single<br />
initrd /boot/initrd.img-2.6.22-14-raid<br />
<br />
title Ubuntu 7.10, memtest86+<br />
root (hd0,0)<br />
kernel /boot/memtest86+.bin<br />
quiet<br />
<br />
title Ubuntu 7.10, kernel 2.6.22-14-generic (original boot)<br />
root (hd0,0)<br />
kernel /boot/vmlinuz-2.6.22-14-generic root=UUID=65b7f225-5581-428f-befe-edcc9e1dd9d7 ro quiet splash<br />
initrd /boot/initrd.img-2.6.22-14-generic<br />
quiet<br />
<br />
* At this time it is a good idea to check your /boot/grub/device.map file and ensure that hd0 and hd1 point to both of your RAID devices. If you are having boot-time issues see my notes above about weird BIOS ordering.<br />
<br />
* Make new initramfs image to load RAID modules and boot the correct root device. Ubuntu comes with the mkinitramfs tools, so this step is very easy. We must add one easy script to the initramfs image.<br />
<br />
# echo "mdadm --assemble --scan" > /etc/initramfs-tools/scripts/init-premount/mdadm<br />
# chmod 755 /etc/initramfs-tools/scripts/init-premount/mdadm<br />
# mkinitramfs -o /boot/initrd.img-2.6.22-14-raid<br />
* Run the grub install utility. Note: For the first boot it is best to use the --once option. That way if we made any mistakes it will revert to previous settings and boot normally.<br />
# grub<br />
# root (hd1,0)<br />
# setup (hd0)<br />
# quit<br />
* Exit chroot. Unmount RAID drive. Reboot.<br />
# exit<br />
# umount /mnt/md0/proc<br />
# umount /mnt/md0<br />
# umount /mnt/md2<br />
# mdadm -S /dev/md0<br />
# mdadm -S /dev/md1<br />
# mdadm -S /dev/md2<br />
* Verify that system booted off of RAID device without error.<br />
<br />
:You're looking to match the UUID of the current root filesystem with the UUID from the md0 device we found earlier using blkids.<br />
<br />
:If you ran into errors, boot to the last option which should boot Linux MCE as normal.<br />
# mount | grep 'on / '<br />
rootfs on / type rootfs (rw)<br />
/dev/disk/by-uuid/7a57eaf8-0025-4a69-874d-37a32ad74625 on / type ext3 (rw,data=ordered)<br />
<br />
* Add original boot device to RAID<br />
<br />
:This is where the real magic takes place. We will now add our original boot drive to the RAID arrays, which will begin syncing immediately.<br />
# swapoff /dev/sda5<br />
# hdadm --add /dev/md0 /dev/sda1<br />
# hdadm --add /dev/md1 /dev/sda5<br />
# hdadm --add /dev/md2 /dev/sda6<br />
<br />
* Watch RAID rebuild<br />
<br />
:The arrays will begin rebuilding, one array at a time. <br />
<br />
# watch -n2 cat /proc/mdstat<br />
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]<br />
md2 : active raid1 sda6[2] sdb6[1]<br />
9766848 blocks super 1.0 [2/1] [_U]<br />
resync=DELAYED<br />
<br />
md1 : active raid1 sda5[2] sdb5[1]<br />
1951852 blocks super 1.0 [2/1] [_U]<br />
resync=DELAYED<br />
<br />
md0 : active raid1 sda1[2] sdb1[1]<br />
68324340 blocks super 1.0 [2/1] [_U]<br />
[==>..................] recovery = 12.5% (8557312/68324340) finish=26.8min speed=37032K/sec<br />
<br />
unused devices: <none><br />
<br />
* After the arrays have been rebuilt it's time to run the grub install again. <br />
# grub<br />
# root (hd0,0)<br />
# setup (hd0)<br />
# root (hd1,0)<br />
# setup (hd1)<br />
# quit<br />
<br />
* Change menu.lst options to default 0, fallback 1<br />
<br />
=Caveats=<br />
I am unsure of how this will play with the built-in raid scripts and components of LinuxMCE. After more testing I will update this wiki with my findings.<br />
<br />
This process is dangerous. It involves moving all of your data around. There is significant protential for data loss due to factors out of your control, such as power failure or hard drive mechanical failure. I recommend backing up all of your data prior to attempting this. <br />
=Troubleshooting=<br />
One of the great advantages of Linux software RAID (and open source in general) is how much flexibility you get with the software. Recovering from data failure with Linux is far easier than all other solutions. If you get stuck in a potential data loss situation, ask for help on some Linux forums or mailing lists. It is EXTREMELY useful to have a Linux Live distribution on hand.<br />
=Notes=<br />
This document is a work in progress. Please update it with your experiences and comments. I personally have followed these steps and experienced great success, that does not mean you will too.</div>Demushttp://wiki.linuxmce.org/index.php?title=Fiire&diff=15405Fiire2008-08-28T05:43:18Z<p>Demus: /* Issues */</p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
=Company=<br />
[http://www.fiire.com Fiire Ltd.] is an online retailer of computer equipment specifically tailored for Linux MCE. The unique products offered by Fiire Ltd. are purchased from OEM manufacture [http://www.polywell.com Polywell Computers].<br />
<br />
==Address==<br />
The official address for Fiire Ltd. according to invoices is:<br />
<br />
:10573 W. Pico Blvd #42 <br />
:Los Angeles CA 90064 <br />
:UNITED STATES <br />
:+1 (213) 325-2667<br />
<br />
However, dealings with support staff indicates that most Fiire employees live in San Jose, California and that Fiire may not occupy an actual office. <br />
<br />
==Issues==<br />
Many Linux MCE users have experienced poor transactions with Fiire Ltd., for a plethora of reasons ranging from faulty hardware, poor support, and outright dishonesty by Fiire employees. Many customers have reported that support requests by e-mail often go unanswered, and that it is near impossible to reach a real person by phone. <br />
<br />
Some customers have been overcharged on shipping in excess of $200.00. Despite this obvious oversight, no efforts by Fiire were made to correct these issues. <br />
<br />
According to customer reports, products usually take a minimum of two weeks to ship and may take longer for certain items.<br />
<br />
Many Fiire products have known issues that have not been addressed and are still being sold to new customers with no indication of the defect or when a fix might be available. One particular issue, where the pointer will drift on Fiire Chief remotes has caused [[Convergenthome|Convergent Home Technologies]] to stop offering this product.<br />
<br />
Forum references: [http://forum.linuxmce.org/index.php?topic=5642.0]<br />
[http://forum.linuxmce.org/index.php?topic=5689.0]<br />
[http://forum.linuxmce.org/index.php?topic=6018.0]<br />
[http://forum.linuxmce.org/index.php?topic=3217.0]<br />
[http://forum.linuxmce.org/index.php?topic=4331.0]<br />
<br />
=Products=<br />
'''You are URGED to read the issues section before making any purchases with Fiire!''' Additionally check the main Wiki article for the product you are looking at purchasing. Many Fiire products have seen compatability regression between Linux MCE 0704 and 0710. The Wiki articles may not have been updated to reflect this. The [http://forum.linuxmce.org forums] are a good source of information on current supported hardware. <br />
<br />
==Fiire 12TB==<br />
(Main article: [[Fiire 12TB]])<br />
This is the Fiire offering for a Linux MCE Core. It is expandable up to 12,000 GB of storage in a RAID configuration. <br />
<br />
:*Supported in LinuxMCE 0710 <br />
:*Supports UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel E8400 Core2 Duo 3.0 GHz<br />
:*2GB RAM<br />
:*Dual gigabit<br />
:*7.1 HD Audio with analog, SPDIF coaxial and optical outputs<br />
<br />
==Fiire Invisible==<br />
(Main article: [[Fiire Invisible]])<br />
Fiire offers three possible units for use as media director. The Invisible is a 2" unit with VESA mounting provisions designed to be attacked to the back of any VESA compliant display. <br />
:*Supports LinuxMCE 0710 <br />
:*1080i hardware accelerated de-interlacing<br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:* AMD BE 2400<br />
:* 1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Prestige==<br />
(Main article: [[Fiire Prestige]])<br />
This model is available in two flavors, the base model and a "lite" model. The only difference between the two is the chassis. The lite model does not include the brushed aluminum case, the VFD display or the infrared receiver. <br />
:*Supports LinuxMCE 0710 <br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel Core2 Duo E4600 2.4GHz<br />
:*1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Chief==<br />
(Main article: [[Fiire Chief]])<br />
The Fiire Chief is a remote specifically designed for LinuxMCE. It contains a gyroscope which allows the user to move an on-screen pointer by gesturing with the remote, similar to a Nintendo Wii controller. The Fiire Chief is based on the [[Using the Gyration Remote GYR3101US (Non-Fiire Chief)|Gyration HTPC remote]], except it contains unique firmware and labeling to perform special LinuxMCE functions (such as "Follow Me"). The Chief operates on the unlicensed 2.4 GHz frequency spectrum and does not require line of sight to control devices. <br />
<br />
==Miscellaneous==<br />
Fiire Ltd. also carries a select range of accessories and interface devices (such as Z-Wave dimmers and HDMI cables). Some of these devices require special drivers which are only available in binary form. To support the open source movement, it is recommended you purchase alternative components with open source drivers.<br />
=Discontinued Products=<br />
==Fiire Engine==<br />
(Main article: [[Fiire Engine]]) This unit has been replaced with the [[Fiire 12TB]]. <br />
:* Software: LinuxMCE 1.1 (KU0704)<br />
:* User Interface: UI2 with masking<br />
:* Processor: AMD Athlon 64 X2 4200+<br />
:* RAM: 1GB<br />
:* Internal Hard drive for operating system: 160 GB<br />
:* RAID storage for media: 6 external e-sata ports for external drives, or external drive cage. Drives and cage not included. Largest e-sata drive at this moment is 1,000 GB, for a total capacity of 6,000 GB or 6TB.<br />
:* Network: Dual Ethernet ports. Gigabit speed.<br />
:* Audio: Standard stereo audio<br />
:* Video: Via 890 chipset <br />
==Fiire Station==<br />
(Main article: [[Fiire Station]])<br />
This unit is no longer sold by Fiire. The unit was based on a Via embedded system which has no OpenGL support with open source drivers. During the LinuxMCE 0704 phase, Fiire licensed binary drivers from Via that contained the necessary OpenGL implementation. In LinuxMCE 0710 the binary driver developed a computability issue that was unable to be resolved. As a result Fiire dropped this product and began offering its new line of thin media directors, the [[Fiire Invisible]].</div>Demushttp://wiki.linuxmce.org/index.php?title=Fiire&diff=15404Fiire2008-08-28T05:42:05Z<p>Demus: /* Issues */</p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
=Company=<br />
[http://www.fiire.com Fiire Ltd.] is an online retailer of computer equipment specifically tailored for Linux MCE. The unique products offered by Fiire Ltd. are purchased from OEM manufacture [http://www.polywell.com Polywell Computers].<br />
<br />
==Address==<br />
The official address for Fiire Ltd. according to invoices is:<br />
<br />
:10573 W. Pico Blvd #42 <br />
:Los Angeles CA 90064 <br />
:UNITED STATES <br />
:+1 (213) 325-2667<br />
<br />
However, dealings with support staff indicates that most Fiire employees live in San Jose, California and that Fiire may not occupy an actual office. <br />
<br />
==Issues==<br />
Many Linux MCE users have experienced poor transactions with Fiire Ltd., for a plethora of reasons ranging from faulty hardware, poor support, and outright dishonesty by Fiire employees. Many customers have reported that support requests by e-mail often go unanswered, and that it is near impossible to reach a real person by phone. <br />
<br />
Some customers have even been overcharged on shipping in excess of $200.00. Despite this obvious oversight, no efforts by Fiire were made to correct these issues. <br />
<br />
According to customer reports, products usually take a minimum of two weeks to ship and may take longer for certain items.<br />
<br />
Many Fiire products have known issues that have not been addressed and are still being sold to new customers with no indication of the defect or when a fix might be available. One particular issue, where the pointer will drift on Fiire Chief remotes has caused [[Convergenthome|Convergent Home Technologies]] to stop offering this product.<br />
<br />
Forum references: [http://forum.linuxmce.org/index.php?topic=5642.0]<br />
[http://forum.linuxmce.org/index.php?topic=5689.0]<br />
[http://forum.linuxmce.org/index.php?topic=6018.0]<br />
[http://forum.linuxmce.org/index.php?topic=3217.0]<br />
[http://forum.linuxmce.org/index.php?topic=4331.0]<br />
<br />
=Products=<br />
'''You are URGED to read the issues section before making any purchases with Fiire!''' Additionally check the main Wiki article for the product you are looking at purchasing. Many Fiire products have seen compatability regression between Linux MCE 0704 and 0710. The Wiki articles may not have been updated to reflect this. The [http://forum.linuxmce.org forums] are a good source of information on current supported hardware. <br />
<br />
==Fiire 12TB==<br />
(Main article: [[Fiire 12TB]])<br />
This is the Fiire offering for a Linux MCE Core. It is expandable up to 12,000 GB of storage in a RAID configuration. <br />
<br />
:*Supported in LinuxMCE 0710 <br />
:*Supports UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel E8400 Core2 Duo 3.0 GHz<br />
:*2GB RAM<br />
:*Dual gigabit<br />
:*7.1 HD Audio with analog, SPDIF coaxial and optical outputs<br />
<br />
==Fiire Invisible==<br />
(Main article: [[Fiire Invisible]])<br />
Fiire offers three possible units for use as media director. The Invisible is a 2" unit with VESA mounting provisions designed to be attacked to the back of any VESA compliant display. <br />
:*Supports LinuxMCE 0710 <br />
:*1080i hardware accelerated de-interlacing<br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:* AMD BE 2400<br />
:* 1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Prestige==<br />
(Main article: [[Fiire Prestige]])<br />
This model is available in two flavors, the base model and a "lite" model. The only difference between the two is the chassis. The lite model does not include the brushed aluminum case, the VFD display or the infrared receiver. <br />
:*Supports LinuxMCE 0710 <br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel Core2 Duo E4600 2.4GHz<br />
:*1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Chief==<br />
(Main article: [[Fiire Chief]])<br />
The Fiire Chief is a remote specifically designed for LinuxMCE. It contains a gyroscope which allows the user to move an on-screen pointer by gesturing with the remote, similar to a Nintendo Wii controller. The Fiire Chief is based on the [[Using the Gyration Remote GYR3101US (Non-Fiire Chief)|Gyration HTPC remote]], except it contains unique firmware and labeling to perform special LinuxMCE functions (such as "Follow Me"). The Chief operates on the unlicensed 2.4 GHz frequency spectrum and does not require line of sight to control devices. <br />
<br />
==Miscellaneous==<br />
Fiire Ltd. also carries a select range of accessories and interface devices (such as Z-Wave dimmers and HDMI cables). Some of these devices require special drivers which are only available in binary form. To support the open source movement, it is recommended you purchase alternative components with open source drivers.<br />
=Discontinued Products=<br />
==Fiire Engine==<br />
(Main article: [[Fiire Engine]]) This unit has been replaced with the [[Fiire 12TB]]. <br />
:* Software: LinuxMCE 1.1 (KU0704)<br />
:* User Interface: UI2 with masking<br />
:* Processor: AMD Athlon 64 X2 4200+<br />
:* RAM: 1GB<br />
:* Internal Hard drive for operating system: 160 GB<br />
:* RAID storage for media: 6 external e-sata ports for external drives, or external drive cage. Drives and cage not included. Largest e-sata drive at this moment is 1,000 GB, for a total capacity of 6,000 GB or 6TB.<br />
:* Network: Dual Ethernet ports. Gigabit speed.<br />
:* Audio: Standard stereo audio<br />
:* Video: Via 890 chipset <br />
==Fiire Station==<br />
(Main article: [[Fiire Station]])<br />
This unit is no longer sold by Fiire. The unit was based on a Via embedded system which has no OpenGL support with open source drivers. During the LinuxMCE 0704 phase, Fiire licensed binary drivers from Via that contained the necessary OpenGL implementation. In LinuxMCE 0710 the binary driver developed a computability issue that was unable to be resolved. As a result Fiire dropped this product and began offering its new line of thin media directors, the [[Fiire Invisible]].</div>Demushttp://wiki.linuxmce.org/index.php?title=MD_Newbie_Pack_Slim_I&diff=15403MD Newbie Pack Slim I2008-08-28T05:32:02Z<p>Demus: /* Remote */</p>
<hr />
<div>[[Category: Hardware]]<br />
[[Category: Newbie_Packs]]<br />
[[Category: Media_Directors]]<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
<br />
[[Image: Silverstone_Lc19-v1.jpg|thumb|200px|Silverstone LaCasa 19 Case]]<br />
<br />
[[Image:MSI_7329.jpg|thumb|200px|MSI Media Live (7329) Motherboard]]<br />
<br />
[[Image:FiireChief.jpg|thumb|200px|Fiire Chief Remote Control]]<br />
<br />
''Note: Some of the components on this list may not be available outside of Europe. Look [http://wiki.linuxmce.org/index.php/Category:Newbie_Packs here] for other Media Director examples.''<br />
<br />
= Status =<br />
Confirmed working with 0704, 0710b3, 0710b4, 0710RC1<br />
<br />
= Features =<br />
* Small HiFi form factor<br />
* Brushed aluminum front<br />
* Clear design<br />
* Plenty of outputs (component, HDMI, ..)<br />
* low power usage<br />
* UI2 capable (reported up to 720p)<br />
<br />
= Components =<br />
== Case ==<br />
[[SilverStone LaCasa LC19]]<br />
<br />
See [http://www.silverstonetek.com/products/p_spec.php?pno=lc20&area=usa website] for more details. Approx. $140.<br />
<br />
== Optical (DVD) drive ==<br />
Pioneer (Bulk) DVR-K06 Slim Slot-In<br />
== CPU ==<br />
AMD BE2400 <br />
== Cooling Fan or Heat Sink ==<br />
<br />
Silverstone NT07-AM2 Fan<br />
([http://www.silverstonetek.com/products/p_spec.php?pno=nt07-am2&area=usa website])<br />
*For AMD CPU sockets up to 65W power <br />
*Low profile<br />
*Approx. $20 (April 2008).<br />
<br />
Available in Europe only:<br />
<br />
NORTHQ NQ 3393 Heat sink with fan<br />
([http://www.northq.com/products/coolers/nq3393.html website])<br />
<br />
or<br />
<br />
Hiper HFC10820C1<br />
([http://www.ciao.de/HiperFlow_HFC_10820_C1__2639455 German website])<br />
<br />
== RAM ==<br />
2xDDR2 PC800 1GB<br />
== Motherboard ==<br />
[[MSI Media Live Mainboard]]<br />
<br />
See [http://global.msi.com.tw/index.php?func=prodcpusupport&prod_no=1113&maincat_no=134&cat2_no=&cat3_no= website] for details.<br />
<br />
== Remote ==<br />
[[Fiire Chief]] - '''Buyer beware! Please read the long list of [[Fiire#Issues|issues]] other users have had with Fiire hardware and customer support.'''</div>Demushttp://wiki.linuxmce.org/index.php?title=Fiire&diff=15402Fiire2008-08-28T05:29:32Z<p>Demus: </p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
=Company=<br />
[http://www.fiire.com Fiire Ltd.] is an online retailer of computer equipment specifically tailored for Linux MCE. The unique products offered by Fiire Ltd. are purchased from OEM manufacture [http://www.polywell.com Polywell Computers].<br />
<br />
==Address==<br />
The official address for Fiire Ltd. according to invoices is:<br />
<br />
:10573 W. Pico Blvd #42 <br />
:Los Angeles CA 90064 <br />
:UNITED STATES <br />
:+1 (213) 325-2667<br />
<br />
However, dealings with support staff indicates that most Fiire employees live in San Jose, California and that Fiire may not occupy an actual office. <br />
<br />
==Issues==<br />
Many Linux MCE users have experienced poor transactions with Fiire Ltd., for a plethora of reasons ranging from faulty hardware, poor support, and outright dishonesty by Fiire employees. Many customers have reported that support requests by e-mail often go unanswered, and that it is near impossible to reach a real person by phone. <br />
<br />
Some customers have reported being overcharged on shipping in excess of $200.00. Despite this obvious oversight, no efforts by Fiire were made to correct these issues. <br />
<br />
According to customer reports, products usually take a minimum of two weeks to ship and may take longer for certain items.<br />
<br />
Many Fiire products have known issues that have not been addressed and are still being sold to new customers with no indication of the defect or when a fix might be available. One particular issue, where the pointer will drift on Fiire Chief remotes has caused [[Convergenthome|Convergent Home Technologies]] to stop offering this product.<br />
<br />
Forum references: [http://forum.linuxmce.org/index.php?topic=5642.0]<br />
[http://forum.linuxmce.org/index.php?topic=5689.0]<br />
[http://forum.linuxmce.org/index.php?topic=6018.0]<br />
[http://forum.linuxmce.org/index.php?topic=3217.0]<br />
[http://forum.linuxmce.org/index.php?topic=4331.0]<br />
<br />
<br />
=Products=<br />
'''You are URGED to read the issues section before making any purchases with Fiire!''' Additionally check the main Wiki article for the product you are looking at purchasing. Many Fiire products have seen compatability regression between Linux MCE 0704 and 0710. The Wiki articles may not have been updated to reflect this. The [http://forum.linuxmce.org forums] are a good source of information on current supported hardware. <br />
<br />
==Fiire 12TB==<br />
(Main article: [[Fiire 12TB]])<br />
This is the Fiire offering for a Linux MCE Core. It is expandable up to 12,000 GB of storage in a RAID configuration. <br />
<br />
:*Supported in LinuxMCE 0710 <br />
:*Supports UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel E8400 Core2 Duo 3.0 GHz<br />
:*2GB RAM<br />
:*Dual gigabit<br />
:*7.1 HD Audio with analog, SPDIF coaxial and optical outputs<br />
<br />
==Fiire Invisible==<br />
(Main article: [[Fiire Invisible]])<br />
Fiire offers three possible units for use as media director. The Invisible is a 2" unit with VESA mounting provisions designed to be attacked to the back of any VESA compliant display. <br />
:*Supports LinuxMCE 0710 <br />
:*1080i hardware accelerated de-interlacing<br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:* AMD BE 2400<br />
:* 1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Prestige==<br />
(Main article: [[Fiire Prestige]])<br />
This model is available in two flavors, the base model and a "lite" model. The only difference between the two is the chassis. The lite model does not include the brushed aluminum case, the VFD display or the infrared receiver. <br />
:*Supports LinuxMCE 0710 <br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel Core2 Duo E4600 2.4GHz<br />
:*1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Chief==<br />
(Main article: [[Fiire Chief]])<br />
The Fiire Chief is a remote specifically designed for LinuxMCE. It contains a gyroscope which allows the user to move an on-screen pointer by gesturing with the remote, similar to a Nintendo Wii controller. The Fiire Chief is based on the [[Using the Gyration Remote GYR3101US (Non-Fiire Chief)|Gyration HTPC remote]], except it contains unique firmware and labeling to perform special LinuxMCE functions (such as "Follow Me"). The Chief operates on the unlicensed 2.4 GHz frequency spectrum and does not require line of sight to control devices. <br />
<br />
==Miscellaneous==<br />
Fiire Ltd. also carries a select range of accessories and interface devices (such as Z-Wave dimmers and HDMI cables). Some of these devices require special drivers which are only available in binary form. To support the open source movement, it is recommended you purchase alternative components with open source drivers.<br />
=Discontinued Products=<br />
==Fiire Engine==<br />
(Main article: [[Fiire Engine]]) This unit has been replaced with the [[Fiire 12TB]]. <br />
:* Software: LinuxMCE 1.1 (KU0704)<br />
:* User Interface: UI2 with masking<br />
:* Processor: AMD Athlon 64 X2 4200+<br />
:* RAM: 1GB<br />
:* Internal Hard drive for operating system: 160 GB<br />
:* RAID storage for media: 6 external e-sata ports for external drives, or external drive cage. Drives and cage not included. Largest e-sata drive at this moment is 1,000 GB, for a total capacity of 6,000 GB or 6TB.<br />
:* Network: Dual Ethernet ports. Gigabit speed.<br />
:* Audio: Standard stereo audio<br />
:* Video: Via 890 chipset <br />
==Fiire Station==<br />
(Main article: [[Fiire Station]])<br />
This unit is no longer sold by Fiire. The unit was based on a Via embedded system which has no OpenGL support with open source drivers. During the LinuxMCE 0704 phase, Fiire licensed binary drivers from Via that contained the necessary OpenGL implementation. In LinuxMCE 0710 the binary driver developed a computability issue that was unable to be resolved. As a result Fiire dropped this product and began offering its new line of thin media directors, the [[Fiire Invisible]].</div>Demushttp://wiki.linuxmce.org/index.php?title=Fiire&diff=15401Fiire2008-08-28T05:29:07Z<p>Demus: /* Issues */</p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
=Company=<br />
[http://www.fiire.com Fiire Ltd.] is an online retailer of computer equipment specifically tailored for Linux MCE. The unique products offered by Fiire Ltd. are purchased from OEM manufacture [http://www.polywell.com Polywell Computers].<br />
<br />
==Address==<br />
The official address for Fiire Ltd. according to invoices is:<br />
<br />
:10573 W. Pico Blvd #42 <br />
:Los Angeles CA 90064 <br />
:UNITED STATES <br />
:+1 (213) 325-2667<br />
<br />
However, dealings with support staff indicates that most Fiire employees live in San Jose, California and that Fiire may not occupy an actual office. <br />
<br />
==Issues==<br />
Many Linux MCE users have experienced poor transactions with Fiire Ltd., for a plethora of reasons ranging from faulty hardware, poor support, and outright dishonesty by Fiire employees. Many customers have reported that support requests by e-mail often go unanswered, and that it is near impossible to reach a real person by phone. <br />
<br />
Some customers have reported being overcharged on shipping in excess of $200.00. Despite this obvious oversight, no efforts by Fiire were made to correct these issues. <br />
<br />
According to customer reports, products usually take a minimum of two weeks to ship and may take longer for certain items.<br />
<br />
Many Fiire products have known issues that have not been addressed and are still being sold to new customers with no indication of the defect or when a fix might be available. One particular issue, where the pointer will drift on Fiire Chief remotes has caused [[Convergenthome|Convergent Home Technologies]] to stop offering this product.<br />
<br />
Forum references: [http://forum.linuxmce.org/index.php?topic=5642.0]<br />
[http://forum.linuxmce.org/index.php?topic=5689.0]<br />
[http://forum.linuxmce.org/index.php?topic=6018.0]<br />
[http://forum.linuxmce.org/index.php?topic=3217.0]<br />
[http://forum.linuxmce.org/index.php?topic=4331.0]<br />
[http://forum.linuxmce.org/index.php?topic=5642.0]<br />
<br />
=Products=<br />
'''You are URGED to read the issues section before making any purchases with Fiire!''' Additionally check the main Wiki article for the product you are looking at purchasing. Many Fiire products have seen compatability regression between Linux MCE 0704 and 0710. The Wiki articles may not have been updated to reflect this. The [http://forum.linuxmce.org forums] are a good source of information on current supported hardware. <br />
<br />
==Fiire 12TB==<br />
(Main article: [[Fiire 12TB]])<br />
This is the Fiire offering for a Linux MCE Core. It is expandable up to 12,000 GB of storage in a RAID configuration. <br />
<br />
:*Supported in LinuxMCE 0710 <br />
:*Supports UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel E8400 Core2 Duo 3.0 GHz<br />
:*2GB RAM<br />
:*Dual gigabit<br />
:*7.1 HD Audio with analog, SPDIF coaxial and optical outputs<br />
<br />
==Fiire Invisible==<br />
(Main article: [[Fiire Invisible]])<br />
Fiire offers three possible units for use as media director. The Invisible is a 2" unit with VESA mounting provisions designed to be attacked to the back of any VESA compliant display. <br />
:*Supports LinuxMCE 0710 <br />
:*1080i hardware accelerated de-interlacing<br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:* AMD BE 2400<br />
:* 1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Prestige==<br />
(Main article: [[Fiire Prestige]])<br />
This model is available in two flavors, the base model and a "lite" model. The only difference between the two is the chassis. The lite model does not include the brushed aluminum case, the VFD display or the infrared receiver. <br />
:*Supports LinuxMCE 0710 <br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel Core2 Duo E4600 2.4GHz<br />
:*1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Chief==<br />
(Main article: [[Fiire Chief]])<br />
The Fiire Chief is a remote specifically designed for LinuxMCE. It contains a gyroscope which allows the user to move an on-screen pointer by gesturing with the remote, similar to a Nintendo Wii controller. The Fiire Chief is based on the [[Using the Gyration Remote GYR3101US (Non-Fiire Chief)|Gyration HTPC remote]], except it contains unique firmware and labeling to perform special LinuxMCE functions (such as "Follow Me"). The Chief operates on the unlicensed 2.4 GHz frequency spectrum and does not require line of sight to control devices. <br />
<br />
==Miscellaneous==<br />
Fiire Ltd. also carries a select range of accessories and interface devices (such as Z-Wave dimmers and HDMI cables). Some of these devices require special drivers which are only available in binary form. To support the open source movement, it is recommended you purchase alternative components with open source drivers.<br />
=Discontinued Products=<br />
==Fiire Engine==<br />
(Main article: [[Fiire Engine]]) This unit has been replaced with the [[Fiire 12TB]]. <br />
:* Software: LinuxMCE 1.1 (KU0704)<br />
:* User Interface: UI2 with masking<br />
:* Processor: AMD Athlon 64 X2 4200+<br />
:* RAM: 1GB<br />
:* Internal Hard drive for operating system: 160 GB<br />
:* RAID storage for media: 6 external e-sata ports for external drives, or external drive cage. Drives and cage not included. Largest e-sata drive at this moment is 1,000 GB, for a total capacity of 6,000 GB or 6TB.<br />
:* Network: Dual Ethernet ports. Gigabit speed.<br />
:* Audio: Standard stereo audio<br />
:* Video: Via 890 chipset <br />
==Fiire Station==<br />
(Main article: [[Fiire Station]])<br />
This unit is no longer sold by Fiire. The unit was based on a Via embedded system which has no OpenGL support with open source drivers. During the LinuxMCE 0704 phase, Fiire licensed binary drivers from Via that contained the necessary OpenGL implementation. In LinuxMCE 0710 the binary driver developed a computability issue that was unable to be resolved. As a result Fiire dropped this product and began offering its new line of thin media directors, the [[Fiire Invisible]].</div>Demushttp://wiki.linuxmce.org/index.php?title=Follow_Me&diff=15399Follow Me2008-08-28T05:22:19Z<p>Demus: </p>
<hr />
<div>Follow-me works in a number of different ways... the simplest does not require any fancy hardware beyond a Core/Hybrid and a 2nd MD. Start some media playing at the Core/Hybrid, click home and then select the media flloor plan. Now click the the big 'F' button and it will turn red. Now you have a number of options... you could change the room that you are controlling to the room that your 2nd MD is in... and the Media you had playing at your Core/Hybrid will start playing there! Change the room that you are controlling back to the Room that your Core/Hybrid is in again... and the Media will jump back to the Core/Hybrid again and continue playing. You can also do a similar trick from the Media Floor plan... if you have a floor plan graphic added. Again get the Media playing at the MD you are sitting at and then get the Media Floor plan up on screen (make sure follow-me is on in the Media Floor plan). Now move the highlight over to the MD that you want to move the media to and click once... next move the highlight to the Media playing list on the Media Floor plan (it will be the name of the media you chose to play). Click this media once... magically the media with 'move' to the MD you chose to move it to... and continue playing where it left off!<br />
<br />
Now with a Bluetooth enabled phone the idea is to make this totally transparent... just turn on follow-me on the phone and move from the room your in to another room with an MD with a bluetooth dongle attached... and magically when the MD your moving towards can sense your bluetooth signal it will make the media move across to it. The problem is that Bluetooth signal are too powerful and lmce can't determine which MD you are closer to reliably. If it worked well this would be great because almost everyone owns a mobile and almost all of them have bluetooth (at least here in Europe thats the case). But it does not work reliably at all... believe me we have tried for a long time to make this work... it just doesn't (enough of the time).<br />
<br />
The [[Fiire Chief]] remote does work... 100% of the time (or pretty close to 100%). Just add a Fiire dongle to all your MD's... then press 'follow-me' on the remote before you leave a room (to tell the system when you want pickup from in your media playback) then walk to the other room and press 'follow-me' again and the Media will pickup from the point where you pressed 'follow-me' in the previous room. This works so well you have to see it to understand how impressive it is... because it is damn impressive! '''Buyer beware! There is a long list of [[Fiire#Issues|issues]] with Fiire hardware and support. Please inform yourself before making a purchase. I wish I had.'''<br />
<br />
----<br />
From the forum [http://forum.linuxmce.org/index.php?topic=2030.msg12496#msg12496]. <br />
<br />
[[Category: Tutorials]]</div>Demushttp://wiki.linuxmce.org/index.php?title=Where_to_Buy&diff=15397Where to Buy2008-08-28T05:17:32Z<p>Demus: /* United States */</p>
<hr />
<div>[[Category: Hardware| ]]<br />
{| align="right"<br />
| __TOC__<br />
|}<br />
This is '''not''' meant as an endorsement, but the question of where to buy certain things pops up regularly. Some of this equipment can be hard to find locally, so help out and add your own suppliers to the list if they aren't already there and either way feel free to add a line with your experience. <br />
<br />
''Please add countries alphabetically, and append new stores to the bottom of the lists in order to keep things organized, thank you and good luck with that shopping list!''<br />
<br />
== WorldWide ==<br />
'''DealNews''' ([http://www.dealnews.com Link]) ''The'' Place to get Awesome Deals!.<br />
<br />
<br />
== Africa ==<br />
<br />
<br />
== America ==<br />
<br />
<br />
=== United States ===<br />
<br />
<br />
'''Fiire''' ([http://www.fiire.com/ english]) ''The'' remote, and also core/media director hardware. '''Buyer beware! Your are STRONGLY urged to read the long list of [[Fiire#Issues|Fiire issues]] before purchasing any equipment from them.'''<br />
<br />
== Asia ==<br />
<br />
<br />
== Australia ==<br />
<br />
<br />
== Europe ==<br />
<br />
<br />
'''Z-wave Europe''' ([http://www.z-wave-europe.org/ italian]) Z-wave product list for Europe and website links.<br />
<br />
<br />
<br />
=== Belgium ===<br />
<br />
<br />
'''IntelliHome''' Domotica Shop ([http://www.intellihome.be/ dutch]) <br />
* Marmitek X10 Home Automation Products<br />
* Marmitek Home Security Products<br />
* Site in English/Dutch/French/German<br />
* Ships to Europe<br />
<br />
<br />
<br />
=== Denmark ===<br />
<br />
<br />
'''Seluxit''' ([http://www.seluxit.com english]) Z-wave products incl. [http://shop.seluxit.com/catalog/product_info.php?currency=EUR&products_id=30 multi-sensor] [http://shop.seluxit.com/catalog/product_info.php?currency=EUR&products_id=29 usb homecontroller]<br />
* Not yet tested.<br />
<br />
<br />
'''Innovus''' ([http://www.innovus.dk/ danish]/[http://www.innovus.eu english]) Z-wave products<br />
* Not yet tested.<br />
<br />
<br />
<br />
'''ElectronicHouseKeeper''' ([http://www.electronichousekeeper.com danish]) Their own line of Z-wave products<br />
* Not yet tested.<br />
<br />
<br />
<br />
=== Germany ===<br />
<br />
<br />
'''DVBShop''' ([http://www.dvbshop.net english]) Everything you need for DVB (Cable, Sattelite or Terrestrial) digital television, worldwide shipping.<br />
<br />
<br />
'''Zwave4u''' ([http://www.zwave4u.de german]) Z-wave products. Accepts Paypal.<br />
* Not yet tested.<br />
<br />
<br />
'''Merten''' ([http://www.merten.de german]) They have their own line of Z-wave products.<br />
* Not yet tested.<br />
<br />
<br />
'''Duewi''' ([http://www.duewi.de german]) They have their own line of Z-wave products.<br />
* No online shop.<br />
<br />
<br />
<br />
=== Netherlands ===<br />
<br />
<br />
'''ElekHomica''' ([http://www.elekhomica.nl/ dutch]/[http://www.elekhomica.nl/infopage2.php?language=nn english])<br />
X10 and Zwave, even remote controlled curtainrail! EU shipping (curtainrail NL/BE only).<br />
* Quick and painless delivery.<br />
<br />
<br />
'''ALTERNATE''' Computerversand ([http://www.alternate.nl/ dutch]) [http://www.alternate.nl/html/productDetails.html?artno=NMZV62 airmouse] and lots of regular PC hardware, <br />
* Usually slow on delivery.<br />
<br />
<br />
'''iHabitat''' Home automation ([http://www.ihabitat.nl/ dutch])<br />
[http://www.ihabitat.nl/html/global_cache.html gc100] <br />
* A bit slow to respond to the inquiry, but fast no-nonsense delivery.<br />
<br />
<br />
'''MyPowerShop''' ([http://www.mypowershop.eu dutch]) X10 and Z-wave products. Accepts Paypal<br />
* Not yet tested<br />
<br />
<br />
<br />
=== Norway ===<br />
<br />
<br />
'''Tronika aka Smarthus''' ([http://www.smarthus.info/ norwegian]) Z-wave products incl. [http://www.smarthus.info/product_info.php?cPath=1_46_115&products_id=2248 usb homecontroller]<br />
* Not yet tested<br />
<br />
<br />
<br />
=== Sweden ===<br />
<br />
<br />
'''Eliving''' ([http://www.eliving.se swedish]) Z-wave products incl. [http://www.eliving.se/product_info.php?cPath=21_29&products_id=72 usb homecontroller]<br />
* Not yet tested<br />
<br />
<br />
<br />
=== United Kingdom ===<br />
<br />
<br />
'''Convergent Home Technologies - The Digital Home Specialists''' ([http://www.chtukltd.co.uk English])<br />
* Core/Hybrids built & tested to order (AM2/nVidia)<br />
* MD's built & tested (AM2/nVidia & Via C7/CN700/CX700 with Drivers)<br />
* Z-wave - full range of European units<br />
* lmce-0704 / lmce-0710 software pre-installed & configured on all Core/Hybrids<br />
* Full after sales support provided<br />
* Will Ship Worldwide<br />
<br />
<br />
'''Let's automate''' ([http://www.letsautomate.com/index.cfm])<br />
* ZWave<br />
* Home automation<br />
* ...</div>Demushttp://wiki.linuxmce.org/index.php?title=Video&diff=15396Video2008-08-28T05:14:44Z<p>Demus: /* Equipment used in the demo */</p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
[[Category:Sample_user_setups]]<br />
<br />
Watch one of the two demo videos instantly on Google video: <br />
<br />
:*[http://video.google.com/videoplay?docid=2176025602905109829&hl=en LinuxMCE 7.04 video]<br />
:*[http://video.google.com/videoplay?docid=-4422887272477313460&q=linuxmce&ei=iQUrSPfRKaTeqwP4k7SgCQ&hl=en An older LinuxMCE demo and comparison to Windows MCE] <br />
<br />
You can also download the video from the [[Mirrors]].<br />
<br />
<br />
=Preface to the LinuxMCE 704 video=<br />
==Caveats==<br />
Not much. So far most users have reported it works as expected on the first try so long as the video card is compatible. The Quick install DVD I used in the video is more foolproof than the CD, however, you have to watch out for the network connection as mentioned below under the "The setup wizard". If you don't have gallery art or the list of optional software under 'add software' is empty, you probably don't have a network connection. If you can't play commercial dvd's, you don't have libdvdcss installed; be sure it's legal in your area and install it on the 'add software' tab in the setup wizard.<br />
<br />
==Purpose of the video==<br />
The original LinuxMCE 1.0 demo video was done in only a couple hours and just shows some of the software's capabilities. Much more effort was put into this new video which is intended to be a complete walk-through and tutorial that you can follow along, as much as a demo. Together with this document, which explains all the steps in more detail, it should be a getting started guide for LinuxMCE. Some things in this document are technical and intended for seasoned Linux users who want to get under the hood, but the goal is that newbie's can get LinuxMCE up and running quickly. While there are still missing pieces in LinuxMCE, the features shown in the video are stable and the steps shown work every time if you have known-compatible hardware, so anybody should be able to follow the video and get the same result.<br />
<br />
==Getting the video in high-def==<br />
It's easy to watch the video on [http://video.google.com/videoplay?docid=2176025602905109829&hl=en Google Video] since you don't need to download anything. But, the quality is pretty bad so if you're interested in LinuxMCE it's recommended you download the original version, which is in 720p high-def from one of the [[Mirrors]]. In it you can read everything on the screen clearly, even the small text on the web pages. All the screen captures and footage were done in HD. It's available in 2 formats: To watch it on a Windows PC, the Windows Media Video (wmv) format is easiest since you don't need any codecs and it's widely supported. It's also in Ogg Theora format (.ogm), which is supported by most Linux distros and can be played using the Kubuntu Live CD. The quality is about the same between the 2 formats, and they're 400MB and 24 minutes long. It's been reported that some Windows Media Players don't properly sync the audio and video. This is a Windows Media bug and pausing the video and repositioning it by sliding the 'current position' scroll bar cause Windows to re-sync. Under Linux most video drivers don't offer hardware acceleration so playing back HD content can be choppy if you don't have a fast enough system.<br />
<br />
==Stability of the software==<br />
The actual architecture in the original LinuxMCE 1.0, which was inherited from Pluto, was already stable. However, the integration with Ubuntu was very incomplete, the setup was pre-alpha at best, and a lot of the features didn't work. In the online survey which asks users if their installation was successful only 23% said 'yes'. With the RC1 for this version it is now 86%, which is quite good considering only 93% reported they were able to get through the Kubuntu installation. Every feature in the demo video should be stable now, with a few exceptions noted below. Basic media playback is now rock solid. A stress-test demo script hammers the system constantly, changing content, playback speed, skipping chapters, etc., several times a seconds, while in parallel forcing the GUI's screens to change, flip through cover art, etc. I've left it running for days, simulating hundreds of thousands of media cycles, without any crashes. There are still missing features, but what you see in the demo video works well.<br />
=Equipment used in the demo=<br />
In the detailed info for the video I reference the equipment used by number in parenthesis: e.g. boot the computer (1) and insert the [[IR]] receiver (2). Here is the equipment and, when available, the manufacturers page or a source page. I tried to use only widely available, off-the-shelf components when possible to remain vendor neutral and non-commercial.<br />
<br />
#The computer consisted of an [http://www.newegg.com/Product/Product.aspx?Item=N82E16813131014 ASUS m2npv-vm motherboard BIOS version 0901], [http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=2+50001028+40000343+1051720996+1302820275+1389627502&Configurator=&Subcategory=343&description=&Ntk=&srchInDesc= AMD Athlon 64 X2 3600+ CPU], [http://www.newegg.com/Product/Product.aspx?Item=N82E16822145069 80GB hard drive], Realtek 8139 as the 2nd network card, 1GB RAM, generic CD/DVD, keyboard used only to to install<br />
#[http://www.usbuirt.com/ USB UIRT IR Receiver Transmitter] IRTrans and Tira supposedly are also fully supported, and some of the Windows ones work, but for receiving [[IR]] only, not for transmitting [[IR]] codes to other devices.<br />
#[http://www.newegg.com/Product/Product.aspx?Item=N82E16880100851 Standard Windows MCE remote] Found some on Ebay for $7 without the receiver.<br />
#[[Fiire_Chief|Fiire Chief Gyro Remote]] This is a possible exception to the rule that I use only "widely available" components, as there is only one source for this remote to my knowledge. The one used in the video was donated to me by [[Fiire]], who provided the code that was added into LinuxMCE 0704 to make it work. They also donated the thin clients and their LinuxMCE PC (called the Fiire Engine) and the HD camcorder for the new demo video. I didn't show the Fiire Engine in the video because you can do the same thing with a generic PC. I have no ownership or financial ties to Fiire, and encourage alternative solutions be added to this wiki. Fiire's remote itself is a custom OEM development, based off of the [[Using_the_Gyration_Remote_GYR3101US_Non-Fiire_Chief|Gyration GYR3101US]]. Most features are available on both remotes with a proper event map, with exception of the "Follow Me" feature. A regular Windows MCE infrared remote is a less expensive solution. '''Please read about the long list of [[Fiire#Issues|issues]] with Fiire hardware before purchasing.''' <br />
#[[Hauppauge WinTV-PVR-150 MCE]]<br />
#[[Buffalo Linkstation|Buffalo Link Station, model HD-HG300LAN]]<br />
#[[Sharp Aquos LCD|Sharp Aquos LCD TV, model LC-26D6U]]<br />
#[[Yamaha RXV-1500|Yamaha Receiver, model RXV-1500]]<br />
#[[Motorola DCT-6412|Motorola Dual-Tuner HD PVR from the cable company, model DCT-6412]]<br />
#[http://www.bhphotovideo.com/c/product/489034-REG/Sony_VGP_XL1B3_VAIO_VGP_XL1B3_Media_Changer.html/kw/SOVGPXL1B3 Sony VAIO VGP-XL1B3] These Sony's are going out of production. You can also use the [[Powerfile R200]], which is otherwise identical, but more expensive.<br />
#[http://www.smarthome.com/1181.html ZWave lamp module], [http://www.smarthomeusa.com/ShopByManufacturer/HomePro/Item/ZIR000/ ZWave motion detector], [http://www.smarthome.com/1186.html ZWave Master Controller]. The Zwave USB dongle I showed in the video is out of production. I'm not sure which dongles currently in production will work.<br />
#The thin clients were also donated by [[Fiire]], coined the [[Fiire Station]]. Since the filming of this video the unit has been discontinued and replaced with the [[Fiire#Fiire Invisible|Fiire Invisible]]. '''Please see a list of [[Fiire#Issues|issues]] before purchasing.''' My unit was a pre-production prototype and final pricing wasn't available, but I was warned that they will be very expensive because they're custom and the components are specialized to get it down to 9 watts so it can be put in a 1" case with no ventilation. You can also use a laptop as a thin-client. I have a Dell laptop with an nVidia graphics card. When it boots you can press F12 to make it boot off the LAN, and then it becomes a LinuxMCE media director automatically, exactly as shown in the video. However, sometimes the nVidia driver doesn't properly handle the laptops internal vs. external monitor setting, and the nVidia card still has the video tearing issue I mentioned. There are small form-factor thin clients made using off-the-shelf components that should be cheaper than the one in my video. I don't have any to test, but I would encourage users to add notes to this wiki pointing out low-cost options. Also, if some volunteers could figure out how to get cheap, subsidized hardware, like XBox, to work as a LinuxMCE media director that would make LinuxMCE more accessible.<br />
#[http://slimdevices.com/ SqueezeBox Network music player]<br />
#[http://dtresearch.com/ DT375 Web pad]<br />
#Almost all USB Bluetooth dongles work out of the box<br />
#[[Nokia 6620]], series 60 phone.<br />
#[[Panasonic BL-C10]] IP camera.<br />
#[[Cisco 7970]] VOIP Phone<br />
#Generic e-sata controller and sata drives in e-sata enclosures were used for the RAID<br />
<br />
=Detailed info on the video=<br />
Before each stage is an elapsed time in brackets showing how long it took in real life to get to that step. In other words, the installation took 19 minutes + 3 minutes to boot so it took 22 minutes to get to the video wizard.<br />
==PC Preparation==<br />
I had to upgrade the BIOS on my PC (1) and in the BIOS under Advanced, Chipset increase the frame buffer size to 128MB RAM. That is the amount of memory given to the video card. You need 128MB of RAM to use UI2 because of the OpenGL effects. A lack of Linux video drivers is, I feel, the #1 problem facing LinuxMCE and any Linux-based media application that doesn't use proprietary platforms (ie like TiVo and cable boxes). The only free drivers for PC hardware that seem to support compositing, masking and opengl in Linux are nVidia's closed-source proprietary drivers; the nv open source drivers for nVidia can't do this. The nVidia closed-source drivers are pretty stable, however, when you turn on alpha blending in UI2 the video quality is not great; there is some video tearing and the de-interlacing is pretty poor. If you use the nVidia closed-source drivers with UI2 with masking (ie turn off alpha blending) the video quality is fine but the GUI is not as pretty without the alpha blending. See the notes above about the proprietary, licensed drivers in the thin-clients shown in the demo video. ATI's Linux drivers are not stable, and do not support alpha blending. It seems there is a renewed interest in the Intel graphics chipsets since Intel released the drivers under the GPL. However, they're still not at the same level as nVidia's and can't do alpha blending. I believe that Via's drivers don't yet work with the 2.6.20 kernel in Kubuntu. So for now the solution seems to be to use nVidia 6000, 7000 or 8000 cards with nVidia's closed source drivers. LinuxMCE will automatically install the nVidia closed source drivers if it detects an nVidia card.<br />
<br />
==[0:00] Install LinuxMCE==<br />
Typically you only install LinuxMCE on one PC in the house, called the Core, and in any other rooms where you want media you use network boot or thin clients, which are called [[Media director|Media directors]]. You can also install just the [[Media director]] part of LinuxMCE on another Linux PC to use it as a media director and not use network boot. Even so there must be one Core which has the full LinuxMCE software as media directors cannot run without a Core somewhere on the network since the Core is responsible for maintaining the central directory of all media and other devices scattered around the home. If you install the full LinuxMCE Core on multple PC's, they will all act indepently and not share media and devices between them. If you just want a stand-alone media PC, just 1 pc by itself like a "normal" htpc, then install the full LinuxMCE software on that Kubuntu PC. You don't have to use the whole-house features. When you install LinuxMCE with the normal Kubuntu Live CD and 2 LinuxMCE CD's you're asked lots of questions about your region, networking, etc. But that installation takes a long time. The DVD installer is very fast and uses all defaults, you only pick the hard drive to install onto. LinuxMCE will use an IP locator service to figure out what city you're in and set your timezone, longitude and latitude, calculate your sunrise and sunset, and so on. Later LinuxMCE will confirm the location so you can change it if it's not right. The DVD installer will turn on LinuxMCE's DHCP server by default and serve addresses in the 192.168.80.x range. Change this in the admin panel under Advanced, Networking. Because it's running a DHCP server it's usually best that this main LinuxMCE box has dual network cards. The 'external' one connects to the internet, and the 'internal' one to your LAN and the other devices in your home. LinuxMCE has a configurable firewall in the admin panel. During the installation it will attempt to acquire an IP address and access the internet on all your network cards. Whichever succeeds is considered the 'external' network that will GET an IP address from DHCP, and the other one is the internal one that GIVES out IP addresses with its own DHCP server. If you have only 1 network card, it will use 2 aliases for the card. In this case, it's best to disable any other DHCP server on the network and go into the admin panel under Advanced, Network settings and give the LinuxMCE PC a static ip addess for your internet connection, and let it continue to serve IP addresses with it's own DHCP server. Or on that page you can just shut off LinuxMCE's DHCP server altogether, but then you won't be able to thin clients in other rooms and the plug and play engine won't automatically detect and configure IP devices. After installation hit enter to boot up the first time, which will start the video resolution/audio setup wizard.<br />
<br />
==[0:22] Run the Video Resolution/Audio Setup Wizard==<br />
When the video resolution/audio setup wizard starts you'll hear a series of beeps. Because consumer TV's do not usually report their resolution correctly with EDID like a PC Monitor, and LinuxMCE is designed to be used with a TV, this wizard bypasses the usual EDID exchange between the PC and the monitor to auto-detect the resolution and connector used. Instead it just outputs whatever resolution you choose on whatever connector you pick like consumer a/v gear does. When the wizard starts it will ouptut 640x480 on the VGA port. If you can't see it because you're using another connector or your TV doesn't display this resolution, see [[AVWizard]] for keyboard shortcuts you can press when you hear the sequence of beeps to directly choose the connector, and then the resolution. The wizard only starts on the first boot. On future boots you will hear a series of descending beeps. When you do, you can press the AV Menu button on the Gyro remote, or hold down SHIFT on the keyboard, to restart the wizard. Again, you'll hear a alternating series of beeps to let you know when it's running so you can press those keyboard shortcuts if you don't have a picture, and again it will default to 640x480 on VGA. When you hear the ascending beeps during the bootup, that means it's too late in the boot process to start the AV Wizard and it has stopped monitoring SHIFT and the AV Menu buttons because it's already starting the GUI with the current video settings. In the TV UI, you can also choose Advanced, Video Res & Audio Setup to restart the computer and the wizard. Many consumer TV's have overscan, meaning they chop off the edges of the picture. So most media center PC's put the UI only in the middle with a lot of dead space around the edges. But this is inefficient for browsing media because you lose a lot of screen space. So, LinuxMCE uses the whole screen edge-to-edge, and in this wizard shows arrows pointing at the edges of the screen. If the arrows run off the edge of your screen, then you have overscan, and you should choose the +/- and arrow buttons to reduce the UI and fit it within your screen. LinuxMCE will scale it's UI to fit this space. Media playback will still be edge-to-edge, and you can rescale that while the media is playing with the zoom & aspect ratio button. If you choose a digital audio connector (spdif) you'll be asked to confirm that you can hear the Dolby Digital and DTS samples. There is no DTS sample clip, so just say 'yes' if your receiver supports DTS.<br />
<br />
See [[Screenshots]] to see the difference between the UI options you can pick in this wizard. UI1 runs on most any video card. UI2 is more demanding since it uses OpenGL and requires a lot of video memory. UI2 with masking is more widely supported than UI2 with alpha blending. Also, with the nVidia card I have there is noticeable video tearing when watching movies with alpha blending turned on. The video quality is fine when using UI2 with masking, but the UI doesn't look as nice.<br />
<br />
==[0:27] The setup wizard==<br />
Complete the setup wizard, which is divided in 2 parts: [[House Setup Wizard]] (global options for the home), and [[Media Player Wizard]] (just for this particular PC).<br />
<br />
'''Check your internet connection''' You won't have gallery art or a list of software to add, like libdvdcss for playing commercial dvd's, if you don't have an internet connection. The Quick Install DVD I used in the demo video uses all default network settings. I had a non-standard network setup because I have multiple LinuxMCE systems with multiple DHCP servers for testing, so I didn't show my network setup in the video. But, after you type in your name and click ok to confirm your admin login, I suggest choosing 'kde desktop', and when kde starts up, choose 'launch admin web site', which starts firefox. Open a tab and confirm you can browse the web. If so, close Firefox and click 'Activate Orbiter' to continue the setup wizard. If not, go into the admin site and choose Advanced, Network, Network Settings and confirm the settings are ok. If they look alright but you still don't have networking, click on 'update' to stop/restart the networking. If it's getting an IP from DHCP you should see it at the top of the page. If you don't have a dual NIC system where 1 of the cards is able to get an IP address from DHCP, then you probably won't have internet connectivity until you assign a static IP. If you have dual nic's then perhaps the default settings for which one is which is wrong, and you can click 'swap interfaces'. If you didn't have an internet connection already when you started the web browser, but do now, it's recommended to do 2 things.<br />
<br />
1) If there was no internet connection at install time it won't have a current list of software packages you can add that don't come with LinuxMCE (like libdvdcss). This process involves a google search to look for 3rd party add-in software for LinuxMCE, and can take several minutes. To update this list, click the kde button in the lower left, and choose 'System', 'Konsole'. Close any tips popups and enter this line in the console:<br />
<br />
sudo /usr/pluto/bin/getxmls<br />
<br />
2) When it's done, reboot the system by choosing Wizard, Restart, Reboot in the admin panel. Since it won't have been able to auto-determine your location with an ip lookup during installation, now when it boots again with an internet connection it will try again. The setup wizard will start again since you didn't finish it.<br />
<br />
In the house setup you can skip to 'done' and continue to Media Player Setup after specifying the number of rooms in the house, confirming the names of the rooms and that it got your location correctly. Then in Media Player Wizard, you only need to choose the room this is in and click next. If you live in an area where DVD CSS decryption is legal, the add software screen will let you add it to watch commcerical dvd's. When you choose software to add, wait a few minutes for the screen to refresh and the hourglass to go away. You'll see a check mark next to all the software you added successfully. <br />
<br />
Note the Quick Install DVD creates 1 Linux O/S user: linuxmce, password: linuxmce. Any users for the Linux O/S have no correlation to the family members, aka LinuxMCE Users, you specify in the setup wizard. They are 2 different concepts. The Linux O/S users are just for this Linux PC, and are only used by the Linux O/S, and not by LinuxMCE. You won't need them if you only use LinuxMCE and don't log in to the Linux O/S itself. The family members you create in LinuxMCE are global for the whole house and shared amongst all LinuxMCE media directors in the home. Each family member has his own private collection of media, his own voicemail, LinuxMCE admin web site, and so on. "Activate Orbiter" in Launch Manager on the KDE desktop switches back to LinuxMCE's desktop, and is only available when LinuxMCE is running. You can start and stop LinuxMCE in Launch Manager.<br />
<br />
==[0:30] Watch a DVD==<br />
Whenever LinuxMCE starts, the first time you click the screen or choose a button it is ignored because LinuxMCE assumes it starts with the TV off, so the first button you press re-sends an 'On' command to the TV. So if LinuxMCE controls your TV, the Power button on the remote stops media, and then will turn the TV off, and any of the menu buttons turn it on again. Insert a DVD, plug-in the usb uirt, wait about 10 seconds after you see the "Installing software finished" for the device to startup, then start using the windows remote. Note the Zoom & Aspect ratio are often incorrect. The media player in LinuxMCE doesn't get it right all the time. This should be fixed. For now you can choose Menu, Zoom & Aspect to manually change it.<br />
==[0:33] Connect the Gyro Remote==<br />
Plug-in the usb dongle for the gyro remote. After it says "Installation finished", press "Connect" on the gyro remote. This time you get a message that the device won't be active until you reload the router, which will stop the movie. A reload, which takes about 15 seconds, is when the main message router DCERouter reloads and re-builds the list of all the devices in the home, and announces them to all the other devices. Some devices require a reload and some don't. It depends on whether other devices need to be aware of this device or not. You should be notified whenever you add devices that require a reload. If you're going to be adding lots of devices, don't bother doing a reload between each one. Just add them all and do a reload at the end.<br />
<br />
==[0:35] Navigate the media==<br />
Press menu, choose 'Media', 'manage drives', then 'play' next to the 'dvd'. That re-starts playback of whatever disk is in the drive so you don't need to eject and re-insert it. Most DVD's have chapter names in the database so you'll see a description of the chapter. This particular DVD doesn't, so you just see Chapter 1, Chapter 2, etc. Note that the chapters are arranged in a DVD according to "Titles". Most Titles on a DVD have chapters, and there is no 100% sure way of determining which Title has the main movie, and which Titles have bonus material, menus, etc. To my knowledge no other DVD player tries to figure out which Title contains the actual movie, to let you jump straight into the movie. Most commercial DVD players make you wait through the copyright messages and use the DVD menu, while some, like VideoLan/VLC show all the titles and chapters, but leave it up to you to guess which Title has the actual movie. LinuxMCE tries to do this automatically and gets it right about 90% of the time. So normally, as soon as the disc starts you can bring up the chapter list, click the first chapter, and the movie starts. If it doesn't, you either need to jump to the chapter using the DVD menu like a normal DVD player, or scroll down through all the chapters with the gyro where you can find at the bottom all the Titles and chapters on the disc like VLC. Since we haven't added another output device for audio, when we adjust the volume, it's going to be setting the audio output on the PC's sound card. Once we add a tv or receiver, then the volume commands will go there<br />
==[0:38] Rip the disc==<br />
Copy disc takes about 30 minutes depending on the speed of your DVD drive<br />
==[1:08] Install the TV Tuner==<br />
Install the TV Tuner and choose my provider. If the selection of a provider is interrupted by a screen that pops up, you have to go back to the provider tab and start again to specify the provider information. If the TV Tuner was already in the PC when the video wizard ran for the first time it won't interrupt you to say you added a TV Tuner. The card will be shown in the setup wizard and you can pick your provider then. You can also get back to the setup wizard at any time by choosing Advanced, Setup Wizard from the main menu.<br />
<br />
==[1:13] Wait for the guide data==<br />
Wait for mythfilldatabase to finish. When you see the first message 'MythTV is ready however it may take several more minutes to retrieve the guide data' that means mythfilldatabase finished retrieving the list of channels, but it's still retrieving the guide data. At this point you can do a 'reload router' and LinuxMCE will have the channels in the guide, and the guide data will be filled in as mythfilldatabase gets it. However, unfortunately it seems that mythfilldatabase uses 100% cpu, particularly since it hammers mysql. This means everything else in the system grinds to a halt. mythfilldatabase should support an option for 'low priority' which includes sleeps so that it can run in the background. For now, the best thing is just to wait 15 minutes after you see that message to let mythfilldatabase finish before continuing. Also, if you find you have no guide data, that probably means mythfilldatabase crashed while retrieving the guide. This happens about 10% of the time. Then you should run mythfilldatabase by hand, which you can do from a console. To monitor the progress of mythfilldatabase from a console, go to the /var/log/pluto directory. Look for the Spawn_* files, which log the output from all external apps LinuxMCE spawns. You'll see a Spawn_filldb_[pid].log which you can tail.<br />
==[1:28] Wait for OrbiterGen==<br />
When you click 'start using the system' it can take a couple minutes for OrbiterGen to run, which is what checks all the screens in the UI to see if there are changes. Most of the graphical elements in LinuxMCE's UI are pre-rendered by OrbiterGen, except for data grids with live data. This is to make the UI more responsive and allow it to run on low-power devices like pda's that can't scale graphics in real time. Since there are thousands of graphical elements in LinuxMCE this can take a long time. LinuxMCE's UI is object-oriented and defined in the database. There are, it seems, still hundreds of legacy screens that aren't in use anymore, and this process could be optimized to reduce the generation time. Eliminating the wait time for OrbiterGen to run would be really nice, although, in practice, it only happens when you're setting things up and once the system is going you don't need to regen the UI anymore.<br />
==[1:31] Start MythTV==<br />
Choose Media, TV to start MythTV. Both MythTV's UI and LinuxMCE's are usable at the same time so you can use whichever you like. The Start/Menu button brings up LinuxMCE's UI on top of MythTV, and on the 'Now Playing' menu pad are options to bring up MythTV's guide menu, scheduled recordings, etc. The traditional navigation buttons on the Windows remote and Gyro remote work Myth as expected. To access the mythweb site you can either open up a browser on another PC in the home, choose Advanced, KDE desktop and start a web browser there, or choose Advanced, Computing pick Pluto Admin, and then change the pluto-admin in the URL to mythweb. I downloaded the icons for Fox and the Simpsons from the web, and then copied them to the home directory on the LinuxMCE core. Then in mythweb at the bottom of the channel and show pages there is a place where you can upload the icons. If you want to put the icons in the /home directory like I did, you can do this from windows too. Choose Start, Run and then enter: \\192.168.80.1 (or whatever the ip of the core is). Login with the username you created at the "What's your name" screen. Your password is the same. Copy the files to the home folder. You can also right click on a picture on some web page (like the Simpsons), click copy link, and then paste that in mythweb too.<br />
<br />
Sometimes when starting the KDE Desktop I get a 'Sound server fatal error' dialog. I'm not sure what causes this, but it's a message from a KDE process. When it happens it seems sometimes Myth and Xine aren't working and you need to reboot before media playback works again.<br />
<br />
From the KDE Desktop you can get back to LinuxMCE's desktop by clicking 'Activate Orbiter' in the LinuxMCE Launch Manager. Or if you do a 'Reload router' like I did in the video that will cause the Orbiter GUI in LinuxMCE to reload, and when it does, it automatically switches to the LinuxMCE desktop.<br />
<br />
==[1:36] Schedule shows to record==<br />
There are still things that aren't well integrated with MythTV. For example, under the media options menu is a 'thumbnail' option. This is supposed to retrieve the current frame of the TV and allow you to save it as an icon for the channel or show so you don't need to upload it in mythweb. This works for Xine, but the 'frame grabber' isn't working in Myth. Also, when you click 'More' next to the record buttons it's supposed to take you to MythTV's recording options screen so you can specify advanced options. And MythTV is crashing a lot. I tried running it in a stress test simulator like with Xine that simulates constant activity every 250ms, like change channels, pause, play, rewind, etc., but Myth always crashes right away like this. About half the time the problem is that the capture card driver has locked up. I've tried the PVR USB2 (v4l) as well as the internal PVR-150 cards (ivtv), and while I have better results with the latter, there are still frequent crashes. And Mythfrontend gets into a deadlock fairly often. However it was pretty reliable if I scheduled the shows to record, let the back end do the recording, and then watched them under Media, Videos, which uses Xine for playback. Xine never crashed. The MythTV problems seem unrelated to LinuxMCE since I had the same issues using MythTV on a clean Kubuntu 0704 without LinuxMCE. Also Myth front end doesn't run at all on the thin clients shown in the video, so you have to watch the tv show after it's recorded. Also sometimes when using the 'record all episodes' LinuxMCE doesn't show the record icon next to all the shows like it should. You can choose Media, TV and then Menu, recordings to view an accurate recording schedule in Myth's UI, or use MythWeb.<br />
<br />
==[1:38] Wait for MythTV to record some TV shows==<br />
In the demo video I wanted to have a couple days worth of recordings in MythTV so that the Media, Video option had several recordings and I could demonstrate how they appear in LinuxMCE. To follow the video and get the same results you will need to leave the computer for a couple days to do recording. The way I simulated this so I could keep the demo going was to let it record one show which I used in the demo, and then keep moving my system date forward to trick myth into recording snippets from several shows. The Myth Plugin should pick up any new recordings MythTV makes and import the attributes, and assign a picture from the show, or channel if available. I stopped the counter here because in the real world you won't sit and wait a couple days for MythTV to record a bunch of shows before continuing. The utility UpdateMedia constantly scans for new media and adds it to LinuxMCE's database, which is what you see when you choose Media, Videos. When you add media to the PC's internal drives or internal RAID, UpdateMedia immediately updates the database. When you add NAS devices with Windows shares, it can take quite a while to scan them and catalog the media. So if a TV show finishes recording in MythTV, but UpdateMedia is still busy scanning a new NAS, it may be some time before that TV show appears in LinuxMCE's database under Media, Videos.<br />
<br />
==[1:38] Connect a NAS==<br />
There are 2 plug and play mechanisms in LinuxMCE. First, when it finds a device it requests an ip address from the dhcp server it checks the mac address to see if it's a known-manufacturer, and then runs some detection scripts to see what model it is. <br />
<br />
This Buffalo NAS is a known device like that, and so when it's connected, LinuxMCE should set everything up for you using the Buffalo's configuration script. However even if your NAS isn't known, there's another pnp mechanism called the 'Samba Scanner', which constantly scans the network for file shares. When it finds one it asks you if you want to use it, and prompts for a username and password if required. So for all but a couple NAS's, Samba Scanner will find your device.<br />
<br />
You will be asked if you want to use LinuxMCE's directory structure. If so, folders will be created on the share for /public/data/videos, /public/data/audio, etc., and also /user_xxx/data/videos, /user_xxx/data/audio, etc., where xxx is the user number. One will be created for each user. Then this drive will be mounted as /mnt/device/xxx where xxx is the device id in LinuxMCE's database. Symlinc's in /home/public... and /home/user_x will point to the mounted drive. All media directors use the same mount points, so the file paths to media, like /home/public/data/videos/Generic Windows Share[54]/Shrek.mpg are the same whether you're using the main Core PC, or a media director. With this structure you can place public content under the /public folders, and private content in each users /user_ folder. <br />
<br />
By default the media browser shows only public content, but under Source you can add private content. There needs to be a PIN or some other protection added to the media browser; this isn't done yet. So the option 'Use LinuxMCE's directory structure' won't pick up existing media on the device unless you copy the files into the /public and /user private folders, but it gives you the flexibility of having both public and private media on the same share. You can also choose the option to make all the media public or private, in which it just mounts the whole share under either /home/public or /home/user_x. Pictures on storage devices may not appear if you don't use LinuxMCE's directory structure because unlike video & audio files which have id3 tags that LinuxMCE uses by default, pictures usually don't and LinuxMCE organizes them by directory/folder names, starting with those under /home/public/data/pictures. This is fine if you use LinuxMCE's directory structure since it will create a pictures folder. <br />
<br />
What I typically do is, even if I have a device that I want to make all media public, I still choose the option to use LinuxMCE's directory structure and create symlincs. Since LinuxMCE uses the same points mounts on all media directors, symlincs work fine. The drive will be mounted as /mnt/device/[LinuxMCE device id]. Here is how I do this with my buffalo: Go into the admin panel, under Advanced, Configuration, Devices, find the Buffalo device. Under it is the device 'Windows Share: share'. This is what's shared. The device id is 40. So in a console I type: ln -sf /mnt/device/40/MyDocs/Pictures/ /home/public/data/pictures/BuffaloPics. This is actually better than just saying to 'make it all public' because when you do that LinuxMCE's UpdateMedia daemon, which is what catalogs all the media, needs to continuously scan the NAS device over and over looking for new or modified content to catalog. Now, it's only scanning /MyDocs/Pictures/ on the NAS to get the picture and when you choose Media Pictures you'll see a folder "BuffaloPics" that has the Pictures on this NAS. <br />
<br />
The easiest solution, however, is to just to let LinuxMCE be your central media file server and store all your media internally on the main LinuxMCE box. LinuxMCE has built in software RAID, including RAID 5. So you can attach a mix of internal drives, external E-sata drives, etc., and group them all into a fault-tolerant RAID under Advanced, Configuration, RAID. The advantage of doing it this way is that the Linux O/S supports iNotify, which allows the UpdateMedia daemon to directly hook into the file system and monitor every single change as it happens. So as soon as you rename or add a file it's immediately cataloged. <br />
<br />
Windows shares don't work like this since Windows doesn't have the concept of a central database cataloging all media in the home, it just shows you drives and directories, and you cannot hook in to receive notifications. Therefore when LinuxMCE mounts external NAS devices, like the Buffalo, that make Windows-compatible shares, there's no way for LinuxMCE to know instantly every time you make a change to your media. It just has to constantly keep re-scanning the device in the background hunting for changes. It works, and it's transparent to the user, and the end result is still that you get a central catalog of all the media in the home. But it's more efficient to let the LinuxMCE box be your main file server, and, if you use the RAID 5 functions, you won't have to worry about ever losing data when a hard drive crashes. <br />
<br />
LinuxMCE automatically manages the RAID, handles rebuilding it, when drives fail, etc. Plus LinuxMCE makes a nice file server, even if you don't know anything about Linux. It shows up in Windows network neighborhood, automatically has a public share for everyone in home and private shares for each family member, manages all the passwords, and aggregates all content under the one share. So even if you're a Windows user, you can still play and manage all your media just the same. Remember that most of the NAS/Storage/Media Server devices which are sold by the big PC companies for use with Windows computers actually run Linux inside and do pretty much the same thing that LinuxMCE does. You can build a LinuxMCE PC that does everything in this video including the functions of an HP Media Vault that just stores media, for about the same prices as the Media Vault by itself, and for a Windows user the usability of a LinuxMCE PC is not that much different from a Media Vault. LinuxMCE is missing printer sharing though.<br />
<br />
If you tell LinuxMCE to always ignore a device you later want added, go into the admin panel under Advanced, Configuration, Unknown Devices, and delete the device. If you want the device to be redetected so you can specify different options, go under Advanced, Configuration, Devices, locate the device in the tree and delete it. Either way do a reload router under Wizard, Restart afterwards.<br />
<br />
==[1:40] Browse the media on the NAS==<br />
I had over 1,000 music files on the NAS too, so I left it about 20 minutes to finish scanning and cataloging. Mp3 files and others that support id3 tags can have attributes in there that get imported, as well as URL's for cover art, and the cover art itself embedded as a tag. For iles that don't support id3 tagging LinuxMCE will create a separate .id3 file with the same base name as the media file to store the tags. In the Admin site under Files & Media, Media Files Sync you can browse all the media files, add attributes and cover art. These changes are sync'd back into the .id3 tags. There's also a cover art utility under Files & Media, Cover art, that takes the filenames and tags from your files and looks them up on amazon.com and presents a grid of possible matches for each file so you can match the cover art, and also import the attributes from Amazon's database. Once you do the id3 tags are updated so even if you reinstall LinuxMCE it will still have the cover art and attributes. What is missing is audio fingerprinting, where it "listens" to the music file and figures out what song it is based on the sound of the file, rather than relying on id3 tags. MusicBrainz supports this. This functionality should be added to LinuxMCE's UpdateMedia utility.<br />
==[2:00] Connect the TV and Receiver==<br />
I connected the TV using a USB->RS232 cable, and the Receiver the same way. Since there's no reliable way of determining a serial device, LinuxMCE uses brute force to figure it out. You can also add the devices manually. Note that when you pick the com port, it uses the actual usb bus id, not the usual ttyUSB0, ttyUSB1, etc. This is because the com port assignments change with each reboot. Whenever a serial device starts up, like the TV, there's an initialization sequence that confirms the device really is attached, and if not, disables it. If it gets disabled, the plug and play mechanism will try again with the brute force method to figure out what's attached, and re-assign devices accordingly. So, I can swap the serial cables for the tv and receiver, and LinuxMCE will figure this out and swap the serial ports in the device's attributes too. If you remove a tv and move it to another media director, LinuxMCE handles this too. You actually don't need to attach the serial control to the same media director the a/v is on. For example, if you have a projector that is on the opposite side of the room from your receiver, but there is another media director on the other side of the wall, you could actually connect the projector's serial cable to the media director in the other room. If you do something like this, go into the admin panel under Wizard, Devices, AV Equipment and Wizard, Devices, Media Directors and set this up manually since the setup wizard doesn't account for sophisticated setups like this, or if you use specialty equipment like video processors and pre-amps. These are supported, and LinuxMCE will still control them and has a concept of "audio/video paths" so you can specify the audio & video split and pass through an unlimited number of devices, but to do this you must use the admin site. I was told the newer low-end models no longer have serial control. Unfortunately these days most of the cheap TV's don't have serial control. Serial control is much, much better than I/R, since it's very reliable and works every time. If you do get an I/R TV be sure it supports discrete codes. Many TV's, like Sony, may only have a single toggle power and toggle input select on the remote, but they recognize discrete codes for on, off and each input. This way universal remote controls like Harmony can specifically tell the TV to go on and go to an input. TV's that don't have discrete codes are a nightmare since, neither LinuxMCE nor any universal remote, has any way of knowing if it's already on or not when the system first starts, and if so, what input it's on. LinuxMCE tries to handle this by keeping track of the last state. For example, if your 'input select' button toggles through 6 inputs, it will remember that it was last on input 2, and so if you need to go to input 5, it will send 3 input selects. But this is very unreliable and frustrating. The Fiire gyro remotes have press & hold shortcuts on the red, green, yellow and blue buttons to handle situations where a TV or Receiver that only does toggle codes gets out of sync, but it's still a pain and toggle-only-analog-devices (TOAD's) should be avoided if you want to use a universal remote or a home control system. It's best to connect the TV first, pick the input, and then connect the receiver so the steps all appear in order.<br />
==[2:03] Add my cable box==<br />
Choose Advanced, Setup Wizard, A/V devices, scroll down to PVR, Motorola, DCT-6412. It automatically adds this as a child of any available I/R transmitter in the same PC. Just like you can plug a serial control device into a different media director from the one where its actually used, you can do the same with i/r devices. In the Admin site, you could specify another I/R transmitter as the controlling device. By default LinuxMCE will turn off all a/v gear that's not in use. For example, when you stop watching the TV, and don't hit any buttons on the remote control, keyboard or mouse for 15 minutes, it will shut the tv off. The turning off of the TV can be changed in the admin site by going to wizard, devices, orbiters and changing the value for "Seconds before power off". However, for the cable box, we actually don't want LinuxMCE to ever send it any on or off because this should be left on all the time so that it can do recordings, and also because it only has a toggle power i/r code, so it easily gets out of sync. So I went into Wizard, Devices, A/V Equipment, and under the advanced settings for the cable box set the 'Ignore On/Off' to 'on/enabled'. Now even if I directly tell LinuxMCE to turn the device on or off, LinuxMCE won't do anything.<br />
==[2:06] Use the cable box==<br />
When browsing the guide in MythTV you will see channels from both the built-in tv tuner, as well as the listings in the cable box which are tuned on the cable box and received over the a/v inputs on the tv tuner. All the channels have unique channel ID's, so MythTV should be able to tell which channel ID goes with the tv tuner vs. the composite/s-video port. And it appears that LinuxMCE does correctly setup MythTV with both sources, and send MythTV the correct channel ID. But, MythTV isn't switching to the correct input on the capture card automatically. You have to manually switch to the 'composite' input by either hitting menu and choosing Change Inputs, or hitting the 'input' button on the gyro remote, which is what I did. Watching video by choosing the Media, Live TV DCT 6412 option doesn't use MythTV. It's using Xine to play and stream directly from the card. This seemed reasonably stable, though I still found the capture card could get into a weird state at times requiring a reboot. The only caveat is if you're using MythTV and switch to LiveTV be sure to wait a few seconds otherwise MythTV will still be holding the capture card device and Xine won't be able to open it.<br />
==[2:08] Connect the Jukebox==<br />
Choose Media, Manage Drives to any drives, NAS or jukeboxes. These Sony jukeboxes are rebranded Powerfile R200's. However Sony only did a limited run, and has discontinued them, so once inventory has dried up you will need to buy the Powerfile-branded versions which, although identical, are sold to the IT, not consumer, channel and cost several thousands of dollars. To my knowledge all the other consumer DVD jukebox don't have firewire/usb ports. They only have a/v outputs, so they won't be that useful. Rumor has it Sony decided to sell these with their VAIO Windows Media Centers, but they were a flop since having a jukebox attached to a Windows PC that cannot share the content throughout the home kind of defeats the whole purpose. You have to run Sony's software to unload discs every time you want to watch them in another room, and you have to put that big jukebox in the living room. So grab them up while you can. Note that the disc drive in there isn't particularly fast, so ripping each dvd can take an hour. And identifying each one takes about 1 minute. So either way, if you have lots of discs, plan on starting the job and then just leaving it and coming back later. You can monitor the progress by choosing Advanced, Advanced, Pending Tasks on the LinuxMCE menu. Also the jukebox seems really sensitive and if jarred can get misaligned and have trouble loading and unloading discs. Also, the kernel drivers, or mtx utilities or jukebox itself aren't totally stable and sometimes you need to cycle power on the jukebox. If you insert a disk the wrong way or there's a slot containing something that doesn't seem to be a disk, the Powerfile_C200 device will mark itself offline and unavailable until you do a reload router. See the Powerfile's log in /var/log/pluto to see more.<br />
<br />
==[2:17] Connect the ZWave Lighting Control==<br />
Zwave is a problem right now because the Zwave USB adapters shown in the video are not in production anymore. There is a new model from Intermatic, but there are no Linux drivers for the USB-to-RS232 chip on it. I heard that someone has sponsored the driver development so hopefully it will be added shortly. Although I used a ZWave motion detector for the demo it's not really a reliable security system, and the motion detector I used reports false motion events often. You should get a LinuxMCE-compatible alarm panel that hooks up with a serial port to a LinuxMCE PC. You need to specify which lights are in which rooms and what types of lights they are. The Zwave network doesn't report this info, only the given node id's. This makes it much easier to create scenarios and layout your floorplan lighter. The setup wizard will flash each light/blind/other device and ask you which one it is. Because communication over the ZWave network is slow, the lights don't always respond right away and you can waste time hunting for which light is which. The easiest solution is to write down the lights in the order you pair them because when the setup wizard tries asks you to identify them it uses the same order. The UpdateEntArea utility is run at every router reload and creates lots of default, canned scenarios. In any room that has lights, it creates an 'on' and an 'off' scenario which turns those lights on/off. And in any room with a TV it creates a Showtime scenario which dims the light. It creates an event handler for 'watching media' for each room that automatically runs the Showtime scenario when the tv's are in use. You can change these defaults in Wizard, Scenarios, Lighting Scenarios and Wizard, Events, Respond to Events. If you don't ever modify a default scenario by selecting the hyperlink and changing something, it will be kept current and as you add/remove lights the scenario will change. Once you manually change the canned scenario, or uncheck it so it's not included anymore, then it won't be updated again; LinuxMCE won't override your manual changes. You can also create your own scenarios, and uncheck the default canned scenarios to not use them. If you don't like what LinuxMCE does to the lights when you start watching TV, either change the Showtime scenario, or just disable the Event handlers for 'Watching media in a room' and 'Stopped watching media in a room' and LinuxMCE won't run the Showtime scenario automatically.<br />
==[2:25] Using scenarios and floorplans explained==<br />
There are 2 ways to do things in LinuxMCE; either by choosing a Scenario (aka a Command Group or Scene), or by directly controlling a device. Both scenarios and devices are grouped into Lights, Media, Climate, Telecom and Security, and also they are both organized by room. A scenario is just a group of commands that will be sent to a device. Create scenarios in the Admin site under Wizard, Scenarios. Dircectly control a device by choosing the 'Floorplan' button which is in each of those 5 sub-menus. So, for example, a scenario might be 'go to bed', and this can turn off a bunch of lights, set the phones to bypass, dim the thermostat, etc. <br />
<br />
To create this scenario you would go to Wizard, Scenarios, Lighting Scenarios, create a new scenario called 'go to bed'. Choose to first add commands with the "Lighting Wizard", and check all the devices to 'off'. Then instead of 'Lighting Wizard' in the pull-down choose 'Advanced Wizard', send to the telecom plugin. 'set user status' command (note there's a command scenario 'sleep' that does this same sequence already). If you put the scenario in the room 'Living Room', then when any orbiter is in the living room, you will see the option 'go to bed' under lighting and it will send those commands to the devices. Note that when you put a scenario in a room that doesn't necessarily mean you are only controlling devices in that room. You can put a scenario in the 'Living Room' that turns off a light in the 'Bedroom'. <br />
<br />
The purpose of organizing scenarios by room is to eliminate the clutter that would be caused by showing you all the scenarios at once. For example, you may create a scenario 'Garage Light Off'. If your garage is adjacent to the Kitchen, you are likely going to want that scenario only when you're in the Kitchen. You don't want it to appear on the remote control in Johnny's bedroom because he'll never use it. <br />
<br />
Orbiter is the name of the GUI app in LinuxMCE. And an Orbiter refers both to the on-screen UI, as well as to the UI on a mobile phone, web pad, desktop phone, etc. Any Orbiter can be 'put' in any room, and then it will have the scenarios from that room. Mobile Orbiters, like webpads and pda's, typically are carried around the house. So, when you take an Orbiter into the kitchen you touch the room button and tell it it's in the kitchen, and you'll see the activities for the kitchen. And if you start a movie with the scenario Media, Videos, that movie will start in the kitchen. You can carry the Orbiter to the bedroom, change the room to control the scenarios in the bedroom, and then carry it back to the kitchen. You can also change the Orbiters on the on-screen UI of the TV to be in a different room than the one it's in, and then, just like any other orbiter, you'll see the scenarios in that room. So, if you're in the bedroom and want to turn the garage light off, but the 'Garage Light Off' scenario is only in the kitchen, with your remote you can change the room to be 'Kitchen' and then run that scenario. Just remember to change the room back to the because otherwise when you choose Media, Videos you're going to be starting media in the kitchen. <br />
<br />
All Orbiters have the same scenarios. So if you have a web pad or a mobile phone and they're in bedroom, you'll have the same scenarios as the on-screen UI in the bedroom. Some scenarios may not seem like scenarios, like Media, Videos. But that is a scenario too. In this case it's just a single command telling whatever Orbiter you're using to show the user the list of videos. All the options under Lights, Media, Climate, Telecom and Security, except Floorplan, are scenarios and you can change them in the admin panel. Also the categorization is free-form, so you could create a lighting scenario called "Call John" that dials John and it will appear under "Lights" on the Orbiters. It would be more logical to categorize it as telecom, but it's free form and you can put it under any category. The floorplan button that appears in each of the Lights, Media, Climate, Telecom and Security menus is not a scenario, and does not appear under Wizard, Scenarios in the admin panel. Rather this is a button that gives you device-level control, instead of a list of scenarios. By default it lists all the devices in a grid, but you can upload a floorplan of your home in the Admin site and position the devices. In UI1 the floorplan button is the icon on the left side of the screen. The lighting floorplan let's you turn on/off lights individually. The media floorplan lists all the media zones (ie rooms), what's playing in each, and let's you move media between zones. The climate floorplan let's you control the thermostats, view the temperature in each room, as well as adjust sprinklers and pool controls. The telecom floorplan shows all phones and active phone calls so you can interactively transfer and conference. The security floorplan shows the current state of all sensors (ie tripped sensors are in red), and shows all your surveillance cameras, which you can select to view.<br />
<br />
==[2:26] Connect the thin client in the kitchen==<br />
See the notes above regarding equipment item #12. As I mention there, I used those specialized thin clients in the demo video since I got them for free, but you can do the same thing with a normal PC or a laptop.<br />
==[3:05] Connect the thin client in the bedroom==<br />
I used the same USB UIRT to control the TV in the bedroom. Note that because my TV does not support discrete codes, it is a nightmare to use with any universal remote control or any type of smarthome system. The better TV's, like Sony's, recognize discrete codes. This means that although the original remote control may only have 1 button to toggle the power on and off, the TV actually does recognize 3 separate i/r codes: The toggle power that's on the remote, as well as an explicit/discrete 'turn power on' and a discrete 'turn power off'. They just don't put all 3 buttons on the original remote to save space, but the TV does recognize them. Sites like remotecentral.com let you find discrete codes. Then LinuxMCE can control your TV reliably. When it's time to turn it on, the i/r transmitter sends the 'power on' button, and even if the TV is already on, it still stays on. The TV I used doesn't have discrete codes. It only recognizes the 1 button 'toggle power'. So LinuxMCE may think the TV is off, and send the 'toggle power' command to turn it on, when in fact the TV was already on and LinuxMCE inadvertently turned it off. Toggle codes are a nightmare for anybody that has ever tried to use any sort of universal remote, like a Logitech/Harmony because the remote never really knows what state the TV is in. Also, since infrared codes are inherently unreliable and don't always get through, if your TV supports discrete codes, like the Sony's do, LinuxMCE can just send the 'ON' 3 times to be 100% sure the TV got the command and goes on. But with toggle devices like the one I have it can't do that since sending the command 3 times would just turn it on, then off, then back on again. My TV has the same problem with inputs. It only recognizes a single 'toggle input' which just cycles through inputs. LinuxMCE remember what was the last input the TV was on, and how many times it needs to toggle to get to the next input. But this is very unreliable. Sometimes when the TV doesn't get a signal while hitting input select it 'freezes' for a couple seconds, and then LinuxMCE will get out of step, thinking it's on, say input 5, when it's really only on input 4. Again the better TV's, like Sony's, have discrete codes or buttons for each input. So LinuxMCE can just send the button 'input 4' and can re-transmit it 3 times to be sure it gets through, and not worry about trying to toggle. If you do have a toggle device like mine, and LinuxMCE ever gets out of sync, you can press and hold the red, green, yellow and blue buttons to get it back in sync. Holding the red button causes LinuxMCE to retransmit the 'power' command so if the TV went off instead of ON, it goes back ON. The green button retransmits the 'input select' button. The yellow retransmits the 'power on' to the receiver, and the blue retransmits the 'input select' to the receiver. Bottom line: if possible get TV's and Receivers with discrete codes and avoid TOAD's (toggle only analog devices). Nearly all the decent receivers actually do have discrete codes, so one possible solution at least to the input select problem with toggle-only TV's is to hook all the video sources to the receiver and let it do the switching, and leave the TV on 1 input. LinuxMCE automatically will setup your A/V gear like this. In the setup wizard it asks if you're using a receiver, and if you connected the video cable to it, and makes all the correct settings. You can view a graphical diagram of your a/v gear's connections in the admin site under Wizard, Devices, A/V Equipment, and click on the Connection Wizard.<br />
==still typing the rest==</div>Demushttp://wiki.linuxmce.org/index.php?title=Video&diff=15395Video2008-08-28T05:13:54Z<p>Demus: /* Equipment used in the demo */</p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
[[Category:Sample_user_setups]]<br />
<br />
Watch one of the two demo videos instantly on Google video: <br />
<br />
:*[http://video.google.com/videoplay?docid=2176025602905109829&hl=en LinuxMCE 7.04 video]<br />
:*[http://video.google.com/videoplay?docid=-4422887272477313460&q=linuxmce&ei=iQUrSPfRKaTeqwP4k7SgCQ&hl=en An older LinuxMCE demo and comparison to Windows MCE] <br />
<br />
You can also download the video from the [[Mirrors]].<br />
<br />
<br />
=Preface to the LinuxMCE 704 video=<br />
==Caveats==<br />
Not much. So far most users have reported it works as expected on the first try so long as the video card is compatible. The Quick install DVD I used in the video is more foolproof than the CD, however, you have to watch out for the network connection as mentioned below under the "The setup wizard". If you don't have gallery art or the list of optional software under 'add software' is empty, you probably don't have a network connection. If you can't play commercial dvd's, you don't have libdvdcss installed; be sure it's legal in your area and install it on the 'add software' tab in the setup wizard.<br />
<br />
==Purpose of the video==<br />
The original LinuxMCE 1.0 demo video was done in only a couple hours and just shows some of the software's capabilities. Much more effort was put into this new video which is intended to be a complete walk-through and tutorial that you can follow along, as much as a demo. Together with this document, which explains all the steps in more detail, it should be a getting started guide for LinuxMCE. Some things in this document are technical and intended for seasoned Linux users who want to get under the hood, but the goal is that newbie's can get LinuxMCE up and running quickly. While there are still missing pieces in LinuxMCE, the features shown in the video are stable and the steps shown work every time if you have known-compatible hardware, so anybody should be able to follow the video and get the same result.<br />
<br />
==Getting the video in high-def==<br />
It's easy to watch the video on [http://video.google.com/videoplay?docid=2176025602905109829&hl=en Google Video] since you don't need to download anything. But, the quality is pretty bad so if you're interested in LinuxMCE it's recommended you download the original version, which is in 720p high-def from one of the [[Mirrors]]. In it you can read everything on the screen clearly, even the small text on the web pages. All the screen captures and footage were done in HD. It's available in 2 formats: To watch it on a Windows PC, the Windows Media Video (wmv) format is easiest since you don't need any codecs and it's widely supported. It's also in Ogg Theora format (.ogm), which is supported by most Linux distros and can be played using the Kubuntu Live CD. The quality is about the same between the 2 formats, and they're 400MB and 24 minutes long. It's been reported that some Windows Media Players don't properly sync the audio and video. This is a Windows Media bug and pausing the video and repositioning it by sliding the 'current position' scroll bar cause Windows to re-sync. Under Linux most video drivers don't offer hardware acceleration so playing back HD content can be choppy if you don't have a fast enough system.<br />
<br />
==Stability of the software==<br />
The actual architecture in the original LinuxMCE 1.0, which was inherited from Pluto, was already stable. However, the integration with Ubuntu was very incomplete, the setup was pre-alpha at best, and a lot of the features didn't work. In the online survey which asks users if their installation was successful only 23% said 'yes'. With the RC1 for this version it is now 86%, which is quite good considering only 93% reported they were able to get through the Kubuntu installation. Every feature in the demo video should be stable now, with a few exceptions noted below. Basic media playback is now rock solid. A stress-test demo script hammers the system constantly, changing content, playback speed, skipping chapters, etc., several times a seconds, while in parallel forcing the GUI's screens to change, flip through cover art, etc. I've left it running for days, simulating hundreds of thousands of media cycles, without any crashes. There are still missing features, but what you see in the demo video works well.<br />
=Equipment used in the demo=<br />
In the detailed info for the video I reference the equipment used by number in parenthesis: e.g. boot the computer (1) and insert the [[IR]] receiver (2). Here is the equipment and, when available, the manufacturers page or a source page. I tried to use only widely available, off-the-shelf components when possible to remain vendor neutral and non-commercial.<br />
<br />
#The computer consisted of an [http://www.newegg.com/Product/Product.aspx?Item=N82E16813131014 ASUS m2npv-vm motherboard BIOS version 0901], [http://www.newegg.com/Product/ProductList.aspx?Submit=ENE&N=2+50001028+40000343+1051720996+1302820275+1389627502&Configurator=&Subcategory=343&description=&Ntk=&srchInDesc= AMD Athlon 64 X2 3600+ CPU], [http://www.newegg.com/Product/Product.aspx?Item=N82E16822145069 80GB hard drive], Realtek 8139 as the 2nd network card, 1GB RAM, generic CD/DVD, keyboard used only to to install<br />
#[http://www.usbuirt.com/ USB UIRT IR Receiver Transmitter] IRTrans and Tira supposedly are also fully supported, and some of the Windows ones work, but for receiving [[IR]] only, not for transmitting [[IR]] codes to other devices.<br />
#[http://www.newegg.com/Product/Product.aspx?Item=N82E16880100851 Standard Windows MCE remote] Found some on Ebay for $7 without the receiver.<br />
#[[Fiire_Chief|Fiire Chief Gyro Remote]] This is a possible exception to the rule that I use only "widely available" components, as there is only one source for this remote to my knowledge. The one used in the video was donated to me by [[Fiire]], who provided the code that was added into LinuxMCE 0704 to make it work. They also donated the thin clients and their LinuxMCE PC (called the Fiire Engine) and the HD camcorder for the new demo video. I didn't show the Fiire Engine in the video because you can do the same thing with a generic PC. I have no ownership or financial ties to Fiire, and encourage alternative solutions be added to this wiki. Fiire's remote itself is a custom OEM development, based off of the [[Using_the_Gyration_Remote_GYR3101US_Non-Fiire_Chief|Gyration GYR3101US]]. Most features are available on both remotes with a proper event map, with exception of the "Follow Me" feature. A regular Windows MCE infrared remote is a less expensive solution. '''Please read about the long list of [[Fiire#Issues|issues]] with Fiire hardware before purchasing.''' <br />
#[[Hauppauge WinTV-PVR-150 MCE]]<br />
#[[Buffalo Linkstation|Buffalo Link Station, model HD-HG300LAN]]<br />
#[[Sharp Aquos LCD|Sharp Aquos LCD TV, model LC-26D6U]]<br />
#[[Yamaha RXV-1500|Yamaha Receiver, model RXV-1500]]<br />
#[[Motorola DCT-6412|Motorola Dual-Tuner HD PVR from the cable company, model DCT-6412]]<br />
#[http://www.bhphotovideo.com/c/product/489034-REG/Sony_VGP_XL1B3_VAIO_VGP_XL1B3_Media_Changer.html/kw/SOVGPXL1B3 Sony VAIO VGP-XL1B3] These Sony's are going out of production. You can also use the [[Powerfile R200]], which is otherwise identical, but more expensive.<br />
#[http://www.smarthome.com/1181.html ZWave lamp module], [http://www.smarthomeusa.com/ShopByManufacturer/HomePro/Item/ZIR000/ ZWave motion detector], [http://www.smarthome.com/1186.html ZWave Master Controller]. The Zwave USB dongle I showed in the video is out of production. I'm not sure which dongles currently in production will work.<br />
#The thin clients were also donated by [[Fiire]], coined the [[Fiire Station]]. Since the filming of this video the unit has been discontinued and replaced with the [[Fiire#Invisible|Fiire Invisible]]. '''Please see a list of [[Fiire#Issues|issues]] before purchasing.''' My unit was a pre-production prototype and final pricing wasn't available, but I was warned that they will be very expensive because they're custom and the components are specialized to get it down to 9 watts so it can be put in a 1" case with no ventilation. You can also use a laptop as a thin-client. I have a Dell laptop with an nVidia graphics card. When it boots you can press F12 to make it boot off the LAN, and then it becomes a LinuxMCE media director automatically, exactly as shown in the video. However, sometimes the nVidia driver doesn't properly handle the laptops internal vs. external monitor setting, and the nVidia card still has the video tearing issue I mentioned. There are small form-factor thin clients made using off-the-shelf components that should be cheaper than the one in my video. I don't have any to test, but I would encourage users to add notes to this wiki pointing out low-cost options. Also, if some volunteers could figure out how to get cheap, subsidized hardware, like XBox, to work as a LinuxMCE media director that would make LinuxMCE more accessible.<br />
#[http://slimdevices.com/ SqueezeBox Network music player]<br />
#[http://dtresearch.com/ DT375 Web pad]<br />
#Almost all USB Bluetooth dongles work out of the box<br />
#[[Nokia 6620]], series 60 phone.<br />
#[[Panasonic BL-C10]] IP camera.<br />
#[[Cisco 7970]] VOIP Phone<br />
#Generic e-sata controller and sata drives in e-sata enclosures were used for the RAID<br />
<br />
=Detailed info on the video=<br />
Before each stage is an elapsed time in brackets showing how long it took in real life to get to that step. In other words, the installation took 19 minutes + 3 minutes to boot so it took 22 minutes to get to the video wizard.<br />
==PC Preparation==<br />
I had to upgrade the BIOS on my PC (1) and in the BIOS under Advanced, Chipset increase the frame buffer size to 128MB RAM. That is the amount of memory given to the video card. You need 128MB of RAM to use UI2 because of the OpenGL effects. A lack of Linux video drivers is, I feel, the #1 problem facing LinuxMCE and any Linux-based media application that doesn't use proprietary platforms (ie like TiVo and cable boxes). The only free drivers for PC hardware that seem to support compositing, masking and opengl in Linux are nVidia's closed-source proprietary drivers; the nv open source drivers for nVidia can't do this. The nVidia closed-source drivers are pretty stable, however, when you turn on alpha blending in UI2 the video quality is not great; there is some video tearing and the de-interlacing is pretty poor. If you use the nVidia closed-source drivers with UI2 with masking (ie turn off alpha blending) the video quality is fine but the GUI is not as pretty without the alpha blending. See the notes above about the proprietary, licensed drivers in the thin-clients shown in the demo video. ATI's Linux drivers are not stable, and do not support alpha blending. It seems there is a renewed interest in the Intel graphics chipsets since Intel released the drivers under the GPL. However, they're still not at the same level as nVidia's and can't do alpha blending. I believe that Via's drivers don't yet work with the 2.6.20 kernel in Kubuntu. So for now the solution seems to be to use nVidia 6000, 7000 or 8000 cards with nVidia's closed source drivers. LinuxMCE will automatically install the nVidia closed source drivers if it detects an nVidia card.<br />
<br />
==[0:00] Install LinuxMCE==<br />
Typically you only install LinuxMCE on one PC in the house, called the Core, and in any other rooms where you want media you use network boot or thin clients, which are called [[Media director|Media directors]]. You can also install just the [[Media director]] part of LinuxMCE on another Linux PC to use it as a media director and not use network boot. Even so there must be one Core which has the full LinuxMCE software as media directors cannot run without a Core somewhere on the network since the Core is responsible for maintaining the central directory of all media and other devices scattered around the home. If you install the full LinuxMCE Core on multple PC's, they will all act indepently and not share media and devices between them. If you just want a stand-alone media PC, just 1 pc by itself like a "normal" htpc, then install the full LinuxMCE software on that Kubuntu PC. You don't have to use the whole-house features. When you install LinuxMCE with the normal Kubuntu Live CD and 2 LinuxMCE CD's you're asked lots of questions about your region, networking, etc. But that installation takes a long time. The DVD installer is very fast and uses all defaults, you only pick the hard drive to install onto. LinuxMCE will use an IP locator service to figure out what city you're in and set your timezone, longitude and latitude, calculate your sunrise and sunset, and so on. Later LinuxMCE will confirm the location so you can change it if it's not right. The DVD installer will turn on LinuxMCE's DHCP server by default and serve addresses in the 192.168.80.x range. Change this in the admin panel under Advanced, Networking. Because it's running a DHCP server it's usually best that this main LinuxMCE box has dual network cards. The 'external' one connects to the internet, and the 'internal' one to your LAN and the other devices in your home. LinuxMCE has a configurable firewall in the admin panel. During the installation it will attempt to acquire an IP address and access the internet on all your network cards. Whichever succeeds is considered the 'external' network that will GET an IP address from DHCP, and the other one is the internal one that GIVES out IP addresses with its own DHCP server. If you have only 1 network card, it will use 2 aliases for the card. In this case, it's best to disable any other DHCP server on the network and go into the admin panel under Advanced, Network settings and give the LinuxMCE PC a static ip addess for your internet connection, and let it continue to serve IP addresses with it's own DHCP server. Or on that page you can just shut off LinuxMCE's DHCP server altogether, but then you won't be able to thin clients in other rooms and the plug and play engine won't automatically detect and configure IP devices. After installation hit enter to boot up the first time, which will start the video resolution/audio setup wizard.<br />
<br />
==[0:22] Run the Video Resolution/Audio Setup Wizard==<br />
When the video resolution/audio setup wizard starts you'll hear a series of beeps. Because consumer TV's do not usually report their resolution correctly with EDID like a PC Monitor, and LinuxMCE is designed to be used with a TV, this wizard bypasses the usual EDID exchange between the PC and the monitor to auto-detect the resolution and connector used. Instead it just outputs whatever resolution you choose on whatever connector you pick like consumer a/v gear does. When the wizard starts it will ouptut 640x480 on the VGA port. If you can't see it because you're using another connector or your TV doesn't display this resolution, see [[AVWizard]] for keyboard shortcuts you can press when you hear the sequence of beeps to directly choose the connector, and then the resolution. The wizard only starts on the first boot. On future boots you will hear a series of descending beeps. When you do, you can press the AV Menu button on the Gyro remote, or hold down SHIFT on the keyboard, to restart the wizard. Again, you'll hear a alternating series of beeps to let you know when it's running so you can press those keyboard shortcuts if you don't have a picture, and again it will default to 640x480 on VGA. When you hear the ascending beeps during the bootup, that means it's too late in the boot process to start the AV Wizard and it has stopped monitoring SHIFT and the AV Menu buttons because it's already starting the GUI with the current video settings. In the TV UI, you can also choose Advanced, Video Res & Audio Setup to restart the computer and the wizard. Many consumer TV's have overscan, meaning they chop off the edges of the picture. So most media center PC's put the UI only in the middle with a lot of dead space around the edges. But this is inefficient for browsing media because you lose a lot of screen space. So, LinuxMCE uses the whole screen edge-to-edge, and in this wizard shows arrows pointing at the edges of the screen. If the arrows run off the edge of your screen, then you have overscan, and you should choose the +/- and arrow buttons to reduce the UI and fit it within your screen. LinuxMCE will scale it's UI to fit this space. Media playback will still be edge-to-edge, and you can rescale that while the media is playing with the zoom & aspect ratio button. If you choose a digital audio connector (spdif) you'll be asked to confirm that you can hear the Dolby Digital and DTS samples. There is no DTS sample clip, so just say 'yes' if your receiver supports DTS.<br />
<br />
See [[Screenshots]] to see the difference between the UI options you can pick in this wizard. UI1 runs on most any video card. UI2 is more demanding since it uses OpenGL and requires a lot of video memory. UI2 with masking is more widely supported than UI2 with alpha blending. Also, with the nVidia card I have there is noticeable video tearing when watching movies with alpha blending turned on. The video quality is fine when using UI2 with masking, but the UI doesn't look as nice.<br />
<br />
==[0:27] The setup wizard==<br />
Complete the setup wizard, which is divided in 2 parts: [[House Setup Wizard]] (global options for the home), and [[Media Player Wizard]] (just for this particular PC).<br />
<br />
'''Check your internet connection''' You won't have gallery art or a list of software to add, like libdvdcss for playing commercial dvd's, if you don't have an internet connection. The Quick Install DVD I used in the demo video uses all default network settings. I had a non-standard network setup because I have multiple LinuxMCE systems with multiple DHCP servers for testing, so I didn't show my network setup in the video. But, after you type in your name and click ok to confirm your admin login, I suggest choosing 'kde desktop', and when kde starts up, choose 'launch admin web site', which starts firefox. Open a tab and confirm you can browse the web. If so, close Firefox and click 'Activate Orbiter' to continue the setup wizard. If not, go into the admin site and choose Advanced, Network, Network Settings and confirm the settings are ok. If they look alright but you still don't have networking, click on 'update' to stop/restart the networking. If it's getting an IP from DHCP you should see it at the top of the page. If you don't have a dual NIC system where 1 of the cards is able to get an IP address from DHCP, then you probably won't have internet connectivity until you assign a static IP. If you have dual nic's then perhaps the default settings for which one is which is wrong, and you can click 'swap interfaces'. If you didn't have an internet connection already when you started the web browser, but do now, it's recommended to do 2 things.<br />
<br />
1) If there was no internet connection at install time it won't have a current list of software packages you can add that don't come with LinuxMCE (like libdvdcss). This process involves a google search to look for 3rd party add-in software for LinuxMCE, and can take several minutes. To update this list, click the kde button in the lower left, and choose 'System', 'Konsole'. Close any tips popups and enter this line in the console:<br />
<br />
sudo /usr/pluto/bin/getxmls<br />
<br />
2) When it's done, reboot the system by choosing Wizard, Restart, Reboot in the admin panel. Since it won't have been able to auto-determine your location with an ip lookup during installation, now when it boots again with an internet connection it will try again. The setup wizard will start again since you didn't finish it.<br />
<br />
In the house setup you can skip to 'done' and continue to Media Player Setup after specifying the number of rooms in the house, confirming the names of the rooms and that it got your location correctly. Then in Media Player Wizard, you only need to choose the room this is in and click next. If you live in an area where DVD CSS decryption is legal, the add software screen will let you add it to watch commcerical dvd's. When you choose software to add, wait a few minutes for the screen to refresh and the hourglass to go away. You'll see a check mark next to all the software you added successfully. <br />
<br />
Note the Quick Install DVD creates 1 Linux O/S user: linuxmce, password: linuxmce. Any users for the Linux O/S have no correlation to the family members, aka LinuxMCE Users, you specify in the setup wizard. They are 2 different concepts. The Linux O/S users are just for this Linux PC, and are only used by the Linux O/S, and not by LinuxMCE. You won't need them if you only use LinuxMCE and don't log in to the Linux O/S itself. The family members you create in LinuxMCE are global for the whole house and shared amongst all LinuxMCE media directors in the home. Each family member has his own private collection of media, his own voicemail, LinuxMCE admin web site, and so on. "Activate Orbiter" in Launch Manager on the KDE desktop switches back to LinuxMCE's desktop, and is only available when LinuxMCE is running. You can start and stop LinuxMCE in Launch Manager.<br />
<br />
==[0:30] Watch a DVD==<br />
Whenever LinuxMCE starts, the first time you click the screen or choose a button it is ignored because LinuxMCE assumes it starts with the TV off, so the first button you press re-sends an 'On' command to the TV. So if LinuxMCE controls your TV, the Power button on the remote stops media, and then will turn the TV off, and any of the menu buttons turn it on again. Insert a DVD, plug-in the usb uirt, wait about 10 seconds after you see the "Installing software finished" for the device to startup, then start using the windows remote. Note the Zoom & Aspect ratio are often incorrect. The media player in LinuxMCE doesn't get it right all the time. This should be fixed. For now you can choose Menu, Zoom & Aspect to manually change it.<br />
==[0:33] Connect the Gyro Remote==<br />
Plug-in the usb dongle for the gyro remote. After it says "Installation finished", press "Connect" on the gyro remote. This time you get a message that the device won't be active until you reload the router, which will stop the movie. A reload, which takes about 15 seconds, is when the main message router DCERouter reloads and re-builds the list of all the devices in the home, and announces them to all the other devices. Some devices require a reload and some don't. It depends on whether other devices need to be aware of this device or not. You should be notified whenever you add devices that require a reload. If you're going to be adding lots of devices, don't bother doing a reload between each one. Just add them all and do a reload at the end.<br />
<br />
==[0:35] Navigate the media==<br />
Press menu, choose 'Media', 'manage drives', then 'play' next to the 'dvd'. That re-starts playback of whatever disk is in the drive so you don't need to eject and re-insert it. Most DVD's have chapter names in the database so you'll see a description of the chapter. This particular DVD doesn't, so you just see Chapter 1, Chapter 2, etc. Note that the chapters are arranged in a DVD according to "Titles". Most Titles on a DVD have chapters, and there is no 100% sure way of determining which Title has the main movie, and which Titles have bonus material, menus, etc. To my knowledge no other DVD player tries to figure out which Title contains the actual movie, to let you jump straight into the movie. Most commercial DVD players make you wait through the copyright messages and use the DVD menu, while some, like VideoLan/VLC show all the titles and chapters, but leave it up to you to guess which Title has the actual movie. LinuxMCE tries to do this automatically and gets it right about 90% of the time. So normally, as soon as the disc starts you can bring up the chapter list, click the first chapter, and the movie starts. If it doesn't, you either need to jump to the chapter using the DVD menu like a normal DVD player, or scroll down through all the chapters with the gyro where you can find at the bottom all the Titles and chapters on the disc like VLC. Since we haven't added another output device for audio, when we adjust the volume, it's going to be setting the audio output on the PC's sound card. Once we add a tv or receiver, then the volume commands will go there<br />
==[0:38] Rip the disc==<br />
Copy disc takes about 30 minutes depending on the speed of your DVD drive<br />
==[1:08] Install the TV Tuner==<br />
Install the TV Tuner and choose my provider. If the selection of a provider is interrupted by a screen that pops up, you have to go back to the provider tab and start again to specify the provider information. If the TV Tuner was already in the PC when the video wizard ran for the first time it won't interrupt you to say you added a TV Tuner. The card will be shown in the setup wizard and you can pick your provider then. You can also get back to the setup wizard at any time by choosing Advanced, Setup Wizard from the main menu.<br />
<br />
==[1:13] Wait for the guide data==<br />
Wait for mythfilldatabase to finish. When you see the first message 'MythTV is ready however it may take several more minutes to retrieve the guide data' that means mythfilldatabase finished retrieving the list of channels, but it's still retrieving the guide data. At this point you can do a 'reload router' and LinuxMCE will have the channels in the guide, and the guide data will be filled in as mythfilldatabase gets it. However, unfortunately it seems that mythfilldatabase uses 100% cpu, particularly since it hammers mysql. This means everything else in the system grinds to a halt. mythfilldatabase should support an option for 'low priority' which includes sleeps so that it can run in the background. For now, the best thing is just to wait 15 minutes after you see that message to let mythfilldatabase finish before continuing. Also, if you find you have no guide data, that probably means mythfilldatabase crashed while retrieving the guide. This happens about 10% of the time. Then you should run mythfilldatabase by hand, which you can do from a console. To monitor the progress of mythfilldatabase from a console, go to the /var/log/pluto directory. Look for the Spawn_* files, which log the output from all external apps LinuxMCE spawns. You'll see a Spawn_filldb_[pid].log which you can tail.<br />
==[1:28] Wait for OrbiterGen==<br />
When you click 'start using the system' it can take a couple minutes for OrbiterGen to run, which is what checks all the screens in the UI to see if there are changes. Most of the graphical elements in LinuxMCE's UI are pre-rendered by OrbiterGen, except for data grids with live data. This is to make the UI more responsive and allow it to run on low-power devices like pda's that can't scale graphics in real time. Since there are thousands of graphical elements in LinuxMCE this can take a long time. LinuxMCE's UI is object-oriented and defined in the database. There are, it seems, still hundreds of legacy screens that aren't in use anymore, and this process could be optimized to reduce the generation time. Eliminating the wait time for OrbiterGen to run would be really nice, although, in practice, it only happens when you're setting things up and once the system is going you don't need to regen the UI anymore.<br />
==[1:31] Start MythTV==<br />
Choose Media, TV to start MythTV. Both MythTV's UI and LinuxMCE's are usable at the same time so you can use whichever you like. The Start/Menu button brings up LinuxMCE's UI on top of MythTV, and on the 'Now Playing' menu pad are options to bring up MythTV's guide menu, scheduled recordings, etc. The traditional navigation buttons on the Windows remote and Gyro remote work Myth as expected. To access the mythweb site you can either open up a browser on another PC in the home, choose Advanced, KDE desktop and start a web browser there, or choose Advanced, Computing pick Pluto Admin, and then change the pluto-admin in the URL to mythweb. I downloaded the icons for Fox and the Simpsons from the web, and then copied them to the home directory on the LinuxMCE core. Then in mythweb at the bottom of the channel and show pages there is a place where you can upload the icons. If you want to put the icons in the /home directory like I did, you can do this from windows too. Choose Start, Run and then enter: \\192.168.80.1 (or whatever the ip of the core is). Login with the username you created at the "What's your name" screen. Your password is the same. Copy the files to the home folder. You can also right click on a picture on some web page (like the Simpsons), click copy link, and then paste that in mythweb too.<br />
<br />
Sometimes when starting the KDE Desktop I get a 'Sound server fatal error' dialog. I'm not sure what causes this, but it's a message from a KDE process. When it happens it seems sometimes Myth and Xine aren't working and you need to reboot before media playback works again.<br />
<br />
From the KDE Desktop you can get back to LinuxMCE's desktop by clicking 'Activate Orbiter' in the LinuxMCE Launch Manager. Or if you do a 'Reload router' like I did in the video that will cause the Orbiter GUI in LinuxMCE to reload, and when it does, it automatically switches to the LinuxMCE desktop.<br />
<br />
==[1:36] Schedule shows to record==<br />
There are still things that aren't well integrated with MythTV. For example, under the media options menu is a 'thumbnail' option. This is supposed to retrieve the current frame of the TV and allow you to save it as an icon for the channel or show so you don't need to upload it in mythweb. This works for Xine, but the 'frame grabber' isn't working in Myth. Also, when you click 'More' next to the record buttons it's supposed to take you to MythTV's recording options screen so you can specify advanced options. And MythTV is crashing a lot. I tried running it in a stress test simulator like with Xine that simulates constant activity every 250ms, like change channels, pause, play, rewind, etc., but Myth always crashes right away like this. About half the time the problem is that the capture card driver has locked up. I've tried the PVR USB2 (v4l) as well as the internal PVR-150 cards (ivtv), and while I have better results with the latter, there are still frequent crashes. And Mythfrontend gets into a deadlock fairly often. However it was pretty reliable if I scheduled the shows to record, let the back end do the recording, and then watched them under Media, Videos, which uses Xine for playback. Xine never crashed. The MythTV problems seem unrelated to LinuxMCE since I had the same issues using MythTV on a clean Kubuntu 0704 without LinuxMCE. Also Myth front end doesn't run at all on the thin clients shown in the video, so you have to watch the tv show after it's recorded. Also sometimes when using the 'record all episodes' LinuxMCE doesn't show the record icon next to all the shows like it should. You can choose Media, TV and then Menu, recordings to view an accurate recording schedule in Myth's UI, or use MythWeb.<br />
<br />
==[1:38] Wait for MythTV to record some TV shows==<br />
In the demo video I wanted to have a couple days worth of recordings in MythTV so that the Media, Video option had several recordings and I could demonstrate how they appear in LinuxMCE. To follow the video and get the same results you will need to leave the computer for a couple days to do recording. The way I simulated this so I could keep the demo going was to let it record one show which I used in the demo, and then keep moving my system date forward to trick myth into recording snippets from several shows. The Myth Plugin should pick up any new recordings MythTV makes and import the attributes, and assign a picture from the show, or channel if available. I stopped the counter here because in the real world you won't sit and wait a couple days for MythTV to record a bunch of shows before continuing. The utility UpdateMedia constantly scans for new media and adds it to LinuxMCE's database, which is what you see when you choose Media, Videos. When you add media to the PC's internal drives or internal RAID, UpdateMedia immediately updates the database. When you add NAS devices with Windows shares, it can take quite a while to scan them and catalog the media. So if a TV show finishes recording in MythTV, but UpdateMedia is still busy scanning a new NAS, it may be some time before that TV show appears in LinuxMCE's database under Media, Videos.<br />
<br />
==[1:38] Connect a NAS==<br />
There are 2 plug and play mechanisms in LinuxMCE. First, when it finds a device it requests an ip address from the dhcp server it checks the mac address to see if it's a known-manufacturer, and then runs some detection scripts to see what model it is. <br />
<br />
This Buffalo NAS is a known device like that, and so when it's connected, LinuxMCE should set everything up for you using the Buffalo's configuration script. However even if your NAS isn't known, there's another pnp mechanism called the 'Samba Scanner', which constantly scans the network for file shares. When it finds one it asks you if you want to use it, and prompts for a username and password if required. So for all but a couple NAS's, Samba Scanner will find your device.<br />
<br />
You will be asked if you want to use LinuxMCE's directory structure. If so, folders will be created on the share for /public/data/videos, /public/data/audio, etc., and also /user_xxx/data/videos, /user_xxx/data/audio, etc., where xxx is the user number. One will be created for each user. Then this drive will be mounted as /mnt/device/xxx where xxx is the device id in LinuxMCE's database. Symlinc's in /home/public... and /home/user_x will point to the mounted drive. All media directors use the same mount points, so the file paths to media, like /home/public/data/videos/Generic Windows Share[54]/Shrek.mpg are the same whether you're using the main Core PC, or a media director. With this structure you can place public content under the /public folders, and private content in each users /user_ folder. <br />
<br />
By default the media browser shows only public content, but under Source you can add private content. There needs to be a PIN or some other protection added to the media browser; this isn't done yet. So the option 'Use LinuxMCE's directory structure' won't pick up existing media on the device unless you copy the files into the /public and /user private folders, but it gives you the flexibility of having both public and private media on the same share. You can also choose the option to make all the media public or private, in which it just mounts the whole share under either /home/public or /home/user_x. Pictures on storage devices may not appear if you don't use LinuxMCE's directory structure because unlike video & audio files which have id3 tags that LinuxMCE uses by default, pictures usually don't and LinuxMCE organizes them by directory/folder names, starting with those under /home/public/data/pictures. This is fine if you use LinuxMCE's directory structure since it will create a pictures folder. <br />
<br />
What I typically do is, even if I have a device that I want to make all media public, I still choose the option to use LinuxMCE's directory structure and create symlincs. Since LinuxMCE uses the same points mounts on all media directors, symlincs work fine. The drive will be mounted as /mnt/device/[LinuxMCE device id]. Here is how I do this with my buffalo: Go into the admin panel, under Advanced, Configuration, Devices, find the Buffalo device. Under it is the device 'Windows Share: share'. This is what's shared. The device id is 40. So in a console I type: ln -sf /mnt/device/40/MyDocs/Pictures/ /home/public/data/pictures/BuffaloPics. This is actually better than just saying to 'make it all public' because when you do that LinuxMCE's UpdateMedia daemon, which is what catalogs all the media, needs to continuously scan the NAS device over and over looking for new or modified content to catalog. Now, it's only scanning /MyDocs/Pictures/ on the NAS to get the picture and when you choose Media Pictures you'll see a folder "BuffaloPics" that has the Pictures on this NAS. <br />
<br />
The easiest solution, however, is to just to let LinuxMCE be your central media file server and store all your media internally on the main LinuxMCE box. LinuxMCE has built in software RAID, including RAID 5. So you can attach a mix of internal drives, external E-sata drives, etc., and group them all into a fault-tolerant RAID under Advanced, Configuration, RAID. The advantage of doing it this way is that the Linux O/S supports iNotify, which allows the UpdateMedia daemon to directly hook into the file system and monitor every single change as it happens. So as soon as you rename or add a file it's immediately cataloged. <br />
<br />
Windows shares don't work like this since Windows doesn't have the concept of a central database cataloging all media in the home, it just shows you drives and directories, and you cannot hook in to receive notifications. Therefore when LinuxMCE mounts external NAS devices, like the Buffalo, that make Windows-compatible shares, there's no way for LinuxMCE to know instantly every time you make a change to your media. It just has to constantly keep re-scanning the device in the background hunting for changes. It works, and it's transparent to the user, and the end result is still that you get a central catalog of all the media in the home. But it's more efficient to let the LinuxMCE box be your main file server, and, if you use the RAID 5 functions, you won't have to worry about ever losing data when a hard drive crashes. <br />
<br />
LinuxMCE automatically manages the RAID, handles rebuilding it, when drives fail, etc. Plus LinuxMCE makes a nice file server, even if you don't know anything about Linux. It shows up in Windows network neighborhood, automatically has a public share for everyone in home and private shares for each family member, manages all the passwords, and aggregates all content under the one share. So even if you're a Windows user, you can still play and manage all your media just the same. Remember that most of the NAS/Storage/Media Server devices which are sold by the big PC companies for use with Windows computers actually run Linux inside and do pretty much the same thing that LinuxMCE does. You can build a LinuxMCE PC that does everything in this video including the functions of an HP Media Vault that just stores media, for about the same prices as the Media Vault by itself, and for a Windows user the usability of a LinuxMCE PC is not that much different from a Media Vault. LinuxMCE is missing printer sharing though.<br />
<br />
If you tell LinuxMCE to always ignore a device you later want added, go into the admin panel under Advanced, Configuration, Unknown Devices, and delete the device. If you want the device to be redetected so you can specify different options, go under Advanced, Configuration, Devices, locate the device in the tree and delete it. Either way do a reload router under Wizard, Restart afterwards.<br />
<br />
==[1:40] Browse the media on the NAS==<br />
I had over 1,000 music files on the NAS too, so I left it about 20 minutes to finish scanning and cataloging. Mp3 files and others that support id3 tags can have attributes in there that get imported, as well as URL's for cover art, and the cover art itself embedded as a tag. For iles that don't support id3 tagging LinuxMCE will create a separate .id3 file with the same base name as the media file to store the tags. In the Admin site under Files & Media, Media Files Sync you can browse all the media files, add attributes and cover art. These changes are sync'd back into the .id3 tags. There's also a cover art utility under Files & Media, Cover art, that takes the filenames and tags from your files and looks them up on amazon.com and presents a grid of possible matches for each file so you can match the cover art, and also import the attributes from Amazon's database. Once you do the id3 tags are updated so even if you reinstall LinuxMCE it will still have the cover art and attributes. What is missing is audio fingerprinting, where it "listens" to the music file and figures out what song it is based on the sound of the file, rather than relying on id3 tags. MusicBrainz supports this. This functionality should be added to LinuxMCE's UpdateMedia utility.<br />
==[2:00] Connect the TV and Receiver==<br />
I connected the TV using a USB->RS232 cable, and the Receiver the same way. Since there's no reliable way of determining a serial device, LinuxMCE uses brute force to figure it out. You can also add the devices manually. Note that when you pick the com port, it uses the actual usb bus id, not the usual ttyUSB0, ttyUSB1, etc. This is because the com port assignments change with each reboot. Whenever a serial device starts up, like the TV, there's an initialization sequence that confirms the device really is attached, and if not, disables it. If it gets disabled, the plug and play mechanism will try again with the brute force method to figure out what's attached, and re-assign devices accordingly. So, I can swap the serial cables for the tv and receiver, and LinuxMCE will figure this out and swap the serial ports in the device's attributes too. If you remove a tv and move it to another media director, LinuxMCE handles this too. You actually don't need to attach the serial control to the same media director the a/v is on. For example, if you have a projector that is on the opposite side of the room from your receiver, but there is another media director on the other side of the wall, you could actually connect the projector's serial cable to the media director in the other room. If you do something like this, go into the admin panel under Wizard, Devices, AV Equipment and Wizard, Devices, Media Directors and set this up manually since the setup wizard doesn't account for sophisticated setups like this, or if you use specialty equipment like video processors and pre-amps. These are supported, and LinuxMCE will still control them and has a concept of "audio/video paths" so you can specify the audio & video split and pass through an unlimited number of devices, but to do this you must use the admin site. I was told the newer low-end models no longer have serial control. Unfortunately these days most of the cheap TV's don't have serial control. Serial control is much, much better than I/R, since it's very reliable and works every time. If you do get an I/R TV be sure it supports discrete codes. Many TV's, like Sony, may only have a single toggle power and toggle input select on the remote, but they recognize discrete codes for on, off and each input. This way universal remote controls like Harmony can specifically tell the TV to go on and go to an input. TV's that don't have discrete codes are a nightmare since, neither LinuxMCE nor any universal remote, has any way of knowing if it's already on or not when the system first starts, and if so, what input it's on. LinuxMCE tries to handle this by keeping track of the last state. For example, if your 'input select' button toggles through 6 inputs, it will remember that it was last on input 2, and so if you need to go to input 5, it will send 3 input selects. But this is very unreliable and frustrating. The Fiire gyro remotes have press & hold shortcuts on the red, green, yellow and blue buttons to handle situations where a TV or Receiver that only does toggle codes gets out of sync, but it's still a pain and toggle-only-analog-devices (TOAD's) should be avoided if you want to use a universal remote or a home control system. It's best to connect the TV first, pick the input, and then connect the receiver so the steps all appear in order.<br />
==[2:03] Add my cable box==<br />
Choose Advanced, Setup Wizard, A/V devices, scroll down to PVR, Motorola, DCT-6412. It automatically adds this as a child of any available I/R transmitter in the same PC. Just like you can plug a serial control device into a different media director from the one where its actually used, you can do the same with i/r devices. In the Admin site, you could specify another I/R transmitter as the controlling device. By default LinuxMCE will turn off all a/v gear that's not in use. For example, when you stop watching the TV, and don't hit any buttons on the remote control, keyboard or mouse for 15 minutes, it will shut the tv off. The turning off of the TV can be changed in the admin site by going to wizard, devices, orbiters and changing the value for "Seconds before power off". However, for the cable box, we actually don't want LinuxMCE to ever send it any on or off because this should be left on all the time so that it can do recordings, and also because it only has a toggle power i/r code, so it easily gets out of sync. So I went into Wizard, Devices, A/V Equipment, and under the advanced settings for the cable box set the 'Ignore On/Off' to 'on/enabled'. Now even if I directly tell LinuxMCE to turn the device on or off, LinuxMCE won't do anything.<br />
==[2:06] Use the cable box==<br />
When browsing the guide in MythTV you will see channels from both the built-in tv tuner, as well as the listings in the cable box which are tuned on the cable box and received over the a/v inputs on the tv tuner. All the channels have unique channel ID's, so MythTV should be able to tell which channel ID goes with the tv tuner vs. the composite/s-video port. And it appears that LinuxMCE does correctly setup MythTV with both sources, and send MythTV the correct channel ID. But, MythTV isn't switching to the correct input on the capture card automatically. You have to manually switch to the 'composite' input by either hitting menu and choosing Change Inputs, or hitting the 'input' button on the gyro remote, which is what I did. Watching video by choosing the Media, Live TV DCT 6412 option doesn't use MythTV. It's using Xine to play and stream directly from the card. This seemed reasonably stable, though I still found the capture card could get into a weird state at times requiring a reboot. The only caveat is if you're using MythTV and switch to LiveTV be sure to wait a few seconds otherwise MythTV will still be holding the capture card device and Xine won't be able to open it.<br />
==[2:08] Connect the Jukebox==<br />
Choose Media, Manage Drives to any drives, NAS or jukeboxes. These Sony jukeboxes are rebranded Powerfile R200's. However Sony only did a limited run, and has discontinued them, so once inventory has dried up you will need to buy the Powerfile-branded versions which, although identical, are sold to the IT, not consumer, channel and cost several thousands of dollars. To my knowledge all the other consumer DVD jukebox don't have firewire/usb ports. They only have a/v outputs, so they won't be that useful. Rumor has it Sony decided to sell these with their VAIO Windows Media Centers, but they were a flop since having a jukebox attached to a Windows PC that cannot share the content throughout the home kind of defeats the whole purpose. You have to run Sony's software to unload discs every time you want to watch them in another room, and you have to put that big jukebox in the living room. So grab them up while you can. Note that the disc drive in there isn't particularly fast, so ripping each dvd can take an hour. And identifying each one takes about 1 minute. So either way, if you have lots of discs, plan on starting the job and then just leaving it and coming back later. You can monitor the progress by choosing Advanced, Advanced, Pending Tasks on the LinuxMCE menu. Also the jukebox seems really sensitive and if jarred can get misaligned and have trouble loading and unloading discs. Also, the kernel drivers, or mtx utilities or jukebox itself aren't totally stable and sometimes you need to cycle power on the jukebox. If you insert a disk the wrong way or there's a slot containing something that doesn't seem to be a disk, the Powerfile_C200 device will mark itself offline and unavailable until you do a reload router. See the Powerfile's log in /var/log/pluto to see more.<br />
<br />
==[2:17] Connect the ZWave Lighting Control==<br />
Zwave is a problem right now because the Zwave USB adapters shown in the video are not in production anymore. There is a new model from Intermatic, but there are no Linux drivers for the USB-to-RS232 chip on it. I heard that someone has sponsored the driver development so hopefully it will be added shortly. Although I used a ZWave motion detector for the demo it's not really a reliable security system, and the motion detector I used reports false motion events often. You should get a LinuxMCE-compatible alarm panel that hooks up with a serial port to a LinuxMCE PC. You need to specify which lights are in which rooms and what types of lights they are. The Zwave network doesn't report this info, only the given node id's. This makes it much easier to create scenarios and layout your floorplan lighter. The setup wizard will flash each light/blind/other device and ask you which one it is. Because communication over the ZWave network is slow, the lights don't always respond right away and you can waste time hunting for which light is which. The easiest solution is to write down the lights in the order you pair them because when the setup wizard tries asks you to identify them it uses the same order. The UpdateEntArea utility is run at every router reload and creates lots of default, canned scenarios. In any room that has lights, it creates an 'on' and an 'off' scenario which turns those lights on/off. And in any room with a TV it creates a Showtime scenario which dims the light. It creates an event handler for 'watching media' for each room that automatically runs the Showtime scenario when the tv's are in use. You can change these defaults in Wizard, Scenarios, Lighting Scenarios and Wizard, Events, Respond to Events. If you don't ever modify a default scenario by selecting the hyperlink and changing something, it will be kept current and as you add/remove lights the scenario will change. Once you manually change the canned scenario, or uncheck it so it's not included anymore, then it won't be updated again; LinuxMCE won't override your manual changes. You can also create your own scenarios, and uncheck the default canned scenarios to not use them. If you don't like what LinuxMCE does to the lights when you start watching TV, either change the Showtime scenario, or just disable the Event handlers for 'Watching media in a room' and 'Stopped watching media in a room' and LinuxMCE won't run the Showtime scenario automatically.<br />
==[2:25] Using scenarios and floorplans explained==<br />
There are 2 ways to do things in LinuxMCE; either by choosing a Scenario (aka a Command Group or Scene), or by directly controlling a device. Both scenarios and devices are grouped into Lights, Media, Climate, Telecom and Security, and also they are both organized by room. A scenario is just a group of commands that will be sent to a device. Create scenarios in the Admin site under Wizard, Scenarios. Dircectly control a device by choosing the 'Floorplan' button which is in each of those 5 sub-menus. So, for example, a scenario might be 'go to bed', and this can turn off a bunch of lights, set the phones to bypass, dim the thermostat, etc. <br />
<br />
To create this scenario you would go to Wizard, Scenarios, Lighting Scenarios, create a new scenario called 'go to bed'. Choose to first add commands with the "Lighting Wizard", and check all the devices to 'off'. Then instead of 'Lighting Wizard' in the pull-down choose 'Advanced Wizard', send to the telecom plugin. 'set user status' command (note there's a command scenario 'sleep' that does this same sequence already). If you put the scenario in the room 'Living Room', then when any orbiter is in the living room, you will see the option 'go to bed' under lighting and it will send those commands to the devices. Note that when you put a scenario in a room that doesn't necessarily mean you are only controlling devices in that room. You can put a scenario in the 'Living Room' that turns off a light in the 'Bedroom'. <br />
<br />
The purpose of organizing scenarios by room is to eliminate the clutter that would be caused by showing you all the scenarios at once. For example, you may create a scenario 'Garage Light Off'. If your garage is adjacent to the Kitchen, you are likely going to want that scenario only when you're in the Kitchen. You don't want it to appear on the remote control in Johnny's bedroom because he'll never use it. <br />
<br />
Orbiter is the name of the GUI app in LinuxMCE. And an Orbiter refers both to the on-screen UI, as well as to the UI on a mobile phone, web pad, desktop phone, etc. Any Orbiter can be 'put' in any room, and then it will have the scenarios from that room. Mobile Orbiters, like webpads and pda's, typically are carried around the house. So, when you take an Orbiter into the kitchen you touch the room button and tell it it's in the kitchen, and you'll see the activities for the kitchen. And if you start a movie with the scenario Media, Videos, that movie will start in the kitchen. You can carry the Orbiter to the bedroom, change the room to control the scenarios in the bedroom, and then carry it back to the kitchen. You can also change the Orbiters on the on-screen UI of the TV to be in a different room than the one it's in, and then, just like any other orbiter, you'll see the scenarios in that room. So, if you're in the bedroom and want to turn the garage light off, but the 'Garage Light Off' scenario is only in the kitchen, with your remote you can change the room to be 'Kitchen' and then run that scenario. Just remember to change the room back to the because otherwise when you choose Media, Videos you're going to be starting media in the kitchen. <br />
<br />
All Orbiters have the same scenarios. So if you have a web pad or a mobile phone and they're in bedroom, you'll have the same scenarios as the on-screen UI in the bedroom. Some scenarios may not seem like scenarios, like Media, Videos. But that is a scenario too. In this case it's just a single command telling whatever Orbiter you're using to show the user the list of videos. All the options under Lights, Media, Climate, Telecom and Security, except Floorplan, are scenarios and you can change them in the admin panel. Also the categorization is free-form, so you could create a lighting scenario called "Call John" that dials John and it will appear under "Lights" on the Orbiters. It would be more logical to categorize it as telecom, but it's free form and you can put it under any category. The floorplan button that appears in each of the Lights, Media, Climate, Telecom and Security menus is not a scenario, and does not appear under Wizard, Scenarios in the admin panel. Rather this is a button that gives you device-level control, instead of a list of scenarios. By default it lists all the devices in a grid, but you can upload a floorplan of your home in the Admin site and position the devices. In UI1 the floorplan button is the icon on the left side of the screen. The lighting floorplan let's you turn on/off lights individually. The media floorplan lists all the media zones (ie rooms), what's playing in each, and let's you move media between zones. The climate floorplan let's you control the thermostats, view the temperature in each room, as well as adjust sprinklers and pool controls. The telecom floorplan shows all phones and active phone calls so you can interactively transfer and conference. The security floorplan shows the current state of all sensors (ie tripped sensors are in red), and shows all your surveillance cameras, which you can select to view.<br />
<br />
==[2:26] Connect the thin client in the kitchen==<br />
See the notes above regarding equipment item #12. As I mention there, I used those specialized thin clients in the demo video since I got them for free, but you can do the same thing with a normal PC or a laptop.<br />
==[3:05] Connect the thin client in the bedroom==<br />
I used the same USB UIRT to control the TV in the bedroom. Note that because my TV does not support discrete codes, it is a nightmare to use with any universal remote control or any type of smarthome system. The better TV's, like Sony's, recognize discrete codes. This means that although the original remote control may only have 1 button to toggle the power on and off, the TV actually does recognize 3 separate i/r codes: The toggle power that's on the remote, as well as an explicit/discrete 'turn power on' and a discrete 'turn power off'. They just don't put all 3 buttons on the original remote to save space, but the TV does recognize them. Sites like remotecentral.com let you find discrete codes. Then LinuxMCE can control your TV reliably. When it's time to turn it on, the i/r transmitter sends the 'power on' button, and even if the TV is already on, it still stays on. The TV I used doesn't have discrete codes. It only recognizes the 1 button 'toggle power'. So LinuxMCE may think the TV is off, and send the 'toggle power' command to turn it on, when in fact the TV was already on and LinuxMCE inadvertently turned it off. Toggle codes are a nightmare for anybody that has ever tried to use any sort of universal remote, like a Logitech/Harmony because the remote never really knows what state the TV is in. Also, since infrared codes are inherently unreliable and don't always get through, if your TV supports discrete codes, like the Sony's do, LinuxMCE can just send the 'ON' 3 times to be 100% sure the TV got the command and goes on. But with toggle devices like the one I have it can't do that since sending the command 3 times would just turn it on, then off, then back on again. My TV has the same problem with inputs. It only recognizes a single 'toggle input' which just cycles through inputs. LinuxMCE remember what was the last input the TV was on, and how many times it needs to toggle to get to the next input. But this is very unreliable. Sometimes when the TV doesn't get a signal while hitting input select it 'freezes' for a couple seconds, and then LinuxMCE will get out of step, thinking it's on, say input 5, when it's really only on input 4. Again the better TV's, like Sony's, have discrete codes or buttons for each input. So LinuxMCE can just send the button 'input 4' and can re-transmit it 3 times to be sure it gets through, and not worry about trying to toggle. If you do have a toggle device like mine, and LinuxMCE ever gets out of sync, you can press and hold the red, green, yellow and blue buttons to get it back in sync. Holding the red button causes LinuxMCE to retransmit the 'power' command so if the TV went off instead of ON, it goes back ON. The green button retransmits the 'input select' button. The yellow retransmits the 'power on' to the receiver, and the blue retransmits the 'input select' to the receiver. Bottom line: if possible get TV's and Receivers with discrete codes and avoid TOAD's (toggle only analog devices). Nearly all the decent receivers actually do have discrete codes, so one possible solution at least to the input select problem with toggle-only TV's is to hook all the video sources to the receiver and let it do the switching, and leave the TV on 1 input. LinuxMCE automatically will setup your A/V gear like this. In the setup wizard it asks if you're using a receiver, and if you connected the video cable to it, and makes all the correct settings. You can view a graphical diagram of your a/v gear's connections in the admin site under Wizard, Devices, A/V Equipment, and click on the Connection Wizard.<br />
==still typing the rest==</div>Demushttp://wiki.linuxmce.org/index.php?title=Fiire_Chief&diff=15392Fiire Chief2008-08-28T04:44:45Z<p>Demus: /* Where to buy */</p>
<hr />
<div>[[Category: Hardware]]<br />
[[Category: Input]]<br />
[[Category: Infrared]]<br />
[[Category: Supported]]<br />
<br />
[[Image:FiireChief.jpg|thumb|200px|Fiire Chief Remote Control]]<br />
<br />
== Status ==<br />
'''WARNING: There have been MANY [[Fiire#Issues|on-going issues]] with Fiire products and support. Buyer beware!'''<br />
<br />
<br />
<br />
Supported by [[Fiire]] (LinuxMCE support) / [http://www.polywell.com Polywell Computers] (hardware).<br />
== Bugs ==<br />
Many users have reported "drifting" issues with the mouse pointer. This issue causes the mouse to move on it's own even when the remote is held still or placed on a table. This has been a long on-going issue with no indication it will be resolved. <br />
<br />
== Features ==<br />
* Wireless R/F gyro remote control specially designed for use with LinuxMCE.<br />
* Universal I/R support for up to 3 legacy devices.<br />
* Follow me function (requires additional USB dongles).<br />
<br />
== Sales Pitch ==<br />
The [[Fiire Chief]] controls both the [[Fiire Engine]] and the [[Fiire Station]]. It uses RF wireless, and has a range of approx. 50’. It is omni-directional and does not require line of site like an infrared remote. The FiireChief has all the traditional, legacy remote control buttons, as well as 3 specialized ‘gyro’ buttons in the middle that let you control every function using only those 3 buttons and gestural movements. It also has a built-in ‘follow-me’ feature. You can start media in one room, and when you want to move to another room, just take the remote with you and press ‘Follow-me’. Fiire is able to track each remote individually, so whatever media you started with that remote will follow that remote around the house. Your movies, TV and music effortlessly follow you as you move from room to room. And whenever you enter a room, the FiireChief instantly and automatically switches to control the devices in that room. So when you’re in the living room, the volume button controls the volume on the tv in the living room. Take the remote into the bedroom, and the volume button controls whatever tv is in the bedroom, whether or not it is the same brand as the one in the living room. The FiireChief is the only remote control you will need for every room in the home, and you don’t need to worry about which remote goes with which room since any remote can work in any room.<br />
<br />
Additionally, the FiireChief has a universal i/r remote built-in with both pre-stored codes and learning. You can program up to 3 i/r devices to control with the ‘tv’, ‘aux’, and ‘cab/sat’ buttons at the top. In those modes, it acts like a normal, universal i/r remote.<br />
<br />
The FiireChief includes one USB dongle which you connect to a Fiire Engine, Fiire Station, or other LinuxMCE PC running UI2.<br />
<br />
== Compatibility ==<br />
The device will register as a standard USB keyboard and mouse in recent linux kernels (tested in 2.6.25). However, there are still some buttons on the remote that will _not_ be registered by these drivers. To simplify detecting these buttons there is a ruby gem (install via `gem install gyruby`) called [http://rubyforge.org/projects/gyruby gyruby].<br />
<br />
== Where to buy ==<br />
<br />
'''WARNING: There have been MANY [[Fiire#Issues|on-going issues]] with Fiire products and support. Buyer beware!'''<br />
<br />
<br />
<br />
[http://www.fiire.com/fiire-chief.php Fiire website].<br />
<br />
== Adding Fiire Chief remote ==<br />
<br />
Just plug in the USB dongle (do not press the button on it) whilst the orbiter is running. It will install the software on its own. Then press the Connect button at the bottom of the remote and wait for 5 seconds. A message will pop up in the top left of the orbiter saying Active or Connected.<br />
<br />
You need to press that button to bind them after every reboot or reload of the router (or orbiter). The LED flashes when you press buttons or the gyro is detecting motion - it is very sensitive, so even the vibrations from music can cause it to continue lit even if you aren't touching it! <br />
<br />
BTW, the gyro times out after a short while (to save batteries?) of no motion - hit the big hand button in the middle or the menu button above it to wake it up...<br />
<br />
discussion at<br />
http://forum.linuxmce.org/index.php?topic=4086.0</div>Demushttp://wiki.linuxmce.org/index.php?title=Fiire_Chief&diff=15391Fiire Chief2008-08-28T04:42:26Z<p>Demus: </p>
<hr />
<div>[[Category: Hardware]]<br />
[[Category: Input]]<br />
[[Category: Infrared]]<br />
[[Category: Supported]]<br />
<br />
[[Image:FiireChief.jpg|thumb|200px|Fiire Chief Remote Control]]<br />
<br />
== Status ==<br />
'''WARNING: There have been MANY [[Fiire#Issues|on-going issues]] with Fiire products and support. Buyer beware!'''<br />
<br />
<br />
<br />
Supported by [[Fiire]] (LinuxMCE support) / [http://www.polywell.com Polywell Computers] (hardware).<br />
== Bugs ==<br />
Many users have reported "drifting" issues with the mouse pointer. This issue causes the mouse to move on it's own even when the remote is held still or placed on a table. This has been a long on-going issue with no indication it will be resolved. <br />
<br />
== Features ==<br />
* Wireless R/F gyro remote control specially designed for use with LinuxMCE.<br />
* Universal I/R support for up to 3 legacy devices.<br />
* Follow me function (requires additional USB dongles).<br />
<br />
== Sales Pitch ==<br />
The [[Fiire Chief]] controls both the [[Fiire Engine]] and the [[Fiire Station]]. It uses RF wireless, and has a range of approx. 50’. It is omni-directional and does not require line of site like an infrared remote. The FiireChief has all the traditional, legacy remote control buttons, as well as 3 specialized ‘gyro’ buttons in the middle that let you control every function using only those 3 buttons and gestural movements. It also has a built-in ‘follow-me’ feature. You can start media in one room, and when you want to move to another room, just take the remote with you and press ‘Follow-me’. Fiire is able to track each remote individually, so whatever media you started with that remote will follow that remote around the house. Your movies, TV and music effortlessly follow you as you move from room to room. And whenever you enter a room, the FiireChief instantly and automatically switches to control the devices in that room. So when you’re in the living room, the volume button controls the volume on the tv in the living room. Take the remote into the bedroom, and the volume button controls whatever tv is in the bedroom, whether or not it is the same brand as the one in the living room. The FiireChief is the only remote control you will need for every room in the home, and you don’t need to worry about which remote goes with which room since any remote can work in any room.<br />
<br />
Additionally, the FiireChief has a universal i/r remote built-in with both pre-stored codes and learning. You can program up to 3 i/r devices to control with the ‘tv’, ‘aux’, and ‘cab/sat’ buttons at the top. In those modes, it acts like a normal, universal i/r remote.<br />
<br />
The FiireChief includes one USB dongle which you connect to a Fiire Engine, Fiire Station, or other LinuxMCE PC running UI2.<br />
<br />
== Compatibility ==<br />
The device will register as a standard USB keyboard and mouse in recent linux kernels (tested in 2.6.25). However, there are still some buttons on the remote that will _not_ be registered by these drivers. To simplify detecting these buttons there is a ruby gem (install via `gem install gyruby`) called [http://rubyforge.org/projects/gyruby gyruby].<br />
<br />
== Where to buy ==<br />
<br />
[http://www.fiire.com/fiire-chief.php Fiire website].<br />
<br />
<br />
== Adding Fiire Chief remote ==<br />
<br />
Just plug in the USB dongle (do not press the button on it) whilst the orbiter is running. It will install the software on its own. Then press the Connect button at the bottom of the remote and wait for 5 seconds. A message will pop up in the top left of the orbiter saying Active or Connected.<br />
<br />
You need to press that button to bind them after every reboot or reload of the router (or orbiter). The LED flashes when you press buttons or the gyro is detecting motion - it is very sensitive, so even the vibrations from music can cause it to continue lit even if you aren't touching it! <br />
<br />
BTW, the gyro times out after a short while (to save batteries?) of no motion - hit the big hand button in the middle or the menu button above it to wake it up...<br />
<br />
discussion at<br />
http://forum.linuxmce.org/index.php?topic=4086.0</div>Demushttp://wiki.linuxmce.org/index.php?title=Fiire_Engine&diff=15390Fiire Engine2008-08-28T04:36:40Z<p>Demus: /* Status */</p>
<hr />
<div>[[Category: Hardware]]<br />
[[Category: Cores]]<br />
[[Category: Supported]]<br />
<br />
[[Image:Fiire_Engine.jpg|right]]<br />
<br />
== Status ==<br />
'''WARNING: There have been MANY [[Fiire#Issues|on-going issues]] with Fiire products and support. Buyer beware!'''<br />
<br />
<br />
<br />
Will be supported by [[Fiire]] (LMCE support) / [http://www.polywell.com Polywell Computers] (hardware). This article is out-of-date and this unit has been replaced by a new product line.<br />
<br />
== Features ==<br />
<br />
* Software: LinuxMCE 1.1 (KU0704)<br />
* User Interface: UI2 with masking<br />
* Processor: AMD Athlon 64 X2 4200+<br />
* RAM: 1GB<br />
* Internal Hard drive for operating system: 160 GB<br />
* RAID storage for media: 6 external e-sata ports for external drives, or external drive cage. Drives and cage not included. Largest e-sata drive at this moment is 1,000 GB, for a total capacity of 6,000 GB or 6TB.<br />
* Network: Dual Ethernet ports. Gigabit speed.<br />
* Audio: Standard stereo audio<br />
* Video: Via 890 chipset<br />
<br />
== Sales Pitch ==<br />
<br />
LinuxMCE supports 3 variations of the user interface, as shown [http://wiki.linuxmce.com/index.php/Main_Page#Screenshots here]. The [[Fiire Station]]s are designed to be LinuxMCE media stations, and use special graphics processors and video decoders to provide the highest quality video playback, and provide alpha blending done in the hardware. However, the video subsystem in the [[Fiire Station]] is not available for use in a standard PC platform. The [[Fiire Engine]], however, uses standard PC parts. At present, for standard PC’s, only certain nVidia provides support in their drivers for LinuxMCE’s UI2 with alpha blending. However, the nVidia drivers have some video artifacts particularly evident with 1080i content, and the drivers are not fully stable. Therefore, we have included a Via graphics engine, which, although it does not support alpha blending, does provide better video quality and is more stable. In the rooms where you want the full LinuxMCE experience with UI2 and alpha blending, use one of the [[Fiire Station]]s.<br />
<br />
The [[Fiire Engine]] is intended to be primarily the back-end server, while the [[Fiire Station]]s are dedicated for media playback. Therefore the [[Fiire Station]]s have more a/v connections, including component video, and SPDIF coax and optical for digital audio and surround sound.<br />
<br />
== Where to buy ==<br />
<br />
http://www.fiire.com/fiire-engine.php</div>Demushttp://wiki.linuxmce.org/index.php?title=Fiire&diff=15389Fiire2008-08-28T04:32:44Z<p>Demus: /* Fiire Station */ Spelling fixes</p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
=Company=<br />
[http://www.fiire.com Fiire Ltd.] is an online retailer of computer equipment specifically tailored for Linux MCE. The unique products offered by Fiire Ltd. are purchased from OEM manufacture [http://www.polywell.com Polywell Computers].<br />
<br />
==Address==<br />
The official address for Fiire Ltd. according to invoices is:<br />
<br />
:10573 W. Pico Blvd #42 <br />
:Los Angeles CA 90064 <br />
:UNITED STATES <br />
:+1 (213) 325-2667<br />
<br />
However, dealings with support staff indicates that most Fiire employees live in San Jose, California and that Fiire may not occupy an actual office. <br />
<br />
==Issues==<br />
Many Linux MCE users have experienced poor transactions with Fiire Ltd., for a plethora of reasons ranging from faulty hardware, poor support, and outright dishonesty by Fiire employees. Many customers have reported that support requests by e-mail often go unanswered, and that it is near impossible to reach a real person by phone. <br />
<br />
Some customers have reported being overcharged on shipping in excess of $200.00. Despite this obvious oversight, no efforts by Fiire were made to correct these issues. <br />
<br />
According to customer reports, products usually take a minimum of two weeks to ship and may take longer for certain items.<br />
<br />
Many Fiire products have known issues that have not been addressed and are still being sold to new customers with no indication of the defect or when a fix might be available. One particular issue, where the pointer will drift on Fiire Chief remotes has caused [[Convergenthome|Convergent Home Technologies]] to stop offering this product. <br />
<br />
<br />
=Products=<br />
'''You are URGED to read the issues section before making any purchases with Fiire!''' Additionally check the main Wiki article for the product you are looking at purchasing. Many Fiire products have seen compatability regression between Linux MCE 0704 and 0710. The Wiki articles may not have been updated to reflect this. The [http://forum.linuxmce.org forums] are a good source of information on current supported hardware. <br />
<br />
==Fiire 12TB==<br />
(Main article: [[Fiire 12TB]])<br />
This is the Fiire offering for a Linux MCE Core. It is expandable up to 12,000 GB of storage in a RAID configuration. <br />
<br />
:*Supported in LinuxMCE 0710 <br />
:*Supports UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel E8400 Core2 Duo 3.0 GHz<br />
:*2GB RAM<br />
:*Dual gigabit<br />
:*7.1 HD Audio with analog, SPDIF coaxial and optical outputs<br />
<br />
==Fiire Invisible==<br />
(Main article: [[Fiire Invisible]])<br />
Fiire offers three possible units for use as media director. The Invisible is a 2" unit with VESA mounting provisions designed to be attacked to the back of any VESA compliant display. <br />
:*Supports LinuxMCE 0710 <br />
:*1080i hardware accelerated de-interlacing<br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:* AMD BE 2400<br />
:* 1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Prestige==<br />
(Main article: [[Fiire Prestige]])<br />
This model is available in two flavors, the base model and a "lite" model. The only difference between the two is the chassis. The lite model does not include the brushed aluminum case, the VFD display or the infrared receiver. <br />
:*Supports LinuxMCE 0710 <br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel Core2 Duo E4600 2.4GHz<br />
:*1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Chief==<br />
(Main article: [[Fiire Chief]])<br />
The Fiire Chief is a remote specifically designed for LinuxMCE. It contains a gyroscope which allows the user to move an on-screen pointer by gesturing with the remote, similar to a Nintendo Wii controller. The Fiire Chief is based on the [[Using the Gyration Remote GYR3101US (Non-Fiire Chief)|Gyration HTPC remote]], except it contains unique firmware and labeling to perform special LinuxMCE functions (such as "Follow Me"). The Chief operates on the unlicensed 2.4 GHz frequency spectrum and does not require line of sight to control devices. <br />
<br />
==Miscellaneous==<br />
Fiire Ltd. also carries a select range of accessories and interface devices (such as Z-Wave dimmers and HDMI cables). Some of these devices require special drivers which are only available in binary form. To support the open source movement, it is recommended you purchase alternative components with open source drivers.<br />
=Discontinued Products=<br />
==Fiire Engine==<br />
(Main article: [[Fiire Engine]]) This unit has been replaced with the [[Fiire 12TB]]. <br />
:* Software: LinuxMCE 1.1 (KU0704)<br />
:* User Interface: UI2 with masking<br />
:* Processor: AMD Athlon 64 X2 4200+<br />
:* RAM: 1GB<br />
:* Internal Hard drive for operating system: 160 GB<br />
:* RAID storage for media: 6 external e-sata ports for external drives, or external drive cage. Drives and cage not included. Largest e-sata drive at this moment is 1,000 GB, for a total capacity of 6,000 GB or 6TB.<br />
:* Network: Dual Ethernet ports. Gigabit speed.<br />
:* Audio: Standard stereo audio<br />
:* Video: Via 890 chipset <br />
==Fiire Station==<br />
(Main article: [[Fiire Station]])<br />
This unit is no longer sold by Fiire. The unit was based on a Via embedded system which has no OpenGL support with open source drivers. During the LinuxMCE 0704 phase, Fiire licensed binary drivers from Via that contained the necessary OpenGL implementation. In LinuxMCE 0710 the binary driver developed a computability issue that was unable to be resolved. As a result Fiire dropped this product and began offering its new line of thin media directors, the [[Fiire Invisible]].</div>Demushttp://wiki.linuxmce.org/index.php?title=Fiire_Station&diff=15388Fiire Station2008-08-28T04:31:48Z<p>Demus: </p>
<hr />
<div>[[Category: Hardware]]<br />
[[Category: Media Directors]]<br />
[[Category: Supported]]<br />
<br />
[[Image:Fiire_Station.jpg|right]]<br />
<br />
== Status ==<br />
'''WARNING: There have been MANY [[Fiire#Issues|on-going issues]] with Fiire products and support. Buyer beware!'''<br />
<br />
<br />
Will be supported by [[Fiire]] (LMCE support) / [http://www.polywell.com Polywell Computers] (hardware). <br />
<br />
This article is out-of-date and this [[Fiire#Fiire Station|product is discontinued]]. <br />
<br />
== Features ==<br />
<br />
* Software: LinuxMCE 1.1 (KU0704)<br />
* User Interface: UI2 with alpha blending<br />
* Processor: Via Eden 1.5 Ghz. Ultra low power 9 watt in the vertical mount version, and 20 watt in the set top box version<br />
* RAM: 512MB<br />
* Internal Hard drive for operating system: 40GB. All system drives in the FiireEngine are mounted for data storage.<br />
* Network: Gigabit Ethernet<br />
* Audio: Via Vinyl 6 channel audio, with line in, line out and mic. Standard set top box version also has SPDIF coas and tos-link for digital audio<br />
* Video: Via UniChrome Pro II, with proprietary drivers and special alpha blended MPEG 2/4 and WMV9 acceleration<br />
* IO: 4 USB 2.0 ports, 2 PS/2, 1 COM (COM port only on 1" version)<br />
* Dimensions – vertical mount: 168 (h) x 300 (w) x 25.4 (d) mm<br />
* Weight – vertical mount: 1200g<br />
<br />
== Sales Pitch ==<br />
<br />
The [[Fiire Station]] runs [[LinuxMCE]] and can be used as a standard medium-performance PC. However, it also has specialized video decoding hardware to provide the best video quality, and offload all video processing, including sophisticated 1080i de-interlacing, OpenGL 3D effects, and alpha blending, all in the video hardware. The end result is you get better video quality than the massive, high end Windows Vista MCE systems, which require very expensive, power-hungry, hot processors to do the 3D alpha blended effects in Aero and video playback in MCE. The FiireStation offers even better video and a smoother UI experience while drawing as little as 9 watts of power, about 1/20th what a Windows Vista Media Center PC draws. That translates to a couple hundred dollars a year in energy savings if you leave your Media PC on all the time.<br />
<br />
The [[Fiire Station]] is available in 2 versions: A 1” thin vertical mount designed to hide behind a plasma TV, and a standard set top box.<br />
<br />
The vertical mount version means for the first time ever, you can have a full HD PVR and media player solution without any visible set top box or exposed cables. It comes with VESA mount holes. Most flat panel TV’s have VESA holes in the back for attaching them to a wall mount. So if your flat panel TV sits on a base, and not a wall mount, the [[Fiire Station]] attaches directly to the back of the TV using the VESA holes. If your flat panel TV is mounted to a wall, the [[Fiire Station]] is thin and narrow enough to fit inside a typical wall mount and can be attached to the wall, the mounting bracket, or the back of the TV. The vertical mount version costs more because it uses specialized precision components with ultra-lower power consumption so that it is only 1” thick, has no fans or vents, and can be tucked away in the small space between a TV and the wall.<br />
<br />
The standard set top box version has more room in it and extra connections, including component video and SPDIF for digital audio. The vertical mount version does not provide SPDIF connectors because flat panel TV’s do not have SPDIF inputs. If you are using this in an equipment rack and have a receiver with SPDIF, the standard set top box version is better. Plus, you can have a local DVD/CD player in the standard set top box version. For the vertical mount version, you can leave your CD’s or DVD’s in a jukebox attached to the [[Fiire Engine]].<br />
<br />
== Where to buy ==<br />
<br />
http://www.fiire.com/fiire-station.php<br />
<br />
== COM Ports ==<br />
<br />
As of May 1, 2008 only the 1" version had a serial port built-in. According to fiire customer service the set-top box version has an available serial port header and a DB-9 punch out. However, Polywell (the manufacturer of the fiire boxes) does not populate the DB-9. <br />
<br />
According to customer service, the case of the 2" Fiire Station does not have a spot for a DB-9.<br />
<br />
== Versions ==<br />
<br />
According to fiire technical support a new generation of the Fiire Station and Engine are slated to be released to coincide with the release of LinuxMCE 07.10.</div>Demushttp://wiki.linuxmce.org/index.php?title=Fiire&diff=15256Fiire2008-08-15T16:19:16Z<p>Demus: Needs editing</p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
=Company=<br />
[http://www.fiire.com Fiire Ltd.] is an online retailer of computer equipment specifically tailored for Linux MCE. The unique products offered by Fiire Ltd. are purchased from OEM manufacture [http://www.polywell.com Polywell Computers].<br />
<br />
==Address==<br />
The official address for Fiire Ltd. according to invoices is:<br />
<br />
:10573 W. Pico Blvd #42 <br />
:Los Angeles CA 90064 <br />
:UNITED STATES <br />
:+1 (213) 325-2667<br />
<br />
However, dealings with support staff indicates that most Fiire employees live in San Jose, California and that Fiire may not occupy an actual office. <br />
<br />
==Issues==<br />
Many Linux MCE users have experienced poor transactions with Fiire Ltd., for a plethora of reasons ranging from faulty hardware, poor support, and outright dishonesty by Fiire employees. Many customers have reported that support requests by e-mail often go unanswered, and that it is near impossible to reach a real person by phone. <br />
<br />
Some customers have reported being overcharged on shipping in excess of $200.00. Despite this obvious oversight, no efforts by Fiire were made to correct these issues. <br />
<br />
According to customer reports, products usually take a minimum of two weeks to ship and may take longer for certain items.<br />
<br />
Many Fiire products have known issues that have not been addressed and are still being sold to new customers with no indication of the defect or when a fix might be available. One particular issue, where the pointer will drift on Fiire Chief remotes has caused [[Convergenthome|Convergent Home Technologies]] to stop offering this product. <br />
<br />
<br />
=Products=<br />
'''You are URGED to read the issues section before making any purchases with Fiire!''' Additionally check the main Wiki article for the product you are looking at purchasing. Many Fiire products have seen compatability regression between Linux MCE 0704 and 0710. The Wiki articles may not have been updated to reflect this. The [http://forum.linuxmce.org forums] are a good source of information on current supported hardware. <br />
<br />
==Fiire 12TB==<br />
(Main article: [[Fiire 12TB]])<br />
This is the Fiire offering for a Linux MCE Core. It is expandable up to 12,000 GB of storage in a RAID configuration. <br />
<br />
:*Supported in LinuxMCE 0710 <br />
:*Supports UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel E8400 Core2 Duo 3.0 GHz<br />
:*2GB RAM<br />
:*Dual gigabit<br />
:*7.1 HD Audio with analog, SPDIF coaxial and optical outputs<br />
<br />
==Fiire Invisible==<br />
(Main article: [[Fiire Invisible]])<br />
Fiire offers three possible units for use as media director. The Invisible is a 2" unit with VESA mounting provisions designed to be attacked to the back of any VESA compliant display. <br />
:*Supports LinuxMCE 0710 <br />
:*1080i hardware accelerated de-interlacing<br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:* AMD BE 2400<br />
:* 1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Prestige==<br />
(Main article: [[Fiire Prestige]])<br />
This model is available in two flavors, the base model and a "lite" model. The only difference between the two is the chassis. The lite model does not include the brushed aluminum case, the VFD display or the infrared receiver. <br />
:*Supports LinuxMCE 0710 <br />
:*UI2 with alpha blending (website claim, untested in real life)<br />
:*Intel Core2 Duo E4600 2.4GHz<br />
:*1GB RAM<br />
:* 7.1 audio with SPDIF coax and digital outputs<br />
==Fiire Chief==<br />
(Main article: [[Fiire Chief]])<br />
The Fiire Chief is a remote specifically designed for LinuxMCE. It contains a gyroscope which allows the user to move an on-screen pointer by gesturing with the remote, similar to a Nintendo Wii controller. The Fiire Chief is based on the [[Using the Gyration Remote GYR3101US (Non-Fiire Chief)|Gyration HTPC remote]], except it contains unique firmware and labeling to perform special LinuxMCE functions (such as "Follow Me"). The Chief operates on the unlicensed 2.4 GHz frequency spectrum and does not require line of sight to control devices. <br />
<br />
==Miscellaneous==<br />
Fiire Ltd. also carries a select range of accessories and interface devices (such as Z-Wave dimmers and HDMI cables). Some of these devices require special drivers which are only available in binary form. To support the open source movement, it is recommended you purchase alternative components with open source drivers.<br />
=Discontinued Products=<br />
==Fiire Engine==<br />
(Main article: [[Fiire Engine]]) This unit has been replaced with the [[Fiire 12TB]]. <br />
:* Software: LinuxMCE 1.1 (KU0704)<br />
:* User Interface: UI2 with masking<br />
:* Processor: AMD Athlon 64 X2 4200+<br />
:* RAM: 1GB<br />
:* Internal Hard drive for operating system: 160 GB<br />
:* RAID storage for media: 6 external e-sata ports for external drives, or external drive cage. Drives and cage not included. Largest e-sata drive at this moment is 1,000 GB, for a total capacity of 6,000 GB or 6TB.<br />
:* Network: Dual Ethernet ports. Gigabit speed.<br />
:* Audio: Standard stereo audio<br />
:* Video: Via 890 chipset <br />
==Fiire Station==<br />
(Main article: [[Fiire Station]])<br />
This unit is not longer sold by Fiire. The unit was based on a Via embedded system which has no OpenGL support with open source drivers. During the LinuxMCE 0704 phase, Fiire licensed binary drivers from Via that contained the necessary OpenGL implementation. In LinuxMCE 0710 the binary driver developed a computability issue that was unable to be resolved. As a result Fiire dropped this product and began offering its new line of thin media directors, the Fiire Invisible.</div>Demushttp://wiki.linuxmce.org/index.php?title=Display_Drivers&diff=15186Display Drivers2008-08-07T08:22:36Z<p>Demus: /* Via Chipsets */</p>
<hr />
<div>{| align="right"<br />
| __TOC__<br />
|}<br />
[[Category: Tutorials]]<br />
[[Category: Hardware| ]]<br />
<br />
An incomplete HowTo on updating LinuxMCE to the latest display drivers and configuring them manually. It could use your help, so if something is different in your situation, please add it.<br />
<br />
'''Note that this should normally not be necessary unless you have specific wishes or trouble getting your display to work properly.''' <br />
<br />
== Installation ==<br />
If the graphical environment cannot start you are likely to see a text screen blinking, this makes it very hard to login, if this is the case you can reboot into "recovery mode" by pressing [Esc] when GRUB tells you to during the boot process and then select it from the menu you will be presented with.<br />
<br />
=== ATI Chipsets ===<br />
The two main ways to install the ATI drivers are described in the [http://wiki.cchtml.com/index.php/Ubuntu_Feisty_Installation_Guide Ubuntu Feisty Installation Guide].<br />
<br />
For more information see also the [http://wiki.cchtml.com/index.php/Main_Page Unofficial ATI Linux Driver Wiki] and you might want to have a look at [http://www.mythtv.org/wiki/index.php/AtiProprietaryDriver AtiProprietaryDriver] in the MythTV wiki as well since LinuxMCE depends on it for viewing TV. MythTV in turn relies heavily on the support of certain features by the graphics drivers. The ATI drivers turn out to be a bit "challenged" in this area to say the least.<br />
<br />
==== Installing The ATI Driver ====<br />
<br />
Here's the procedure I use for setting up an ATI X1250 MD. Currently the the AVwizard in 0710 does not configure ATI cards properly so you need to to do some manual steps to get things working.<br />
<br />
'''Step 1'''<br />
<br />
Add the MD in the normal way (ie plug it into the network and let it add itself). Let it reboot and then it should run the AVwizard. Choose the options you want - output connector, resolution, refresh.... UI2 with Overlay etc etc and complete the wizard. Now the screen will return to a console screen and will after 5-10 mins will try to run the setup Wizard... but the setup Wizard will run very slowly and the video of 'Sarah' will not play smoothly. This is because the ATI drivers are not installed yet and the X driver is set to 'vesa'.<br />
<br />
'''Step 2'''<br />
<br />
From another machine ssh into the partially installed MD using Konsole from the KDE Desktop or a terminal app like Putty under Windows XP. Do the following from the console;<br />
<br />
sudo su - <return><br />
ssh moonNN <return> (**where the NN is the device number for the MD we're configuring**)<br />
<br />
Alternatively do the following from the MD/Core you are configuring;<br />
<br />
Ctrl+Alt+2<br />
<br />
Now login using the login you created when you installed your system ie When you ran the DVD installer or CD installer. Now we're logged into the MD we are configuring as 'root' and we can install the ATI drivers and configure Xorg.conf;<br />
<br />
Firstly make sure our sources.list is up to date:<br />
<br />
apt-get update <return><br />
<br />
Now lets install the ATI driver and packages;<br />
<br />
apt-get install linux-restricted-modules-generic restricted-manager <return><br />
<br />
Answer 'Y' to installing new packages then do the following steps;<br />
<br />
apt-get install xorg-driver-fglrx <return><br />
depmod -a <return><br />
<br />
So far so good... now we have the ATI drivers installed! (the current driver in the repos is not the latest ATI release an updated driver will be packaged soon though). Now we have to configure Xorg to use it! Do the steps below;<br />
<br />
I use the console text editor 'joe' below but you can use whichever you prefer ('nano' is installed by default for example);<br />
<br />
joe /etc/X11/xorg.conf <return><br />
<br />
Now you are editing the xorg.conf of your MD and the only change you need to make is to the 'Device' section. In the 'Device' section you will see a line thats says;<br />
<br />
Driver "vesa"<br />
or<br />
Driver "ati"<br />
<br />
Change the string 'vesa' (or ati) to 'fglrx' which is the name of the ATI driver. The updated driver line should look like below;<br />
<br />
Driver "fglrx"<br />
<br />
Now save the changes you have made to xorg.conf.<br />
<br />
Now reboot the MD from the console with;<br />
<br />
reboot <return><br />
<br />
The MD will now reboot normally and the setup wizard will run again.... but this time the video and the Ui will run smoothly as the ATI driver is installed and confgured.<br />
<br />
Currently the ATI driver will not support UI2 with transparency but it will support UI2 with overlay very nicely indeed. There are two small caveats to running UI2 with Overlay currently with the ATI driver in that the 'Compass Rose' on screen menu for selecting DVD chapters, Lighting levels etc etc and the 'Zoom & Aspect ratio' screen when playing Video do not draw correctly - the bit maps for the menus do not display but the menus do work.<br />
<br />
=== NVidia Chipsets ===<br />
There are several ways to install NVidia drivers, the way described here is meant as a guide to install the very latest drivers from the NVidia website. Note that this way will bypass the LinuxMCE (Kubuntu) packaging system, possibly removing and/or overwriting some of it's files.<br />
<br />
1. Go to a console (text) terminal by holding [CTRL]-[ALT] and pressing the [F1] key simultaneously, log in with the user account you have created during the Kubuntu install and become root, if you haven't done so already. <br />
'''<you>@dcerouter:~$''' sudo -s<br />
2. Download the latest [http://www.nvidia.com/object/unix.html linux drivers from NVidia] (depending [http://www.nvidia.com/object/IO_32667.html on your hardware], one of versions: 1XX.XX.XX, 1.0-96xx or 1.0-71XX), if you haven't done so already. When you have found the URL for downloading the package on the nvidia site you could download it like this:<br />
'''root@dcerouter:~#''' wget <nowiki>http://us.download.nvidia.com/XFree86/Linux-x86/</nowiki>''<version>''<nowiki>/NVIDIA-Linux-x86-</nowiki>''<version>''<nowiki>-pkg1.run</nowiki><br />
3. Go to runlevel 1 to stop the currently running X-server. <br />
<br />
NB: There was no need for me to run this command as I was already in Level 1 - It just locked up the keyboard. --[[User:Mortar|Mortar]] 18:12, 6 January 2008 (MST)<br />
'''root@dcerouter:~#''' telinit 1 <br />
4. Execute the installer and follow instructions. Ignore the warning about runlevel 1 and don't bother looking for precompiled drivers.<br />
'''root@dcerouter:~#''' sh NVIDIA-Linux-x86-''<version>''-pkg1.run<br />
5. Now it needs to be configured. The recommended and most convenient way is to use the [[AVWizard]]. For more advanced setup, or if the AVWizard for some reason is unable to set your up your screens to your liking, you can configure the ''X-server'' manually by editing the ''xorg.conf'' file directly.<br />
<br />
If the AVWizard crashes (as it did for me when installing the legacy drivers) try setting the '''driver''' option in the ''xorg.conf'' file to '''vesa''', go through the AVWizard and then change it back. --[[User:Zaerc|Zaerc]] 15:14, 5 June 2008 (PDT)<br />
<br />
=== Intel Chipsets ===<br />
There is a renewed interest in the Intel graphics chipsets since Intel released the drivers under the GPL. Currently the Intel driver still cannot support UI2 with Alphablending but they will support UI2 with Overlay very nicely and video performance is excellent. LinuxMCE versions after Beta4 have full support for configuring the Intel driver in the AVwizard.<br />
<br />
From LinuxMCE-0710 Beta4 onwards LinuxMCE will install the newer intel driver by default - so the instructions below are only useful if your still running LinuxMCE-0704.<br />
<br />
==== For LinuxMCE-0704 ====<br />
<br />
You will want to make sure you are using the newer intel drivers from http://packages.ubuntu.com/gutsy/i386/xserver-xorg-video-intel/download for i386. These replace the older i810, etc. drivers and should cover all the modern intel chipsets. The name for this driver is 'intel' and would replace the older 'i810' drivers.<br />
<br />
If you're using i810 driver make sure you add Option "LinearAlloc" "8160" to xorg.conf or video players will crash with X11 error: BadAlloc.<br />
<br />
From man i810:<br />
Option "LinearAlloc" "integer"<br />
Allows more memory for the offscreen allocator. This usually<br />
helps in situations where HDTV movies are required to play but<br />
not enough offscreen memory is usually available. Set this to<br />
8160 for upto 1920x1080 HDTV support. Default 0KB (off).<br />
<br />
==== potential problem ====<br />
<br />
there can be a problem with some intel drivers, like the gma 3100. see [[bug/gma3100driver]] for further informations<br />
<br />
=== Via Chipsets ===<br />
Use the Openchrome or Via Unichrome drivers. The Via Unichrome drivers can be downloaded from [http://www.viaarena.com/default.aspx?PageID=2&OSID=45&CatID=3220]<br />
<br />
The proprietary Via Unichrome driver works best with Linux MCE. Unfortunately this driver has intentionally been stripped of support for most GLX extensions. This driver does not support alpha blending which is a prerequisite of [[UI2]]. Via licenses the full featured driver to system integrators, such as [[Fiire]]. This licensed driver is not publicly available. Additionally there is a known incompatibility issue with the licensed driver and Linux MCE 0710. <br />
<br />
On April 08, 2008 Via announced a new open source initiative to help develop open drivers for certain video chipsets [http://www.phoronix.com/scan.php?page=article&item=via_oss&num=1]. This press release echos sour notes with many developers who have heard this tune many times before. No useful information or code has been released to date, striking yet another all to familiar chord in the open source community [http://www.phoronix.com/scan.php?page=article&item=via_bluff&num=1].<br />
<br />
'''HOW-TO VIA Openchrome driver for xorg:'''<br><br />
For VIA CX700M2 UniChrome PRO II Graphics (1" VIA units) or mainly via graphics:<br><br />
==== NOTE:--[[User:Usaf-lt-g|Usaf-lt-g]] 13:17, 2 August 2008 (PDT) ====<br />
<br />
==== --[[User:Usaf-lt-g|Usaf-lt-g]] 14:01, 6 August 2008 (PDT)The steps mentioned BELOW were ONLY successful for UI1 not UI2. I have yet to get UI2 working, however these steps will work for 710 UI1. <br />
<br><br />
After following the below directions, you MAY experience your MD locking the next time it boots, if this the case... ssh to your core first and make sure you have root access by issuing the '''sudo -s''' command.<br><br />
<br><br />
cd /tftpboot/pxelinux.cfg<br><br />
<br><br />
locate the mac address of the MD and then<br><br />
vi <your MAC address here> <br><br />
place the '''acpi=off''' command at the end of the APPEND line.<br><br />
<br><br />
save the file and reboot MD.<br />
<br><br />
<br><br />
<br />
==== NOTE: --[[User:Usaf-lt-g|Usaf-lt-g]] 14:02, 6 August 2008 (PDT) You will most likely need to generate a new xorg.conf file as well. See the additional steps section on how to do this and how to set it up for your particular setup<br />
<br />
==== NOTE:[[User:usaf-lt-g|usaf-lt-g]] Sunday July 28th, 2008 ====<br />
<br />
----<br />
<br />
Burgiman's instructions worked... with some minor modifications. Take note, I had a VERY difficult time first being able to SSH in to my MD. However, note, that I'm using an "earlier" version of LMCE (Beta 3). My MD is also diskless, and NETBIOS handled. If you can't gain root access to your MD through SSH I suggest the following method:<br />
<br />
----<br />
<br />
<br />
--[[User:Usaf-lt-g|Usaf-lt-g]] 22:55, 27 July 2008 (PDT)<br />
<br />
''shell into your core as linuxmce / linuxmce and do the following:''<br><br />
<br />
<br />
----<br />
sudo -s <br />
cd /usr/pluto/diskless <br />
chroot <your MD # found on the linuxmce admin devices page> <br />
(chroot will allow you to access the MD's file system as a root user) <br />
----<br />
''from here I suggest you make a new group and user and then add them to the list of sudoers so that you can easily have SSH access to your MD anytime without this hassle. I did the following:''<br />
<br />
----<br />
groupadd parents<br />
useradd -g parents chris<br />
passwd chris<br />
<set your password><br />
visudo<br />
here you need to add a line below the: <br />
root ALL=(ALL) ALL </b> <br />
line. Mine was:<br />
chris ALL=(ALL) ALL<br><br />
----<br />
<br />
''Now you'll be able to login using this user with password you supplied and issue the <b> sudo -s </b> command, which will grant you root access to the MD.''<br />
<br><br />
--[[User:Usaf-lt-g|Usaf-lt-g]] 22:55, 27 July 2008 (PDT)<br />
''now from here you're going to need some additional packages installed before you can do anything with the OpenChrome drivers.''<br><br />
<br />
----<br />
apt-get install subversion (which will give you the svn command)<br />
apt-get install xserver-xorg-dev<br><br />
apt-get install libdrm-dev<br><br />
apt-get install libxvmc-dev<br><br />
----<br />
<br />
''After that, you SHOULD be able to follow the rest of the install below. It worked for me. Hope this helps.''<br />
<br><br />
Feel free to edit if necessary.<br />
Chris<br />
<br />
====NOTE:[[User:ddamron|ddamron]] Monday June 30, 2008====<br />
Burgiman's instructions did NOT work for me. <br />
Take that for what it's worth. <br />
I had better success installing the VIA Unichrome Driver, and UI1. Use CLE266 mode.<br />
If you have more success, please update this page<br />
Dan<br />
<br />
'''UPDATED FOR 0710!'''<br />
--[[User:Burgiman|burgi]] 11:47, 2 June 2008 (PDT)<br />
<br />
''shell into your box and do the following:''<br><br />
apt-get install build-essential automake1.9 libtool x11proto-* libgl1-mesa-dev makedepend libxxf86vm-dev libexpat1-dev libexpat1 libxmu-dev xtrans-dev libpng12-dev libxcomposite-dev libxfixes-dev libxdamage-dev libxrandr-dev libxrender-dev libstartup-notification0-dev libgconf2-dev<br />
<br />
cd /usr/src<br />
svn checkout http://svn.openchrome.org/svn/trunk openchrome<br />
cd openchrome*<br />
./autogen.sh --prefix=/usr<br />
make<br />
make install<br />
<br />
Now we have to edit /etc/X11/xorg.conf and change the device driver to via openchrome:<br><br />
vi /etc/X11/xorg.conf<br />
Go to<br />
Section "Device"<br />
and change<br />
Driver "vesa" <br />
to<br />
Driver "openchrome"<br />
save and test the compiled new driver with a: <br><br />
X :1<br />
and if your xwindow comes up, you can reboot and have fun<br><br />
--[[User:Burgiman|burgi]] 13:37, 3 March 2008 (PST)<br />
<br />
=== Other Chipsets ===<br />
Please help out by adding more if you can.<br />
<br />
== Configuration ==<br />
The recommended and most convenient way is to use the [[AVWizard]]. For more advanced setup, or if the X-server (and thus also the AVWizard) is unable to start, you can configure the ''X-server'' manually by editing the ''xorg.conf'' file directly.<br />
<br />
=== Getting started ===<br />
Start by making a backup copy of the ''/etc/X11/xorg.conf'' file (even if it doesn't work it might contain settings you could need). In this example we will start from scratch and edit the configuration file step by step to get the main display setup. <br />
<br />
Some of these steps require that there will be no X-server active on the system, the easiest way to achieve this is to boot in ''rescue-mode'', just hit [Esc] when [[Grub]] tells you to during the startup of your machine and select the right line from the menu. Another way is to go to a text-mode console (aka. terminal) with [CTRL]-[ALT]-[F1], [[Logging In|log in]], become root and issue the command:<br />
telinit 1<br />
This wil stop the running X-server and drop you into rescue mode as well. <br />
<br />
One of the advantages is that now you can start and stop the X-server by hand with an alternative configuration file and without having to reboot or even start an entire desktop environment.<br />
<br />
=== Generating a template ===<br />
These instructions were originally written for ATI chipsets, so they might need to be adjusted and updated a bit. Not all of the specific options may be relevant for your chipset. <br />
<br />
'''While there is no (other) X-server running''' you can create a template configuration file by running:<br />
X -configure<br />
This will create a file called xorg.conf.new in your ''home'' directory, test it with the following command and hit [CTRL]-[ALT]-[Backspace] when done:<br />
X -config ~/xorg.conf.new<br />
Within a few seconds a gray bitpattern should show up with an 'X' shaped mouse cursor. If the screen is distorted or reports the refresh rate to be out of range then you will either have to specify the proper refreshrate limitations for your screen or insert "modelines" for the resolution(s) you want to use (see below). <br />
<br />
When you're satisfied you can overwrite ''/etc/X11/xorg.conf'' with this file to make it the default (you did make a backup didn't you?), once you have done that you can use "startx" to test and have the use of your desktop as well. This should at least be enough to allow the use of a graphic configuration tool (like the [[AVWizard]] for instance) to set up your display further. More advanced manual configuration options can be found below.<br />
<br />
Here is an example of such a generated file:<br />
<br />
Section "ServerLayout"<br />
Identifier "X.org Configured"<br />
Screen 0 "Screen0" 0 0<br />
InputDevice "Mouse0" "CorePointer"<br />
InputDevice "Keyboard0" "CoreKeyboard"<br />
EndSection<br />
<br />
Section "Files"<br />
RgbPath "/etc/X11/rgb"<br />
ModulePath "/usr/lib/xorg/modules"<br />
FontPath "/usr/share/fonts/X11/misc"<br />
FontPath "/usr/X11R6/lib/X11/fonts/misc"<br />
FontPath "/usr/share/fonts/X11/cyrillic"<br />
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"<br />
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"<br />
FontPath "/usr/share/fonts/X11/Type1"<br />
FontPath "/usr/X11R6/lib/X11/fonts/Type1"<br />
FontPath "/usr/share/fonts/X11/100dpi"<br />
FontPath "/usr/share/fonts/X11/75dpi"<br />
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"<br />
EndSection<br />
<br />
Section "Module"<br />
Load "extmod"<br />
Load "record"<br />
Load "xtrap"<br />
Load "dri"<br />
Load "glx"<br />
Load "dbe"<br />
Load "GLcore"<br />
Load "type1"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Keyboard0"<br />
Driver "kbd"<br />
EndSection<br />
<br />
Section "InputDevice"<br />
Identifier "Mouse0"<br />
Driver "mouse"<br />
Option "Protocol" "auto"<br />
Option "Device" "/dev/input/mice"<br />
Option "ZAxisMapping" "4 5 6 7"<br />
EndSection<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
EndSection<br />
<br />
Section "Device"<br />
### Available Driver options are:-<br />
### Values: &lt;i&gt;: integer, <f>: float, <bool>: "True"/"False",<br />
### <string>: "String", <freq>: "<f> Hz/kHz/MHz"<br />
### [arg]: arg optional<br />
#Option "ShadowFB" # [<bool>]<br />
#Option "DefaultRefresh" # [<bool>]<br />
#Option "ModeSetClearScreen" # [<bool>]<br />
Identifier "Card0"<br />
Driver "vesa"<br />
''VendorName "ATI Technologies Inc"''<br />
''BoardName "ATI Radeon Xpress 1200 Series"''<br />
''BusID '''"PCI:1:5:0"'''''<br />
EndSection<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 1<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 4<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 8<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 15<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 16<br />
EndSubSection<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
EndSubSection<br />
EndSection<br />
<br />
Note that the only thing really specific to my setup in this config file is ''BusID'', if you only have one graphics adapter in your system this value can be omitted, otherwise the value(s) can be found with:<br />
X -scanpci<br />
Where each card will need it's own Device Section in the config file. The "VendorName" and "BoardName" settings are just labels and serve no real purpose other then being able to identify this particular device, which is usefull if you have more then one.<br />
<br />
We'll be using this sample configuration as a starting point in the other examples below, the comments (lines starting with ''#'' can be safely removed as well as the ''"Display"'' subsections for the colordepths we don't plan on using.<br />
<br />
=== Refresh rate / ModeLine ===<br />
The easiest way to sort this problem is to let the X-server figure this out by not specifying the limits of your screen. However this often fails, leaving you with an unusable display. Simply look up '''your screen''''s refresh rates in the documentation and add them like this:<br />
<br />
Section "Monitor"<br />
Identifier "Monitor0"<br />
VendorName "Monitor Vendor"<br />
ModelName "Monitor Model"<br />
''HorizSync '''27-102''' # kHz''<br />
''VertRefresh '''50-160''' # Hz''<br />
EndSection<br />
<br />
Alternatively you could specify a "ModeLine" for each resolution you want to use. By using ModeLines you have much finer controll over the timings of the output signal generated by your videocard. The drawback is that the timing values can be hard to get right. <br />
<br />
Search the web for a "modeline generator", and many of these will include instructions on how to add the modeline, but briefly, you just add it to the "Monitor" section. Read the [http://en.wikipedia.org/wiki/Modeline wikipedia entry] to learn how to use modelines. <br />
* http://koala.ilog.fr/cgi-bin/nph-colas-modelines<br />
* http://xtiming.sourceforge.net/cgi-bin/xtiming.pl<br />
* http://www.bohne-lang.de/spec/linux/modeline/<br />
* http://amlc.berlios.de/<br />
* http://www.mythtv.org/wiki/index.php/Working_with_Modelines<br />
If one modeline doesn't work perfectly, try another, perhaps from another generator, because they can vary so much.<br />
<br />
Using the wrong timings could in some (nowadays rare) occasions damage the hardware of your screen, so if it looks garbeled don't leave it like that for hours on end but hit [Ctrl]-[Alt]-[&larr;Backspace] and readjust your settings. Most modern screens however simply report that the signal is out of range if this happens.<br />
<br />
=== Colordepth and resolution ===<br />
Specify the colordepth and resolution(s) you would like to use, like this:<br />
<br />
Section "Screen"<br />
Identifier "Screen0"<br />
Device "Card0"<br />
Monitor "Monitor0"<br />
''DefaultDepth '''24'''''<br />
SubSection "Display"<br />
Viewport 0 0<br />
Depth 24<br />
''Virtual '''1600 1200'''''<br />
''Modes '''"1600x1200" "1280x1024" "1024x768" "800x600" "640x480" "512x384" "400x300" "320x240"'''''<br />
EndSubSection<br />
EndSection<br />
<br />
As most people will only be using 24 bits anyway, I have removed the other redundant subsections. "Virtual" is the size of your desktop and "Modes" are physical resolutions, you can flip through these by holding [CTRL]-[ALT] and pressing the plus or minus on the numeric keypad. These are just examples, most people will only want to specify the resolution they actually use.<br />
<br />
=== DRI device permissions ===<br />
This section is needed to have the X-server set the proper permissions on the DRI device during startup. Simply add it to the end of the /etx/X11.xorg file if it isn't there already.<br />
<br />
Section "DRI"<br />
Mode 0666<br />
EndSection<br />
<br />
=== Chipset driver ===<br />
Change "'''vesa'''" to "'''fglrx'''" (or "'''ati'''", depending on which drivers you installed earlier), as shown below, the old line is left as a comment in this example for clarity, but it's better to remove it as some scripts seem to find it confusing. For Nvidia chipsets use '''nvidia''' or '''nv''' as the driver names (instead of '''fglrx''').<br />
<br />
Section "Device"<br />
Identifier "Card0"<br />
''# Driver "'''vesa'''"''<br />
''Driver "'''fglrx'''"''<br />
VendorName "ATI Technologies Inc"<br />
BoardName "ATI Radeon Xpress 1200 Series"<br />
BusID "PCI:1:5:0"<br />
EndSection<br />
<br />
If your X-server was running you will have to restart it completely for the changes to take effect, the easiest and most thorough way to do this is to reboot.<br />
<br />
=== Physical display size ===<br />
Like specifying the refresh rate his is optional but sometimes necessary, most of the time it is either detected or some sane defaults are used but sometimes it isn't, which can result in unreadable font sizes.<br />
<br />
Section "Monitor"<br />
...<br />
DisplaySize '''155 95'''<br />
EndSection<br />
<br />
Where you have to replace the numbers with the physical '''width''' and '''height''' of your screen in millimeters (1" = 25mm), feel free to try mine, however these are for a small touchscreen.<br />
<br />
=== Disable composite ===<br />
Aparently the ATI '''fglrx''' driver does not ''yet'' support composite with DRI. So if you are using the fglrx driver, disable it by adding this to the end of the /etx/X11.xorg file if it isn't there already.<br />
<br />
Section "Extensions"<br />
Option "Composite" "Disable"<br />
EndSection<br />
<br />
=== Additional options ===<br />
To be continued, I don't think this is enough to get UI2 completely (either mode) going yet. Feel free to jump in anytime... <br />
<br />
<br />
Things still to sort out amongst others (i.e. what is it, do we need it and what are the settings if any):<br />
<br />
Section "Module"<br />
Load "i2c"<br />
Load "bitmap"<br />
Load "ddc"<br />
Load "freetype"<br />
Load "int10"<br />
Load "vbe"<br />
Load "speedo"<br />
Load "type1"<br />
Load "dbe"<br />
Load "glx"<br />
Load "v4l"<br />
EndSection<br />
<br />
Section "ServerFlags"<br />
Option "AIGLX" "off"<br />
EndSection<br />
<br />
Section "Extensions"<br />
Option "Composite" "Disable"<br />
# Option "RENDER" "true"<br />
EndSection<br />
<br />
Option "PseudoColorVisuals" "off"<br />
Option "OpenGLOverlay" "off"<br />
Option "VideoOverlay" "off"<br />
Option "DesktopSetup" "clone"<br />
<br />
TV-out options, 2nd display, etc.<br />
<br />
<br />
== Troubleshooting ==<br />
<br />
=== The AVWizard crashes X-windows ===<br />
<br />
Try setting the [[#Chipset_driver]] option to '''vesa''', run the AVWizard again and then change the driver back to what it was.<br />
<br />
=== Black screen ===<br />
<br />
* Screen is black, after install seemed to go okay. You may have even seen the Kubuntu splash screen. See [[AVWizard]] on how to select the proper output.<br />
<br />
*One problem on nvidia-cards could be that it does not detect the right monitor.<br />
<br />
::Go to Console 1 ([Ctrl]+[Alt]+1) and edit /etc/X11/xorg.conf (nano -w /etc/X11/xorg.conf). Find the section ::Device with the driver nvidia add the line <pre>Option "ConnectedMonitor" "XXX"</pre><br />
::where XXX is CRT, CRT-0, CRT-1, DVI-0, DVI-1, ...<br />
::Save and exit (nano: Ctrl+x) and restart the computer. In my case it was "CRT-1".<br />
<br />
=== X-windows won't start ===<br />
<br />
Reboot into rescue-mode if needed (hit [Esc] when [[Grub]] tells you to), and restore a working copy of your /etc/X11/xorg.conf, or edit it by hand to fix the problem. Test it with the command "X" and press [Ctrl]-[Alt]-[&larr;Backspace] simultaneous to quit (alternative: use "startx" and get the full desktop, if any), then reboot when it works and you're done.<br />
<br />
=== Signal out of range ===<br />
<br />
See ''[[#Refresh rate / ModeLine ]]'' above.<br />
<br />
=== Microscopic fonts in KDE ===<br />
<br />
See ''[[#Physical_display_size]]'' above.<br />
<br />
If the above does not work, probably Xorg is calculating the DPI value in the wrong way.<br />
This can be verified by having a look at the file /var/log/Xorg.0.log related to the MD with this issue searching for the line containing "DPI set to (x , y)",where x and y are values that apply to the specific display.<br />
<br />
If those values are too small, fonts will be displayed accordingly (i.e, VERY small)<br />
<br />
A workaround is to force Xorg to startup with a given DPI value.<br />
<br />
To achieve this the following steps are required:<br />
<br />
* edit the file /usr/pluto/bin/Start_X_Wrapper.sh on your MD where you are facing the font problem<br />
* find the line beginning with xinit<br />
* add "-dpi 96" (without quotes) at the end of this line<br />
* save the file and reboot MD<br />
<br />
Obviously it is possible to set DPI to something different than 96, according to specific needs.<br />
<br />
Please note that after an LMCE update the startup script may be replaced by new ones, so the above workaround may have to be re-applied in order to keep fonts at the desired dimension.<br />
<br />
=== LinuxMCE keeps reconfiguring my display settings ===<br />
<br />
Add a line containing '''exit''' to the top of the ''/usr/pluto/bin/Xconfigure.sh'' file. After you do this you may experience difficulties running the AVWizard again, if so remove this line and add it back again after the wizard is finished.<br />
<br />
For LinuxMCE 710 simply comment out the line that says<br />
. /usr/pluto/bin/X-CleanupVideo.sh<br />
This is the command that gets run that modifies the xorg.conf file on startup. This is different than above because if you put exit at the top your display will not get initialized. And as above if you want to run the AVWizard you will need to uncomment this line.<br />
<br />
== See also ==<br />
* [http://www.mythtv.org/wiki/index.php/Main_Page MythTV wiki] <br />
* MythTV Experience [http://brentlagesse.net/~brent/mythtv.php]<br />
* [[X_Configuration_Scripts]]</div>Demus