<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.linuxmce.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Indulis</id>
	<title>LinuxMCE - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.linuxmce.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Indulis"/>
	<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php/Special:Contributions/Indulis"/>
	<updated>2026-05-11T05:33:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Sony_KDL-46W4500&amp;diff=21992</id>
		<title>Sony KDL-46W4500</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Sony_KDL-46W4500&amp;diff=21992"/>
		<updated>2010-01-05T17:20:33Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Video]]&lt;br /&gt;
[[Category:Displays]]&lt;br /&gt;
&lt;br /&gt;
I am using an &#039;&#039;&#039;European&#039;&#039;&#039; version this TV and will try to describe problems I have here.&lt;br /&gt;
&lt;br /&gt;
Connected to a Nvidia 7300GT with an DVI to HDMI cable. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NOTE that the 50 Hz modelines will probably not work if you try to connect to a non-HDMI port on the Sony TV (i.e. the PC input).  The Sony KDL-46WE5 (which is supposed to be very similar to this model) would not display 1920x1080 50Hz modelines when the PC was connected to the PC input on the TV.  This failure happened was using a VGA DB15 video cable attached to a DVI-DB15 converter - the graphics card in my PC has 2xDVI ports.  Once an DVI-HDMI converter and HDMI cable was used then the 50Hz modelines worked properly. The Sony manual has a single table for the graphics modes supported by the PC and HDMI inputs- this would lead you to believe that PC input and the HDMI inputs all support the same graphics modes but they don&#039;t. (Indulis&#039; experience)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I was not able to get the TV setup to 1080p with 50hz, so I chose 1080p and 60hz. Then afterwards I changed the xorg.conf and changed/added the folowing lines :&lt;br /&gt;
&lt;br /&gt;
 Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
 Option         &amp;quot;UseEDID&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 Modes           &amp;quot;1920x1080_50_1&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080&amp;quot; &amp;quot;1920x1080_50i&amp;quot;&lt;br /&gt;
 VertRefresh     49-51&lt;br /&gt;
&lt;br /&gt;
and rebooted. After that I had 50hz.&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;1920x1080_50&amp;quot; uses the EDID information it gets of the TV and sets things up correctly. In the /var/log/Xorg.0.log you can then see that it chooses the right resolution.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot; is important, otherwise you will get very small unreadable characters.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternate solution (I used first).&lt;br /&gt;
&lt;br /&gt;
I was not able to get the TV setup to 1080p with 50hz, so I choosed 1080p and 60hz. Then afterwards I changed the xorg.conf to the right 1080p@50hz Modeline i found in the HDTV list in the MythTV modeline database.&lt;br /&gt;
&lt;br /&gt;
        # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
        ModeLine &amp;quot;1920x1080&amp;quot; 148.50 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
&lt;br /&gt;
And changed the VertRefresh to :&lt;br /&gt;
        VertRefresh     49-51&lt;br /&gt;
&lt;br /&gt;
and rebooted. After that I had 50hz.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
My latest xorg.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;XFree86 Configured&amp;quot;&lt;br /&gt;
          Screen    0     &amp;quot;Screen0&amp;quot;       0 0&lt;br /&gt;
          InputDevice     &amp;quot;Mouse0&amp;quot;        &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
          InputDevice     &amp;quot;Keyboard0&amp;quot;     &amp;quot;CoreKeyboard&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Files&amp;quot;&lt;br /&gt;
          RgbPath         &amp;quot;/usr/X11R6/lib/X11/rgb&amp;quot;&lt;br /&gt;
          ModulePath      &amp;quot;/usr/lib/xorg/modules&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/share/fonts/X11&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/misc/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/Speedo/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/Type1/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/CID/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/75dpi/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/100dpi/&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Module&amp;quot;&lt;br /&gt;
          Load    &amp;quot;dbe&amp;quot;&lt;br /&gt;
          Load    &amp;quot;extmod&amp;quot;&lt;br /&gt;
          Load    &amp;quot;record&amp;quot;&lt;br /&gt;
          Load    &amp;quot;xtrap&amp;quot;&lt;br /&gt;
          Load    &amp;quot;speedo&amp;quot;&lt;br /&gt;
          Load    &amp;quot;type1&amp;quot;&lt;br /&gt;
          Load    &amp;quot;glx&amp;quot;&lt;br /&gt;
          Load    &amp;quot;int10&amp;quot;&lt;br /&gt;
          Load    &amp;quot;v4l&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Keyboard0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;keyboard&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbLayout&amp;quot;     &amp;quot;dk&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbVariant&amp;quot;    &amp;quot;basic&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbModel&amp;quot;              &amp;quot;pc105&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Mouse0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;mouse&amp;quot;&lt;br /&gt;
          Option          &amp;quot;Protocol&amp;quot;              &amp;quot;auto&amp;quot;&lt;br /&gt;
          Option          &amp;quot;Device&amp;quot;                &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
          Option          &amp;quot;ZAxisMapping&amp;quot;  &amp;quot;4 5&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
          VendorName      &amp;quot;Unknown Monitor Vendor&amp;quot;&lt;br /&gt;
          ModelName       &amp;quot;Unknown Monitor Model&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
          # gtf 1920 1080 50&lt;br /&gt;
          #&lt;br /&gt;
          # 1920x1080 @ 25 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
          # ORG Modeline  &amp;quot;1920x1080&amp;quot; 148.5 1920 1960 2016 2200 1080 1082 1088 1125&lt;br /&gt;
          # ORG VertRefresh       59-61&lt;br /&gt;
          # 1920x1080 @ 25 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 74.25 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          #&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my50i&amp;quot; 74.25 1920 2448 2492 2640 1080 1084 1094 1124 +HSync +VSync Interlace&lt;br /&gt;
          #&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 24hz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 74.250 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 25hz&lt;br /&gt;
          # Xorg.log said 24,9hz / try adding some more&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 77.142 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my25&amp;quot; 77.500 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # VertRefresh   24-26&lt;br /&gt;
          #&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 50hz&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my50&amp;quot; 148.500 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080_my50a&amp;quot; 148.750 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          VertRefresh     24-51&lt;br /&gt;
          HorizSync       20-500&lt;br /&gt;
          # VertRefresh   49-51&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Device&amp;quot;&lt;br /&gt;
          ### Available Driver options are:-&lt;br /&gt;
          ### Values: &amp;lt;i&amp;gt;: integer, &amp;lt;f&amp;gt;: float, &amp;lt;bool&amp;gt;: &amp;quot;True&amp;quot;/&amp;quot;False&amp;quot;,&lt;br /&gt;
          ### &amp;lt;string&amp;gt;: &amp;quot;String&amp;quot;, &amp;lt;freq&amp;gt;: &amp;quot;&amp;lt;f&amp;gt; Hz/kHz/MHz&amp;quot;&lt;br /&gt;
          ### [arg]: arg optional&lt;br /&gt;
          #Option         &amp;quot;NoAccel&amp;quot;                               # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;SWcursor&amp;quot;                              # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;ColorKey&amp;quot;                              # &amp;lt;i&amp;gt;&lt;br /&gt;
          #Option         &amp;quot;CacheLines&amp;quot;                    # &amp;lt;i&amp;gt;&lt;br /&gt;
          #Option         &amp;quot;Dac6Bit&amp;quot;                               # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;DRI&amp;quot;                                   # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;NoDDC&amp;quot;                                 # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;ShowCache&amp;quot;                             # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;XvMCSurfaces&amp;quot;                  # &amp;lt;i&amp;gt;&lt;br /&gt;
          Identifier      &amp;quot;Card0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;nvidia&amp;quot;&lt;br /&gt;
          VendorName      &amp;quot;Unknown Vendor Name&amp;quot;&lt;br /&gt;
          BoardName       &amp;quot;Unknown Board Name&amp;quot;&lt;br /&gt;
          Option          &amp;quot;LinearAlloc&amp;quot;           &amp;quot;16384&amp;quot;&lt;br /&gt;
          #BusID          &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
  #       Option          &amp;quot;NoDDC&amp;quot;                         &amp;quot;true&amp;quot;&lt;br /&gt;
     Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
     ## Option         &amp;quot;UseEDIDFreqs&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;XvmcUsesTextures&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;renderAccel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoDDCValue&amp;quot;&lt;br /&gt;
          ## Option &amp;quot;UseEDID&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;ExactModeTimingsDVI&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoLogo&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoBandWidthTest&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          # Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoVertRefreshCheck, NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;DynamicTwinView&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;UseEvents&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AllowGLXWithComposite&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AddARGBGLXVisuals&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option          &amp;quot;ConnectedMonitor&amp;quot; &amp;quot;DFP&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Screen0&amp;quot;&lt;br /&gt;
          Device          &amp;quot;Card0&amp;quot;&lt;br /&gt;
          Monitor         &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
          DefaultDepth    24&lt;br /&gt;
          SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                  # Modes         &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  Modes           &amp;quot;1920x1080_50_1&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080_my50&amp;quot;&lt;br /&gt;
                  # Modes         &amp;quot;1920x1080_my50a&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  #TESTED Modes           &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50i_0&amp;quot; &amp;quot;1920x1080_50i&amp;quot; &amp;quot;1920x1080_my50i&amp;quot; &amp;quot;1920x1080_my25&amp;quot; &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  Virtual         1920 1080&lt;br /&gt;
          EndSubSection&lt;br /&gt;
     Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
     ## Option         &amp;quot;UseEDIDFreqs&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;XvmcUsesTextures&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;renderAccel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoDDCValue&amp;quot;&lt;br /&gt;
          ## Option &amp;quot;UseEDID&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;ExactModeTimingsDVI&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoLogo&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoBandWidthTest&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          # Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoVertRefreshCheck, NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;DynamicTwinView&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;UseEvents&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AllowGLXWithComposite&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AddARGBGLXVisuals&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option  &amp;quot;TVStandard&amp;quot;    &amp;quot;1080p&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
          Option  &amp;quot;AllowMouseOpenFail&amp;quot;    &amp;quot;true&amp;quot;&lt;br /&gt;
          Option  &amp;quot;BlankTime&amp;quot;             &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;StandbyTime&amp;quot;   &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;SuspendTime&amp;quot;   &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;OffTime&amp;quot;               &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;AIGLX&amp;quot;                 &amp;quot;Off&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  Section &amp;quot;Extensions&amp;quot;&lt;br /&gt;
          Option &amp;quot;Composite&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;RENDER&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
  EndSection&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Sony_KDL-46W4500&amp;diff=21991</id>
		<title>Sony KDL-46W4500</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Sony_KDL-46W4500&amp;diff=21991"/>
		<updated>2010-01-05T17:18:20Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Video]]&lt;br /&gt;
[[Category:Displays]]&lt;br /&gt;
&lt;br /&gt;
I am using an &#039;&#039;&#039;European&#039;&#039;&#039; version this TV and will try to describe problems I have here.&lt;br /&gt;
&lt;br /&gt;
Connected to a Nvidia 7300GT with an DVI to HDMI cable. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NOTE that the 50 Hz modelines will probably not work if you try to connect to a non-HDMI port on the Sony TV (i.e. the PC input).  The Sony KDL-46WE5 which is supposed to be very similar to this model would not display 1920x1080 50Hz modelines when connected to the PC input on the TV.  This was using a VGA DB15 video cable attached to a DVI-DB15 converter (graphics card in my PC has 2xDVI ports).  Once an DVI-HDMI converter and HDMI cable was used then the 50Hz modelines worked properly. The Sony manual has a single table for the graphics modes supported by the PC and HDMI inputs- this would lead you to believe that PC input and the HDMI inputs all support the same graphics modes but they don&#039;t. (Indulis&#039; experience)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I was not able to get the TV setup to 1080p with 50hz, so I chose 1080p and 60hz. Then afterwards I changed the xorg.conf and changed/added the folowing lines :&lt;br /&gt;
&lt;br /&gt;
 Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
 Option         &amp;quot;UseEDID&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 Modes           &amp;quot;1920x1080_50_1&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080&amp;quot; &amp;quot;1920x1080_50i&amp;quot;&lt;br /&gt;
 VertRefresh     49-51&lt;br /&gt;
&lt;br /&gt;
and rebooted. After that I had 50hz.&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;1920x1080_50&amp;quot; uses the EDID information it gets of the TV and sets things up correctly. In the /var/log/Xorg.0.log you can then see that it chooses the right resolution.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot; is important, otherwise you will get very small unreadable characters.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternate solution (I used first).&lt;br /&gt;
&lt;br /&gt;
I was not able to get the TV setup to 1080p with 50hz, so I choosed 1080p and 60hz. Then afterwards I changed the xorg.conf to the right 1080p@50hz Modeline i found in the HDTV list in the MythTV modeline database.&lt;br /&gt;
&lt;br /&gt;
        # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
        ModeLine &amp;quot;1920x1080&amp;quot; 148.50 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
&lt;br /&gt;
And changed the VertRefresh to :&lt;br /&gt;
        VertRefresh     49-51&lt;br /&gt;
&lt;br /&gt;
and rebooted. After that I had 50hz.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
My latest xorg.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;XFree86 Configured&amp;quot;&lt;br /&gt;
          Screen    0     &amp;quot;Screen0&amp;quot;       0 0&lt;br /&gt;
          InputDevice     &amp;quot;Mouse0&amp;quot;        &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
          InputDevice     &amp;quot;Keyboard0&amp;quot;     &amp;quot;CoreKeyboard&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Files&amp;quot;&lt;br /&gt;
          RgbPath         &amp;quot;/usr/X11R6/lib/X11/rgb&amp;quot;&lt;br /&gt;
          ModulePath      &amp;quot;/usr/lib/xorg/modules&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/share/fonts/X11&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/misc/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/Speedo/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/Type1/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/CID/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/75dpi/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/100dpi/&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Module&amp;quot;&lt;br /&gt;
          Load    &amp;quot;dbe&amp;quot;&lt;br /&gt;
          Load    &amp;quot;extmod&amp;quot;&lt;br /&gt;
          Load    &amp;quot;record&amp;quot;&lt;br /&gt;
          Load    &amp;quot;xtrap&amp;quot;&lt;br /&gt;
          Load    &amp;quot;speedo&amp;quot;&lt;br /&gt;
          Load    &amp;quot;type1&amp;quot;&lt;br /&gt;
          Load    &amp;quot;glx&amp;quot;&lt;br /&gt;
          Load    &amp;quot;int10&amp;quot;&lt;br /&gt;
          Load    &amp;quot;v4l&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Keyboard0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;keyboard&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbLayout&amp;quot;     &amp;quot;dk&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbVariant&amp;quot;    &amp;quot;basic&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbModel&amp;quot;              &amp;quot;pc105&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Mouse0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;mouse&amp;quot;&lt;br /&gt;
          Option          &amp;quot;Protocol&amp;quot;              &amp;quot;auto&amp;quot;&lt;br /&gt;
          Option          &amp;quot;Device&amp;quot;                &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
          Option          &amp;quot;ZAxisMapping&amp;quot;  &amp;quot;4 5&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
          VendorName      &amp;quot;Unknown Monitor Vendor&amp;quot;&lt;br /&gt;
          ModelName       &amp;quot;Unknown Monitor Model&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
          # gtf 1920 1080 50&lt;br /&gt;
          #&lt;br /&gt;
          # 1920x1080 @ 25 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
          # ORG Modeline  &amp;quot;1920x1080&amp;quot; 148.5 1920 1960 2016 2200 1080 1082 1088 1125&lt;br /&gt;
          # ORG VertRefresh       59-61&lt;br /&gt;
          # 1920x1080 @ 25 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 74.25 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          #&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my50i&amp;quot; 74.25 1920 2448 2492 2640 1080 1084 1094 1124 +HSync +VSync Interlace&lt;br /&gt;
          #&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 24hz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 74.250 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 25hz&lt;br /&gt;
          # Xorg.log said 24,9hz / try adding some more&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 77.142 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my25&amp;quot; 77.500 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # VertRefresh   24-26&lt;br /&gt;
          #&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 50hz&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my50&amp;quot; 148.500 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080_my50a&amp;quot; 148.750 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          VertRefresh     24-51&lt;br /&gt;
          HorizSync       20-500&lt;br /&gt;
          # VertRefresh   49-51&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Device&amp;quot;&lt;br /&gt;
          ### Available Driver options are:-&lt;br /&gt;
          ### Values: &amp;lt;i&amp;gt;: integer, &amp;lt;f&amp;gt;: float, &amp;lt;bool&amp;gt;: &amp;quot;True&amp;quot;/&amp;quot;False&amp;quot;,&lt;br /&gt;
          ### &amp;lt;string&amp;gt;: &amp;quot;String&amp;quot;, &amp;lt;freq&amp;gt;: &amp;quot;&amp;lt;f&amp;gt; Hz/kHz/MHz&amp;quot;&lt;br /&gt;
          ### [arg]: arg optional&lt;br /&gt;
          #Option         &amp;quot;NoAccel&amp;quot;                               # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;SWcursor&amp;quot;                              # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;ColorKey&amp;quot;                              # &amp;lt;i&amp;gt;&lt;br /&gt;
          #Option         &amp;quot;CacheLines&amp;quot;                    # &amp;lt;i&amp;gt;&lt;br /&gt;
          #Option         &amp;quot;Dac6Bit&amp;quot;                               # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;DRI&amp;quot;                                   # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;NoDDC&amp;quot;                                 # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;ShowCache&amp;quot;                             # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;XvMCSurfaces&amp;quot;                  # &amp;lt;i&amp;gt;&lt;br /&gt;
          Identifier      &amp;quot;Card0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;nvidia&amp;quot;&lt;br /&gt;
          VendorName      &amp;quot;Unknown Vendor Name&amp;quot;&lt;br /&gt;
          BoardName       &amp;quot;Unknown Board Name&amp;quot;&lt;br /&gt;
          Option          &amp;quot;LinearAlloc&amp;quot;           &amp;quot;16384&amp;quot;&lt;br /&gt;
          #BusID          &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
  #       Option          &amp;quot;NoDDC&amp;quot;                         &amp;quot;true&amp;quot;&lt;br /&gt;
     Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
     ## Option         &amp;quot;UseEDIDFreqs&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;XvmcUsesTextures&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;renderAccel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoDDCValue&amp;quot;&lt;br /&gt;
          ## Option &amp;quot;UseEDID&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;ExactModeTimingsDVI&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoLogo&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoBandWidthTest&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          # Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoVertRefreshCheck, NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;DynamicTwinView&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;UseEvents&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AllowGLXWithComposite&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AddARGBGLXVisuals&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option          &amp;quot;ConnectedMonitor&amp;quot; &amp;quot;DFP&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Screen0&amp;quot;&lt;br /&gt;
          Device          &amp;quot;Card0&amp;quot;&lt;br /&gt;
          Monitor         &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
          DefaultDepth    24&lt;br /&gt;
          SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                  # Modes         &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  Modes           &amp;quot;1920x1080_50_1&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080_my50&amp;quot;&lt;br /&gt;
                  # Modes         &amp;quot;1920x1080_my50a&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  #TESTED Modes           &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50i_0&amp;quot; &amp;quot;1920x1080_50i&amp;quot; &amp;quot;1920x1080_my50i&amp;quot; &amp;quot;1920x1080_my25&amp;quot; &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  Virtual         1920 1080&lt;br /&gt;
          EndSubSection&lt;br /&gt;
     Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
     ## Option         &amp;quot;UseEDIDFreqs&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;XvmcUsesTextures&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;renderAccel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoDDCValue&amp;quot;&lt;br /&gt;
          ## Option &amp;quot;UseEDID&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;ExactModeTimingsDVI&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoLogo&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoBandWidthTest&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          # Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoVertRefreshCheck, NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;DynamicTwinView&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;UseEvents&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AllowGLXWithComposite&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AddARGBGLXVisuals&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option  &amp;quot;TVStandard&amp;quot;    &amp;quot;1080p&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
          Option  &amp;quot;AllowMouseOpenFail&amp;quot;    &amp;quot;true&amp;quot;&lt;br /&gt;
          Option  &amp;quot;BlankTime&amp;quot;             &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;StandbyTime&amp;quot;   &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;SuspendTime&amp;quot;   &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;OffTime&amp;quot;               &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;AIGLX&amp;quot;                 &amp;quot;Off&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  Section &amp;quot;Extensions&amp;quot;&lt;br /&gt;
          Option &amp;quot;Composite&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;RENDER&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
  EndSection&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Sony_KDL-46W4500&amp;diff=21990</id>
		<title>Sony KDL-46W4500</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Sony_KDL-46W4500&amp;diff=21990"/>
		<updated>2010-01-05T17:16:32Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Video]]&lt;br /&gt;
[[Category:Displays]]&lt;br /&gt;
&lt;br /&gt;
I am using an &#039;&#039;&#039;European&#039;&#039;&#039; version this TV and will try to describe problems I have here.&lt;br /&gt;
&lt;br /&gt;
Connected to a Nvidia 7300GT with an DVI to HDMI cable. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NOTE that the 50 Hz modelines will probably not work if you try to connect to a non-HDMI port on the Sony TV (i.e. the PC input).  The Sony KDL-46WE5 which is supposed to be very similar to this model would not display 1920x1080 50Hz modelines when connected to the PC input on the TV.  This was using a VGA DB15 video cable attached to a DVI-DB15 converter (graphics card in my PC has 2xDVI ports).  Once an DVI-HDMI converter and HDMI cable was used then the 50Hz modelines worked properly. The Sony manual has a single table for the graphics modes supported by the PC and HDMI inputs- this would lead you to believe that PC input and the HDMI inputs all support the same graphics modes but they don&#039;t. (Indulis&#039; experience)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I was not able to get the TV setup to 1080p with 50hz, so I choosed 1080p and 60hz. Then afterwards I changed the xorg.conf and changed/added the folowing lines :&lt;br /&gt;
&lt;br /&gt;
 Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
 Option         &amp;quot;UseEDID&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 Modes           &amp;quot;1920x1080_50_1&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080&amp;quot; &amp;quot;1920x1080_50i&amp;quot;&lt;br /&gt;
 VertRefresh     49-51&lt;br /&gt;
&lt;br /&gt;
and rebooted. After that I had 50hz.&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;1920x1080_50&amp;quot; uses the EDID information it gets of the TV and sets things up correctly. In the /var/log/Xorg.0.log you can then see that it chooses the right resolution.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot; is important, otherwise you will get very small unreadable characters.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternate solution (I used first).&lt;br /&gt;
&lt;br /&gt;
I was not able to get the TV setup to 1080p with 50hz, so I choosed 1080p and 60hz. Then afterwards I changed the xorg.conf to the right 1080p@50hz Modeline i found in the HDTV list in the MythTV modeline database.&lt;br /&gt;
&lt;br /&gt;
        # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
        ModeLine &amp;quot;1920x1080&amp;quot; 148.50 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
&lt;br /&gt;
And changed the VertRefresh to :&lt;br /&gt;
        VertRefresh     49-51&lt;br /&gt;
&lt;br /&gt;
and rebooted. After that I had 50hz.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
My latest xorg.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;XFree86 Configured&amp;quot;&lt;br /&gt;
          Screen    0     &amp;quot;Screen0&amp;quot;       0 0&lt;br /&gt;
          InputDevice     &amp;quot;Mouse0&amp;quot;        &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
          InputDevice     &amp;quot;Keyboard0&amp;quot;     &amp;quot;CoreKeyboard&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Files&amp;quot;&lt;br /&gt;
          RgbPath         &amp;quot;/usr/X11R6/lib/X11/rgb&amp;quot;&lt;br /&gt;
          ModulePath      &amp;quot;/usr/lib/xorg/modules&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/share/fonts/X11&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/misc/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/Speedo/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/Type1/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/CID/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/75dpi/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/100dpi/&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Module&amp;quot;&lt;br /&gt;
          Load    &amp;quot;dbe&amp;quot;&lt;br /&gt;
          Load    &amp;quot;extmod&amp;quot;&lt;br /&gt;
          Load    &amp;quot;record&amp;quot;&lt;br /&gt;
          Load    &amp;quot;xtrap&amp;quot;&lt;br /&gt;
          Load    &amp;quot;speedo&amp;quot;&lt;br /&gt;
          Load    &amp;quot;type1&amp;quot;&lt;br /&gt;
          Load    &amp;quot;glx&amp;quot;&lt;br /&gt;
          Load    &amp;quot;int10&amp;quot;&lt;br /&gt;
          Load    &amp;quot;v4l&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Keyboard0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;keyboard&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbLayout&amp;quot;     &amp;quot;dk&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbVariant&amp;quot;    &amp;quot;basic&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbModel&amp;quot;              &amp;quot;pc105&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Mouse0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;mouse&amp;quot;&lt;br /&gt;
          Option          &amp;quot;Protocol&amp;quot;              &amp;quot;auto&amp;quot;&lt;br /&gt;
          Option          &amp;quot;Device&amp;quot;                &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
          Option          &amp;quot;ZAxisMapping&amp;quot;  &amp;quot;4 5&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
          VendorName      &amp;quot;Unknown Monitor Vendor&amp;quot;&lt;br /&gt;
          ModelName       &amp;quot;Unknown Monitor Model&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
          # gtf 1920 1080 50&lt;br /&gt;
          #&lt;br /&gt;
          # 1920x1080 @ 25 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
          # ORG Modeline  &amp;quot;1920x1080&amp;quot; 148.5 1920 1960 2016 2200 1080 1082 1088 1125&lt;br /&gt;
          # ORG VertRefresh       59-61&lt;br /&gt;
          # 1920x1080 @ 25 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 74.25 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          #&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my50i&amp;quot; 74.25 1920 2448 2492 2640 1080 1084 1094 1124 +HSync +VSync Interlace&lt;br /&gt;
          #&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 24hz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 74.250 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 25hz&lt;br /&gt;
          # Xorg.log said 24,9hz / try adding some more&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 77.142 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my25&amp;quot; 77.500 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # VertRefresh   24-26&lt;br /&gt;
          #&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 50hz&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my50&amp;quot; 148.500 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080_my50a&amp;quot; 148.750 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          VertRefresh     24-51&lt;br /&gt;
          HorizSync       20-500&lt;br /&gt;
          # VertRefresh   49-51&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Device&amp;quot;&lt;br /&gt;
          ### Available Driver options are:-&lt;br /&gt;
          ### Values: &amp;lt;i&amp;gt;: integer, &amp;lt;f&amp;gt;: float, &amp;lt;bool&amp;gt;: &amp;quot;True&amp;quot;/&amp;quot;False&amp;quot;,&lt;br /&gt;
          ### &amp;lt;string&amp;gt;: &amp;quot;String&amp;quot;, &amp;lt;freq&amp;gt;: &amp;quot;&amp;lt;f&amp;gt; Hz/kHz/MHz&amp;quot;&lt;br /&gt;
          ### [arg]: arg optional&lt;br /&gt;
          #Option         &amp;quot;NoAccel&amp;quot;                               # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;SWcursor&amp;quot;                              # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;ColorKey&amp;quot;                              # &amp;lt;i&amp;gt;&lt;br /&gt;
          #Option         &amp;quot;CacheLines&amp;quot;                    # &amp;lt;i&amp;gt;&lt;br /&gt;
          #Option         &amp;quot;Dac6Bit&amp;quot;                               # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;DRI&amp;quot;                                   # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;NoDDC&amp;quot;                                 # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;ShowCache&amp;quot;                             # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;XvMCSurfaces&amp;quot;                  # &amp;lt;i&amp;gt;&lt;br /&gt;
          Identifier      &amp;quot;Card0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;nvidia&amp;quot;&lt;br /&gt;
          VendorName      &amp;quot;Unknown Vendor Name&amp;quot;&lt;br /&gt;
          BoardName       &amp;quot;Unknown Board Name&amp;quot;&lt;br /&gt;
          Option          &amp;quot;LinearAlloc&amp;quot;           &amp;quot;16384&amp;quot;&lt;br /&gt;
          #BusID          &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
  #       Option          &amp;quot;NoDDC&amp;quot;                         &amp;quot;true&amp;quot;&lt;br /&gt;
     Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
     ## Option         &amp;quot;UseEDIDFreqs&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;XvmcUsesTextures&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;renderAccel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoDDCValue&amp;quot;&lt;br /&gt;
          ## Option &amp;quot;UseEDID&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;ExactModeTimingsDVI&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoLogo&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoBandWidthTest&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          # Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoVertRefreshCheck, NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;DynamicTwinView&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;UseEvents&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AllowGLXWithComposite&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AddARGBGLXVisuals&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option          &amp;quot;ConnectedMonitor&amp;quot; &amp;quot;DFP&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Screen0&amp;quot;&lt;br /&gt;
          Device          &amp;quot;Card0&amp;quot;&lt;br /&gt;
          Monitor         &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
          DefaultDepth    24&lt;br /&gt;
          SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                  # Modes         &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  Modes           &amp;quot;1920x1080_50_1&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080_my50&amp;quot;&lt;br /&gt;
                  # Modes         &amp;quot;1920x1080_my50a&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  #TESTED Modes           &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50i_0&amp;quot; &amp;quot;1920x1080_50i&amp;quot; &amp;quot;1920x1080_my50i&amp;quot; &amp;quot;1920x1080_my25&amp;quot; &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  Virtual         1920 1080&lt;br /&gt;
          EndSubSection&lt;br /&gt;
     Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
     ## Option         &amp;quot;UseEDIDFreqs&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;XvmcUsesTextures&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;renderAccel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoDDCValue&amp;quot;&lt;br /&gt;
          ## Option &amp;quot;UseEDID&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;ExactModeTimingsDVI&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoLogo&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoBandWidthTest&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          # Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoVertRefreshCheck, NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;DynamicTwinView&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;UseEvents&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AllowGLXWithComposite&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AddARGBGLXVisuals&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option  &amp;quot;TVStandard&amp;quot;    &amp;quot;1080p&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
          Option  &amp;quot;AllowMouseOpenFail&amp;quot;    &amp;quot;true&amp;quot;&lt;br /&gt;
          Option  &amp;quot;BlankTime&amp;quot;             &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;StandbyTime&amp;quot;   &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;SuspendTime&amp;quot;   &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;OffTime&amp;quot;               &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;AIGLX&amp;quot;                 &amp;quot;Off&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  Section &amp;quot;Extensions&amp;quot;&lt;br /&gt;
          Option &amp;quot;Composite&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;RENDER&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
  EndSection&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Sony_KDL-46W4500&amp;diff=21989</id>
		<title>Sony KDL-46W4500</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Sony_KDL-46W4500&amp;diff=21989"/>
		<updated>2010-01-05T17:15:37Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Video]]&lt;br /&gt;
[[Category:Displays]]&lt;br /&gt;
&lt;br /&gt;
I am using an &#039;&#039;&#039;European&#039;&#039;&#039; version this TV and will try to describe problems I have here.&lt;br /&gt;
&lt;br /&gt;
Connected to a Nvidia 7300GT with an DVI to HDMI cable. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NOTE that the 50 Hz modelines will probably not work if you try to connect to a non-HDMI port on the Sony TV (i.e. the PC input).  The Sony KDL-46WE5 which is supposed to be very similar to this model would not display 1920x1080 50Hz modelines when connected to the PC input on the TV.  This was using a VGA DB15 video cable attached to a DVI-DB15 converter (graphics card in my PC has 2xDVI ports).  Once an DVI-HDMI converter and HDMI cable was used then the 50Hz modelines worked properly. The Sony manual has a single supported graphics modes table for the PC and HDMI inputs- this would lead you to believe that PC input and the HDMI inputs all support the same graphics modes but they don&#039;t. (Indulis&#039; experience)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I was not able to get the TV setup to 1080p with 50hz, so I choosed 1080p and 60hz. Then afterwards I changed the xorg.conf and changed/added the folowing lines :&lt;br /&gt;
&lt;br /&gt;
 Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
 Option         &amp;quot;UseEDID&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 Modes           &amp;quot;1920x1080_50_1&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080&amp;quot; &amp;quot;1920x1080_50i&amp;quot;&lt;br /&gt;
 VertRefresh     49-51&lt;br /&gt;
&lt;br /&gt;
and rebooted. After that I had 50hz.&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;1920x1080_50&amp;quot; uses the EDID information it gets of the TV and sets things up correctly. In the /var/log/Xorg.0.log you can then see that it chooses the right resolution.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot; is important, otherwise you will get very small unreadable characters.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternate solution (I used first).&lt;br /&gt;
&lt;br /&gt;
I was not able to get the TV setup to 1080p with 50hz, so I choosed 1080p and 60hz. Then afterwards I changed the xorg.conf to the right 1080p@50hz Modeline i found in the HDTV list in the MythTV modeline database.&lt;br /&gt;
&lt;br /&gt;
        # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
        ModeLine &amp;quot;1920x1080&amp;quot; 148.50 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
&lt;br /&gt;
And changed the VertRefresh to :&lt;br /&gt;
        VertRefresh     49-51&lt;br /&gt;
&lt;br /&gt;
and rebooted. After that I had 50hz.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
My latest xorg.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;XFree86 Configured&amp;quot;&lt;br /&gt;
          Screen    0     &amp;quot;Screen0&amp;quot;       0 0&lt;br /&gt;
          InputDevice     &amp;quot;Mouse0&amp;quot;        &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
          InputDevice     &amp;quot;Keyboard0&amp;quot;     &amp;quot;CoreKeyboard&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Files&amp;quot;&lt;br /&gt;
          RgbPath         &amp;quot;/usr/X11R6/lib/X11/rgb&amp;quot;&lt;br /&gt;
          ModulePath      &amp;quot;/usr/lib/xorg/modules&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/share/fonts/X11&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/misc/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/Speedo/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/Type1/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/CID/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/75dpi/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/100dpi/&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Module&amp;quot;&lt;br /&gt;
          Load    &amp;quot;dbe&amp;quot;&lt;br /&gt;
          Load    &amp;quot;extmod&amp;quot;&lt;br /&gt;
          Load    &amp;quot;record&amp;quot;&lt;br /&gt;
          Load    &amp;quot;xtrap&amp;quot;&lt;br /&gt;
          Load    &amp;quot;speedo&amp;quot;&lt;br /&gt;
          Load    &amp;quot;type1&amp;quot;&lt;br /&gt;
          Load    &amp;quot;glx&amp;quot;&lt;br /&gt;
          Load    &amp;quot;int10&amp;quot;&lt;br /&gt;
          Load    &amp;quot;v4l&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Keyboard0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;keyboard&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbLayout&amp;quot;     &amp;quot;dk&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbVariant&amp;quot;    &amp;quot;basic&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbModel&amp;quot;              &amp;quot;pc105&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Mouse0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;mouse&amp;quot;&lt;br /&gt;
          Option          &amp;quot;Protocol&amp;quot;              &amp;quot;auto&amp;quot;&lt;br /&gt;
          Option          &amp;quot;Device&amp;quot;                &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
          Option          &amp;quot;ZAxisMapping&amp;quot;  &amp;quot;4 5&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
          VendorName      &amp;quot;Unknown Monitor Vendor&amp;quot;&lt;br /&gt;
          ModelName       &amp;quot;Unknown Monitor Model&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
          # gtf 1920 1080 50&lt;br /&gt;
          #&lt;br /&gt;
          # 1920x1080 @ 25 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
          # ORG Modeline  &amp;quot;1920x1080&amp;quot; 148.5 1920 1960 2016 2200 1080 1082 1088 1125&lt;br /&gt;
          # ORG VertRefresh       59-61&lt;br /&gt;
          # 1920x1080 @ 25 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 74.25 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          #&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my50i&amp;quot; 74.25 1920 2448 2492 2640 1080 1084 1094 1124 +HSync +VSync Interlace&lt;br /&gt;
          #&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 24hz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 74.250 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 25hz&lt;br /&gt;
          # Xorg.log said 24,9hz / try adding some more&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 77.142 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my25&amp;quot; 77.500 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # VertRefresh   24-26&lt;br /&gt;
          #&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 50hz&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my50&amp;quot; 148.500 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080_my50a&amp;quot; 148.750 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          VertRefresh     24-51&lt;br /&gt;
          HorizSync       20-500&lt;br /&gt;
          # VertRefresh   49-51&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Device&amp;quot;&lt;br /&gt;
          ### Available Driver options are:-&lt;br /&gt;
          ### Values: &amp;lt;i&amp;gt;: integer, &amp;lt;f&amp;gt;: float, &amp;lt;bool&amp;gt;: &amp;quot;True&amp;quot;/&amp;quot;False&amp;quot;,&lt;br /&gt;
          ### &amp;lt;string&amp;gt;: &amp;quot;String&amp;quot;, &amp;lt;freq&amp;gt;: &amp;quot;&amp;lt;f&amp;gt; Hz/kHz/MHz&amp;quot;&lt;br /&gt;
          ### [arg]: arg optional&lt;br /&gt;
          #Option         &amp;quot;NoAccel&amp;quot;                               # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;SWcursor&amp;quot;                              # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;ColorKey&amp;quot;                              # &amp;lt;i&amp;gt;&lt;br /&gt;
          #Option         &amp;quot;CacheLines&amp;quot;                    # &amp;lt;i&amp;gt;&lt;br /&gt;
          #Option         &amp;quot;Dac6Bit&amp;quot;                               # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;DRI&amp;quot;                                   # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;NoDDC&amp;quot;                                 # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;ShowCache&amp;quot;                             # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;XvMCSurfaces&amp;quot;                  # &amp;lt;i&amp;gt;&lt;br /&gt;
          Identifier      &amp;quot;Card0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;nvidia&amp;quot;&lt;br /&gt;
          VendorName      &amp;quot;Unknown Vendor Name&amp;quot;&lt;br /&gt;
          BoardName       &amp;quot;Unknown Board Name&amp;quot;&lt;br /&gt;
          Option          &amp;quot;LinearAlloc&amp;quot;           &amp;quot;16384&amp;quot;&lt;br /&gt;
          #BusID          &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
  #       Option          &amp;quot;NoDDC&amp;quot;                         &amp;quot;true&amp;quot;&lt;br /&gt;
     Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
     ## Option         &amp;quot;UseEDIDFreqs&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;XvmcUsesTextures&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;renderAccel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoDDCValue&amp;quot;&lt;br /&gt;
          ## Option &amp;quot;UseEDID&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;ExactModeTimingsDVI&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoLogo&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoBandWidthTest&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          # Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoVertRefreshCheck, NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;DynamicTwinView&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;UseEvents&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AllowGLXWithComposite&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AddARGBGLXVisuals&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option          &amp;quot;ConnectedMonitor&amp;quot; &amp;quot;DFP&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Screen0&amp;quot;&lt;br /&gt;
          Device          &amp;quot;Card0&amp;quot;&lt;br /&gt;
          Monitor         &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
          DefaultDepth    24&lt;br /&gt;
          SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                  # Modes         &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  Modes           &amp;quot;1920x1080_50_1&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080_my50&amp;quot;&lt;br /&gt;
                  # Modes         &amp;quot;1920x1080_my50a&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  #TESTED Modes           &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50i_0&amp;quot; &amp;quot;1920x1080_50i&amp;quot; &amp;quot;1920x1080_my50i&amp;quot; &amp;quot;1920x1080_my25&amp;quot; &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  Virtual         1920 1080&lt;br /&gt;
          EndSubSection&lt;br /&gt;
     Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
     ## Option         &amp;quot;UseEDIDFreqs&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;XvmcUsesTextures&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;renderAccel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoDDCValue&amp;quot;&lt;br /&gt;
          ## Option &amp;quot;UseEDID&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;ExactModeTimingsDVI&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoLogo&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoBandWidthTest&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          # Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoVertRefreshCheck, NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;DynamicTwinView&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;UseEvents&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AllowGLXWithComposite&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AddARGBGLXVisuals&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option  &amp;quot;TVStandard&amp;quot;    &amp;quot;1080p&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
          Option  &amp;quot;AllowMouseOpenFail&amp;quot;    &amp;quot;true&amp;quot;&lt;br /&gt;
          Option  &amp;quot;BlankTime&amp;quot;             &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;StandbyTime&amp;quot;   &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;SuspendTime&amp;quot;   &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;OffTime&amp;quot;               &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;AIGLX&amp;quot;                 &amp;quot;Off&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  Section &amp;quot;Extensions&amp;quot;&lt;br /&gt;
          Option &amp;quot;Composite&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;RENDER&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
  EndSection&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Sony_KDL-46W4500&amp;diff=21988</id>
		<title>Sony KDL-46W4500</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Sony_KDL-46W4500&amp;diff=21988"/>
		<updated>2010-01-05T17:13:23Z</updated>

		<summary type="html">&lt;p&gt;Indulis: Added info about 50Hz not working via PC input on Sony TVs- curse them!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Video]]&lt;br /&gt;
[[Category:Displays]]&lt;br /&gt;
&lt;br /&gt;
I am using an &#039;&#039;&#039;European&#039;&#039;&#039; version this TV and will try to describe problems I have here.&lt;br /&gt;
&lt;br /&gt;
Connected to a Nvidia 7300GT with an DVI to HDMI cable. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;NOTE that the 50 Hz modelines will probably not work if you try to connect to a non-HDMI port on the Sony TV (i.e. the PC input).  The Sony KDL-46WE5 which is supposed to be very similar to this model would not display 1920x1080 50Hz modelines when connected to the PC input on the TV.  This was using a VGA DB15 video cable attached to a DVI-DB15 converter (graphics card in my PC has 2xDVI ports).  Once an DVI-HDMI converter and HDMI cable was used instead the 50Hz modelines worked properly. The Sony manual has a single table which is for the PC and HDMI inputs- this would lead you to believe that PC input and the HDMI inputs all support the same graphics modes but they don&#039;t. (Indulis&#039; experience)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I was not able to get the TV setup to 1080p with 50hz, so I choosed 1080p and 60hz. Then afterwards I changed the xorg.conf and changed/added the folowing lines :&lt;br /&gt;
&lt;br /&gt;
 Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
 Option         &amp;quot;UseEDID&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
&lt;br /&gt;
 Modes           &amp;quot;1920x1080_50_1&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080&amp;quot; &amp;quot;1920x1080_50i&amp;quot;&lt;br /&gt;
 VertRefresh     49-51&lt;br /&gt;
&lt;br /&gt;
and rebooted. After that I had 50hz.&lt;br /&gt;
&lt;br /&gt;
The line &amp;quot;1920x1080_50&amp;quot; uses the EDID information it gets of the TV and sets things up correctly. In the /var/log/Xorg.0.log you can then see that it chooses the right resolution.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot; is important, otherwise you will get very small unreadable characters.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Alternate solution (I used first).&lt;br /&gt;
&lt;br /&gt;
I was not able to get the TV setup to 1080p with 50hz, so I choosed 1080p and 60hz. Then afterwards I changed the xorg.conf to the right 1080p@50hz Modeline i found in the HDTV list in the MythTV modeline database.&lt;br /&gt;
&lt;br /&gt;
        # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
        ModeLine &amp;quot;1920x1080&amp;quot; 148.50 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
&lt;br /&gt;
And changed the VertRefresh to :&lt;br /&gt;
        VertRefresh     49-51&lt;br /&gt;
&lt;br /&gt;
and rebooted. After that I had 50hz.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
My latest xorg.conf&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
  Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;XFree86 Configured&amp;quot;&lt;br /&gt;
          Screen    0     &amp;quot;Screen0&amp;quot;       0 0&lt;br /&gt;
          InputDevice     &amp;quot;Mouse0&amp;quot;        &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
          InputDevice     &amp;quot;Keyboard0&amp;quot;     &amp;quot;CoreKeyboard&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Files&amp;quot;&lt;br /&gt;
          RgbPath         &amp;quot;/usr/X11R6/lib/X11/rgb&amp;quot;&lt;br /&gt;
          ModulePath      &amp;quot;/usr/lib/xorg/modules&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/share/fonts/X11&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/misc/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/Speedo/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/Type1/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/CID/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/75dpi/&amp;quot;&lt;br /&gt;
          FontPath        &amp;quot;/usr/X11R6/lib/X11/fonts/100dpi/&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Module&amp;quot;&lt;br /&gt;
          Load    &amp;quot;dbe&amp;quot;&lt;br /&gt;
          Load    &amp;quot;extmod&amp;quot;&lt;br /&gt;
          Load    &amp;quot;record&amp;quot;&lt;br /&gt;
          Load    &amp;quot;xtrap&amp;quot;&lt;br /&gt;
          Load    &amp;quot;speedo&amp;quot;&lt;br /&gt;
          Load    &amp;quot;type1&amp;quot;&lt;br /&gt;
          Load    &amp;quot;glx&amp;quot;&lt;br /&gt;
          Load    &amp;quot;int10&amp;quot;&lt;br /&gt;
          Load    &amp;quot;v4l&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Keyboard0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;keyboard&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbLayout&amp;quot;     &amp;quot;dk&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbVariant&amp;quot;    &amp;quot;basic&amp;quot;&lt;br /&gt;
          Option          &amp;quot;XkbModel&amp;quot;              &amp;quot;pc105&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Mouse0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;mouse&amp;quot;&lt;br /&gt;
          Option          &amp;quot;Protocol&amp;quot;              &amp;quot;auto&amp;quot;&lt;br /&gt;
          Option          &amp;quot;Device&amp;quot;                &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
          Option          &amp;quot;ZAxisMapping&amp;quot;  &amp;quot;4 5&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
          VendorName      &amp;quot;Unknown Monitor Vendor&amp;quot;&lt;br /&gt;
          ModelName       &amp;quot;Unknown Monitor Model&amp;quot;&lt;br /&gt;
  &lt;br /&gt;
          # gtf 1920 1080 50&lt;br /&gt;
          #&lt;br /&gt;
          # 1920x1080 @ 25 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
          # ORG Modeline  &amp;quot;1920x1080&amp;quot; 148.5 1920 1960 2016 2200 1080 1082 1088 1125&lt;br /&gt;
          # ORG VertRefresh       59-61&lt;br /&gt;
          # 1920x1080 @ 25 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 74.25 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 56.25 kHz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          #&lt;br /&gt;
          # 1920x1080 @ 50 Hz (EDID) HSync: 28.125 kHz&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my50i&amp;quot; 74.25 1920 2448 2492 2640 1080 1084 1094 1124 +HSync +VSync Interlace&lt;br /&gt;
          #&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 24hz&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 74.250 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 25hz&lt;br /&gt;
          # Xorg.log said 24,9hz / try adding some more&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080&amp;quot; 77.142 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my25&amp;quot; 77.500 1920 2560 2608 2752 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # VertRefresh   24-26&lt;br /&gt;
          #&lt;br /&gt;
          # From Powerstrip 1920x1080 @ 50hz&lt;br /&gt;
          ModeLine &amp;quot;1920x1080_my50&amp;quot; 148.500 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          # ModeLine &amp;quot;1920x1080_my50a&amp;quot; 148.750 1920 2448 2496 2640 1080 1084 1089 1125 +HSync +VSync&lt;br /&gt;
          VertRefresh     24-51&lt;br /&gt;
          HorizSync       20-500&lt;br /&gt;
          # VertRefresh   49-51&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Device&amp;quot;&lt;br /&gt;
          ### Available Driver options are:-&lt;br /&gt;
          ### Values: &amp;lt;i&amp;gt;: integer, &amp;lt;f&amp;gt;: float, &amp;lt;bool&amp;gt;: &amp;quot;True&amp;quot;/&amp;quot;False&amp;quot;,&lt;br /&gt;
          ### &amp;lt;string&amp;gt;: &amp;quot;String&amp;quot;, &amp;lt;freq&amp;gt;: &amp;quot;&amp;lt;f&amp;gt; Hz/kHz/MHz&amp;quot;&lt;br /&gt;
          ### [arg]: arg optional&lt;br /&gt;
          #Option         &amp;quot;NoAccel&amp;quot;                               # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;SWcursor&amp;quot;                              # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;ColorKey&amp;quot;                              # &amp;lt;i&amp;gt;&lt;br /&gt;
          #Option         &amp;quot;CacheLines&amp;quot;                    # &amp;lt;i&amp;gt;&lt;br /&gt;
          #Option         &amp;quot;Dac6Bit&amp;quot;                               # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;DRI&amp;quot;                                   # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;NoDDC&amp;quot;                                 # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;ShowCache&amp;quot;                             # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
          #Option         &amp;quot;XvMCSurfaces&amp;quot;                  # &amp;lt;i&amp;gt;&lt;br /&gt;
          Identifier      &amp;quot;Card0&amp;quot;&lt;br /&gt;
          Driver          &amp;quot;nvidia&amp;quot;&lt;br /&gt;
          VendorName      &amp;quot;Unknown Vendor Name&amp;quot;&lt;br /&gt;
          BoardName       &amp;quot;Unknown Board Name&amp;quot;&lt;br /&gt;
          Option          &amp;quot;LinearAlloc&amp;quot;           &amp;quot;16384&amp;quot;&lt;br /&gt;
          #BusID          &amp;quot;PCI:0:2:0&amp;quot;&lt;br /&gt;
  #       Option          &amp;quot;NoDDC&amp;quot;                         &amp;quot;true&amp;quot;&lt;br /&gt;
     Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
     ## Option         &amp;quot;UseEDIDFreqs&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;XvmcUsesTextures&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;renderAccel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoDDCValue&amp;quot;&lt;br /&gt;
          ## Option &amp;quot;UseEDID&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;ExactModeTimingsDVI&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoLogo&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoBandWidthTest&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          # Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoVertRefreshCheck, NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;DynamicTwinView&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;UseEvents&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AllowGLXWithComposite&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AddARGBGLXVisuals&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option          &amp;quot;ConnectedMonitor&amp;quot; &amp;quot;DFP&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
          Identifier      &amp;quot;Screen0&amp;quot;&lt;br /&gt;
          Device          &amp;quot;Card0&amp;quot;&lt;br /&gt;
          Monitor         &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
          DefaultDepth    24&lt;br /&gt;
          SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                  # Modes         &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  Modes           &amp;quot;1920x1080_50_1&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080_my50&amp;quot;&lt;br /&gt;
                  # Modes         &amp;quot;1920x1080_my50a&amp;quot; &amp;quot;1920x1080_50&amp;quot; &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  #TESTED Modes           &amp;quot;1920x1080_50_0&amp;quot; &amp;quot;1920x1080_50i_0&amp;quot; &amp;quot;1920x1080_50i&amp;quot; &amp;quot;1920x1080_my50i&amp;quot; &amp;quot;1920x1080_my25&amp;quot; &amp;quot;1920x1080&amp;quot;&lt;br /&gt;
                  Virtual         1920 1080&lt;br /&gt;
          EndSubSection&lt;br /&gt;
     Option         &amp;quot;UseEDIDDpi&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
     ## Option         &amp;quot;UseEDIDFreqs&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;XvmcUsesTextures&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;renderAccel&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoDDCValue&amp;quot;&lt;br /&gt;
          ## Option &amp;quot;UseEDID&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;ExactModeTimingsDVI&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoLogo&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;NoBandWidthTest&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          # Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;ModeValidation&amp;quot; &amp;quot;NoVertRefreshCheck, NoDFPNativeResolutionCheck, NoEdidMaxPClkCheck, NoMaxPClkCheck, AllowInterlacedModes, AllowNon60HzDFPModes&amp;quot;&lt;br /&gt;
          Option &amp;quot;DynamicTwinView&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;UseEvents&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AllowGLXWithComposite&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option &amp;quot;AddARGBGLXVisuals&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
          Option  &amp;quot;TVStandard&amp;quot;    &amp;quot;1080p&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  &lt;br /&gt;
  Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
          Option  &amp;quot;AllowMouseOpenFail&amp;quot;    &amp;quot;true&amp;quot;&lt;br /&gt;
          Option  &amp;quot;BlankTime&amp;quot;             &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;StandbyTime&amp;quot;   &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;SuspendTime&amp;quot;   &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;OffTime&amp;quot;               &amp;quot;0&amp;quot;&lt;br /&gt;
          Option  &amp;quot;AIGLX&amp;quot;                 &amp;quot;Off&amp;quot;&lt;br /&gt;
  EndSection&lt;br /&gt;
  Section &amp;quot;Extensions&amp;quot;&lt;br /&gt;
          Option &amp;quot;Composite&amp;quot; &amp;quot;false&amp;quot;&lt;br /&gt;
          Option &amp;quot;RENDER&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
  EndSection&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=DViCO_Fusion_Dual_Digital_2&amp;diff=17428</id>
		<title>DViCO Fusion Dual Digital 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=DViCO_Fusion_Dual_Digital_2&amp;diff=17428"/>
		<updated>2009-01-28T06:56:55Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Hardware]]&lt;br /&gt;
[[Category: Video]]&lt;br /&gt;
[[Category: TV Cards]]&lt;br /&gt;
&lt;br /&gt;
The (PCI) DViCO Dual digital 2 works for me with very little work.... following these instructions:&lt;br /&gt;
[http://www.itee.uq.edu.au/~chrisp/Linux-DVB/DVICO/]&lt;br /&gt;
&lt;br /&gt;
See also&lt;br /&gt;
[https://help.ubuntu.com/community/DViCO_Dual_Digital_4 Ubuntu howto]&lt;br /&gt;
[http://ubuntuforums.org/showthread.php?p=6630125 Ubuntu forum thread]&lt;br /&gt;
&lt;br /&gt;
Rev 2 version of the card is also working.&lt;br /&gt;
&lt;br /&gt;
Rev 2 of the card may have troubles with the USB driver in the LMCE 710 kernel, and some motherboards (&amp;quot;USB disconnects&amp;quot; with AMD motherboard chipsets).  Note that the DViCO card has 2 USB tuners and a USB interface chipset on it, so it requires the kernel to properly support the USB interface chip.  If you experience tuner device drivers &amp;quot;vanishing&amp;quot; and/or blank recordings of zero length, then you may have to upgrade your kernel to get it to work reliably.  Blank recordings may also be due to a bad antenna or loose antenna cable.&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=DViCO_Fusion_Dual_Digital_2&amp;diff=17427</id>
		<title>DViCO Fusion Dual Digital 2</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=DViCO_Fusion_Dual_Digital_2&amp;diff=17427"/>
		<updated>2009-01-28T04:59:48Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Hardware]]&lt;br /&gt;
[[Category: Video]]&lt;br /&gt;
[[Category: TV Cards]]&lt;br /&gt;
&lt;br /&gt;
The (PCI) DViCO Dual digital 2 works for me with very little work.... following these instructions:&lt;br /&gt;
http://www.itee.uq.edu.au/~chrisp/Linux-DVB/DVICO/&lt;br /&gt;
&lt;br /&gt;
I should note that I have quality issues with all TV cards currently but I don&#039;t believe that is the cards fault.&lt;br /&gt;
&lt;br /&gt;
Rev 2 version of the card is also working, instructions here&lt;br /&gt;
[https://help.ubuntu.com/community/DViCO_Dual_Digital_4]&lt;br /&gt;
&lt;br /&gt;
Rev 2 of the card may have troubles with the USB driver in the LMCE 710 kernel, and some motherboards (&amp;quot;USB disconnects&amp;quot; with AMD motherboard chipsets).  Note that the DViCO card has 2 USB tuners and a USB interface chipset on it, so it requires the kernel to properly support the USB interface chip.&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16859</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16859"/>
		<updated>2008-12-27T02:46:58Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;WARNING:&#039;&#039;&#039;&#039;&#039; This procedure may make your system unusable, therefore use at your own risk.  Of course, if your system is not working or is unstable anyway, then trying this may only improve things!&lt;br /&gt;
 &lt;br /&gt;
=Introduction=&lt;br /&gt;
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.28. The .22 kernel is almost a full year old and as such does not support a lot of the newer hardware.&lt;br /&gt;
&lt;br /&gt;
Note- kernel version 2.6.27 has changes in it (a redefined set of arguments for smp_call_function) which breaks earlier versions of the Nvidia driver.  Nvidia drivers 178.80 and above should work.&lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree.&lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
An alternative approach is described here [http://www.debian.org/releases/stable/i386/ch08s06.html.en Rebuilding the kernel the debian way].  Anyone using this potentially easier method could update this document.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
&lt;br /&gt;
===Recompiling the kernel===&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev qt3-dev-tools libqt3-mt-dev&lt;br /&gt;
&lt;br /&gt;
Then you can either choose to use the character based interface to set your kernel options&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
Or you can use the GUI interface&lt;br /&gt;
 DISPLAY=:0.0 make xconfig&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
===Additional items which need to be rebuilt===&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
===Mythtv===&lt;br /&gt;
You do not have to rebuild Mythtv, but if you chose to use the new High Precision Event Timer (HPET) instead of the older kernel Real Time Clock (RTC), then Mythtv will not start up because /proc/sys/dev/rtc/max-user-freq does not exist.  This is because the LinuxMCE 7.10 /etc/init.d/mythtv-backend script does not check if it exists before trying to write to it.  You will have to change your /etc/init.d/mythtv-backend script as follows:&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
        if test -e $RUNDIR/$NAME.pid ; then&lt;br /&gt;
            echo &amp;quot;mythbackend already running, use restart instead.&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
            # set the timeslice to 1/1024 of a sec for smoother mythtv and xine and mplayer playback &lt;br /&gt;
            if [ -w /proc/sys/dev/rtc/max-user-freq ] # check if RTC (older kernels) exists and I can write to it&lt;br /&gt;
                # failure is not an option!&lt;br /&gt;
            then echo 1024 &amp;gt; /proc/sys/dev/rtc/max-user-freq&lt;br /&gt;
        elif [ -w /proc/sys/dev/hpet/max-user-freq ] # or newer kernels with the High Precision Timer (HPET)&lt;br /&gt;
            # may or may not emulate the older RTC fully&lt;br /&gt;
        then echo 1024 &amp;gt; /proc/sys/dev/hpet/max-user-freq&lt;br /&gt;
    fi # start starting the startup of mythtv &lt;br /&gt;
 echo -n &amp;quot;Starting $DESC: $NAME &amp;quot; start-stop-daemon --start --pidfile $RUNDIR/$NAME.pid \ &lt;br /&gt;
&lt;br /&gt;
===Apparmor===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===ALSA===&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
===Asterisk telephony===&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
===LIRC IR control===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For kernel version 2.6.27 the following LIRC setup steps worked. The only issue you will have is with some modules not compiling, as noted above. Just compile the module you need for your remote- for me it was &#039;&#039;mceusb2&#039;&#039;.&lt;br /&gt;
  cd /opt/lirc&lt;br /&gt;
  wget http://prdownloads.sourceforge.net/lirc/lirc-0.8.4a.tar.bz2&lt;br /&gt;
  tar -xjvf lirc-0.8.4a.tar.bz2&lt;br /&gt;
  ./configure --prefix=/usr --with-driver=usbmce2&lt;br /&gt;
  make&lt;br /&gt;
  checkinstall&lt;br /&gt;
&lt;br /&gt;
At this point if you get errors about not being about to overwrite&lt;br /&gt;
/usr/lib/liblirc_client.la you may need to&lt;br /&gt;
  cp /usr/lib/liblirc_client.la /opt/lirc/liblirc_client.la.orig&lt;br /&gt;
  dpkg --force-overwrite -i lirc_0.8.4a-1_i386.deb&lt;br /&gt;
&lt;br /&gt;
Proceed with&lt;br /&gt;
  modprobe lirc_mceusb2&lt;br /&gt;
  lircd&lt;br /&gt;
  mode2&lt;br /&gt;
Press some buttons on your remote, you should see information appear about the IR being received.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
===Video driver===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
===Tuner and other drivers===&lt;br /&gt;
Don&#039;t forget to recompile and install other drivers which you may have had to install to get your system working.  These include the V4L DVB drivers.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16858</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16858"/>
		<updated>2008-12-27T02:03:44Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;WARNING:&#039;&#039;&#039;&#039;&#039; This procedure may make your system unusable, therefore use at your own risk.  Of course, if your system is not working or is unstable anyway, then trying this may only improve things!&lt;br /&gt;
 &lt;br /&gt;
=Introduction=&lt;br /&gt;
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.28. The .22 kernel is almost a full year old and as such does not support a lot of the newer hardware.&lt;br /&gt;
&lt;br /&gt;
Note- kernel version 2.6.27 has changes in it (a redefined set of arguments for smp_call_function) which breaks earlier versions of the Nvidia driver.  Nvidia drivers 178.80 and above should work.&lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree.&lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
An alternative approach is described here [http://www.debian.org/releases/stable/i386/ch08s06.html.en Rebuilding the kernel the debian way].  Anyone using this potentially easier method could update this document.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
&lt;br /&gt;
===Recompiling the kernel===&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev qt3-dev-tools libqt3-mt-dev&lt;br /&gt;
&lt;br /&gt;
Then you can either choose to use the character based interface to set your kernel options&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
Or you can use the GUI interface&lt;br /&gt;
 DISPLAY=:0.0 make xconfig&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
===Additional items which need to be rebuilt===&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
===Mythtv===&lt;br /&gt;
You do not have to rebuild Mythtv, but if you chose to use the new High Pprecision Event Timer (HPET) instead of the older kernel Real Time Clock (RTC), then Mythtv will not start up because /proc/sys/dev/rtc/max-user-freq does not exist.  This is because the LinuxMCE 7.10 /etc/init.d/mythtv-backend script does not check if it exists before trying to write to it (not the best coding practice!).  You will have to change your /etc/init.d/mythtv-backend script as follows:&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
        if test -e $RUNDIR/$NAME.pid ; then&lt;br /&gt;
            echo &amp;quot;mythbackend already running, use restart instead.&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
            # set the timeslice to 1/1024 of a sec for smoother mythtv and xine and mplayer playback &lt;br /&gt;
            if [ -w /proc/sys/dev/rtc/max-user-freq ] # check if RTC (older kernels) exists and I can write to it&lt;br /&gt;
                # failure is not an option!&lt;br /&gt;
            then echo 1024 &amp;gt; /proc/sys/dev/rtc/max-user-freq&lt;br /&gt;
        elif [ -w /proc/sys/dev/hpet/max-user-freq ] # or newer kernels with the High Precision Timer (HPET)&lt;br /&gt;
            # may or may not emulate the older RTC fully&lt;br /&gt;
        then echo 1024 &amp;gt; /proc/sys/dev/hpet/max-user-freq&lt;br /&gt;
    fi # start starting the startup of mythtv &lt;br /&gt;
 echo -n &amp;quot;Starting $DESC: $NAME &amp;quot; start-stop-daemon --start --pidfile $RUNDIR/$NAME.pid \ &lt;br /&gt;
&lt;br /&gt;
===Apparmor===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===ALSA===&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
===Asterisk telephony===&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
===LIRC IR control===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For kernel version 2.6.27 the following LIRC setup steps worked. The only issue you will have is with some modules not compiling, as noted above. Just compile the module you need for your remote- for me it was &#039;&#039;mceusb2&#039;&#039;.&lt;br /&gt;
  cd /opt/lirc&lt;br /&gt;
  wget http://prdownloads.sourceforge.net/lirc/lirc-0.8.4a.tar.bz2&lt;br /&gt;
  tar -xjvf lirc-0.8.4a.tar.bz2&lt;br /&gt;
  ./configure --prefix=/usr --with-driver=usbmce2&lt;br /&gt;
  make&lt;br /&gt;
  checkinstall&lt;br /&gt;
&lt;br /&gt;
At this point if you get errors about not being about to overwrite&lt;br /&gt;
/usr/lib/liblirc_client.la you may need to&lt;br /&gt;
  cp /usr/lib/liblirc_client.la /opt/lirc/liblirc_client.la.orig&lt;br /&gt;
  dpkg --force-overwrite -i lirc_0.8.4a-1_i386.deb&lt;br /&gt;
&lt;br /&gt;
Proceed with&lt;br /&gt;
  modprobe lirc_mceusb2&lt;br /&gt;
  lircd&lt;br /&gt;
  mode2&lt;br /&gt;
Press some buttons on your remote, you should see information appear about the IR being received.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
===Video driver===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16857</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16857"/>
		<updated>2008-12-27T02:02:14Z</updated>

		<summary type="html">&lt;p&gt;Indulis: Added section on making Mythtv work with new kernel&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;WARNING:&#039;&#039;&#039;&#039;&#039; This procedure may make your system unusable, therefore use at your own risk.&lt;br /&gt;
 &lt;br /&gt;
=Introduction=&lt;br /&gt;
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.28. The .22 kernel is almost a full year old and as such does not support a lot of the newer hardware.&lt;br /&gt;
&lt;br /&gt;
Note- kernel version 2.6.27 has changes in it (a redefined set of arguments for smp_call_function) which breaks earlier versions of the Nvidia driver.  Nvidia drivers 178.80 and above should work.&lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree.&lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
An alternative approach is described here [http://www.debian.org/releases/stable/i386/ch08s06.html.en Rebuilding the kernel the debian way].  Anyone using this potentially easier method could update this document.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
&lt;br /&gt;
===Recompiling the kernel===&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev qt3-dev-tools libqt3-mt-dev&lt;br /&gt;
&lt;br /&gt;
Then you can either choose to use the character based interface to set your kernel options&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
Or you can use the GUI interface&lt;br /&gt;
 DISPLAY=:0.0 make xconfig&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
===Additional items which need to be rebuilt===&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
===Mythtv===&lt;br /&gt;
You do not have to rebuild Mythtv, but if you chose to use the new High Pprecision Event Timer (HPET) instead of the older kernel Real Time Clock (RTC), then Mythtv will not start up because /proc/sys/dev/rtc/max-user-freq does not exist.  This is because the LinuxMCE 7.10 /etc/init.d/mythtv-backend script does not check if it exists before trying to write to it (not the best coding practice!).  You will have to change your /etc/init.d/mythtv-backend script as follows:&lt;br /&gt;
&lt;br /&gt;
 case &amp;quot;$1&amp;quot; in&lt;br /&gt;
    start)&lt;br /&gt;
        if test -e $RUNDIR/$NAME.pid ; then&lt;br /&gt;
            echo &amp;quot;mythbackend already running, use restart instead.&amp;quot;&lt;br /&gt;
        else&lt;br /&gt;
            # set the timeslice to 1/1024 of a sec for smoother mythtv and xine and mplayer playback &lt;br /&gt;
            if [ -w /proc/sys/dev/rtc/max-user-freq ] # check if RTC (older kernels) exists and I can write to it&lt;br /&gt;
                # failure is not an option!&lt;br /&gt;
            then echo 1024 &amp;gt; /proc/sys/dev/rtc/max-user-freq&lt;br /&gt;
        elif [ -w /proc/sys/dev/hpet/max-user-freq ] # or newer kernels with the High Precision Timer (HPET)&lt;br /&gt;
            # may or may not emulate the older RTC fully&lt;br /&gt;
        then echo 1024 &amp;gt; /proc/sys/dev/hpet/max-user-freq&lt;br /&gt;
    fi # start starting the startup of mythtv &lt;br /&gt;
 echo -n &amp;quot;Starting $DESC: $NAME &amp;quot; start-stop-daemon --start --pidfile $RUNDIR/$NAME.pid \ &lt;br /&gt;
&lt;br /&gt;
===Apparmor===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===ALSA===&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
===Asterisk telephony===&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
===LIRC IR control===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For kernel version 2.6.27 the following LIRC setup steps worked. The only issue you will have is with some modules not compiling, as noted above. Just compile the module you need for your remote- for me it was &#039;&#039;mceusb2&#039;&#039;.&lt;br /&gt;
  cd /opt/lirc&lt;br /&gt;
  wget http://prdownloads.sourceforge.net/lirc/lirc-0.8.4a.tar.bz2&lt;br /&gt;
  tar -xjvf lirc-0.8.4a.tar.bz2&lt;br /&gt;
  ./configure --prefix=/usr --with-driver=usbmce2&lt;br /&gt;
  make&lt;br /&gt;
  checkinstall&lt;br /&gt;
&lt;br /&gt;
At this point if you get errors about not being about to overwrite&lt;br /&gt;
/usr/lib/liblirc_client.la you may need to&lt;br /&gt;
  cp /usr/lib/liblirc_client.la /opt/lirc/liblirc_client.la.orig&lt;br /&gt;
  dpkg --force-overwrite -i lirc_0.8.4a-1_i386.deb&lt;br /&gt;
&lt;br /&gt;
Proceed with&lt;br /&gt;
  modprobe lirc_mceusb2&lt;br /&gt;
  lircd&lt;br /&gt;
  mode2&lt;br /&gt;
Press some buttons on your remote, you should see information appear about the IR being received.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
===Video driver===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16314</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16314"/>
		<updated>2008-11-23T15:03:36Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* LIRC IR control */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Note- kernel version 2.6.27 has changes in it (a redefined set of arguments for smp_call_function) which breaks earlier versions of the Nvidia driver.  Nvidia driver 178.80 is claimed to work, but has not yet been verified.&lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree.&lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
An alternative approach is described here [http://www.debian.org/releases/stable/i386/ch08s06.html.en Rebuilding the kernel the debian way].  Anyone using this potentially easier method could update this document.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
&lt;br /&gt;
===Recompiling the kernel===&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev qt3-dev-tools libqt3-mt-dev&lt;br /&gt;
&lt;br /&gt;
Then you can either choose to use the character based interface to set your kernel options&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
Or you can use the GUI interface&lt;br /&gt;
 DISPLAY=:0.0 make xconfig&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
===Additional items which need to be rebuilt===&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
===Apparmor===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===ALSA===&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
===Asterisk telephony===&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
===LIRC IR control===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For kernel version 2.6.27 the following LIRC setup steps worked. The only issue you will have is with some modules not compiling, as noted above. Just compile the module you need for your remote- for me it was &#039;&#039;mceusb2&#039;&#039;.&lt;br /&gt;
  cd /opt/lirc&lt;br /&gt;
  wget http://prdownloads.sourceforge.net/lirc/lirc-0.8.4a.tar.bz2&lt;br /&gt;
  tar -xjvf lirc-0.8.4a.tar.bz2&lt;br /&gt;
  ./configure --prefix=/usr --with-driver=usbmce2&lt;br /&gt;
  make&lt;br /&gt;
  checkinstall&lt;br /&gt;
&lt;br /&gt;
At this point if you get errors about not being about to overwrite&lt;br /&gt;
/usr/lib/liblirc_client.la you may need to&lt;br /&gt;
  cp /usr/lib/liblirc_client.la /opt/lirc/liblirc_client.la.orig&lt;br /&gt;
  dpkg --force-overwrite -i lirc_0.8.4a-1_i386.deb&lt;br /&gt;
&lt;br /&gt;
Proceed with&lt;br /&gt;
  modprobe lirc_mceusb2&lt;br /&gt;
  lircd&lt;br /&gt;
  mode2&lt;br /&gt;
Press some buttons on your remote, you should see information appear about the IR being received.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
===Video driver===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16313</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16313"/>
		<updated>2008-11-23T15:02:28Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Note- kernel version 2.6.27 has changes in it (a redefined set of arguments for smp_call_function) which breaks earlier versions of the Nvidia driver.  Nvidia driver 178.80 is claimed to work, but has not yet been verified.&lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree.&lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
An alternative approach is described here [http://www.debian.org/releases/stable/i386/ch08s06.html.en Rebuilding the kernel the debian way].  Anyone using this potentially easier method could update this document.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
&lt;br /&gt;
===Recompiling the kernel===&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev qt3-dev-tools libqt3-mt-dev&lt;br /&gt;
&lt;br /&gt;
Then you can either choose to use the character based interface to set your kernel options&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
Or you can use the GUI interface&lt;br /&gt;
 DISPLAY=:0.0 make xconfig&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
===Additional items which need to be rebuilt===&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
===Apparmor===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
===ALSA===&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
===Asterisk telephony===&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
===LIRC IR control===&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
For kernel version 2.6.27 the following LIRC setup steps worked. The only issue you will have is with some modules not compiling, as noted above. Just compile the module you need for your remote- for me it was &#039;&#039;mceusb2&#039;&#039;.&lt;br /&gt;
  cd /opt/lirc&lt;br /&gt;
  wget http://prdownloads.sourceforge.net/lirc/lirc-0.8.4a.tar.bz2&lt;br /&gt;
  tar -xjvf lirc-0.8.4a.tar.bz2&lt;br /&gt;
  ./configure --prefix=/usr --with-driver=usbmce2&lt;br /&gt;
  make&lt;br /&gt;
  checkinstall&lt;br /&gt;
&lt;br /&gt;
At this point if you get errors about not being about to overwrite&lt;br /&gt;
/usr/lib/liblirc_client.la you may need to&lt;br /&gt;
  cp /usr/lib/liblirc_client.la /opt/lirc/liblirc_client.la.orig&lt;br /&gt;
  dpkg --force-overwrite -i lirc_0.8.4a-1_i386.deb&lt;br /&gt;
&lt;br /&gt;
Proceed with&lt;br /&gt;
  modprobe lirc_mceusb2&lt;br /&gt;
  lircd&lt;br /&gt;
  mode2&lt;br /&gt;
Press some buttons on your remote, you should see information appear about the IR being received.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Video driver===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16048</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16048"/>
		<updated>2008-11-03T14:18:45Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Note- kernel version 2.6.27 has changes in it (a redefined set of arguments for smp_call_function) which breaks earlier versions of the Nvidia driver.  Nvidia driver 178.80 is claimed to work, but has not yet been verified.&lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree.&lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
An alternative approach is described here [http://www.debian.org/releases/stable/i386/ch08s06.html.en Rebuilding the kernel the debian way].  Anyone using this potentially easier method could update this document.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev qt3-dev-tools libqt3-mt-dev&lt;br /&gt;
&lt;br /&gt;
Then you can either choose to use the character based interface to set your kernel options&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
Or you can use the GUI interface&lt;br /&gt;
 DISPLAY=:0.0 make xconfig&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16047</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16047"/>
		<updated>2008-11-03T13:34:39Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Upgrade process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Note- kernel version 2.6.27 has changes in it (a redefined set of arguments for smp_call_function) which breaks earlier versions of the Nvidia driver.  Nvidia driver 178.80 is claimed to work, but has not yet been verified.&lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree.&lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
An alternative approach is described here [http://www.debian.org/releases/stable/i386/ch08s06.html.en Rebuilding the kernel the debian way].  Anyone using this potentially easier method could update this document.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev qt3-dev-tools libqt3-mt-dev&lt;br /&gt;
&lt;br /&gt;
Then you can either choose to use the character based interface to set your kernel options&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
Or you can use the GUI interface&lt;br /&gt;
 DISPLAY=:0.0 make xconfig&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
If you have a multiprocessor system you can make the next step run faster with this command.  Change the number to be equal to the number of cores you have +1.&lt;br /&gt;
 export CONCURRENCY_LEVEL=3&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16046</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16046"/>
		<updated>2008-11-03T00:25:57Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Note- kernel version 2.6.27 has changes in it (a redefined set of arguments for smp_call_function) which breaks earlier versions of the Nvidia driver.  Nvidia driver 178.80 is claimed to work, but has not yet been verified.&lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree.&lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
An alternative approach is described here [http://www.debian.org/releases/stable/i386/ch08s06.html.en Rebuildign the kernel the debian way].  Anyone using this potentially easier method could updated this document.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev qt3-dev-tools libqt3-mt-dev&lt;br /&gt;
&lt;br /&gt;
Then you can either choose to use the character based interface to set your kernel options&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
Or you can use the GUI interface&lt;br /&gt;
 DISPLAY=:0.0 make xconfig&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
If you have a multiprocessor system you can make the next step run faster with this command.  Change the number to be equal to the number of cores you have +1.&lt;br /&gt;
 export CONCURRENCY_LEVEL=3&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16045</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16045"/>
		<updated>2008-11-02T12:54:55Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree. &lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
An alternative approach is described here [http://www.debian.org/releases/stable/i386/ch08s06.html.en Rebuildign the kernel the debian way].  Anyone using this potentially easier method could updated this document.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev qt3-dev-tools libqt3-mt-dev&lt;br /&gt;
&lt;br /&gt;
Then you can either choose to use the character based interface to set your kernel options&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
Or you can use the GUI interface&lt;br /&gt;
 DISPLAY=:0.0 make xconfig&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
If you have a multiprocessor system you can make the next step run faster with this command.  Change the number to be equal to the number of cores you have +1.&lt;br /&gt;
 export CONCURRENCY_LEVEL=3&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16033</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16033"/>
		<updated>2008-11-01T12:19:53Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Upgrade process */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree. &lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
An alternative approach is described here [http://www.debian.org/releases/stable/i386/ch08s06.html.en Rebuildign the kernel the debian way].  Anyone using this potentially easier method could updated this document.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev qt3-dev-tools libqt3-mt-dev&lt;br /&gt;
&lt;br /&gt;
Then you can either choose the character based interface&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
Or the GUI interface&lt;br /&gt;
 DISPLAY=:0.0 make xconfig&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
If you have a multiprocessor system you can make the next step run faster with this command.  Change the number to be equal to the number of cores you have +1.&lt;br /&gt;
 export CONCURRENCY_LEVEL=3&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16032</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16032"/>
		<updated>2008-11-01T05:52:38Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree. &lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev qt3-dev-tools libqt3-mt-dev&lt;br /&gt;
&lt;br /&gt;
Then you can either choose the character based interface&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
Or the GUI interface&lt;br /&gt;
 DISPLAY=:0.0 make xconfig&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
If you have a multiprocessor system you can make the next step run faster with this command.  Change the number to be equal to the number of cores you have +1.&lt;br /&gt;
 export CONCURRENCY_LEVEL=3&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16031</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16031"/>
		<updated>2008-11-01T05:45:54Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree. &lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
If you have a multiprocessor system you can make the next step run faster with this command.  Change the number to be equal to the number of cores you have +1.&lt;br /&gt;
 export CONCURRENCY_LEVEL=3&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16030</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16030"/>
		<updated>2008-11-01T05:07:41Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree. &lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86/177.80/NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
 sh NVIDIA-Linux-x86-177.80-pkg1.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16029</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16029"/>
		<updated>2008-11-01T04:28:11Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Video Drivers */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree. &lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
Video drivers for Media Directors 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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16028</id>
		<title>Upgrading the Kernel</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Upgrading_the_Kernel&amp;diff=16028"/>
		<updated>2008-11-01T04:24:00Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Steps */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:LinuxMCEMaintenance]]&lt;br /&gt;
[[category: tutorials]]&lt;br /&gt;
[[category: programmer&#039;s Guide]]&lt;br /&gt;
&lt;br /&gt;
{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
==Caveats==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Alternatives==&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
Example:&lt;br /&gt;
 cd ~&lt;br /&gt;
 wget http://www.somesite.com/some_kernel_driver.c&lt;br /&gt;
 echo obj-m = some_kernel_driver.o &amp;gt; Makefile&lt;br /&gt;
 cd /lib/modules/2.6.22-14-generic/build&lt;br /&gt;
 make M=~ modules&lt;br /&gt;
 ls -l ~/some_kernel_driver.ko&lt;br /&gt;
&lt;br /&gt;
You may then copy the module to the appropriate directory in the modules tree. &lt;br /&gt;
&lt;br /&gt;
=Upgrade process=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==Potential problems==&lt;br /&gt;
All the normal issues of upgrading your kernel apply. Always keep your old, working kernel on hand. &lt;br /&gt;
&lt;br /&gt;
==Steps==&lt;br /&gt;
The first step is to grab the kernel source and extract it to the /usr/src folder.&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.26.5.tar.bz2&lt;br /&gt;
 tar -jxvf linux-2.6.26.5.tar.bz&lt;br /&gt;
 rm linux&lt;br /&gt;
 ln -s linux-2.6.26.5 linux&lt;br /&gt;
&lt;br /&gt;
Now lets copy the .config file from our generic 2.6.22 kernel.&lt;br /&gt;
 cd linux&lt;br /&gt;
 cp /boot/config-2.6.22-14-generic .config&lt;br /&gt;
&lt;br /&gt;
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&#039;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&#039;t already.&lt;br /&gt;
&lt;br /&gt;
 apt-get install libncurses5 libncurses5-dev&lt;br /&gt;
 make menuconfig 2&amp;gt; module_errors&lt;br /&gt;
&lt;br /&gt;
It&#039;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. &lt;br /&gt;
&lt;br /&gt;
I opted to change these things:&lt;br /&gt;
* Selected exact processor family to enable processor optimization extensions&lt;br /&gt;
* Selected preemptive kernel (low latency)&lt;br /&gt;
* Build SATA driver into kernel&lt;br /&gt;
* Build MD,RAID1,RAID5 modules into kernel&lt;br /&gt;
* Build NIC module into kernel&lt;br /&gt;
* Disabled kernel debugging (&#039;&#039;&#039;Note: This is very important if you plan to use this kernel on Media Directors.&#039;&#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
 make&lt;br /&gt;
 make modules_install&lt;br /&gt;
&lt;br /&gt;
Copy your kernel image to your /boot folder. Create a new initramfs image. Update your menu.lst file.&lt;br /&gt;
&lt;br /&gt;
 cp arch/yyxx/boot/bzImage /boot/vmlinuz-2.6.26.5&lt;br /&gt;
 mkinitramfs -o /boot/initrd.img-2.6.26.5 2.6.26.5&lt;br /&gt;
 nano /boot/grub/menu.lst&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
   lsmod &amp;gt; ~/module_list-2.6.22.14&lt;br /&gt;
&lt;br /&gt;
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. 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&#039;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.&lt;br /&gt;
&lt;br /&gt;
   reboot&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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 &amp;amp; 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.&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
For the ALSA drivers I opted to upgrade the whole package. The compilation and installation is so straight forward that there&#039;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):&lt;br /&gt;
 mkdir alsa&lt;br /&gt;
 cd alsa&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/driver/alsa-driver-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/firmware/alsa-firmware-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.0.17a.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/plugins/alsa-plugins-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/utils/alsa-utils-1.0.17.tar.bz2&lt;br /&gt;
 wget ftp://ftp.alsa-project.org/pub/oss-lib/alsa-oss-1.0.17.tar.bz2&lt;br /&gt;
 for fi in *; do&lt;br /&gt;
 tar -jxvf $fi&lt;br /&gt;
 done&lt;br /&gt;
 cd alsa-driver-1.0.17 &lt;br /&gt;
 ./configure --with-cards=hda-intel&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 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&lt;br /&gt;
 cd $fi&lt;br /&gt;
 ./configure&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
 cd ..&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
For Asterisk, simply download the latest Zaptel sources. Configure, Make, Install. &lt;br /&gt;
 wget http://downloads.digium.com/pub/zaptel/zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 tar -zxvf zaptel-1.4.12.1.tar.gz&lt;br /&gt;
 cd zaptel-1.4.12.1&lt;br /&gt;
 ./configure --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
 cd /usr/src/linux&lt;br /&gt;
 wget http://lirc.sourceforge.net/software/snapshots/lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 patch -p1 &amp;lt; lirc-bttv-linux-2.6.24.patch&lt;br /&gt;
 cd ..&lt;br /&gt;
 cvs -z8 -d:pserver:anonymous@lirc.cvs.sourceforge.net:/cvsroot/lirc co lirc&lt;br /&gt;
 cd lirc-0.8.3&lt;br /&gt;
 ./configure --prefix=/usr --with-driver=all&lt;br /&gt;
 make&lt;br /&gt;
 make install &lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
For nVidia do this:&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
&lt;br /&gt;
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&#039;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.&lt;br /&gt;
&lt;br /&gt;
==Media Directors==&lt;br /&gt;
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. &lt;br /&gt;
===Use old kernel===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 mkdir /tmp/moonfs_64 /tmp/moonfs_32&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2 /tmp/moonfs_64/&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-i386.tar.bz2 /tmp/moonfs_32/&lt;br /&gt;
 for md in /usr/pluto/diskless/* /tmp/moonfs_64 /tmp/moonfs_32; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cd $md/boot&lt;br /&gt;
 ln -s vmlinuz-2.6.22-14-generic vmlinuz-2.6.26.5&lt;br /&gt;
 ln -s initrd.img-2.6.22-14-generic initrd.img-2.6.26.5&lt;br /&gt;
 done&lt;br /&gt;
 tar -C /tmp/moonfs_64 -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 .&lt;br /&gt;
 tar -C /tmp/moonfs_32 -jcvpf /usr/pluto/install/PlutoMD-i386.tar.bz2 .&lt;br /&gt;
 rm -rf /tmp/moonfs_*&lt;br /&gt;
&lt;br /&gt;
===Use new kernel===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
These scripts serve as a guideline, and may need to be customized to your unique configuration. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;A few notes:&#039;&#039;&#039;&lt;br /&gt;
* 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.&lt;br /&gt;
* 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&#039;s architecture.&lt;br /&gt;
* You should build your video driver files first, so you can include them in your MD archive.&lt;br /&gt;
&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 md_device=`echo &amp;quot;$md&amp;quot; | sed -e &#039;s/.*[/]\([^/]\)/\1/g&#039;`&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 $md/boot/&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 $md/boot/&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ $md/lib/modules/&lt;br /&gt;
 /usr/pluto/bin/Diskless_InstallKernel.sh $md_device&lt;br /&gt;
 done&lt;br /&gt;
 /usr/pluto/bin/Diskless_BuildDefaultImage.sh&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now rebuild the archives, so future Media Directors will get the correct kernel image. &lt;br /&gt;
 cd /tmp&lt;br /&gt;
 mkdir moonfs_x64&lt;br /&gt;
 cd moonfs_x64&lt;br /&gt;
 tar -jxvf /usr/pluto/install/PlutMD-adm64.tar.bz2&lt;br /&gt;
 cp /boot/vmlinuz-2.6.26.5 boot&lt;br /&gt;
 cp /boot/initrd.img-2.6.26.5 boot&lt;br /&gt;
 cp -r /lib/modules/2.6.26.5/ lib/modules/&lt;br /&gt;
 tar -jcvpf /usr/pluto/install/PlutoMD-adm64.tar.bz2 *&lt;br /&gt;
 cd ..&lt;br /&gt;
 rm -rf moonfs_x64&lt;br /&gt;
&lt;br /&gt;
==Video Drivers==&lt;br /&gt;
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&#039;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&#039;s similar. &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
stripheader.sh&lt;br /&gt;
 readsint ()&lt;br /&gt;
 {&lt;br /&gt;
   byte=`head -c$2 $1 | tail -c1`&lt;br /&gt;
   sint=`printf &#039;%u&#039; &amp;quot;&#039;$byte&amp;quot;`&lt;br /&gt;
   let &amp;quot;sint=$sint &amp;amp; 0xFF&amp;quot;&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$sint\&amp;quot;&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 readuint32 ()&lt;br /&gt;
 {&lt;br /&gt;
   readsint $1 $(($2+1)) b1&lt;br /&gt;
   readsint $1 $(($2+2)) b2&lt;br /&gt;
   readsint $1 $(($2+3)) b3&lt;br /&gt;
   readsint $1 $(($2+4)) b4 &lt;br /&gt;
 &lt;br /&gt;
   uint=$(( ($b4 &amp;lt;&amp;lt; 24) + ($b3 &amp;lt;&amp;lt; 16) + ($b2 &amp;lt;&amp;lt; 8) + $b1 ))&lt;br /&gt;
   eval &amp;quot;$3=\&amp;quot;$uint\&amp;quot;&amp;quot;&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 let &amp;quot;header=12&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 readuint32 $1 $header int&lt;br /&gt;
 let &amp;quot;header=$header+$int+4&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 precomp=$(stat -c%s &amp;quot;$1&amp;quot;)&lt;br /&gt;
 let &amp;quot;precomp-=$header&amp;quot;&lt;br /&gt;
 tail -c$precomp $1 &amp;gt; $2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 wget http://us.download.nvidia.com/XFree86/Linux-x86_64/173.14.12/NVIDIA-Linux-x86_64-173.14.12-pkg2.run&lt;br /&gt;
 sh NVIDIA-Linux-x86_64-173.14.12-pkg2.run --keep --add-this-kernel&lt;br /&gt;
 ./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&lt;br /&gt;
 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&lt;br /&gt;
 for md in /usr/pluto/diskless/*; do&lt;br /&gt;
 cp -r NVIDIA-Linux-x86_64-173.14.12-pkg2/usr/* $md/usr/&lt;br /&gt;
 cp nvidia.ko $md/lib/modules/2.6.26.5/kernel/drivers/video/&lt;br /&gt;
 done&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Information_for_Australian_users&amp;diff=15842</id>
		<title>Information for Australian users</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Information_for_Australian_users&amp;diff=15842"/>
		<updated>2008-10-12T13:21:53Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Australian Setups]]&lt;br /&gt;
== MythTV ==&lt;br /&gt;
MythTV works fine with Australian Free-To-Air digital television. There are 3 main sources for Electronic Program Guide information, [http://www.icetv.com.au iceTV], [http://www.tuhs.org/twiki/bin/view/TVGuide/WebHome The Australian Community TV Guide](ozTiVo), and [http://svn.whuffy.com/wiki Shepherd] which grabs info from multiple sources and collates it.&lt;br /&gt;
&lt;br /&gt;
iceTV is a comercial offering, and costs about AU$3 per week. ozTiVo is free, however both sites require registration.&lt;br /&gt;
&lt;br /&gt;
Shepherd can use your OzTivo registration.  It is currently the recommended grabber for Australian users, as it is comprehensive and reliable, easy to set up, and keeps itself up to date.&lt;br /&gt;
&lt;br /&gt;
=== Setup for OzTivo===&lt;br /&gt;
*Visit one (or both) of the above sites to register and set up your profile (be sure to select xmltv for the data format).&lt;br /&gt;
*Get [http://www.cse.unsw.edu.au/~willu/xmltv/tv_grab_au_reg this script] and install it in /usr/local/bin&lt;br /&gt;
**Make sure it is executable: &#039;&#039;sudo chmod +x tv_grab_au_reg&#039;&#039;&lt;br /&gt;
**Symlink /usr/local/bin/tv_grab_au to tv_grab_au_reg with &#039;&#039;sudo ln -s /usr/local/bin/tv_grab_au_reg /usr/local/bin/tv_grab_au&#039;&#039;.&lt;br /&gt;
*Run MythTV-setup and add a new video source to use &#039;tv_grab_au&#039; (call it something like FTA).&lt;br /&gt;
**Set &#039;TimeOffset&#039; to &#039;Auto&#039;&lt;br /&gt;
**Configure a capture card to use the video source (FTA)&lt;br /&gt;
**Scan the channels, delete the ones you don&#039;t want, then add xmltv info (from your iceTV or ozTiVo profile) to the ones that are left.&lt;br /&gt;
**Exit Setup, don&#039;t run mythfilldatabase.&lt;br /&gt;
*Edit /root/.mythtv/&amp;lt;input source name&amp;gt;.xmltv (FTA in above example) to include your username and password. Remove the information for any sites you are not using. (It may be wise to set this file as read-only, every time you enter the input sources page in mythTV-setup it reconfigures the tv_grab_au script, which overwrites the configuration file with defaults).&lt;br /&gt;
*Run mythfilldatabase( start MythTV-setup and then exit, hit yes when prompted.&lt;br /&gt;
*Enjoy your new EPG&lt;br /&gt;
&lt;br /&gt;
You can use the same process to import foxtel channels, call it foxtel instead of FTA. (see [http://www.ozmyth.com/wiki/Preparing+the+Foxtel+STU+for+MythTV this page] for info on setting up foxtel to work with mythTV).&lt;br /&gt;
&lt;br /&gt;
=== Setup for Shepherd ===&lt;br /&gt;
There are some issues with the normal mythfilldatabase job triggered from inside Mythtv and Shepherd (and Oz tv listing grabber). This is due to permissions etc.  This can be resolved by running the myhtfilldatabase job automatically from cron and is the recommended way of running shepherd.  Shepherd will set this up for you automatically as it installs.&lt;br /&gt;
&lt;br /&gt;
* sudo passwd mythtv&lt;br /&gt;
* sudo su - mythtv&lt;br /&gt;
* mkdir .shepherd &amp;amp;&amp;amp; cd .shepherd&lt;br /&gt;
* wget http://www.whuffy.com/shepherd/shepherd&lt;br /&gt;
* sh /home/mythtv/.shepherd/shepherd&lt;br /&gt;
* Run through the setup process, and allow shepherd to set up mythtv and a cron entry to run mythtfilldatabase (as mythtv user).  Note that one step fails: where it tries to to create a symbolic link from /usr/bin/tv_grab_au to /home/mythtv/.shepherd/shepherd&lt;br /&gt;
* create symbolic link manually:&lt;br /&gt;
** sudo mv /usr/bin/tv_grab_au /usr/bin/tv_grab_au.old&lt;br /&gt;
** sudo ln -s /home/mythtv/.shepherd/shepherd /usr/bin/tv_grab_au&lt;br /&gt;
** Use mythtv-setup from a terminal window to disable the mythfilldatabase job (&#039;cos cron will do it instead)&lt;br /&gt;
&lt;br /&gt;
Note that log files for mythfilldatabase will now go to /home/mythtv/.shepherd/log dir.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* Check that your frequency tuning tables are OK for Mythtv.  If you have problems with some channels breaking up or horrible screeching audio bursts, it may be that the automatic tuning has not worked properly for a tuner.  My SBS transport was tuning to 536500000 instead of 536625000.  A transport is what we used to know as a channel in the analogue world, but as the station&#039;s allocated frequency band carries multiple channels they renamed the station frequency to a transport.&lt;br /&gt;
** From a terminal window &#039;&#039;&#039;mythtv-setup --geometry 800x600&#039;&#039;&#039;&lt;br /&gt;
** Go to Transport Editor and edit any that are wrong.&lt;br /&gt;
** Check the frequencies are OK using the [http://www.acma.gov.au/postcode/postcode_acma.shtml pretty useless Australian Communications and Media Authority website].  &lt;br /&gt;
*** You need to enter your postcode, click on the callsign (e.g. SBS) and then it will show you the channel (purple is digital- scroll down).&lt;br /&gt;
*** Then look up the channel frequency [http://www.zcg.com.au/tvchannels.htm in this table] not on the govt website(why would a govt website have the info in one easy to find place?)&lt;br /&gt;
***  &#039;&#039;&#039;THE FREQUENCY CALCS NEED CHECKING&#039;&#039;&#039;&lt;br /&gt;
*** [http://www20.sbs.com.au/transmissions/ SBS] Note that SBS is &#039;&#039;not&#039;&#039; broadcasting on the &amp;quot;traditional&amp;quot; centre of the channel 536500000, but 125 KHz higher at 536625000.&lt;br /&gt;
*** [http://www.abc.net.au/reception/freq/ ABC]&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Information_for_Australian_users&amp;diff=15841</id>
		<title>Information for Australian users</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Information_for_Australian_users&amp;diff=15841"/>
		<updated>2008-10-12T09:43:31Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* MythTV */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Australian Setups]]&lt;br /&gt;
== MythTV ==&lt;br /&gt;
MythTV works fine with Australian Free-To-Air digital television. There are 3 main sources for Electronic Program Guide information, [http://www.icetv.com.au iceTV], [http://www.tuhs.org/twiki/bin/view/TVGuide/WebHome The Australian Community TV Guide](ozTiVo), and [http://svn.whuffy.com/wiki Shepherd] which grabs info from multiple sources and collates it.&lt;br /&gt;
&lt;br /&gt;
iceTV is a comercial offering, and costs about AU$3 per week. ozTiVo is free, however both sites require registration.&lt;br /&gt;
&lt;br /&gt;
Shepherd can use your OzTivo registration.  It is currently the recommended grabber for Australian users, as it is comprehensive and reliable, easy to set up, and keeps itself up to date.&lt;br /&gt;
&lt;br /&gt;
=== Setup for OzTivo===&lt;br /&gt;
*Visit one (or both) of the above sites to register and set up your profile (be sure to select xmltv for the data format).&lt;br /&gt;
*Get [http://www.cse.unsw.edu.au/~willu/xmltv/tv_grab_au_reg this script] and install it in /usr/local/bin&lt;br /&gt;
**Make sure it is executable: &#039;&#039;sudo chmod +x tv_grab_au_reg&#039;&#039;&lt;br /&gt;
**Symlink /usr/local/bin/tv_grab_au to tv_grab_au_reg with &#039;&#039;sudo ln -s /usr/local/bin/tv_grab_au_reg /usr/local/bin/tv_grab_au&#039;&#039;.&lt;br /&gt;
*Run MythTV-setup and add a new video source to use &#039;tv_grab_au&#039; (call it something like FTA).&lt;br /&gt;
**Set &#039;TimeOffset&#039; to &#039;Auto&#039;&lt;br /&gt;
**Configure a capture card to use the video source (FTA)&lt;br /&gt;
**Scan the channels, delete the ones you don&#039;t want, then add xmltv info (from your iceTV or ozTiVo profile) to the ones that are left.&lt;br /&gt;
**Exit Setup, don&#039;t run mythfilldatabase.&lt;br /&gt;
*Edit /root/.mythtv/&amp;lt;input source name&amp;gt;.xmltv (FTA in above example) to include your username and password. Remove the information for any sites you are not using. (It may be wise to set this file as read-only, every time you enter the input sources page in mythTV-setup it reconfigures the tv_grab_au script, which overwrites the configuration file with defaults).&lt;br /&gt;
*Run mythfilldatabase( start MythTV-setup and then exit, hit yes when prompted.&lt;br /&gt;
*Enjoy your new EPG&lt;br /&gt;
&lt;br /&gt;
You can use the same process to import foxtel channels, call it foxtel instead of FTA. (see [http://www.ozmyth.com/wiki/Preparing+the+Foxtel+STU+for+MythTV this page] for info on setting up foxtel to work with mythTV).&lt;br /&gt;
&lt;br /&gt;
=== Setup for Shepherd ===&lt;br /&gt;
There are some issues with the normal mythfilldatabase job triggered from inside Mythtv and Shepherd (and Oz tv listing grabber). This is due to permissions etc.  This can be resolved by running the myhtfilldatabase job automatically from cron and is the recommended way of running shepherd.  Shepherd will set this up for you automatically as it installs.&lt;br /&gt;
&lt;br /&gt;
* sudo passwd mythtv&lt;br /&gt;
* sudo su - mythtv&lt;br /&gt;
* mkdir .shepherd &amp;amp;&amp;amp; cd .shepherd&lt;br /&gt;
* wget http://www.whuffy.com/shepherd/shepherd&lt;br /&gt;
* sh /home/mythtv/.shepherd/shepherd&lt;br /&gt;
* Run through the setup process, and allow shepherd to set up mythtv and a cron entry to run mythtfilldatabase (as mythtv user).  Note that one step fails: where it tries to to create a symbolic link from /usr/bin/tv_grab_au to /home/mythtv/.shepherd/shepherd&lt;br /&gt;
* create symbolic link manually:&lt;br /&gt;
** sudo mv /usr/bin/tv_grab_au /usr/bin/tv_grab_au.old&lt;br /&gt;
** sudo ln -s /home/mythtv/.shepherd/shepherd /usr/bin/tv_grab_au&lt;br /&gt;
** Use mythtv-setup from a terminal window to disable the mythfilldatabase job (&#039;cos cron will do it instead)&lt;br /&gt;
&lt;br /&gt;
Note that log files for mythfilldatabase will now go to /home/mythtv/.shepherd/log dir.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* Check that your frequency tuning tables are OK for Mythtv.  If you have problems with some channels breaking up or horrible screeching audio bursts, it may be that the automatic tuning has not worked properly for a tuner.  My SBS transport was tuning to 536500000 instead of 536625000.  A transport is what we used to know as a channel in the analogue world, but as the station&#039;s allocated frequency band carries multiple channels they renamed the station frequency to a transport.&lt;br /&gt;
** From a terminal window &#039;&#039;&#039;mythtv-setup --geometry 800x600&#039;&#039;&#039;&lt;br /&gt;
** Go to Transport Editor and edit any that are wrong.&lt;br /&gt;
** Check the frequencies are OK using the [http://www.acma.gov.au/postcode/postcode_acma.shtml pretty useless Australian Communications and Media Authority website].  &lt;br /&gt;
*** You need to click on the callsign (e.g. SBS) and then it will show you the channel.&lt;br /&gt;
*** Then look up the channel frequency [http://www.zcg.com.au/tvchannels.htm in this table] not on the govt website(why would a govt website have the info in one easy to find place?)&lt;br /&gt;
***  &#039;&#039;&#039;THE FREQUENCY CALCS NEED CHECKING&#039;&#039;&#039;&lt;br /&gt;
*** [http://www20.sbs.com.au/transmissions/ SBS] Note that SBS is &#039;&#039;not&#039;&#039; broadcasting on the &amp;quot;traditional&amp;quot; centre of the channel 536500000, but 125 KHz higher at 536625000.&lt;br /&gt;
*** [http://www.abc.net.au/reception/freq/ ABC]&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Information_for_Australian_users&amp;diff=15840</id>
		<title>Information for Australian users</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Information_for_Australian_users&amp;diff=15840"/>
		<updated>2008-10-12T09:38:09Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Australian Setups]]&lt;br /&gt;
== MythTV ==&lt;br /&gt;
MythTV works fine with Australian Free-To-Air digital television. There are 3 main sources for Electronic Program Guide information, [http://www.icetv.com.au iceTV], [http://www.tuhs.org/twiki/bin/view/TVGuide/WebHome The Australian Community TV Guide](ozTiVo), and Shepherd which grabs info an collates it from multiple sources.&lt;br /&gt;
&lt;br /&gt;
iceTV is a comercial offering, and costs about AU$3 per week. ozTiVo is free, however both sites require registration.&lt;br /&gt;
&lt;br /&gt;
Shepherd can use your OzTivo registration.  It is currently the recommended grabber for Australian users, as it is comprehensive and reliable, easy to set up, and keeps itself up to date.&lt;br /&gt;
&lt;br /&gt;
=== Setup for OzTivo===&lt;br /&gt;
*Visit one (or both) of the above sites to register and set up your profile (be sure to select xmltv for the data format).&lt;br /&gt;
*Get [http://www.cse.unsw.edu.au/~willu/xmltv/tv_grab_au_reg this script] and install it in /usr/local/bin&lt;br /&gt;
**Make sure it is executable: &#039;&#039;sudo chmod +x tv_grab_au_reg&#039;&#039;&lt;br /&gt;
**Symlink /usr/local/bin/tv_grab_au to tv_grab_au_reg with &#039;&#039;sudo ln -s /usr/local/bin/tv_grab_au_reg /usr/local/bin/tv_grab_au&#039;&#039;.&lt;br /&gt;
*Run MythTV-setup and add a new video source to use &#039;tv_grab_au&#039; (call it something like FTA).&lt;br /&gt;
**Set &#039;TimeOffset&#039; to &#039;Auto&#039;&lt;br /&gt;
**Configure a capture card to use the video source (FTA)&lt;br /&gt;
**Scan the channels, delete the ones you don&#039;t want, then add xmltv info (from your iceTV or ozTiVo profile) to the ones that are left.&lt;br /&gt;
**Exit Setup, don&#039;t run mythfilldatabase.&lt;br /&gt;
*Edit /root/.mythtv/&amp;lt;input source name&amp;gt;.xmltv (FTA in above example) to include your username and password. Remove the information for any sites you are not using. (It may be wise to set this file as read-only, every time you enter the input sources page in mythTV-setup it reconfigures the tv_grab_au script, which overwrites the configuration file with defaults).&lt;br /&gt;
*Run mythfilldatabase( start MythTV-setup and then exit, hit yes when prompted.&lt;br /&gt;
*Enjoy your new EPG&lt;br /&gt;
&lt;br /&gt;
You can use the same process to import foxtel channels, call it foxtel instead of FTA. (see [http://www.ozmyth.com/wiki/Preparing+the+Foxtel+STU+for+MythTV this page] for info on setting up foxtel to work with mythTV).&lt;br /&gt;
&lt;br /&gt;
=== Setup for Shepherd ===&lt;br /&gt;
There are some issues with the normal mythfilldatabase job triggered from inside Mythtv and Shepherd (and Oz tv listing grabber). This is due to permissions etc.  This can be resolved by running the myhtfilldatabase job automatically from cron and is the recommended way of running shepherd.  Shepherd will set this up for you automatically as it installs.&lt;br /&gt;
&lt;br /&gt;
* sudo passwd mythtv&lt;br /&gt;
* sudo su - mythtv&lt;br /&gt;
* mkdir .shepherd &amp;amp;&amp;amp; cd .shepherd&lt;br /&gt;
* wget http://www.whuffy.com/shepherd/shepherd&lt;br /&gt;
* sh /home/mythtv/.shepherd/shepherd&lt;br /&gt;
* Run through the setup process, and allow shepherd to set up mythtv and a cron entry to run mythtfilldatabase (as mythtv user).  Note that one step fails: where it tries to to create a symbolic link from /usr/bin/tv_grab_au to /home/mythtv/.shepherd/shepherd&lt;br /&gt;
* create symbolic link manually:&lt;br /&gt;
** sudo mv /usr/bin/tv_grab_au /usr/bin/tv_grab_au.old&lt;br /&gt;
** sudo ln -s /home/mythtv/.shepherd/shepherd /usr/bin/tv_grab_au&lt;br /&gt;
** Use mythtv-setup from a terminal window to disable the mythfilldatabase job (&#039;cos cron will do it instead)&lt;br /&gt;
&lt;br /&gt;
Note that log files for mythfilldatabase will now go to /home/mythtv/.shepherd/log dir.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* Check that your frequency tuning tables are OK for Mythtv.  If you have problems with some channels breaking up or horrible screeching audio bursts, it may be that the automatic tuning has not worked properly for a tuner.  My SBS transport was tuning to 536500000 instead of 536625000.  A transport is what we used to know as a channel in the analogue world, but as the station&#039;s allocated frequency band carries multiple channels they renamed the station frequency to a transport.&lt;br /&gt;
** From a terminal window &#039;&#039;&#039;mythtv-setup --geometry 800x600&#039;&#039;&#039;&lt;br /&gt;
** Go to Transport Editor and edit any that are wrong.&lt;br /&gt;
** Check the frequencies are OK using the [http://www.acma.gov.au/postcode/postcode_acma.shtml pretty useless Australian Communications and Media Authority website].  &lt;br /&gt;
*** You need to click on the callsign (e.g. SBS) and then it will show you the channel.&lt;br /&gt;
*** Then look up the channel frequency [http://www.zcg.com.au/tvchannels.htm in this table] not on the govt website(why would a govt website have the info in one easy to find place?)&lt;br /&gt;
***  &#039;&#039;&#039;THE FREQUENCY CALCS NEED CHECKING&#039;&#039;&#039;&lt;br /&gt;
*** [http://www20.sbs.com.au/transmissions/ SBS] Note that SBS is &#039;&#039;not&#039;&#039; broadcasting on the &amp;quot;traditional&amp;quot; centre of the channel 536500000, but 125 KHz higher at 536625000.&lt;br /&gt;
*** [http://www.abc.net.au/reception/freq/ ABC]&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Information_for_Australian_users&amp;diff=15839</id>
		<title>Information for Australian users</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Information_for_Australian_users&amp;diff=15839"/>
		<updated>2008-10-12T09:36:00Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Australian Setups]]&lt;br /&gt;
== MythTV ==&lt;br /&gt;
MythTV works fine with Australian Free-To-Air digital television. There are 3 main sources for Electronic Program Guide information, [http://www.icetv.com.au iceTV], [http://www.tuhs.org/twiki/bin/view/TVGuide/WebHome The Australian Community TV Guide](ozTiVo), and Shepherd which grabs info an collates it from multiple sources.&lt;br /&gt;
&lt;br /&gt;
iceTV is a comercial offering, and costs about AU$3 per week. ozTiVo is free, however both sites require registration.&lt;br /&gt;
&lt;br /&gt;
Shepherd can use your OzTivo registration.  It is currently the recommended grabber for Australian users, as it is comprehensive and reliable, easy to set up, and keeps itself up to date.&lt;br /&gt;
&lt;br /&gt;
=== Setup for OzTivo===&lt;br /&gt;
*Visit one (or both) of the above sites to register and set up your profile (be sure to select xmltv for the data format).&lt;br /&gt;
*Get [http://www.cse.unsw.edu.au/~willu/xmltv/tv_grab_au_reg this script] and install it in /usr/local/bin&lt;br /&gt;
**Make sure it is executable: &#039;&#039;sudo chmod +x tv_grab_au_reg&#039;&#039;&lt;br /&gt;
**Symlink /usr/local/bin/tv_grab_au to tv_grab_au_reg with &#039;&#039;sudo ln -s /usr/local/bin/tv_grab_au_reg /usr/local/bin/tv_grab_au&#039;&#039;.&lt;br /&gt;
*Run MythTV-setup and add a new video source to use &#039;tv_grab_au&#039; (call it something like FTA).&lt;br /&gt;
**Set &#039;TimeOffset&#039; to &#039;Auto&#039;&lt;br /&gt;
**Configure a capture card to use the video source (FTA)&lt;br /&gt;
**Scan the channels, delete the ones you don&#039;t want, then add xmltv info (from your iceTV or ozTiVo profile) to the ones that are left.&lt;br /&gt;
**Exit Setup, don&#039;t run mythfilldatabase.&lt;br /&gt;
*Edit /root/.mythtv/&amp;lt;input source name&amp;gt;.xmltv (FTA in above example) to include your username and password. Remove the information for any sites you are not using. (It may be wise to set this file as read-only, every time you enter the input sources page in mythTV-setup it reconfigures the tv_grab_au script, which overwrites the configuration file with defaults).&lt;br /&gt;
*Run mythfilldatabase( start MythTV-setup and then exit, hit yes when prompted.&lt;br /&gt;
*Enjoy your new EPG&lt;br /&gt;
&lt;br /&gt;
You can use the same process to import foxtel channels, call it foxtel instead of FTA. (see [http://www.ozmyth.com/wiki/Preparing+the+Foxtel+STU+for+MythTV this page] for info on setting up foxtel to work with mythTV).&lt;br /&gt;
&lt;br /&gt;
=== Setup for Shepherd ===&lt;br /&gt;
There are some issues with the normal mythfilldatabase job triggered from inside Mythtv and Shepherd (and Oz tv listing grabber). This is due to permissions etc.  This can be resolved by running the myhtfilldatabase job automatically from cron and is the recommended way of running shepherd.  Shepherd will set this up for you automatically as it installs.&lt;br /&gt;
&lt;br /&gt;
* sudo passwd mythtv&lt;br /&gt;
* sudo su - mythtv&lt;br /&gt;
* mkdir .shepherd &amp;amp;&amp;amp; cd .shepherd&lt;br /&gt;
* wget http://www.whuffy.com/shepherd/shepherd&lt;br /&gt;
* sh /home/mythtv/.shepherd/shepherd&lt;br /&gt;
* Run through the setup process, and allow shepherd to set up mythtv and a cron entry to run mythtfilldatabase (as mythtv user).  Note that one step fails: where it tries to to create a symbolic link from /usr/bin/tv_grab_au to /home/mythtv/.shepherd/shepherd&lt;br /&gt;
* create symbolic link manually:&lt;br /&gt;
** sudo mv /usr/bin/tv_grab_au /usr/bin/tv_grab_au.old&lt;br /&gt;
** sudo ln -s /home/mythtv/.shepherd/shepherd /usr/bin/tv_grab_au&lt;br /&gt;
** Use mythtv-setup from a terminal window to disable the mythfilldatabase job (&#039;cos cron will do it instead)&lt;br /&gt;
&lt;br /&gt;
Note that log files for mythfilldatabase will now go to /home/mythtv/.shepherd/log dir.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* Check that your frequency tuning tables are OK for Mythtv.  If you have problems with some channels breaking up or horrible screeching audio bursts, it may be that the automatic tuning has not worked properly for a tuner.  My SBS transport was tuning to 536500000 instead of 536625000.  A transport is what we used to know as a channel in the analogue world, but as the station&#039;s allocated frequency band carries multiple channels they renamed the station frequency to a transport.&lt;br /&gt;
** From a terminal window &#039;&#039;&#039;mythtv-setup --geometry 800x600&#039;&#039;&#039;&lt;br /&gt;
** Go to Transport Editor and edit any that are wrong.&lt;br /&gt;
** Check the frequencies are OK using the [http://www.acma.gov.au/postcode/postcode_acma.shtml pretty useless Australian Communications and Media Authority website].  &lt;br /&gt;
*** You need to click on the callsign (e.g. SBS) and then it will show you the channel.&lt;br /&gt;
*** Then look up the channel frequency [http://www.zcg.com.au/tvchannels.htm in this table] not on the govt website(why would a govt website have the info in one easy to find place?)&lt;br /&gt;
***  which is what you should see in your transport list.&lt;br /&gt;
*** [http://www20.sbs.com.au/transmissions/ SBS] Note that SBS is &#039;&#039;not&#039;&#039; broadcasting on the &amp;quot;traditional&amp;quot; centre of the channel 536500000, but 125 KHz higher at 536625000.&lt;br /&gt;
*** [http://www.abc.net.au/reception/freq/ ABC]&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Information_for_Australian_users&amp;diff=15838</id>
		<title>Information for Australian users</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Information_for_Australian_users&amp;diff=15838"/>
		<updated>2008-10-12T06:46:19Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* MythTV */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Australian Setups]]&lt;br /&gt;
== MythTV ==&lt;br /&gt;
MythTV works fine with Australian Free-To-Air digital television. There are 3 main sources for Electronic Program Guide information, [http://www.icetv.com.au iceTV], [http://www.tuhs.org/twiki/bin/view/TVGuide/WebHome The Australian Community TV Guide](ozTiVo), and Shepherd which grabs info an collates it from multiple sources.&lt;br /&gt;
&lt;br /&gt;
iceTV is a comercial offering, and costs about AU$3 per week. ozTiVo is free, however both sites require registration.&lt;br /&gt;
&lt;br /&gt;
Shepherd can use your OzTivo registration.  It is currently the recommended grabber for Australian users, as it is comprehensive and reliable, easy to set up, and keeps itself up to date.&lt;br /&gt;
&lt;br /&gt;
=== Setup for OzTivo===&lt;br /&gt;
*Visit one (or both) of the above sites to register and set up your profile (be sure to select xmltv for the data format).&lt;br /&gt;
*Get [http://www.cse.unsw.edu.au/~willu/xmltv/tv_grab_au_reg this script] and install it in /usr/local/bin&lt;br /&gt;
**Make sure it is executable: &#039;&#039;sudo chmod +x tv_grab_au_reg&#039;&#039;&lt;br /&gt;
**Symlink /usr/local/bin/tv_grab_au to tv_grab_au_reg with &#039;&#039;sudo ln -s /usr/local/bin/tv_grab_au_reg /usr/local/bin/tv_grab_au&#039;&#039;.&lt;br /&gt;
*Run MythTV-setup and add a new video source to use &#039;tv_grab_au&#039; (call it something like FTA).&lt;br /&gt;
**Set &#039;TimeOffset&#039; to &#039;Auto&#039;&lt;br /&gt;
**Configure a capture card to use the video source (FTA)&lt;br /&gt;
**Scan the channels, delete the ones you don&#039;t want, then add xmltv info (from your iceTV or ozTiVo profile) to the ones that are left.&lt;br /&gt;
**Exit Setup, don&#039;t run mythfilldatabase.&lt;br /&gt;
*Edit /root/.mythtv/&amp;lt;input source name&amp;gt;.xmltv (FTA in above example) to include your username and password. Remove the information for any sites you are not using. (It may be wise to set this file as read-only, every time you enter the input sources page in mythTV-setup it reconfigures the tv_grab_au script, which overwrites the configuration file with defaults).&lt;br /&gt;
*Run mythfilldatabase( start MythTV-setup and then exit, hit yes when prompted.&lt;br /&gt;
*Enjoy your new EPG&lt;br /&gt;
&lt;br /&gt;
You can use the same process to import foxtel channels, call it foxtel instead of FTA. (see [http://www.ozmyth.com/wiki/Preparing+the+Foxtel+STU+for+MythTV this page] for info on setting up foxtel to work with mythTV).&lt;br /&gt;
&lt;br /&gt;
=== Setup for Shepherd ===&lt;br /&gt;
There are some issues with the normal mythfilldatabase job triggered from inside Mythtv and Shepherd (and Oz tv listing grabber). This is due to permissions etc.  This can be resolved by running the myhtfilldatabase job automatically from cron and is the recommended way of running shepherd.  Shepherd will set this up for you automatically as it installs.&lt;br /&gt;
&lt;br /&gt;
* sudo passwd mythtv&lt;br /&gt;
* sudo su - mythtv&lt;br /&gt;
* mkdir .shepherd &amp;amp;&amp;amp; cd .shepherd&lt;br /&gt;
* wget http://www.whuffy.com/shepherd/shepherd&lt;br /&gt;
* sh /home/mythtv/.shepherd/shepherd&lt;br /&gt;
* Run through the setup process, and allow shepherd to set up mythtv and a cron entry to run mythtfilldatabase (as mythtv user).  Note that one step fails: where it tries to to create a symbolic link from /usr/bin/tv_grab_au to /home/mythtv/.shepherd/shepherd&lt;br /&gt;
* create symbolic link manually:&lt;br /&gt;
** sudo mv /usr/bin/tv_grab_au /usr/bin/tv_grab_au.old&lt;br /&gt;
** sudo ln -s /home/mythtv/.shepherd/shepherd /usr/bin/tv_grab_au&lt;br /&gt;
** Use mythtv-setup from a terminal window to disable the mythfilldatabase job (&#039;cos cron will do it instead)&lt;br /&gt;
&lt;br /&gt;
Note that log files for mythfilldatabase will now go to /home/mythtv/.shepherd/log dir.&lt;br /&gt;
&lt;br /&gt;
=== Miscellaneous ===&lt;br /&gt;
&lt;br /&gt;
* Check that your frequency tuning tables are OK for Mythtv.  If you have problems with some channels breaking up or horrible screeching audio bursts, it may be that the automatic tuning has not worked properly for a tuner.  My SBS transport was tuning to 5365000 instead of 53662500.  A transport is what we used to know as a channel in the analogue world, but as the station&#039;s allocated frequency band carries multiple channels they renamed the station frequency to a transport.&lt;br /&gt;
** From a terminal window &#039;&#039;&#039;mythtv-setup --geometry 800x600&#039;&#039;&#039;&lt;br /&gt;
** Go to Transport Editor and edit any that are wrong.&lt;br /&gt;
** Check the frequencies are OK using the [http://www.acma.gov.au/postcode/postcode_acma.shtml pretty useless Australian Communications and Media Authority website].  &lt;br /&gt;
*** You need to click on the callsign (e.g. SBS) and then it will show you the channel.&lt;br /&gt;
*** Then look up the channel frequency [http://www.zcg.com.au/tvchannels.htm in this table] not on the govt website(why would a govt website have the info in one easy to find place?)&lt;br /&gt;
*** NOTE that the card tuning frequency is 125 KHz higher than the base frequency.  To get frequency, take the average of the two numbers shown (e.g. UHF ch 29 is 533 to 540 MHz = 533+540/2 = 536500000, then add 125000 = 536625000 which is what you should see in your transport list.&lt;br /&gt;
*** [http://www20.sbs.com.au/transmissions/ SBS] Note that SBS is &#039;&#039;not&#039;&#039; broadccasting on the &amp;quot;traditional&amp;quot; centre of the channel, but 125 KHz higher.&lt;br /&gt;
*** [http://www.abc.net.au/reception/freq/ ABC]&lt;br /&gt;
*** [http://www20.sbs.com.au/transmissions/ SBS]&lt;br /&gt;
*** &#039;&#039;&#039;I will complete a table some time and put it here&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15819</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15819"/>
		<updated>2008-10-07T11:47:10Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).  ATI cards are not recommended.&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.  About $70-$100 should be your budget.  You don&#039;t need 512MB of graphics memory for LinuxMCE, 128MB or 256MB is adequate.&lt;br /&gt;
&lt;br /&gt;
Recommendations:&lt;br /&gt;
# SD playback- Nvidia 6200 or 6600 are OK (Turbocache/TC or GT versions preferred).  May not be a good choice if you want to run the nice UI2 with Alpha blending as the photo screensaver is jerky due to the slower 3D performance.&lt;br /&gt;
# HD playback (720p, 1080i and 1080p)- Nvidia 7300 or 8400GS (can someone please confirm these 2 are OK with UI2+Alpha), 8500GT, 8600GT.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache 128 MB (5.6 GB/sec, 1400 Mtexels/sec) is adequate for SD (standard definition- 576 lines or below) video playback.  It is too slow for the UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2 (4.2 GB/sec, 2400 Mtexels/sec).  6600GT should be fine (16 GB/sec, 4000 Mtexels/sec).&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless single slot [http://www.gigabyte.com.tw/Products/VGA/Products_Spec.aspx?ClassValue=VGA&amp;amp;ProductID=2574&amp;amp;ProductName=GV-NX85T512HP 8500GT] (12.8 GB/sec, 3600 Mtexels/sec), about AUD$75 (US$50).  &lt;br /&gt;
&lt;br /&gt;
Other options are the [http://www.zotac.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=51&amp;amp;Itemid=143 8600GT] (22.4 GB/sec, 8640 Mtexels/sec) at AUD$120 (US$80), also available as a single slot Gigabyte version.  This is more expensive than the 8500GT.&lt;br /&gt;
&lt;br /&gt;
Other options are the 9500GT (14.4 GB/sec, 10400 Mtexels/sec) or 9600GTs- try the silent Zotac (&amp;quot;zone&amp;quot; series) or Gigabyte versions.  The drawback of many of the 9400GTs, 9500GTs and 9600GTs are that the silent versions may take up 2 slots due to the size of the heatsink!&lt;br /&gt;
&lt;br /&gt;
You should look for a card that has the right sort of output for your TV or display- HDMI is good as it gives you a bit of future proofing.&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
**GS is a slow version&lt;br /&gt;
**No suffix is medium speed&lt;br /&gt;
**GT is faster speed&lt;br /&gt;
**An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15818</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15818"/>
		<updated>2008-10-07T11:45:07Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).  ATI cards are not recommended.&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.  About $70-$100 should be your budget.  You don&#039;t need 512MB of graphics memory for LinuxMCE, 128MB or 256MB is adequate.&lt;br /&gt;
&lt;br /&gt;
Recommendations:&lt;br /&gt;
# SD playback- Nvidia 6200 or 6600 is OK.  May not be a good choice if you want to run the nice UI2 with Alpha blending as the photo screensaver is jerky.&lt;br /&gt;
# HD playback (720p, 1080i and 1080p)- Nvidia 7300 or 8400GS (can someone please confirm these 2 are OK with UI2+Alpha), 8500GT, 8600GT.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache 128 MB (5.6 GB/sec, 1400 Mtexels/sec) is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2 (4.2 GB/sec, 2400 Mtexels/sec).  6600GT should be fine (16 GB/sec, 4000 Mtexels/sec).&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless single slot [http://www.gigabyte.com.tw/Products/VGA/Products_Spec.aspx?ClassValue=VGA&amp;amp;ProductID=2574&amp;amp;ProductName=GV-NX85T512HP 8500GT] (12.8 GB/sec, 3600 Mtexels/sec), about AUD$75 (US$50).  &lt;br /&gt;
&lt;br /&gt;
Other options are the [http://www.zotac.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=51&amp;amp;Itemid=143 8600GT] (22.4 GB/sec, 8640 Mtexels/sec) at AUD$120 (US$80), also available as a single slot Gigabyte version.  This is more expensive than the 8500GT.&lt;br /&gt;
&lt;br /&gt;
Other options are the 9500GT (14.4 GB/sec, 10400 Mtexels/sec) or 9600GTs- try the silent Zotac (&amp;quot;zone&amp;quot; series) or Gigabyte versions.  The drawback of many of the 9400GTs, 9500GTs and 9600GTs are that the silent versions may take up 2 slots due to the size of the heatsink!&lt;br /&gt;
&lt;br /&gt;
You should look for a card that has the right sort of output for your TV or display- HDMI is good as it gives you a bit of future proofing.&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
**GS is a slow version&lt;br /&gt;
**No suffix is medium speed&lt;br /&gt;
**GT is faster speed&lt;br /&gt;
**An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Display_Drivers&amp;diff=15788</id>
		<title>Display Drivers</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Display_Drivers&amp;diff=15788"/>
		<updated>2008-10-05T04:42:58Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* NVidia Chipsets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
[[Category: Tutorials]]&lt;br /&gt;
[[Category: Hardware| ]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that this should normally not be necessary unless you have specific wishes or trouble getting your display to work properly.&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
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 &amp;quot;recovery mode&amp;quot; by pressing [Esc] when GRUB tells you to during the boot process and then select it from the menu you will be presented with.&lt;br /&gt;
&lt;br /&gt;
=== ATI Chipsets ===&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;challenged&amp;quot; in this area to say the least.&lt;br /&gt;
&lt;br /&gt;
==== Installing The ATI Driver ====&lt;br /&gt;
&lt;br /&gt;
Here&#039;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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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  &#039;Sarah&#039; will not play smoothly. This is because the ATI drivers are not installed yet and the X driver is set to &#039;vesa&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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;&lt;br /&gt;
&lt;br /&gt;
 sudo su - &amp;lt;return&amp;gt;&lt;br /&gt;
 ssh moonNN &amp;lt;return&amp;gt; (**where the NN is the device number for the MD we&#039;re configuring**)&lt;br /&gt;
&lt;br /&gt;
Alternatively do the following from the MD/Core you are configuring;&lt;br /&gt;
&lt;br /&gt;
 Ctrl+Alt+2&lt;br /&gt;
&lt;br /&gt;
Now login using the login you created when you installed your system ie When you ran the DVD installer or CD installer. Now we&#039;re logged into the MD we are configuring as &#039;root&#039; and we can install the ATI drivers and configure Xorg.conf;&lt;br /&gt;
&lt;br /&gt;
Firstly make sure our sources.list is up to date:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;lt;return&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now lets install the ATI driver and packages;&lt;br /&gt;
&lt;br /&gt;
 apt-get install linux-restricted-modules-generic restricted-manager &amp;lt;return&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Answer &#039;Y&#039; to installing new packages then do the following steps;&lt;br /&gt;
&lt;br /&gt;
 apt-get install xorg-driver-fglrx &amp;lt;return&amp;gt;&lt;br /&gt;
 depmod -a &amp;lt;return&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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;&lt;br /&gt;
&lt;br /&gt;
I use the console text editor &#039;joe&#039; below but you can use whichever you prefer (&#039;nano&#039; is installed by default for example);&lt;br /&gt;
&lt;br /&gt;
 joe /etc/X11/xorg.conf &amp;lt;return&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you are editing the xorg.conf of your MD and the only change you need to make is to the &#039;Device&#039; section. In the &#039;Device&#039; section you will see a line thats says;&lt;br /&gt;
&lt;br /&gt;
 Driver          &amp;quot;vesa&amp;quot;&lt;br /&gt;
or&lt;br /&gt;
 Driver          &amp;quot;ati&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Change the string &#039;vesa&#039; (or ati) to &#039;fglrx&#039; which is the name of the ATI driver. The updated driver line should look like below;&lt;br /&gt;
&lt;br /&gt;
 Driver          &amp;quot;fglrx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now save the changes you have made to xorg.conf.&lt;br /&gt;
&lt;br /&gt;
Now reboot the MD from the console with;&lt;br /&gt;
&lt;br /&gt;
 reboot &amp;lt;return&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &#039;Compass Rose&#039; on screen menu for selecting DVD chapters, Lighting levels etc etc and the &#039;Zoom &amp;amp; Aspect ratio&#039; screen when playing Video do not draw correctly - the bit maps for the menus do not display but the menus do work.&lt;br /&gt;
&lt;br /&gt;
=== NVidia Chipsets ===&lt;br /&gt;
&lt;br /&gt;
==== Bugs ====&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==== Legacy Drivers ====&lt;br /&gt;
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 &#039;&#039;&#039;driver&#039;&#039;&#039; option in the &#039;&#039;/etc/X11/xorg.conf&#039;&#039; file to &#039;&#039;&#039;vesa&#039;&#039;&#039;. Go through the AVWizard and then change it back.  Another option is to edit &#039;&#039;/etc/modprobe.d/aliases&#039;&#039; and add &#039;&#039;&#039;alias nvidia nvidia-legacy&#039;&#039;&#039;. Don&#039;t forget about this line when you switch to a newer card.&lt;br /&gt;
&lt;br /&gt;
==== Latest Drivers ====&lt;br /&gt;
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&#039;s files. &lt;br /&gt;
&lt;br /&gt;
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&#039;t done so already. &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;you&amp;gt;@dcerouter:~$&#039;&#039;&#039; sudo -s&lt;br /&gt;
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&#039;t done so already.  When you have found the URL for downloading the package on the nvidia site you could download it like this:&lt;br /&gt;
 &#039;&#039;&#039;root@dcerouter:~#&#039;&#039;&#039; wget &amp;lt;nowiki&amp;gt;http://us.download.nvidia.com/XFree86/Linux-x86/&amp;lt;/nowiki&amp;gt;&#039;&#039;&amp;lt;version&amp;gt;&#039;&#039;&amp;lt;nowiki&amp;gt;/NVIDIA-Linux-x86-&amp;lt;/nowiki&amp;gt;&#039;&#039;&amp;lt;version&amp;gt;&#039;&#039;&amp;lt;nowiki&amp;gt;-pkg1.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
3. Go to runlevel 1 to stop the currently running X-server. &lt;br /&gt;
 &#039;&#039;&#039;root@dcerouter:~#&#039;&#039;&#039; telinit 1 &lt;br /&gt;
4. Execute the installer and follow instructions.  Ignore the warning about runlevel 1 and don&#039;t bother looking for precompiled drivers.&lt;br /&gt;
 &#039;&#039;&#039;root@dcerouter:~#&#039;&#039;&#039; sh NVIDIA-Linux-x86-&#039;&#039;&amp;lt;version&amp;gt;&#039;&#039;-pkg1.run&lt;br /&gt;
5. The installer will attempt to remove old legacy drivers. If it cannot, you may receive X errors (Eg. &#039;&#039;Error: API mismatch&#039;&#039;). The solution is to manually remove or disable the legacy drivers. &lt;br /&gt;
 &#039;&#039;&#039;nano /etc/default/linux-restricted-modules-common&#039;&#039;&#039; &lt;br /&gt;
Disable the NVIDIA linux-restricted kernel modules (nvidia, nvidia_legacy) by changing the DISABLED_MODULES line to read:&lt;br /&gt;
 &#039;&#039;&#039;DISABLED_MODULES=&amp;quot;nv nvidia_new&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
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 &#039;&#039;X-server&#039;&#039; manually by editing the &#039;&#039;xorg.conf&#039;&#039; file directly.&lt;br /&gt;
&lt;br /&gt;
Once you have finished, you can make sure that you are getting the proper video performance- [[Nvidia Card Tweaks For Better MythTV and UI Performance]].&lt;br /&gt;
&lt;br /&gt;
==== Media Directors ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Intel Chipsets ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== For LinuxMCE-0704 ====&lt;br /&gt;
&lt;br /&gt;
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 &#039;intel&#039; and would replace the older &#039;i810&#039; drivers.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using i810 driver make sure you add Option &amp;quot;LinearAlloc&amp;quot; &amp;quot;8160&amp;quot; to xorg.conf or video players will crash with X11 error: BadAlloc.&lt;br /&gt;
&lt;br /&gt;
From man i810:&lt;br /&gt;
   Option &amp;quot;LinearAlloc&amp;quot; &amp;quot;integer&amp;quot;&lt;br /&gt;
          Allows  more  memory  for  the offscreen allocator. This usually&lt;br /&gt;
          helps in situations where HDTV movies are required to  play  but&lt;br /&gt;
          not  enough  offscreen  memory is usually available. Set this to&lt;br /&gt;
          8160 for upto 1920x1080 HDTV support.  Default 0KB (off).&lt;br /&gt;
&lt;br /&gt;
==== potential problem ====&lt;br /&gt;
&lt;br /&gt;
there can be a problem with some intel drivers, like the gma 3100. see [[bug/gma3100driver]] for further informations&lt;br /&gt;
&lt;br /&gt;
=== Via Chipsets ===&lt;br /&gt;
Use the Openchrome or Via Unichrome drivers. The Via Unichrome drivers can be downloaded from [http://www.viaarena.com/default.aspx?PageID=2&amp;amp;OSID=45&amp;amp;CatID=3220]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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&amp;amp;item=via_oss&amp;amp;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&amp;amp;item=via_bluff&amp;amp;num=1].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HOW-TO VIA Openchrome driver for xorg:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
For VIA CX700M2 UniChrome PRO II Graphics (1&amp;quot; VIA units) or mainly via graphics:&amp;lt;br&amp;gt;&lt;br /&gt;
==== NOTE:--[[User:Usaf-lt-g|Usaf-lt-g]] 13:17, 2 August 2008 (PDT) ====&lt;br /&gt;
&lt;br /&gt;
==== --[[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. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 &#039;&#039;&#039;sudo -s&#039;&#039;&#039; command.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /tftpboot/pxelinux.cfg&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
locate the mac address of the MD and then&amp;lt;br&amp;gt;&lt;br /&gt;
vi &amp;lt;your MAC address here&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
place the &#039;&#039;&#039;acpi=off&#039;&#039;&#039; command at the end of the APPEND line.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
save the file and reboot MD.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 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&lt;br /&gt;
&lt;br /&gt;
==== NOTE:[[User:usaf-lt-g|usaf-lt-g]] Sunday July 28th, 2008 ====&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Burgiman&#039;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&#039;m using an &amp;quot;earlier&amp;quot; version of LMCE (Beta 3). My MD is also diskless, and NETBIOS handled. If you can&#039;t gain root access to your MD through SSH I suggest the following method:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Usaf-lt-g|Usaf-lt-g]] 22:55, 27 July 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;shell into your core as linuxmce / linuxmce and do the following:&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
 sudo -s &lt;br /&gt;
 cd /usr/pluto/diskless &lt;br /&gt;
 chroot &amp;lt;your MD # found on the linuxmce admin devices page&amp;gt; &lt;br /&gt;
(chroot will allow you to access the MD&#039;s file system as a root user) &lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;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:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
 groupadd parents&lt;br /&gt;
 useradd -g parents chris&lt;br /&gt;
 passwd chris&lt;br /&gt;
 &amp;lt;set your password&amp;gt;&lt;br /&gt;
 visudo&lt;br /&gt;
here you need to add a line below the: &lt;br /&gt;
 root    ALL=(ALL) ALL &amp;lt;/b&amp;gt; &lt;br /&gt;
line. Mine was:&lt;br /&gt;
 chris    ALL=(ALL) ALL&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Now you&#039;ll be able to login using this user with password you supplied and issue the &amp;lt;b&amp;gt; sudo -s &amp;lt;/b&amp;gt; command, which will grant you root access to the MD.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Usaf-lt-g|Usaf-lt-g]] 22:55, 27 July 2008 (PDT)&lt;br /&gt;
&#039;&#039;now from here you&#039;re going to need some additional packages installed before you can do anything with the OpenChrome drivers.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
 apt-get install subversion (which will give you the svn command)&lt;br /&gt;
 apt-get install xserver-xorg-dev&amp;lt;br&amp;gt;&lt;br /&gt;
 apt-get install libdrm-dev&amp;lt;br&amp;gt;&lt;br /&gt;
 apt-get install libxvmc-dev&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;After that, you SHOULD be able to follow the rest of the install below. It worked for me. Hope this helps.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Feel free to edit if necessary.&lt;br /&gt;
Chris&lt;br /&gt;
&lt;br /&gt;
====NOTE:[[User:ddamron|ddamron]] Monday June 30, 2008====&lt;br /&gt;
 Burgiman&#039;s instructions did NOT work for me. &lt;br /&gt;
 Take that for what it&#039;s worth. &lt;br /&gt;
 I had better success installing the VIA Unichrome Driver, and UI1.  Use CLE266 mode.&lt;br /&gt;
 If you have more success, please update this page&lt;br /&gt;
 Dan&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATED FOR 0710!&#039;&#039;&#039;&lt;br /&gt;
--[[User:Burgiman|burgi]] 11:47, 2 June 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;shell into your box and do the following:&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
  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&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 svn checkout http://svn.openchrome.org/svn/trunk openchrome&lt;br /&gt;
 cd openchrome*&lt;br /&gt;
 ./autogen.sh --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Now we have to edit /etc/X11/xorg.conf and change the device driver to via openchrome:&amp;lt;br&amp;gt;&lt;br /&gt;
 vi /etc/X11/xorg.conf&lt;br /&gt;
Go to&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
and change&lt;br /&gt;
 Driver &amp;quot;vesa&amp;quot; &lt;br /&gt;
to&lt;br /&gt;
 Driver &amp;quot;openchrome&amp;quot;&lt;br /&gt;
save and test the compiled new driver with a: &amp;lt;br&amp;gt;&lt;br /&gt;
 X :1&lt;br /&gt;
and if your xwindow comes up, you can reboot and have fun&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Burgiman|burgi]] 13:37, 3 March 2008 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Other Chipsets ===&lt;br /&gt;
Please help out by adding more if you can.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
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 &#039;&#039;X-server&#039;&#039; manually by editing the &#039;&#039;xorg.conf&#039;&#039; file directly.&lt;br /&gt;
&lt;br /&gt;
=== Getting started ===&lt;br /&gt;
Start by making a backup copy of the &#039;&#039;/etc/X11/xorg.conf&#039;&#039; file (even if it doesn&#039;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.  &lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;rescue-mode&#039;&#039;, 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:&lt;br /&gt;
 telinit 1&lt;br /&gt;
This wil stop the running X-server and drop you into rescue mode as well.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Generating a template ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;While there is no (other) X-server running&#039;&#039;&#039; you can create a template configuration file by running:&lt;br /&gt;
 X -configure&lt;br /&gt;
This will create a file called xorg.conf.new in your &#039;&#039;home&#039;&#039; directory, test it with the following command and hit [CTRL]-[ALT]-[Backspace] when done:&lt;br /&gt;
 X -config ~/xorg.conf.new&lt;br /&gt;
Within a few seconds a gray bitpattern should show up with an &#039;X&#039; 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 &amp;quot;modelines&amp;quot; for the resolution(s) you want to use (see below).  &lt;br /&gt;
&lt;br /&gt;
When you&#039;re satisfied you can overwrite &#039;&#039;/etc/X11/xorg.conf&#039;&#039; with this file to make it the default (you did make a backup didn&#039;t you?), once you have done that you can use &amp;quot;startx&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Here is an example of such a generated file:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
        Identifier     &amp;quot;X.org Configured&amp;quot;&lt;br /&gt;
        Screen      0  &amp;quot;Screen0&amp;quot; 0 0&lt;br /&gt;
        InputDevice    &amp;quot;Mouse0&amp;quot; &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
        InputDevice    &amp;quot;Keyboard0&amp;quot; &amp;quot;CoreKeyboard&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Files&amp;quot;&lt;br /&gt;
        RgbPath      &amp;quot;/etc/X11/rgb&amp;quot;&lt;br /&gt;
        ModulePath   &amp;quot;/usr/lib/xorg/modules&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/misc&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/X11R6/lib/X11/fonts/misc&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/cyrillic&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/100dpi/:unscaled&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/75dpi/:unscaled&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/Type1&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/X11R6/lib/X11/fonts/Type1&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/100dpi&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/75dpi&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
        Load  &amp;quot;extmod&amp;quot;&lt;br /&gt;
        Load  &amp;quot;record&amp;quot;&lt;br /&gt;
        Load  &amp;quot;xtrap&amp;quot;&lt;br /&gt;
        Load  &amp;quot;dri&amp;quot;&lt;br /&gt;
        Load  &amp;quot;glx&amp;quot;&lt;br /&gt;
        Load  &amp;quot;dbe&amp;quot;&lt;br /&gt;
        Load  &amp;quot;GLcore&amp;quot;&lt;br /&gt;
        Load  &amp;quot;type1&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Keyboard0&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;kbd&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Mouse0&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;mouse&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Protocol&amp;quot; &amp;quot;auto&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Device&amp;quot; &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
        Option      &amp;quot;ZAxisMapping&amp;quot; &amp;quot;4 5 6 7&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
        Identifier   &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
        VendorName   &amp;quot;Monitor Vendor&amp;quot;&lt;br /&gt;
        ModelName    &amp;quot;Monitor Model&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        ### Available Driver options are:-&lt;br /&gt;
        ### Values: &amp;amp;lt;i&amp;amp;gt;: integer, &amp;lt;f&amp;gt;: float, &amp;lt;bool&amp;gt;: &amp;quot;True&amp;quot;/&amp;quot;False&amp;quot;,&lt;br /&gt;
        ### &amp;lt;string&amp;gt;: &amp;quot;String&amp;quot;, &amp;lt;freq&amp;gt;: &amp;quot;&amp;lt;f&amp;gt; Hz/kHz/MHz&amp;quot;&lt;br /&gt;
        ### [arg]: arg optional&lt;br /&gt;
        #Option     &amp;quot;ShadowFB&amp;quot;                  # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
        #Option     &amp;quot;DefaultRefresh&amp;quot;            # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
        #Option     &amp;quot;ModeSetClearScreen&amp;quot;        # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
        Identifier  &amp;quot;Card0&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;vesa&amp;quot;&lt;br /&gt;
        &#039;&#039;VendorName  &amp;quot;ATI Technologies Inc&amp;quot;&#039;&#039;&lt;br /&gt;
        &#039;&#039;BoardName   &amp;quot;ATI Radeon Xpress 1200 Series&amp;quot;&#039;&#039;&lt;br /&gt;
        &#039;&#039;BusID       &#039;&#039;&#039;&amp;quot;PCI:1:5:0&amp;quot;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;Screen0&amp;quot;&lt;br /&gt;
        Device     &amp;quot;Card0&amp;quot;&lt;br /&gt;
        Monitor    &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     1&lt;br /&gt;
        EndSubSection&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     4&lt;br /&gt;
        EndSubSection&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     8&lt;br /&gt;
        EndSubSection&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     15&lt;br /&gt;
        EndSubSection&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     16&lt;br /&gt;
        EndSubSection&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     24&lt;br /&gt;
        EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Note that the only thing really specific to my setup in this config file is &#039;&#039;BusID&#039;&#039;, if you only have one graphics adapter in your system this value can be omitted, otherwise the value(s) can be found with:&lt;br /&gt;
 X -scanpci&lt;br /&gt;
Where each card will need it&#039;s own Device Section in the config file.  The &amp;quot;VendorName&amp;quot; and &amp;quot;BoardName&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be using this sample configuration as a starting point in the other examples below, the comments (lines starting with &#039;&#039;#&#039;&#039; can be safely removed as well as the &#039;&#039;&amp;quot;Display&amp;quot;&#039;&#039; subsections for the colordepths we don&#039;t plan on using.&lt;br /&gt;
&lt;br /&gt;
=== Refresh rate / ModeLine ===&lt;br /&gt;
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 &#039;&#039;&#039;your screen&#039;&#039;&#039;&#039;s refresh rates in the documentation and add them like this:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
        Identifier   &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
        VendorName   &amp;quot;Monitor Vendor&amp;quot;&lt;br /&gt;
        ModelName    &amp;quot;Monitor Model&amp;quot;&lt;br /&gt;
        &#039;&#039;HorizSync     &#039;&#039;&#039;27-102&#039;&#039;&#039; # kHz&#039;&#039;&lt;br /&gt;
        &#039;&#039;VertRefresh   &#039;&#039;&#039;50-160&#039;&#039;&#039; # Hz&#039;&#039;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Alternatively you could specify a &amp;quot;ModeLine&amp;quot; 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.  &lt;br /&gt;
&lt;br /&gt;
Search the web for a &amp;quot;modeline generator&amp;quot;, and many of these will include instructions on how to add the modeline, but briefly, you just add it to the &amp;quot;Monitor&amp;quot; section.  Read the [http://en.wikipedia.org/wiki/Modeline wikipedia entry] to learn how to use modelines.  &lt;br /&gt;
* http://koala.ilog.fr/cgi-bin/nph-colas-modelines&lt;br /&gt;
* http://xtiming.sourceforge.net/cgi-bin/xtiming.pl&lt;br /&gt;
* http://www.bohne-lang.de/spec/linux/modeline/&lt;br /&gt;
* http://amlc.berlios.de/&lt;br /&gt;
* http://www.mythtv.org/wiki/index.php/Working_with_Modelines&lt;br /&gt;
If one modeline doesn&#039;t work perfectly, try another, perhaps from another generator, because they can vary so much.&lt;br /&gt;
&lt;br /&gt;
Using the wrong timings could in some (nowadays rare) occasions damage the hardware of your screen, so if it looks garbeled don&#039;t leave it like that for hours on end but hit [Ctrl]-[Alt]-[&amp;amp;larr;Backspace] and readjust your settings.  Most modern screens however simply report that the signal is out of range if this happens.&lt;br /&gt;
&lt;br /&gt;
=== Colordepth and resolution ===&lt;br /&gt;
Specify the colordepth and resolution(s) you would like to use, like this:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
        Identifier   &amp;quot;Screen0&amp;quot;&lt;br /&gt;
        Device       &amp;quot;Card0&amp;quot;&lt;br /&gt;
        Monitor      &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
        &#039;&#039;DefaultDepth &#039;&#039;&#039;24&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth      24&lt;br /&gt;
                &#039;&#039;Virtual    &#039;&#039;&#039;1600 1200&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
                &#039;&#039;Modes      &#039;&#039;&#039;&amp;quot;1600x1200&amp;quot; &amp;quot;1280x1024&amp;quot; &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot; &amp;quot;512x384&amp;quot; &amp;quot;400x300&amp;quot; &amp;quot;320x240&amp;quot;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
        EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
As most people will only be using 24 bits anyway, I have removed the other redundant subsections.  &amp;quot;Virtual&amp;quot; is the size of your desktop and &amp;quot;Modes&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
=== DRI device permissions ===&lt;br /&gt;
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&#039;t there already.&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;DRI&amp;quot;&lt;br /&gt;
        Mode         0666&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
=== Chipset driver ===&lt;br /&gt;
Change &amp;quot;&#039;&#039;&#039;vesa&#039;&#039;&#039;&amp;quot; to &amp;quot;&#039;&#039;&#039;fglrx&#039;&#039;&#039;&amp;quot; (or &amp;quot;&#039;&#039;&#039;ati&#039;&#039;&#039;&amp;quot;, 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&#039;s better to remove it as some scripts seem to find it confusing.  For Nvidia chipsets use &#039;&#039;&#039;nvidia&#039;&#039;&#039; or &#039;&#039;&#039;nv&#039;&#039;&#039; as the driver names (instead of &#039;&#039;&#039;fglrx&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Card0&amp;quot;&lt;br /&gt;
 &#039;&#039;#      Driver      &amp;quot;&#039;&#039;&#039;vesa&#039;&#039;&#039;&amp;quot;&#039;&#039;&lt;br /&gt;
        &#039;&#039;Driver      &amp;quot;&#039;&#039;&#039;fglrx&#039;&#039;&#039;&amp;quot;&#039;&#039;&lt;br /&gt;
        VendorName  &amp;quot;ATI Technologies Inc&amp;quot;&lt;br /&gt;
        BoardName   &amp;quot;ATI Radeon Xpress 1200 Series&amp;quot;&lt;br /&gt;
        BusID       &amp;quot;PCI:1:5:0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Physical display size ===&lt;br /&gt;
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&#039;t, which can result in unreadable font sizes.&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
   ...&lt;br /&gt;
   DisplaySize &#039;&#039;&#039;155 95&#039;&#039;&#039;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Where you have to replace the numbers with the physical &#039;&#039;&#039;width&#039;&#039;&#039; and &#039;&#039;&#039;height&#039;&#039;&#039; of your screen in millimeters (1&amp;quot; = 25mm), feel free to try mine, however these are for a small touchscreen.&lt;br /&gt;
&lt;br /&gt;
=== Disable composite ===&lt;br /&gt;
Aparently the ATI &#039;&#039;&#039;fglrx&#039;&#039;&#039; driver does not &#039;&#039;yet&#039;&#039; 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&#039;t there already.&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Extensions&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Composite&amp;quot; &amp;quot;Disable&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
To be continued, I don&#039;t think this is enough to get UI2 completely (either mode) going yet.  Feel free to jump in anytime... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Things still to sort out amongst others (i.e. what is it, do we need it and what are the settings if any):&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
        Load  &amp;quot;i2c&amp;quot;&lt;br /&gt;
        Load  &amp;quot;bitmap&amp;quot;&lt;br /&gt;
        Load  &amp;quot;ddc&amp;quot;&lt;br /&gt;
        Load  &amp;quot;freetype&amp;quot;&lt;br /&gt;
        Load  &amp;quot;int10&amp;quot;&lt;br /&gt;
        Load  &amp;quot;vbe&amp;quot;&lt;br /&gt;
        Load  &amp;quot;speedo&amp;quot;&lt;br /&gt;
        Load  &amp;quot;type1&amp;quot;&lt;br /&gt;
        Load  &amp;quot;dbe&amp;quot;&lt;br /&gt;
        Load  &amp;quot;glx&amp;quot;&lt;br /&gt;
        Load  &amp;quot;v4l&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
        Option &amp;quot;AIGLX&amp;quot; &amp;quot;off&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Extensions&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Composite&amp;quot; &amp;quot;Disable&amp;quot;&lt;br /&gt;
 #      Option      &amp;quot;RENDER&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
        Option      &amp;quot;PseudoColorVisuals&amp;quot; &amp;quot;off&amp;quot;&lt;br /&gt;
        Option      &amp;quot;OpenGLOverlay&amp;quot; &amp;quot;off&amp;quot;&lt;br /&gt;
        Option      &amp;quot;VideoOverlay&amp;quot; &amp;quot;off&amp;quot;&lt;br /&gt;
        Option      &amp;quot;DesktopSetup&amp;quot; &amp;quot;clone&amp;quot;&lt;br /&gt;
&lt;br /&gt;
TV-out options, 2nd display, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== The AVWizard crashes X-windows ===&lt;br /&gt;
&lt;br /&gt;
Try setting the [[#Chipset_driver]] option to &#039;&#039;&#039;vesa&#039;&#039;&#039;, run the AVWizard again and then change the driver back to what it was.&lt;br /&gt;
&lt;br /&gt;
=== Black screen ===&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
*One problem on nvidia-cards could be that it does not detect the right monitor.&lt;br /&gt;
&lt;br /&gt;
::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 &amp;lt;pre&amp;gt;Option &amp;quot;ConnectedMonitor&amp;quot; &amp;quot;XXX&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
::where XXX is CRT, CRT-0, CRT-1, DVI-0, DVI-1, ...&lt;br /&gt;
::Save and exit (nano: Ctrl+x) and restart the computer. In my case it was &amp;quot;CRT-1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== X-windows won&#039;t start ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;X&amp;quot; and press [Ctrl]-[Alt]-[&amp;amp;larr;Backspace] simultaneous to quit (alternative: use &amp;quot;startx&amp;quot; and get the full desktop, if any), then reboot when it works and you&#039;re done.&lt;br /&gt;
&lt;br /&gt;
=== Signal out of range ===&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;[[#Refresh rate / ModeLine ]]&#039;&#039; above.&lt;br /&gt;
&lt;br /&gt;
=== Microscopic fonts in KDE ===&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;[[#Physical_display_size]]&#039;&#039; above.&lt;br /&gt;
&lt;br /&gt;
If the above does not work, probably Xorg is calculating the DPI value in the wrong way.&lt;br /&gt;
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 &amp;quot;DPI set to (x , y)&amp;quot;,where x and y are values that apply to the specific display.&lt;br /&gt;
&lt;br /&gt;
If those values are too small, fonts will be displayed accordingly (i.e, VERY small)&lt;br /&gt;
&lt;br /&gt;
A workaround is to force Xorg to startup with a given DPI value.&lt;br /&gt;
&lt;br /&gt;
To achieve this the following steps are required:&lt;br /&gt;
&lt;br /&gt;
* edit the file /usr/pluto/bin/Start_X_Wrapper.sh on your MD where you are facing the font problem&lt;br /&gt;
* find the line beginning with xinit&lt;br /&gt;
* add &amp;quot;-dpi 96&amp;quot; (without quotes) at the end of this line&lt;br /&gt;
* save the file and reboot MD&lt;br /&gt;
&lt;br /&gt;
Obviously it is possible to set DPI to something different than 96, according to specific needs.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== LinuxMCE keeps reconfiguring my display settings ===&lt;br /&gt;
&lt;br /&gt;
Add a line containing &#039;&#039;&#039;exit&#039;&#039;&#039; to the top of the &#039;&#039;/usr/pluto/bin/Xconfigure.sh&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
For LinuxMCE 710 simply comment out the line that says&lt;br /&gt;
   . /usr/pluto/bin/X-CleanupVideo.sh&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://www.mythtv.org/wiki/index.php/Main_Page MythTV wiki] &lt;br /&gt;
* MythTV Experience [http://brentlagesse.net/~brent/mythtv.php]&lt;br /&gt;
* [[X_Configuration_Scripts]]&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Display_Drivers&amp;diff=15787</id>
		<title>Display Drivers</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Display_Drivers&amp;diff=15787"/>
		<updated>2008-10-05T04:41:28Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* NVidia Chipsets */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
[[Category: Tutorials]]&lt;br /&gt;
[[Category: Hardware| ]]&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note that this should normally not be necessary unless you have specific wishes or trouble getting your display to work properly.&#039;&#039;&#039;  &lt;br /&gt;
&lt;br /&gt;
== Installation ==&lt;br /&gt;
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 &amp;quot;recovery mode&amp;quot; by pressing [Esc] when GRUB tells you to during the boot process and then select it from the menu you will be presented with.&lt;br /&gt;
&lt;br /&gt;
=== ATI Chipsets ===&lt;br /&gt;
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].&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;challenged&amp;quot; in this area to say the least.&lt;br /&gt;
&lt;br /&gt;
==== Installing The ATI Driver ====&lt;br /&gt;
&lt;br /&gt;
Here&#039;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.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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  &#039;Sarah&#039; will not play smoothly. This is because the ATI drivers are not installed yet and the X driver is set to &#039;vesa&#039;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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;&lt;br /&gt;
&lt;br /&gt;
 sudo su - &amp;lt;return&amp;gt;&lt;br /&gt;
 ssh moonNN &amp;lt;return&amp;gt; (**where the NN is the device number for the MD we&#039;re configuring**)&lt;br /&gt;
&lt;br /&gt;
Alternatively do the following from the MD/Core you are configuring;&lt;br /&gt;
&lt;br /&gt;
 Ctrl+Alt+2&lt;br /&gt;
&lt;br /&gt;
Now login using the login you created when you installed your system ie When you ran the DVD installer or CD installer. Now we&#039;re logged into the MD we are configuring as &#039;root&#039; and we can install the ATI drivers and configure Xorg.conf;&lt;br /&gt;
&lt;br /&gt;
Firstly make sure our sources.list is up to date:&lt;br /&gt;
&lt;br /&gt;
 apt-get update &amp;lt;return&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now lets install the ATI driver and packages;&lt;br /&gt;
&lt;br /&gt;
 apt-get install linux-restricted-modules-generic restricted-manager &amp;lt;return&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Answer &#039;Y&#039; to installing new packages then do the following steps;&lt;br /&gt;
&lt;br /&gt;
 apt-get install xorg-driver-fglrx &amp;lt;return&amp;gt;&lt;br /&gt;
 depmod -a &amp;lt;return&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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;&lt;br /&gt;
&lt;br /&gt;
I use the console text editor &#039;joe&#039; below but you can use whichever you prefer (&#039;nano&#039; is installed by default for example);&lt;br /&gt;
&lt;br /&gt;
 joe /etc/X11/xorg.conf &amp;lt;return&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now you are editing the xorg.conf of your MD and the only change you need to make is to the &#039;Device&#039; section. In the &#039;Device&#039; section you will see a line thats says;&lt;br /&gt;
&lt;br /&gt;
 Driver          &amp;quot;vesa&amp;quot;&lt;br /&gt;
or&lt;br /&gt;
 Driver          &amp;quot;ati&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Change the string &#039;vesa&#039; (or ati) to &#039;fglrx&#039; which is the name of the ATI driver. The updated driver line should look like below;&lt;br /&gt;
&lt;br /&gt;
 Driver          &amp;quot;fglrx&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now save the changes you have made to xorg.conf.&lt;br /&gt;
&lt;br /&gt;
Now reboot the MD from the console with;&lt;br /&gt;
&lt;br /&gt;
 reboot &amp;lt;return&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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 &#039;Compass Rose&#039; on screen menu for selecting DVD chapters, Lighting levels etc etc and the &#039;Zoom &amp;amp; Aspect ratio&#039; screen when playing Video do not draw correctly - the bit maps for the menus do not display but the menus do work.&lt;br /&gt;
&lt;br /&gt;
=== NVidia Chipsets ===&lt;br /&gt;
&lt;br /&gt;
==== Bugs ====&lt;br /&gt;
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!&lt;br /&gt;
&lt;br /&gt;
==== Legacy Drivers ====&lt;br /&gt;
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 &#039;&#039;&#039;driver&#039;&#039;&#039; option in the &#039;&#039;/etc/X11/xorg.conf&#039;&#039; file to &#039;&#039;&#039;vesa&#039;&#039;&#039;. Go through the AVWizard and then change it back.  Another option is to edit &#039;&#039;/etc/modprobe.d/aliases&#039;&#039; and add &#039;&#039;&#039;alias nvidia nvidia-legacy&#039;&#039;&#039;. Don&#039;t forget about this line when you switch to a newer card.&lt;br /&gt;
&lt;br /&gt;
==== Latest Drivers ====&lt;br /&gt;
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&#039;s files. &lt;br /&gt;
&lt;br /&gt;
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&#039;t done so already. &lt;br /&gt;
 &#039;&#039;&#039;&amp;lt;you&amp;gt;@dcerouter:~$&#039;&#039;&#039; sudo -s&lt;br /&gt;
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&#039;t done so already.  When you have found the URL for downloading the package on the nvidia site you could download it like this:&lt;br /&gt;
 &#039;&#039;&#039;root@dcerouter:~#&#039;&#039;&#039; wget &amp;lt;nowiki&amp;gt;http://us.download.nvidia.com/XFree86/Linux-x86/&amp;lt;/nowiki&amp;gt;&#039;&#039;&amp;lt;version&amp;gt;&#039;&#039;&amp;lt;nowiki&amp;gt;/NVIDIA-Linux-x86-&amp;lt;/nowiki&amp;gt;&#039;&#039;&amp;lt;version&amp;gt;&#039;&#039;&amp;lt;nowiki&amp;gt;-pkg1.run&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
3. Go to runlevel 1 to stop the currently running X-server. &lt;br /&gt;
 &#039;&#039;&#039;root@dcerouter:~#&#039;&#039;&#039; telinit 1 &lt;br /&gt;
4. Execute the installer and follow instructions.  Ignore the warning about runlevel 1 and don&#039;t bother looking for precompiled drivers.&lt;br /&gt;
 &#039;&#039;&#039;root@dcerouter:~#&#039;&#039;&#039; sh NVIDIA-Linux-x86-&#039;&#039;&amp;lt;version&amp;gt;&#039;&#039;-pkg1.run&lt;br /&gt;
5. The installer will attempt to remove old legacy drivers. If it cannot, you may receive X errors (Eg. &#039;&#039;Error: API mismatch&#039;&#039;). The solution is to manually remove or disable the legacy drivers. &lt;br /&gt;
 &#039;&#039;&#039;nano /etc/default/linux-restricted-modules-common&#039;&#039;&#039; &lt;br /&gt;
Disable the NVIDIA linux-restricted kernel modules (nvidia, nvidia_legacy) by changing the DISABLED_MODULES line to read:&lt;br /&gt;
 &#039;&#039;&#039;DISABLED_MODULES=&amp;quot;nv nvidia_new&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
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 &#039;&#039;X-server&#039;&#039; manually by editing the &#039;&#039;xorg.conf&#039;&#039; file directly.&lt;br /&gt;
&lt;br /&gt;
Once you have finished, you can tune up your video performance [[Nvidia Card Tweaks For Better MythTV and UI Performance]].&lt;br /&gt;
&lt;br /&gt;
==== Media Directors ====&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Intel Chipsets ===&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
==== For LinuxMCE-0704 ====&lt;br /&gt;
&lt;br /&gt;
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 &#039;intel&#039; and would replace the older &#039;i810&#039; drivers.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re using i810 driver make sure you add Option &amp;quot;LinearAlloc&amp;quot; &amp;quot;8160&amp;quot; to xorg.conf or video players will crash with X11 error: BadAlloc.&lt;br /&gt;
&lt;br /&gt;
From man i810:&lt;br /&gt;
   Option &amp;quot;LinearAlloc&amp;quot; &amp;quot;integer&amp;quot;&lt;br /&gt;
          Allows  more  memory  for  the offscreen allocator. This usually&lt;br /&gt;
          helps in situations where HDTV movies are required to  play  but&lt;br /&gt;
          not  enough  offscreen  memory is usually available. Set this to&lt;br /&gt;
          8160 for upto 1920x1080 HDTV support.  Default 0KB (off).&lt;br /&gt;
&lt;br /&gt;
==== potential problem ====&lt;br /&gt;
&lt;br /&gt;
there can be a problem with some intel drivers, like the gma 3100. see [[bug/gma3100driver]] for further informations&lt;br /&gt;
&lt;br /&gt;
=== Via Chipsets ===&lt;br /&gt;
Use the Openchrome or Via Unichrome drivers. The Via Unichrome drivers can be downloaded from [http://www.viaarena.com/default.aspx?PageID=2&amp;amp;OSID=45&amp;amp;CatID=3220]&lt;br /&gt;
&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
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&amp;amp;item=via_oss&amp;amp;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&amp;amp;item=via_bluff&amp;amp;num=1].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HOW-TO VIA Openchrome driver for xorg:&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
For VIA CX700M2 UniChrome PRO II Graphics (1&amp;quot; VIA units) or mainly via graphics:&amp;lt;br&amp;gt;&lt;br /&gt;
==== NOTE:--[[User:Usaf-lt-g|Usaf-lt-g]] 13:17, 2 August 2008 (PDT) ====&lt;br /&gt;
&lt;br /&gt;
==== --[[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. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
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 &#039;&#039;&#039;sudo -s&#039;&#039;&#039; command.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
cd /tftpboot/pxelinux.cfg&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
locate the mac address of the MD and then&amp;lt;br&amp;gt;&lt;br /&gt;
vi &amp;lt;your MAC address here&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
place the &#039;&#039;&#039;acpi=off&#039;&#039;&#039; command at the end of the APPEND line.&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
save the file and reboot MD.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 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&lt;br /&gt;
&lt;br /&gt;
==== NOTE:[[User:usaf-lt-g|usaf-lt-g]] Sunday July 28th, 2008 ====&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Burgiman&#039;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&#039;m using an &amp;quot;earlier&amp;quot; version of LMCE (Beta 3). My MD is also diskless, and NETBIOS handled. If you can&#039;t gain root access to your MD through SSH I suggest the following method:&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Usaf-lt-g|Usaf-lt-g]] 22:55, 27 July 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;shell into your core as linuxmce / linuxmce and do the following:&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
 sudo -s &lt;br /&gt;
 cd /usr/pluto/diskless &lt;br /&gt;
 chroot &amp;lt;your MD # found on the linuxmce admin devices page&amp;gt; &lt;br /&gt;
(chroot will allow you to access the MD&#039;s file system as a root user) &lt;br /&gt;
----&lt;br /&gt;
&#039;&#039;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:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
 groupadd parents&lt;br /&gt;
 useradd -g parents chris&lt;br /&gt;
 passwd chris&lt;br /&gt;
 &amp;lt;set your password&amp;gt;&lt;br /&gt;
 visudo&lt;br /&gt;
here you need to add a line below the: &lt;br /&gt;
 root    ALL=(ALL) ALL &amp;lt;/b&amp;gt; &lt;br /&gt;
line. Mine was:&lt;br /&gt;
 chris    ALL=(ALL) ALL&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Now you&#039;ll be able to login using this user with password you supplied and issue the &amp;lt;b&amp;gt; sudo -s &amp;lt;/b&amp;gt; command, which will grant you root access to the MD.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Usaf-lt-g|Usaf-lt-g]] 22:55, 27 July 2008 (PDT)&lt;br /&gt;
&#039;&#039;now from here you&#039;re going to need some additional packages installed before you can do anything with the OpenChrome drivers.&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
 apt-get install subversion (which will give you the svn command)&lt;br /&gt;
 apt-get install xserver-xorg-dev&amp;lt;br&amp;gt;&lt;br /&gt;
 apt-get install libdrm-dev&amp;lt;br&amp;gt;&lt;br /&gt;
 apt-get install libxvmc-dev&amp;lt;br&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;After that, you SHOULD be able to follow the rest of the install below. It worked for me. Hope this helps.&#039;&#039;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Feel free to edit if necessary.&lt;br /&gt;
Chris&lt;br /&gt;
&lt;br /&gt;
====NOTE:[[User:ddamron|ddamron]] Monday June 30, 2008====&lt;br /&gt;
 Burgiman&#039;s instructions did NOT work for me. &lt;br /&gt;
 Take that for what it&#039;s worth. &lt;br /&gt;
 I had better success installing the VIA Unichrome Driver, and UI1.  Use CLE266 mode.&lt;br /&gt;
 If you have more success, please update this page&lt;br /&gt;
 Dan&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;UPDATED FOR 0710!&#039;&#039;&#039;&lt;br /&gt;
--[[User:Burgiman|burgi]] 11:47, 2 June 2008 (PDT)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;shell into your box and do the following:&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
  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&lt;br /&gt;
&lt;br /&gt;
 cd /usr/src&lt;br /&gt;
 svn checkout http://svn.openchrome.org/svn/trunk openchrome&lt;br /&gt;
 cd openchrome*&lt;br /&gt;
 ./autogen.sh --prefix=/usr&lt;br /&gt;
 make&lt;br /&gt;
 make install&lt;br /&gt;
&lt;br /&gt;
Now we have to edit /etc/X11/xorg.conf and change the device driver to via openchrome:&amp;lt;br&amp;gt;&lt;br /&gt;
 vi /etc/X11/xorg.conf&lt;br /&gt;
Go to&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
and change&lt;br /&gt;
 Driver &amp;quot;vesa&amp;quot; &lt;br /&gt;
to&lt;br /&gt;
 Driver &amp;quot;openchrome&amp;quot;&lt;br /&gt;
save and test the compiled new driver with a: &amp;lt;br&amp;gt;&lt;br /&gt;
 X :1&lt;br /&gt;
and if your xwindow comes up, you can reboot and have fun&amp;lt;br&amp;gt;&lt;br /&gt;
--[[User:Burgiman|burgi]] 13:37, 3 March 2008 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Other Chipsets ===&lt;br /&gt;
Please help out by adding more if you can.&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
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 &#039;&#039;X-server&#039;&#039; manually by editing the &#039;&#039;xorg.conf&#039;&#039; file directly.&lt;br /&gt;
&lt;br /&gt;
=== Getting started ===&lt;br /&gt;
Start by making a backup copy of the &#039;&#039;/etc/X11/xorg.conf&#039;&#039; file (even if it doesn&#039;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.  &lt;br /&gt;
&lt;br /&gt;
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 &#039;&#039;rescue-mode&#039;&#039;, 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:&lt;br /&gt;
 telinit 1&lt;br /&gt;
This wil stop the running X-server and drop you into rescue mode as well.  &lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Generating a template ===&lt;br /&gt;
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. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;While there is no (other) X-server running&#039;&#039;&#039; you can create a template configuration file by running:&lt;br /&gt;
 X -configure&lt;br /&gt;
This will create a file called xorg.conf.new in your &#039;&#039;home&#039;&#039; directory, test it with the following command and hit [CTRL]-[ALT]-[Backspace] when done:&lt;br /&gt;
 X -config ~/xorg.conf.new&lt;br /&gt;
Within a few seconds a gray bitpattern should show up with an &#039;X&#039; 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 &amp;quot;modelines&amp;quot; for the resolution(s) you want to use (see below).  &lt;br /&gt;
&lt;br /&gt;
When you&#039;re satisfied you can overwrite &#039;&#039;/etc/X11/xorg.conf&#039;&#039; with this file to make it the default (you did make a backup didn&#039;t you?), once you have done that you can use &amp;quot;startx&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
Here is an example of such a generated file:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;ServerLayout&amp;quot;&lt;br /&gt;
        Identifier     &amp;quot;X.org Configured&amp;quot;&lt;br /&gt;
        Screen      0  &amp;quot;Screen0&amp;quot; 0 0&lt;br /&gt;
        InputDevice    &amp;quot;Mouse0&amp;quot; &amp;quot;CorePointer&amp;quot;&lt;br /&gt;
        InputDevice    &amp;quot;Keyboard0&amp;quot; &amp;quot;CoreKeyboard&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Files&amp;quot;&lt;br /&gt;
        RgbPath      &amp;quot;/etc/X11/rgb&amp;quot;&lt;br /&gt;
        ModulePath   &amp;quot;/usr/lib/xorg/modules&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/misc&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/X11R6/lib/X11/fonts/misc&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/cyrillic&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/100dpi/:unscaled&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/75dpi/:unscaled&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/Type1&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/X11R6/lib/X11/fonts/Type1&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/100dpi&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/usr/share/fonts/X11/75dpi&amp;quot;&lt;br /&gt;
        FontPath     &amp;quot;/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
        Load  &amp;quot;extmod&amp;quot;&lt;br /&gt;
        Load  &amp;quot;record&amp;quot;&lt;br /&gt;
        Load  &amp;quot;xtrap&amp;quot;&lt;br /&gt;
        Load  &amp;quot;dri&amp;quot;&lt;br /&gt;
        Load  &amp;quot;glx&amp;quot;&lt;br /&gt;
        Load  &amp;quot;dbe&amp;quot;&lt;br /&gt;
        Load  &amp;quot;GLcore&amp;quot;&lt;br /&gt;
        Load  &amp;quot;type1&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Keyboard0&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;kbd&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;InputDevice&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Mouse0&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;mouse&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Protocol&amp;quot; &amp;quot;auto&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Device&amp;quot; &amp;quot;/dev/input/mice&amp;quot;&lt;br /&gt;
        Option      &amp;quot;ZAxisMapping&amp;quot; &amp;quot;4 5 6 7&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
        Identifier   &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
        VendorName   &amp;quot;Monitor Vendor&amp;quot;&lt;br /&gt;
        ModelName    &amp;quot;Monitor Model&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        ### Available Driver options are:-&lt;br /&gt;
        ### Values: &amp;amp;lt;i&amp;amp;gt;: integer, &amp;lt;f&amp;gt;: float, &amp;lt;bool&amp;gt;: &amp;quot;True&amp;quot;/&amp;quot;False&amp;quot;,&lt;br /&gt;
        ### &amp;lt;string&amp;gt;: &amp;quot;String&amp;quot;, &amp;lt;freq&amp;gt;: &amp;quot;&amp;lt;f&amp;gt; Hz/kHz/MHz&amp;quot;&lt;br /&gt;
        ### [arg]: arg optional&lt;br /&gt;
        #Option     &amp;quot;ShadowFB&amp;quot;                  # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
        #Option     &amp;quot;DefaultRefresh&amp;quot;            # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
        #Option     &amp;quot;ModeSetClearScreen&amp;quot;        # [&amp;lt;bool&amp;gt;]&lt;br /&gt;
        Identifier  &amp;quot;Card0&amp;quot;&lt;br /&gt;
        Driver      &amp;quot;vesa&amp;quot;&lt;br /&gt;
        &#039;&#039;VendorName  &amp;quot;ATI Technologies Inc&amp;quot;&#039;&#039;&lt;br /&gt;
        &#039;&#039;BoardName   &amp;quot;ATI Radeon Xpress 1200 Series&amp;quot;&#039;&#039;&lt;br /&gt;
        &#039;&#039;BusID       &#039;&#039;&#039;&amp;quot;PCI:1:5:0&amp;quot;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
 EndSection&lt;br /&gt;
 &lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
        Identifier &amp;quot;Screen0&amp;quot;&lt;br /&gt;
        Device     &amp;quot;Card0&amp;quot;&lt;br /&gt;
        Monitor    &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     1&lt;br /&gt;
        EndSubSection&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     4&lt;br /&gt;
        EndSubSection&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     8&lt;br /&gt;
        EndSubSection&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     15&lt;br /&gt;
        EndSubSection&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     16&lt;br /&gt;
        EndSubSection&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth     24&lt;br /&gt;
        EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Note that the only thing really specific to my setup in this config file is &#039;&#039;BusID&#039;&#039;, if you only have one graphics adapter in your system this value can be omitted, otherwise the value(s) can be found with:&lt;br /&gt;
 X -scanpci&lt;br /&gt;
Where each card will need it&#039;s own Device Section in the config file.  The &amp;quot;VendorName&amp;quot; and &amp;quot;BoardName&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
We&#039;ll be using this sample configuration as a starting point in the other examples below, the comments (lines starting with &#039;&#039;#&#039;&#039; can be safely removed as well as the &#039;&#039;&amp;quot;Display&amp;quot;&#039;&#039; subsections for the colordepths we don&#039;t plan on using.&lt;br /&gt;
&lt;br /&gt;
=== Refresh rate / ModeLine ===&lt;br /&gt;
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 &#039;&#039;&#039;your screen&#039;&#039;&#039;&#039;s refresh rates in the documentation and add them like this:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
        Identifier   &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
        VendorName   &amp;quot;Monitor Vendor&amp;quot;&lt;br /&gt;
        ModelName    &amp;quot;Monitor Model&amp;quot;&lt;br /&gt;
        &#039;&#039;HorizSync     &#039;&#039;&#039;27-102&#039;&#039;&#039; # kHz&#039;&#039;&lt;br /&gt;
        &#039;&#039;VertRefresh   &#039;&#039;&#039;50-160&#039;&#039;&#039; # Hz&#039;&#039;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Alternatively you could specify a &amp;quot;ModeLine&amp;quot; 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.  &lt;br /&gt;
&lt;br /&gt;
Search the web for a &amp;quot;modeline generator&amp;quot;, and many of these will include instructions on how to add the modeline, but briefly, you just add it to the &amp;quot;Monitor&amp;quot; section.  Read the [http://en.wikipedia.org/wiki/Modeline wikipedia entry] to learn how to use modelines.  &lt;br /&gt;
* http://koala.ilog.fr/cgi-bin/nph-colas-modelines&lt;br /&gt;
* http://xtiming.sourceforge.net/cgi-bin/xtiming.pl&lt;br /&gt;
* http://www.bohne-lang.de/spec/linux/modeline/&lt;br /&gt;
* http://amlc.berlios.de/&lt;br /&gt;
* http://www.mythtv.org/wiki/index.php/Working_with_Modelines&lt;br /&gt;
If one modeline doesn&#039;t work perfectly, try another, perhaps from another generator, because they can vary so much.&lt;br /&gt;
&lt;br /&gt;
Using the wrong timings could in some (nowadays rare) occasions damage the hardware of your screen, so if it looks garbeled don&#039;t leave it like that for hours on end but hit [Ctrl]-[Alt]-[&amp;amp;larr;Backspace] and readjust your settings.  Most modern screens however simply report that the signal is out of range if this happens.&lt;br /&gt;
&lt;br /&gt;
=== Colordepth and resolution ===&lt;br /&gt;
Specify the colordepth and resolution(s) you would like to use, like this:&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Screen&amp;quot;&lt;br /&gt;
        Identifier   &amp;quot;Screen0&amp;quot;&lt;br /&gt;
        Device       &amp;quot;Card0&amp;quot;&lt;br /&gt;
        Monitor      &amp;quot;Monitor0&amp;quot;&lt;br /&gt;
        &#039;&#039;DefaultDepth &#039;&#039;&#039;24&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
        SubSection &amp;quot;Display&amp;quot;&lt;br /&gt;
                Viewport   0 0&lt;br /&gt;
                Depth      24&lt;br /&gt;
                &#039;&#039;Virtual    &#039;&#039;&#039;1600 1200&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
                &#039;&#039;Modes      &#039;&#039;&#039;&amp;quot;1600x1200&amp;quot; &amp;quot;1280x1024&amp;quot; &amp;quot;1024x768&amp;quot; &amp;quot;800x600&amp;quot; &amp;quot;640x480&amp;quot; &amp;quot;512x384&amp;quot; &amp;quot;400x300&amp;quot; &amp;quot;320x240&amp;quot;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
        EndSubSection&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
As most people will only be using 24 bits anyway, I have removed the other redundant subsections.  &amp;quot;Virtual&amp;quot; is the size of your desktop and &amp;quot;Modes&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
=== DRI device permissions ===&lt;br /&gt;
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&#039;t there already.&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;DRI&amp;quot;&lt;br /&gt;
        Mode         0666&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
=== Chipset driver ===&lt;br /&gt;
Change &amp;quot;&#039;&#039;&#039;vesa&#039;&#039;&#039;&amp;quot; to &amp;quot;&#039;&#039;&#039;fglrx&#039;&#039;&#039;&amp;quot; (or &amp;quot;&#039;&#039;&#039;ati&#039;&#039;&#039;&amp;quot;, 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&#039;s better to remove it as some scripts seem to find it confusing.  For Nvidia chipsets use &#039;&#039;&#039;nvidia&#039;&#039;&#039; or &#039;&#039;&#039;nv&#039;&#039;&#039; as the driver names (instead of &#039;&#039;&#039;fglrx&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Device&amp;quot;&lt;br /&gt;
        Identifier  &amp;quot;Card0&amp;quot;&lt;br /&gt;
 &#039;&#039;#      Driver      &amp;quot;&#039;&#039;&#039;vesa&#039;&#039;&#039;&amp;quot;&#039;&#039;&lt;br /&gt;
        &#039;&#039;Driver      &amp;quot;&#039;&#039;&#039;fglrx&#039;&#039;&#039;&amp;quot;&#039;&#039;&lt;br /&gt;
        VendorName  &amp;quot;ATI Technologies Inc&amp;quot;&lt;br /&gt;
        BoardName   &amp;quot;ATI Radeon Xpress 1200 Series&amp;quot;&lt;br /&gt;
        BusID       &amp;quot;PCI:1:5:0&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== Physical display size ===&lt;br /&gt;
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&#039;t, which can result in unreadable font sizes.&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Monitor&amp;quot;&lt;br /&gt;
   ...&lt;br /&gt;
   DisplaySize &#039;&#039;&#039;155 95&#039;&#039;&#039;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
Where you have to replace the numbers with the physical &#039;&#039;&#039;width&#039;&#039;&#039; and &#039;&#039;&#039;height&#039;&#039;&#039; of your screen in millimeters (1&amp;quot; = 25mm), feel free to try mine, however these are for a small touchscreen.&lt;br /&gt;
&lt;br /&gt;
=== Disable composite ===&lt;br /&gt;
Aparently the ATI &#039;&#039;&#039;fglrx&#039;&#039;&#039; driver does not &#039;&#039;yet&#039;&#039; 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&#039;t there already.&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Extensions&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Composite&amp;quot; &amp;quot;Disable&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
=== Additional options ===&lt;br /&gt;
To be continued, I don&#039;t think this is enough to get UI2 completely (either mode) going yet.  Feel free to jump in anytime... &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Things still to sort out amongst others (i.e. what is it, do we need it and what are the settings if any):&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Module&amp;quot;&lt;br /&gt;
        Load  &amp;quot;i2c&amp;quot;&lt;br /&gt;
        Load  &amp;quot;bitmap&amp;quot;&lt;br /&gt;
        Load  &amp;quot;ddc&amp;quot;&lt;br /&gt;
        Load  &amp;quot;freetype&amp;quot;&lt;br /&gt;
        Load  &amp;quot;int10&amp;quot;&lt;br /&gt;
        Load  &amp;quot;vbe&amp;quot;&lt;br /&gt;
        Load  &amp;quot;speedo&amp;quot;&lt;br /&gt;
        Load  &amp;quot;type1&amp;quot;&lt;br /&gt;
        Load  &amp;quot;dbe&amp;quot;&lt;br /&gt;
        Load  &amp;quot;glx&amp;quot;&lt;br /&gt;
        Load  &amp;quot;v4l&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;ServerFlags&amp;quot;&lt;br /&gt;
        Option &amp;quot;AIGLX&amp;quot; &amp;quot;off&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
 Section &amp;quot;Extensions&amp;quot;&lt;br /&gt;
        Option      &amp;quot;Composite&amp;quot; &amp;quot;Disable&amp;quot;&lt;br /&gt;
 #      Option      &amp;quot;RENDER&amp;quot; &amp;quot;true&amp;quot;&lt;br /&gt;
 EndSection&lt;br /&gt;
&lt;br /&gt;
        Option      &amp;quot;PseudoColorVisuals&amp;quot; &amp;quot;off&amp;quot;&lt;br /&gt;
        Option      &amp;quot;OpenGLOverlay&amp;quot; &amp;quot;off&amp;quot;&lt;br /&gt;
        Option      &amp;quot;VideoOverlay&amp;quot; &amp;quot;off&amp;quot;&lt;br /&gt;
        Option      &amp;quot;DesktopSetup&amp;quot; &amp;quot;clone&amp;quot;&lt;br /&gt;
&lt;br /&gt;
TV-out options, 2nd display, etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
=== The AVWizard crashes X-windows ===&lt;br /&gt;
&lt;br /&gt;
Try setting the [[#Chipset_driver]] option to &#039;&#039;&#039;vesa&#039;&#039;&#039;, run the AVWizard again and then change the driver back to what it was.&lt;br /&gt;
&lt;br /&gt;
=== Black screen ===&lt;br /&gt;
&lt;br /&gt;
* 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.&lt;br /&gt;
&lt;br /&gt;
*One problem on nvidia-cards could be that it does not detect the right monitor.&lt;br /&gt;
&lt;br /&gt;
::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 &amp;lt;pre&amp;gt;Option &amp;quot;ConnectedMonitor&amp;quot; &amp;quot;XXX&amp;quot;&amp;lt;/pre&amp;gt;&lt;br /&gt;
::where XXX is CRT, CRT-0, CRT-1, DVI-0, DVI-1, ...&lt;br /&gt;
::Save and exit (nano: Ctrl+x) and restart the computer. In my case it was &amp;quot;CRT-1&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== X-windows won&#039;t start ===&lt;br /&gt;
&lt;br /&gt;
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 &amp;quot;X&amp;quot; and press [Ctrl]-[Alt]-[&amp;amp;larr;Backspace] simultaneous to quit (alternative: use &amp;quot;startx&amp;quot; and get the full desktop, if any), then reboot when it works and you&#039;re done.&lt;br /&gt;
&lt;br /&gt;
=== Signal out of range ===&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;[[#Refresh rate / ModeLine ]]&#039;&#039; above.&lt;br /&gt;
&lt;br /&gt;
=== Microscopic fonts in KDE ===&lt;br /&gt;
&lt;br /&gt;
See &#039;&#039;[[#Physical_display_size]]&#039;&#039; above.&lt;br /&gt;
&lt;br /&gt;
If the above does not work, probably Xorg is calculating the DPI value in the wrong way.&lt;br /&gt;
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 &amp;quot;DPI set to (x , y)&amp;quot;,where x and y are values that apply to the specific display.&lt;br /&gt;
&lt;br /&gt;
If those values are too small, fonts will be displayed accordingly (i.e, VERY small)&lt;br /&gt;
&lt;br /&gt;
A workaround is to force Xorg to startup with a given DPI value.&lt;br /&gt;
&lt;br /&gt;
To achieve this the following steps are required:&lt;br /&gt;
&lt;br /&gt;
* edit the file /usr/pluto/bin/Start_X_Wrapper.sh on your MD where you are facing the font problem&lt;br /&gt;
* find the line beginning with xinit&lt;br /&gt;
* add &amp;quot;-dpi 96&amp;quot; (without quotes) at the end of this line&lt;br /&gt;
* save the file and reboot MD&lt;br /&gt;
&lt;br /&gt;
Obviously it is possible to set DPI to something different than 96, according to specific needs.&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
=== LinuxMCE keeps reconfiguring my display settings ===&lt;br /&gt;
&lt;br /&gt;
Add a line containing &#039;&#039;&#039;exit&#039;&#039;&#039; to the top of the &#039;&#039;/usr/pluto/bin/Xconfigure.sh&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
For LinuxMCE 710 simply comment out the line that says&lt;br /&gt;
   . /usr/pluto/bin/X-CleanupVideo.sh&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [http://www.mythtv.org/wiki/index.php/Main_Page MythTV wiki] &lt;br /&gt;
* MythTV Experience [http://brentlagesse.net/~brent/mythtv.php]&lt;br /&gt;
* [[X_Configuration_Scripts]]&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Turn_off_photo_screensaver&amp;diff=15786</id>
		<title>Turn off photo screensaver</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Turn_off_photo_screensaver&amp;diff=15786"/>
		<updated>2008-10-05T04:38:24Z</updated>

		<summary type="html">&lt;p&gt;Indulis: New page:  ==Turning off the Photo Screensaver== If your video looks jerky, or your system seems to respond slowly, you can try to turn off your Photo Screensaver.  Go to the KDE desktop, and from t...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==Turning off the Photo Screensaver==&lt;br /&gt;
If your video looks jerky, or your system seems to respond slowly, you can try to turn off your Photo Screensaver.&lt;br /&gt;
&lt;br /&gt;
Go to the KDE desktop, and from the Linux MCE Launch Manger panel, choose &amp;quot;open admin website&amp;quot;.  Login using the username you defined to LinuxMCE during setup.  By default the password is your username.  &lt;br /&gt;
&lt;br /&gt;
Choose Media Directors.  Then scroll down to Software Modules. Click on edit.  You can then deselect the photo screensaver.&lt;br /&gt;
&lt;br /&gt;
Go back to the Linux MCE Launch Manger pane.  Stop LMCE Media Director (MD).  Then start it again.&lt;br /&gt;
&lt;br /&gt;
[[Category: Tutorials]]&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=User_Manual&amp;diff=15785</id>
		<title>User Manual</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=User_Manual&amp;diff=15785"/>
		<updated>2008-10-05T04:29:55Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Other Items */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Also see:&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
*[[:Category:Tutorials|User&#039;s Guide and Tutorials Category]]&lt;br /&gt;
&lt;br /&gt;
*[[LinuxMCE|What is LinuxMCE?]]&lt;br /&gt;
&lt;br /&gt;
*[[software components | Software Components]]&lt;br /&gt;
&lt;br /&gt;
*[[What can I do with LinuxMCE?]]&lt;br /&gt;
&lt;br /&gt;
*[[Usage Intro]]&lt;br /&gt;
&lt;br /&gt;
==Hardware==&lt;br /&gt;
&lt;br /&gt;
Also see: [[:Category:Hardware|Hardware Category]]&lt;br /&gt;
&lt;br /&gt;
===Picking The Right Components=== &lt;br /&gt;
&lt;br /&gt;
====The Core====&lt;br /&gt;
&lt;br /&gt;
The most important component is the &amp;quot;[[Core]].&amp;quot;  This is the main LinuxMCE server that runs all the applications.  A good Pentium 4 with at least 80 GB of storage and two network cards (Gigabit ideally) is often sufficient. A high-end server with RAID-5 storage is best.&lt;br /&gt;
&lt;br /&gt;
It is best to dedicate one PC as the Core server. You can put this computer somewhere out of the way and not connect a monitor to it.  If there will be only one computer in your LinuxMCE system, that computer will be  a &amp;quot;[[hybrid]]&amp;quot; Core server and [[Media Director|media player]]. It will defnitely require a connection to a TV.  &lt;br /&gt;
&lt;br /&gt;
[[:Category:Cores|Here are some possible Core server platforms.]]&lt;br /&gt;
&lt;br /&gt;
====Media Directors====&lt;br /&gt;
&lt;br /&gt;
[[Media Directors]] (MDs) are PCs with outputs to connect to a television (such as S-video or RCA jacks). Sound outputs to speakers, from a good sound card, is also important.  The MDs play all your streaming music and video from the Core, from network attached storage (NAS), and from other MDs in your system.  Output to a TV and speakers can create an awesome multimedia experience.&lt;br /&gt;
&lt;br /&gt;
[[:Category:Media_Directors|Here are some possible Media Director platforms.]]&lt;br /&gt;
&lt;br /&gt;
====Orbiters====&lt;br /&gt;
&lt;br /&gt;
[[Orbiters]] are high-tech remote controls.  LinuxMCE provides for multiple orbiter options such as a generic PC, wireless tablet PC, PDAs, mobile phones running Symbian or Microsoft Mobile, or through a web interface accessible to any computer within your LinuxMCE network, or even from the Internet.  (The web interface requires user authentication.)&lt;br /&gt;
&lt;br /&gt;
[[:Category:Orbiters|Here are some possible Orbiter platforms.]]&lt;br /&gt;
&lt;br /&gt;
====Network Attached Storage====&lt;br /&gt;
&lt;br /&gt;
An alternative to having a lot of storage space in the Core PC itself is to store your files on a [[Network Attached Storage|network attached storage]] (NAS) server. You can store large music and video collections this way. Your LinuxMCE system can also record TV shows (using MythTV) and video from your security cameras (using Motion), both of which require lots of hard drive storage space. An example of an NAS is the [[Buffalo Terastation]].&lt;br /&gt;
&lt;br /&gt;
[[:Category:Network Attached Storage|Here are some possible NAS solutions.]]&lt;br /&gt;
&lt;br /&gt;
====Additional Devices====&lt;br /&gt;
&lt;br /&gt;
*Home [[automation]] devices for controlling your lights&lt;br /&gt;
*security [[:Category:cameras|cameras]]&lt;br /&gt;
*a plasma screen TV&lt;br /&gt;
*a streaming media music player such as the [[SlimDevices Squeezebox]]&lt;br /&gt;
*an alarm system with a serial interface&lt;br /&gt;
&lt;br /&gt;
These are examples of devices that require a controller device called a [[gc100]].  The gc100 allows these and other devices that communicate using a serial port (e.g. alarm panels) or an [[infrared]] port (e.g. a TV) to connect to the network and talk with your LinuxMCE Core.&lt;br /&gt;
&lt;br /&gt;
====Plug &#039;n&#039; Play Capabilities====&lt;br /&gt;
&lt;br /&gt;
Once LinuxMCE is installed, you can treat it like an appliance -- plug it in, turn it on, and leave it alone. You don&#039;t even need to install any software on the media PCs that will be used as [[Media Directors]]. If these PCs are connected to the Core by wired Ethernet, they can usually be set to [[Network Boot for Media Directors|boot LinuxMCE from the Core server over the network]] whenever you want to use them as a Media Director. The rest of the time they can be used as a regular PC, using whatever operating system is already on their hard drives.&lt;br /&gt;
&lt;br /&gt;
The LinuxMCE Core must be the DHCP server for your LinuxMCE network so that it can offer both plug-and-play and network boot services. The Core server bridges your &amp;quot;external&amp;quot; home LAN and an &amp;quot;internal&amp;quot; LinuxMCE LAN. For this to work, it is recommended to have [[Why dual network cards?|dual network cards]] in the Core -- one to connect to the &amp;quot;external&amp;quot; network (which can be your home LAN or simply your Internet connection), and one for the &amp;quot;internal&amp;quot; LinuxMCE network (to which all your LinuxMCE devices are connected). The LinuxMCE Core server effectively acts as both the DHCP server and the firewall for the &amp;quot;internal&amp;quot; LinuxMCE network. &lt;br /&gt;
&lt;br /&gt;
Note that you can easily have PCs outside of the LinuxMCE internal network, if you choose. Simply do not connect them to the LinuxMCE network. Alternatively, you can choose to have all PCs in your house be part of the LinuxMCE network. In this case the Core server provides DHCP and firewall services for your entire home LAN.&lt;br /&gt;
&lt;br /&gt;
====Wiring Considerations====&lt;br /&gt;
The connection between the Core server and the Media Directors requires a significant amount of data transmission. Furthermore, netbooting is not very easy wirelessly and therefore must usually be done over a wired connection. For this reason, it is recommended that a wired Ethernet connection be used between the Core server and each peripheral Media Director. &lt;br /&gt;
&lt;br /&gt;
Other devices which do not have as high data transmission requirements, such as PDAs used as Orbiter remote controls, can be used wirelessly through a wireless access point (which can be connected later to the LinuxMCE LAN).&lt;br /&gt;
&lt;br /&gt;
* [[Wiring Considerations]]&lt;br /&gt;
&lt;br /&gt;
====Additional Hardware Resources====&lt;br /&gt;
Choosing hardware components can be difficult. There are multiple articles regarding hardware selection in the [[:Category:Hardware | Hardware Category]].&lt;br /&gt;
&lt;br /&gt;
Also see:&lt;br /&gt;
* [[What hardware I will need]]&lt;br /&gt;
* [[Video#Equipment_used_in_the_demo | A list of hardware used in the demo video]]&lt;br /&gt;
&lt;br /&gt;
===Setting Up The Hardware===&lt;br /&gt;
&lt;br /&gt;
==== Using your own PCs ====&lt;br /&gt;
&lt;br /&gt;
LinuxMCE is Linux-based. Sometimes drivers are not available for Linux as soon as they are for Windows.  If you bought some new, exotic hardware there may not yet be drivers for Linux. Check out the [[:Category:Hardware|Hardware Category]] first. Also check out [http://www.linuxcompatible.org linuxcompatible.org] for a list of Linux-compatible hardware. As a last resort to find out if your hardware might work, post a message in the LinuxMCE [http://forum.linuxmce.com/ forums].  &lt;br /&gt;
&lt;br /&gt;
=====Additional Hardware=====&lt;br /&gt;
&lt;br /&gt;
You can also put multiple cards in the [[Core]], such as analog phone line interfaces (e.g. from www.digium.com), or analog video capture cards for surveillance cameras. Make sure they are Linux compatible, as above. There are several choices as to where to install these cards in your LinuxMCE network. For example, you could put a PVR/satellite video capture card in an individual Media Director PC, or you could put it in the Core server PC (where it will be more easily shared throughout the system).&lt;br /&gt;
&lt;br /&gt;
Bluetooth mobile phones can be used as remote controls by adding a USB Bluetooth Dongle to each Media Director (around $25). Each Media Director will report the signal strengths of each mobile phone (this is how the Core figures out what room you&#039;re in).  Since all resources in the whole house are shared, you will be able to control any device in any room from anywhere -- as long as you&#039;re within Bluetooth range of a Media Director (within 10m, or 30feet). &lt;br /&gt;
&lt;br /&gt;
You can also use low-cost network audio players, like the Squeeze Box, which can be placed anywhere in the system.&lt;br /&gt;
&lt;br /&gt;
====A Dedicated Core====&lt;br /&gt;
[[Image:Diagram1.jpg|200px|thumb|Connects to a Dedicated Core]]&lt;br /&gt;
The [[Core]] is the central point of the LinuxMCE system and runs applications and daemons needed for the other devices to exchange data and commands. A dedicated Core controls all of the LinuxMCE components. In this LinuxMCE configuration, the user does not use the Core as a Media Director at all. Other PCs will need to be used as Media Directors in order to play movies, listen to music, and watch TV. This kind of setup is recommended when you have a lot of extra devices, all of which will have full access to the Core&#039;s resources.&lt;br /&gt;
&lt;br /&gt;
The [[Clean Core]] project is an ongoing effort to further reduce the resource consumption of the [[Core]] server.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====A Dedicated Hybrid====&lt;br /&gt;
[[Image:Diagram2.jpg|200px|thumb|Connections to a Hybrid Core]]&lt;br /&gt;
A &amp;quot;[[hybrid]]&amp;quot; is a PC that runs the &amp;quot;Core&amp;quot; software while also serving as a [[Media Director]]. This is often done with standalone LinuxMCE setups, with a single PC in the Home Entertainment Center. However, other Media Directors can still be added into the system later.&lt;br /&gt;
&lt;br /&gt;
The Core server (and therefore a hybrid) generally requires more processing power, runs hotter, needs more cooling fans (and is therefore noisier), and is often a bigger PC than those used only as Media Directors. For many users it is less desirable to place such a PC in their Home Entertainment Center.&lt;br /&gt;
&lt;br /&gt;
However, there are now multimedia-oriented PCs made with this in mind, that are quite suitable for use as hybrids. &lt;br /&gt;
&lt;br /&gt;
A Media Director cannot run without first setting up a LinuxMCE Core (or hybrid) server.&lt;br /&gt;
&amp;lt;br style=&amp;quot;clear:both;&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Installation of Software Components==&lt;br /&gt;
There are currently two methods of LinuxMCE installation.  The DVD installation requires a single installation disk. The CD method requires 3 disks (one of which is the Kubuntu LiveCD), but offers more flexibility in installation. &lt;br /&gt;
===DVD Installation===&lt;br /&gt;
*[[DVD Installation]]&lt;br /&gt;
===CD Installation===&lt;br /&gt;
*[[Installation Guide]]&lt;br /&gt;
&lt;br /&gt;
==Setting Up LinuxMCE==&lt;br /&gt;
===Tell LinuxMCE About Your Home===&lt;br /&gt;
&lt;br /&gt;
* Also see the [[QuickStart Guide | Quick Start Guide]].&lt;br /&gt;
* The appearance of LinuxMCE depends on your graphics card. Read [[Graphics Test]] for information on how to determine the capabilities of your current video card.&lt;br /&gt;
* Also see the legacy instructions: [[Tell LinuxMCE about your home]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setting up your LinuxMCE system consists of 4 steps:&lt;br /&gt;
&lt;br /&gt;
* Providing some general information, such as what kind of network you have.&lt;br /&gt;
* Specifying the devices in your home (lights, TVs, surveillance cameras, etc.).&lt;br /&gt;
* Creating [[scenarios]]. A &amp;quot;scenario&amp;quot; is a group of commands, or tasks, you want executed when you touch a button. Each scenario you create will appear on the Orbiter remote controls as an option button.&lt;br /&gt;
:*Scenarios are generally organized into 5 categories: lighting, media, climate, security and telephone. You can create, for example, a lighting scenario called &amp;quot;Entertaining&amp;quot; which turns on all the lights in the house and in the front yard. A button labeled &amp;quot;Entertaining&amp;quot; will then appear on the Orbiters in the lighting section -- touch it to activate the scenario. Any scenario can do anything. For example, just because the &amp;quot;Entertaining&amp;quot; scenario is a lighting scenario doesn&#039;t mean the scenario only affects lights. You can make the scenario also play some music, and maybe open the front gate. You can use the &amp;quot;Advanced, My Scenarios&amp;quot; menu option for low-level control over a scenario, to make it do whatever you want. However the Wizard includes pages that make it very easy to create scenarios. For example, when you add a lighting scenario with the Wizard, it lists all the lights in the house and lets you pick the ones you want to change with the scenario.&lt;br /&gt;
*Creating event handlers. This is how you tell LinuxMCE you want it to do something in response to some event. For example, you may want LinuxMCE to turn on the Front Porch light when a motion detector is tripped. Or you want it to play a loud message on the TV when there is a security breach. Perhaps you would like to stop watering the lawn when it rains.&lt;br /&gt;
&lt;br /&gt;
===AVWizard===&lt;br /&gt;
The Audio/Video Wizard is designed to allow for easy setup of the components (ranging from a simple monitor to an HCTV with composite inputs and outputs) to which a [[Media Director]] outputs the multimedia content that is streamed from the [[Core]].&lt;br /&gt;
*[[AVWizard]]&lt;br /&gt;
&lt;br /&gt;
===House Setup Wizard===&lt;br /&gt;
This allows you to specify the floorplan of your house and to assign scenarios to each room.&lt;br /&gt;
*[[House Setup Wizard]]&lt;br /&gt;
&lt;br /&gt;
===Media Player Wizard===&lt;br /&gt;
This allows you to specify the location of file shares and other media locations within your system.&lt;br /&gt;
*[[Media Player Wizard]]&lt;br /&gt;
&lt;br /&gt;
===Using the LinuxMCE Admin Website===&lt;br /&gt;
Although there are automated wizards to assist in setup, there are more options provided in the [[LinuxMCE Admin Website|LinucxMCE Admin web page]].  The user can create and modify any and all devices that LinuxMCE controls through the Admin page. It is displayed by any web browser, such as the ones available both on the Core/Hybrid and on each Media Director.&lt;br /&gt;
 &lt;br /&gt;
*[[LinuxMCE Admin Website|LinuxMCE Admin web page]]&lt;br /&gt;
&lt;br /&gt;
===Scenarios, Events &amp;amp; Security===&lt;br /&gt;
&lt;br /&gt;
In the [[Scenarios]] page, add the scenarios, or buttons, you want for each room. For example:&lt;br /&gt;
*A Lighting scenario in the Bedroom called &#039;Go to sleep&#039; can dim the lights.&lt;br /&gt;
*A Security scenario in the Living Room can view a camera.&lt;br /&gt;
&lt;br /&gt;
When you do a &#039;quick reload router&#039;, DCERouter will automatically add Media Scenarios for each room which will include the media devices that are located there.&lt;br /&gt;
&lt;br /&gt;
Your new scenarios will then be visible on the Orbiter remote controls after you [[Usage_Intro#Reload_Router_.26_Regen_Orbiters|regenerate]].&lt;br /&gt;
&lt;br /&gt;
Add [[Events]] to specify conditional events (such as turning on a light) when something else happens (a motion detector is tripped, the sun sets, etc.). This can be used for security. For example, you want to be notified (by VOIP, a message on a TV, etc.) when certain events happen in the house (motion detector is tripped). Settings will take effect next time you reboot or &#039;quick reload router&#039;.&lt;br /&gt;
&lt;br /&gt;
===Configuring Myth TV===&lt;br /&gt;
Most of the setup for MythTV is done automatically. For more information take a look at the following link.&lt;br /&gt;
&lt;br /&gt;
* [[Setting up MythTV]].&lt;br /&gt;
&lt;br /&gt;
===Upload Your Media===&lt;br /&gt;
&lt;br /&gt;
LinuxMCE is capable of accessing Microsoft Windows-compatible network shares using the built-in Samba network protocol. LinuxMCE also creates a &amp;quot;public&amp;quot; share folder on the Core (or NAS) for storing the files that the whole family can share -- movies, music, etc. A &amp;quot;private&amp;quot; share folder for each family member is also created on the Core (or NAS). These network shares can be accessed from Windows-based PCs on your home LAN by listing the LAN IP address of the Core (or hybrid) as a network share (it is usually 192.168.80.1).&lt;br /&gt;
&lt;br /&gt;
Once you copy your media into the appropriate folder, go to the [[LinuxMCE Admin Website|LinuxMCE Admin web page]]--&amp;gt;Files &amp;amp; Media--&amp;gt; Media Files Sync and be sure your media is now in the database. You can now add attributes (artist, actor, etc.) and choose cover art.&lt;br /&gt;
&lt;br /&gt;
=== Configure Telephony===&lt;br /&gt;
&lt;br /&gt;
==General Usage Pages==&lt;br /&gt;
&lt;br /&gt;
===Lights===&lt;br /&gt;
* [[Control lights/climate using scenarios | Control Lighting Devices with Scenarios]]&lt;br /&gt;
* [[Control lights or climate with a floorplan | Control Lights from the Floorplan]]&lt;br /&gt;
&lt;br /&gt;
===Climate Control===&lt;br /&gt;
* [[Control lights/climate using scenarios | Control Climate Devices with Scenarios]]&lt;br /&gt;
* [[Control lights or climate with a floorplan | Control Climate from the Floorplan]]&lt;br /&gt;
&lt;br /&gt;
===Security===&lt;br /&gt;
* [[Monitor surveillance cameras]]&lt;br /&gt;
* [[Arm or disarm the alarm using the Orbiters]]&lt;br /&gt;
* Arm or disarm LinuxMCE&#039;s alarm using proximity sensors&lt;br /&gt;
* [[Automatically take pictures when sensors are disturbed]]&lt;br /&gt;
* [[Have LinuxMCE notify me of security alerts]]&lt;br /&gt;
&lt;br /&gt;
===Media===&lt;br /&gt;
&lt;br /&gt;
====Controlling A/V Equipment====&lt;br /&gt;
* [[Have LinuxMCE automatically control the TV and Stereo]]&lt;br /&gt;
* [[Control the media director&#039;s volume using either a receiver]]&lt;br /&gt;
* [[Use network audio players for a whole-house music solution]]&lt;br /&gt;
* [[Use a satellite/cable box with the PVR]]&lt;br /&gt;
* [[Control a TV or cable/satellite box]]&lt;br /&gt;
* [[Control regular A/V equipment]]&lt;br /&gt;
* [[Control A/V equipment with RS232/USB/Ethernet]]&lt;br /&gt;
&lt;br /&gt;
====Using Portable Media====&lt;br /&gt;
* [[Watch a DVD/Listen to a CD]]&lt;br /&gt;
* [[Rip a CD/DVD to the Core]]&lt;br /&gt;
* [[Watch/Listen to media stored on the Core]]&lt;br /&gt;
* [[Play the same media in multiple rooms simultaneously]]&lt;br /&gt;
&lt;br /&gt;
====Media Attributes====&lt;br /&gt;
* [[Flag media stored on the core as private]]&lt;br /&gt;
* [[Flag whatever media I am watching now as private]]&lt;br /&gt;
* [[Catalog media with attributes]]&lt;br /&gt;
* [[Search for media by attributes using the Orbiters]]&lt;br /&gt;
* [[Make LinuxMCE do something when I start media]]&lt;br /&gt;
* [[Have my media follow me]]&lt;br /&gt;
* [[How are media files organized?]]&lt;br /&gt;
* [[Use my own pictures in the Screen Saver]]&lt;br /&gt;
&lt;br /&gt;
===Telecom===&lt;br /&gt;
* [[LinuxMCE telecom features | General Usage Guide]]&lt;br /&gt;
* Make phone calls using a VOIP provider listed at [[VOIP Service Providers]].&lt;br /&gt;
* [[Manual Phones Configuration | How to Configure Phone Lines Manually]] &lt;br /&gt;
* Make phone calls using a regular phone line (POTS), ISDN or T1&lt;br /&gt;
* Do video conferencing&lt;br /&gt;
&lt;br /&gt;
==Troubleshooting==&lt;br /&gt;
&lt;br /&gt;
This troubleshooting guide assumes some basic knowledge of Linux. In LinuxMCE, everything is a device. In the [[LinuxMCE Admin Website]], you can choose [[Devices]], to see a list of all the devices in your installation. We recommend you don&#039;t make changes here - you can break things! The top level device is usually a computer, either the core or a hybrid or an orbiter. All the logs for the devices on that computer are stored in /var/log/pluto. You can ssh in to the core using the root password you chose, and from there, you can ssh to all the media directors-shared keys were automatically setup.&lt;br /&gt;
&lt;br /&gt;
All current activity is logged in the file that ends in &amp;quot;.log&amp;quot;. At bootup, certain device logs are archived into /var/log/pluto/*.log.*.gz files &lt;br /&gt;
&lt;br /&gt;
All DCE devices are running in separate screen sessions. Type &amp;quot;screen -ls&amp;quot; to see all active screen sessions,&lt;br /&gt;
and &amp;quot;screen -r PID&amp;quot; where PID is the id you saw in the -ls list to attach to the screen session. There is not much for you to do or see though since all the output on stderr and stdout is going into the logs. [[DCERouter]] is running the same way on your core or hybrid.&lt;br /&gt;
&lt;br /&gt;
At bootup, all the scripts listed in the [[LinuxMCE Admin Website]] under [[Boot Sequence]] are run. If any programs crash, a core dump file is put in /usr/pluto/coredump. &lt;br /&gt;
&lt;br /&gt;
If you&#039;re a programmer, you can also check out our [[Programmer&#039;s Guide]].  If you want to learn about writing DCE Devices, see the [[DCE]].&lt;br /&gt;
&lt;br /&gt;
*[[Testing and troubleshooting devices]]&lt;br /&gt;
*[[Development status for all modules|What works and what doesn&#039;t?]]&lt;br /&gt;
&lt;br /&gt;
==Other Items ==&lt;br /&gt;
*[[Security &amp;amp; Privacy Issues]]&lt;br /&gt;
*[[Installing Dansguardian]]&lt;br /&gt;
*[[Add support for new remote controls]]&lt;br /&gt;
*[[Automatic diskless boot of media directors]]&lt;br /&gt;
*[[Change the look and feel of the Orbiter]]&lt;br /&gt;
*[[Create my own skins or GUI for LinuxMCE]]&lt;br /&gt;
*[[Turn off photo screensaver]]&lt;br /&gt;
&lt;br /&gt;
== Accessibility and Languages ==&lt;br /&gt;
&lt;br /&gt;
*[[Translate the GUI into another language]]&lt;br /&gt;
&lt;br /&gt;
*[[accessibility]] Tools to make Linuxmce accessible&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15751</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15751"/>
		<updated>2008-09-30T16:08:33Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.  About $70-$100 should be your budget.  You don&#039;t need 512MB of graphics memory for LinuxMCE, 128MB or 256MB is adequate.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache 128 MB (5.6 GB/sec, 1400 Mtexels/sec) is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2 (4.2 GB/sec, 2400 Mtexels/sec).  6600GT should be fine (16 GB/sec, 4000 Mtexels/sec).&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless single slot [http://www.zotac.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=51&amp;amp;Itemid=143 8600GT] (22.4 GB/sec, 8640 Mtexels/sec) at AUD$100 (US85).  &lt;br /&gt;
&lt;br /&gt;
Other options are the [http://www.gigabyte.com.tw/Products/VGA/Products_Spec.aspx?ClassValue=VGA&amp;amp;ProductID=2574&amp;amp;ProductName=GV-NX85T512HP 8500GT] (12.8 GB/sec, 3600 Mtexels/sec), about AUD$60 (US$50).  This  less expensive than the 8600GT (22.4 GB/sec, 8640 Mtexels/sec) at AUD$100 (US$85) or 9500GT (14.4 GB/sec, 10400 Mtexels/sec) or 9600GTs- try the silent Zotac (&amp;quot;zone&amp;quot; series) or Gigabyte versions.  The drawback of the 9400GTs, 9500GTs and 9600GTs are that the silent versions take up 2 slots due to the size of the heatsink!&lt;br /&gt;
&lt;br /&gt;
You should look for a card that has the right sort of output for your TV or display- HDMI is good as it gives you a bit of future proofing.&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15750</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15750"/>
		<updated>2008-09-30T16:05:01Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.  About $70-$100 should be your budget.  You don&#039;t need 512MB of graphics memory for LinuxMCE, 128MB or 256MB is adequate.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache 128 MB (5.6 GB/sec, 1400 Mtexels/sec) is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2 (4.2 GB/sec, 2400 Mtexels/sec).  6600GT should be fine (16 GB/sec, 4000 Mtexels/sec).&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless single slot [http://www.zotac.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=51&amp;amp;Itemid=143 8600GT] (22.4 GB/sec, 8640 Mtexels/sec) at AUD$100 (US85).  &lt;br /&gt;
&lt;br /&gt;
Other options are the [http://www.zotac.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=24&amp;amp;Itemid=143 8500GT] (12.8 GB/sec, 3600 Mtexels/sec), about AUD$80 (US$70).  This is only a little bit less expensive than the 8600GT (22.4 GB/sec, 8640 Mtexels/sec) at AUD$100 (US$85) or 9500GT (14.4 GB/sec, 10400 Mtexels/sec) or 9600GTs- try the silent Zotac (&amp;quot;zone&amp;quot; series) or Gigabyte versions.  The drawback of the 9400GTs, 9500GTs and 9600GTs are that the silent versions take up 2 slots due to the size of the heatsink!&lt;br /&gt;
&lt;br /&gt;
You should look for a card that has the right sort of output for your TV or display- HDMI is good as it gives you a bit of future proofing.&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15749</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15749"/>
		<updated>2008-09-30T15:51:20Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.  About $70-$100 should be your budget.  You don&#039;t need 512MB of graphics memory for LinuxMCE, 128MB or 256MB is adequate.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache 128 MB (5.6 GB/sec, 1400 Mtexels/sec) is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2 (4.2 GB/sec, 2400 Mtexels/sec).  6600GT should be fine (16 GB/sec, 4000 Mtexels/sec).&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless [http://www.zotac.com/index.php?option=com_content&amp;amp;task=view&amp;amp;id=51&amp;amp;Itemid=143 8600GT] (22.4 GB/sec, 8640 Mtexels/sec) at AUD$100 (US85).  &lt;br /&gt;
&lt;br /&gt;
Other options are the 8500GT (12.8 GB/sec, 3600 Mtexels/sec), about AUD$80 (US$70).  This is only a little bit less expensive than the 8600GT (22.4 GB/sec, 8640 Mtexels/sec) at AUD$100 (US$85) or 9500GT (14.4 GB/sec, 10400 Mtexels/sec) or 9600GTs- try the silent Zotac (&amp;quot;zone&amp;quot; series) or Gigabyte versions.  The drawback of the 8600GTs, 9400GTs, 9500GTs and 9600GTs are that the silent versions take up 2 slots due to the size of the heatsink!&lt;br /&gt;
&lt;br /&gt;
You should look for a card that has the right sort of output for your TV or display- HDMI is good as it gives you a bit of future proofing.&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15748</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15748"/>
		<updated>2008-09-30T15:22:41Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.  About $70-$100 should be your budget.  You don&#039;t need 512MB of graphics memory for LinuxMCE, 128MB or 256MB is adequate.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache 128 MB (5.6 GB/sec, 1400 Mtexels/sec) is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2 (4.2 GB/sec, 2400 Mtexels/sec).  6600GT should be fine (16 GB/sec, 4000 Mtexels/sec).&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless 8500GT (12.8 GB/sec, 3600 Mtexels/sec), about AUD$80 (US$70).  This is only a little bit less expensive than the 8600GT (22.4 GB/sec, 8640 Mtexels/sec) at AUD$100 (US$85) or 9500GT (14.4 GB/sec, 10400 Mtexels/sec)- try the silent Zotac (&amp;quot;zone&amp;quot; series) or Gigabyte versions.  The drawback of the 9500GTs are that they take up 2 slots due to the size of the heatsink!&lt;br /&gt;
&lt;br /&gt;
You should look for a card that has the right sort of output for your TV or display- HDMI is good as it gives you a bit of future proofing.&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15747</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15747"/>
		<updated>2008-09-30T15:15:36Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.  About $70-$100 should be your budget.  You don&#039;t need 512MB of graphics memory for LinuxMCE, 128MB or 256MB is adequate.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache 128 MB (5.6 GB/sec, 1400 Mtexels/sec) is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2 (4.2 GB/sec, 2400 Mtexels/sec).  6600GT should be fine (16 GB/sec, 4000 Mtexels/sec).&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless 8500GT (12.8 GB/sec, 3600 Mtexels/sec), about AUD$80 (US$70).  This is only a little bit less expensive than the 8600GT (22.4 GB/sec, 8640 Mtexels/sec) at AUD$100 (US$85)- try the silent Zotac or Gigabyte versions.&lt;br /&gt;
&lt;br /&gt;
You should look for a card that has the right sort of output for your TV or display- HDMI is good as it gives you a bit of future proofing.&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15746</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15746"/>
		<updated>2008-09-30T15:14:21Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.  About $70-$100 should be your budget.  You don&#039;t need 512MB of graphics memory for LinuxMCE, 128MB or 256MB is adequate.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache 128 MB (5.6 GB/sec, 1400 Mtexels/sec) is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2 (4.2 GB/sec, 2400 Mtexels/sec).  6600GT should be fine (16 GB/sec, 4000 Mtexels/sec).&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless 8500GT (12.8 GB/sec, 3600 Mtexels/sec), about AUD$80 (US$70).  This is only a little bit less expensive than the 8600GT (22.4 GB/sec, 8640 Mtexels/sec) at AUD$100 (US$85)- try the silent Zotac or Gigabyte versions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15745</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15745"/>
		<updated>2008-09-30T15:10:12Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.  About $70-$100 should be your budget.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache 128 MB (5.6 GB/sec, 1400 Mtexels/sec) is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2 (4.2 GB/sec, 2400 Mtexels/sec).  6600GT should be fine (16 GB/sec, 4000 Mtexels/sec).&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless 8500GT (12.8 GB/sec, 3600 Mtexels/sec), about AUD$80 (US$70).  This is only a little bit less expensive than the 8600GT (22.4 GB/sec, 8640 Mtexels/sec)- try the silent Zotac or Gigabyte versions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15744</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15744"/>
		<updated>2008-09-30T11:28:06Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.  About $70-$100 should be your budget.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache 128 MB (5.6 GB/sec, 1400 Mtexels/sec) is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2 (4.2 GB/sec, 2400 Mtexels/sec).  6600GT should be fine (16 GB/sec, 4000 Mtexels/sec).&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless 8500GT (12.8 GB/sec, 3600 Mtexels/sec), about AUD$80 (US$70).  This is about to be replaced with the 8600GT (22.4 GB/sec, 8640 Mtexels/sec) for around the same price.&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15743</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15743"/>
		<updated>2008-09-30T11:27:01Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache 128 MB (5.6 GB/sec, 1400 Mtexels/sec) is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2 (4.2 GB/sec, 2400 Mtexels/sec).  6600GT should be fine (16 GB/sec, 4000 Mtexels/sec).&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless 8500GT (12.8 GB/sec, 3600 Mtexels/sec), about AUD$80 (US$70).  This is about to be replaced with the 8600GT (22.4 GB/sec, 8640 Mtexels/sec) for around the same price.&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15742</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15742"/>
		<updated>2008-09-30T11:22:47Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache 128 MB (5.6 GB/sec, 1400 Mtexels/sec) is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2.  6600GT should be fine.&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless 8500GT (12.8 GB/sec, 3600 Mtexels/sec), about AUD$80 (US$70).  This is about to be replaced with the 8600GT (22.4 GB/sec, 8640 Mtexels/sec) for around the same price.&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15741</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15741"/>
		<updated>2008-09-30T11:06:18Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check if the card takes up 1 or 2 slots on your motherbaord (due to the heatsink)&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2.  6600GT should be fine.&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless 8500GT, about AUD$80 (US$70). This is still to be verified, as I have one on order to replace my 6200 Turbocache 128MB.&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15740</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15740"/>
		<updated>2008-09-30T11:05:09Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2.  6600GT should be fine.&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless 8500GT, about AUD$80 (US$70). This is still to be verified, as I have one on order to replace my 6200 Turbocache 128MB.&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15739</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15739"/>
		<updated>2008-09-30T10:41:30Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.  [http://en.wikipedia.org/wiki/Comparison_of_NVIDIA_Graphics_Processing_Units Wikipedia] has a good section comparing the different cards.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
**Or it might not!&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2.  6600GT should be fine.&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless [http://www.asus.com/products.aspx?modelmenu=1&amp;amp;model=2505&amp;amp;l1=2&amp;amp;l2=6&amp;amp;l3=790&amp;amp;l4=0 9400GT], about AUD$80 (US$70). This is still to be verified, as I have one on order to replace my 6200 Turbocache 128MB.&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15738</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15738"/>
		<updated>2008-09-30T10:35:48Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2.  6600GT should be fine.&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless [http://www.asus.com/products.aspx?modelmenu=1&amp;amp;model=2505&amp;amp;l1=2&amp;amp;l2=6&amp;amp;l3=790&amp;amp;l4=0 9400GT], about AUD$80 (US$70). This is still to be verified, as I have one on order to replace my 6200 Turbocache 128MB.&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15737</id>
		<title>Template:Nvidia graphics cards</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Template:Nvidia_graphics_cards&amp;diff=15737"/>
		<updated>2008-09-30T10:35:08Z</updated>

		<summary type="html">&lt;p&gt;Indulis: New page: Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).  Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy com...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Nvidia graphics cards are currently (Sep 2008) recommended for LinuxMCE 7.10 (also called RC2).&lt;br /&gt;
&lt;br /&gt;
Here is a [http://www.techarp.com/article/Desktop_GPU_Comparison/nvidia_4_big.png handy comparison table].  And [http://www.hardwaresecrets.com/article/132 another one]- look at the GB/sec of memory transfer as one measure of performance.  You can see that the 9400 GT is about 3x faster in memory speed and 3D performance than a 6200 Turbocache.&lt;br /&gt;
&lt;br /&gt;
Simple rules:&lt;br /&gt;
&lt;br /&gt;
*Pick a version of a card which has a fanless design (heatsink/heatpipe only)&lt;br /&gt;
*Pick a low profile design to match cases that need the smaller physical card&lt;br /&gt;
*Check that the card is the same type as your motherboard slot- AGP or PCI-Express (PCI-E) are usually faster options over PCI cards.  PCI-E cards may specify a &amp;quot;1x&amp;quot; or &amp;quot;16x&amp;quot; slot which are different physically as well as in speed.&lt;br /&gt;
*Higher numbers tend to be faster (e.g. 9400 is faster than 7200)&lt;br /&gt;
*LE is a slow version of a particular graphics chipset&lt;br /&gt;
*GS is a slow version&lt;br /&gt;
*No suffix is medium speed&lt;br /&gt;
*GT is faster speed&lt;br /&gt;
*An LE in a higher chipset might be faster than a GT in a lower chipset&lt;br /&gt;
*There are other &amp;quot;high end&amp;quot; letter combinations which you don&#039;t generally need to worry about as these are 3D gaming cards whose extra performance does not help LinuxMCE&lt;br /&gt;
*A card with GDDR3 memory is often about 2x the speed of the same chipset without GDDR3&lt;br /&gt;
&lt;br /&gt;
LinuxMCE needs medium speed 3D and high speed 2D.&lt;br /&gt;
&lt;br /&gt;
The 6200 Turbocache is adequate for SD (standard definition- 576 lines or below) video playback.  It is also bit sluggish for UI2 Alpha Blended interface (horribly slow until you kill the photo screen saver).  Also not adequate for HD TV broadcasts (720p and above).&lt;br /&gt;
&lt;br /&gt;
The 6600 &#039;probably&#039; has enough horsepower for HDTV and UI2.  6600GT should be fine.&lt;br /&gt;
&lt;br /&gt;
The pick of the current Nvidia line up (Sep 2008) for a full height card is probably the fanless [http://www.asus.com/products.aspx?modelmenu=1&amp;amp;model=2505&amp;amp;l1=2&amp;amp;l2=6&amp;amp;l3=790&amp;amp;l4=0 9400GT], about AUD$80 (US$70). This is still to be verified, as I have one on order to replace my 6200 [indulis indulis].&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=File:NSK2480.jpg&amp;diff=15717</id>
		<title>File:NSK2480.jpg</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=File:NSK2480.jpg&amp;diff=15717"/>
		<updated>2008-09-25T16:36:02Z</updated>

		<summary type="html">&lt;p&gt;Indulis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
	<entry>
		<id>http://wiki.linuxmce.org/index.php?title=Add_a_page_to_the_wiki&amp;diff=15632</id>
		<title>Add a page to the wiki</title>
		<link rel="alternate" type="text/html" href="http://wiki.linuxmce.org/index.php?title=Add_a_page_to_the_wiki&amp;diff=15632"/>
		<updated>2008-09-16T17:14:53Z</updated>

		<summary type="html">&lt;p&gt;Indulis: /* Add a new page */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
[[Category:Tutorials]]&lt;br /&gt;
&lt;br /&gt;
== Introduction ==&lt;br /&gt;
&lt;br /&gt;
This wiki is community driven. If you don&#039;t add information about the hardware with which you have experience, there is little chance that somebody else is going to do it (unless they happen to have the same device).  Please don&#039;t be shy about adding a wiki page to this guide -- we really need your help!  If a page already exists, feel free to add your experiences to the page.&lt;br /&gt;
&lt;br /&gt;
== Add a new page==&lt;br /&gt;
&lt;br /&gt;
To add a new page, just type in a new URL into your browser like this:&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&amp;lt;nowiki&amp;gt;http://wiki.linuxmce.org/index.php/Name of the page you want to add&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The preferred URL naming convention for hardware, for example, is:&lt;br /&gt;
&lt;br /&gt;
: &#039;&#039;&amp;lt;nowiki&amp;gt;http://wiki.linuxmce.org/index.php/Manufacturer Model-Type-Etcetera&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The URL of this page is:&lt;br /&gt;
 &lt;br /&gt;
:&#039;&#039;&amp;lt;nowiki&amp;gt;http://wiki.linuxmce.org/index.php/Add_a_page_to_the_wiki&amp;lt;/nowiki&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The wiki will replace any spaces with underscores automatically. Simply go to this URL with your browser and start editing the newly created webpage.&lt;br /&gt;
&lt;br /&gt;
== Categorize your new page==&lt;br /&gt;
To categorize your new page, add tags like these at the top:&lt;br /&gt;
&lt;br /&gt;
: &amp;lt;nowiki&amp;gt;[[Category: Hardware]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: &amp;lt;nowiki&amp;gt;[[Category: Mainboards]]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That way the page will automatically be listed in these categories, making it easier to find.&lt;br /&gt;
See: [[Special:Categories]] for a list of all available categories. Also check out subcategories, such as the subcategories of the [[:Category: Hardware|Hardware category]], to find the appropriate subcategory.&lt;br /&gt;
&lt;br /&gt;
== Add content==&lt;br /&gt;
Add anything you feel is relevant.  See [[Help:Editing|Editing help]] for some tips and examples on the markup you can use.&lt;br /&gt;
&lt;br /&gt;
==Add hyperlinks (&#039;wikification&#039;)==&lt;br /&gt;
&lt;br /&gt;
*For links to Categories, use the format  &amp;lt;nowiki&amp;gt;[[:Category: Hardware]]&amp;lt;/nowiki&amp;gt;. &lt;br /&gt;
&lt;br /&gt;
*To use the actual text of a hyperlink, use this format:  &amp;lt;nowiki&amp;gt;[[Actual Name of Webpage]]&amp;lt;/nowiki&amp;gt;, which will be displayed as [[Actual Name of Webpage]].&lt;br /&gt;
&lt;br /&gt;
*To use alternate text for the hyperlink, use this format:  &amp;lt;nowiki&amp;gt;[[Actual_Name_of_webpage|What I Want It to Say]]&amp;lt;/nowiki&amp;gt;, which will be displayed as  &lt;br /&gt;
[[Actual_Name_of_webpage|What I Want It to Say]].&lt;br /&gt;
&lt;br /&gt;
==Move the Table of Contents to the right==&lt;br /&gt;
&lt;br /&gt;
Whenever you have more than four subdivisions in a page, a Table of Contents is automatically added. It you would like this table of contents to be moved to the right side of the screen (at the top), add the following code to the top of your web page:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;{| align=&amp;quot;right&amp;quot;&lt;br /&gt;
  | __TOC__&lt;br /&gt;
  |}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==A passage from Alice In Wonderland==&lt;br /&gt;
&lt;br /&gt;
From [http://www.ebbemunk.dk/alice/alice6.html Through the Looking Glass], by Lewis Carroll:&lt;br /&gt;
&lt;br /&gt;
&#039;The horror of that moment,&#039; the King went on, &#039;I shall never, never forget!&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;You will, though,&#039; the Queen said, &#039;if you don&#039;t make a memorandum of it.&#039;&lt;br /&gt;
&lt;br /&gt;
Alice looked on with great interest as the King took an enormous memorandum-book out of his pocket, and began writing. A sudden thought struck her, and she took hold of the end of the pencil, which came some way over his shoulder, and began writing for him.&lt;br /&gt;
&lt;br /&gt;
The poor King look puzzled and unhappy, and struggled with the pencil for some time without saying anything; but Alice was too strong for him, and at last he panted out, &#039;My dear! I really must get a thinner pencil. I can&#039;t manage this one a bit; it writes all manner of things that I don&#039;t intend -- &#039;&lt;/div&gt;</summary>
		<author><name>Indulis</name></author>
	</entry>
</feed>