<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Devolblog &#187; Tech</title>
	<atom:link href="http://devolblog.devolfamily.com/category/tech/feed/" rel="self" type="application/rss+xml" />
	<link>http://devolblog.devolfamily.com</link>
	<description>The sole purpose for Devolblog is to be a central location for me to record things to help my failing memory.  A lot of this won't be of any interest to anybody else, but if you do find something please leave me a comment so that I know.</description>
	<lastBuildDate>Wed, 01 Feb 2012 05:36:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>XBMC Live 10 on Acer Revo 1600</title>
		<link>http://devolblog.devolfamily.com/xbmc-live-10-on-acer-revo-1600/</link>
		<comments>http://devolblog.devolfamily.com/xbmc-live-10-on-acer-revo-1600/#comments</comments>
		<pubDate>Sun, 27 Mar 2011 04:02:54 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://devolblog.devolfamily.com/?p=1430</guid>
		<description><![CDATA[Notes for XBMC on an Acer1600; updated with each release.]]></description>
			<content:encoded><![CDATA[<p><img src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2011/03/home_screenshot001_large.jpg" alt="" title="home_screenshot001_large" width="450" height="253" class="alignleft size-full wp-image-1454" /></p>
<p>I did a fresh install of Live 10.1 yesterday and ran into some differences between my configuration steps as detailed for 9.11.  Again, this information is well documented in the forums but not collected in a single place.</p>
<p><strong>I. Install XBMC Live to Revo HDD</strong></p>
<ol>
<li>Download <a href="http://xbmc.org/download/">XBMC Live</a>.</li>
<li>Download <a href="http://unetbootin.sourceforge.net/">unetbootin</a>. The Mac version didn&#8217;t work for me so I had to run it under a Windows VM.</li>
<li>Plug in your USB drive and format it FAT32.</li>
<li>Launch unetbootin, select the XMBC Live iso and select the drive letter of your USB key and then let unetbootin do it&#8217;s thing.</li>
<li>Plug the USB key into your Revo, turn it on and hit F12 for the boot menu and select your USB key.<br />
<code>[Note: the guide has you create a file for permanent storage. This is <strong>only</strong> necessary if you want to run XBMC Live directly from the USB key. If you're installing to HDD then it's pointless.]</code></li>
<li>At the XBMC Live boot menu select the Install to HDD option. You&#8217;ll then see the normal ubuntu command line installer and it&#8217;ll walk you through partitioning the drive, etc.</li>
<li>Remove the USB key, reboot per the installer and make sure XMBC loads.</li>
</ol>
<p><strong>II. Audio over HDMI</strong></p>
<ol>
<li><code>[Note: this is very dependent on how and what you're hooking your Revo up to. Both guides fail to mention that the audio config they give you only works when connecting directly to screen and only outputs stereo. Wich should be obvious from 'Downmix multichannel audio to stereo - ON', but still, who wants stereo?!?]</code></li>
<li>Set Audio Output to Digital.</li>
<li>AC3:on</li>
<li>DTS:on</li>
<li>Alt+F2 to bring up a terminal, and login.</li>
<li>aplay -l and note the HDMI device; it should be card 0 device 3.</li>
<li>Set Audio Output Device to Custom and enter plughw:0,3.</li>
<li>Set Passthrough Output Device to Custom and enter plughw:0,3.</li>
<li>[ At this point you still won't have multichannel audio over HDMI on XBMC Live 10; see section III below ]</li>
<li>And of course, if you want menu sounds create /home/xbmc/.asoundrc and put:<br />
pcm.!default {<br />
type plug<br />
slave {<br />
pcm &#8220;hdmi&#8221;<br />
}<br />
}<br />
in it.</li>
</ol>
<p><strong>III. Install Nvidia drivers [solve no AC3/DTS over HDMI]</strong></p>
<ol>
<li>Just like 9.11 the Nivida drivers that ship need to be updated.  Even with the previous settings of &#8216;Custom plughw:0,3&#8242; I wasn&#8217;t able to get any audio over HDMI until I updated the Nvidia drivers.<br />
Original forum post <a href="http://forum.xbmc.org/showthread.php?t=87986">here</a>.</li>
<li>Alt+F2 to get command prompt, or SSH.	</li>
<li>sudo add-apt-repository ppa:ubuntu-x-swat/x-updates</li>
<li>sudo apt-get update</li>
<li>sudo apt-get install nvidia-current nvidia-current-modaliases nvidia-settings</li>
<li>[ The following might be optional, I haven't tested yet. ]</li>
<li>sudo wget http://pastebin.com/download.php?i=f5f9654bb -O /etc/asound.conf</li>
<li>sudo wget http://pastebin.com/download.php?i=f2e38265 -O /usr/share/alsa/cards/HDA-Intel.conf</li>
</ol>
<p><strong>IV. Password protected Samba share to transfer files to XMBC Live</strong></p>
<ol>
<li>sudo apt-get install samba</li>
<li>sudo nano /etc/samba/smb.conf</li>
<li>sudo smbpasswd -a [username]. Unlike in the Windows world where the shares use a local account for authentication, samba maintains it&#8217;s own user db. I&#8217;m sure somebody smarter than me knows how to get samba to look at linux local accounts, but for my purposes simply mirroring the user/pass of the local account in samba works.</li>
<li>The tail of my smb.conf file, sharing out two password protected directories.<br />
<code>[XBMC Aeon Backdrops]<br />
path = "/home/xbmc/Aeon Backdrops"</p>
<p>security = user [shared_folder]<br />
public = no<br />
read only = no<br />
guest ok = no<br />
writeable = yes<br />
printable = no<br />
create mask = 0755<br />
force create mode = 0755<br />
directory mask = 0775<br />
force directory mode = 0775</code></li>
</ol>
<p><strong>V. Wake-on-device (resume via remote)</strong></p>
<ol>
<li><code><a href="http://wiki.xbmc.org/?title=Enable_Wake-On-Device">Original xbmc wiki page</a></code></li>
<li>Alt+F2 to get command prompt, or SSH.	</li>
<li>sudo cat /proc/acpi/wakeup | grep USB</li>
<li>You should see lines:<br />
USB0	  S3	 disabled   pci:0000:00:04.0<br />
USB2	  S3	 disabled  pci:0000:00:04.1
</li>
<li>sudo echo USBx > /proc/acpi/wakeup</li>
<li><code>My IR receiver is plugged into USB0</code></li>
<li>sudo nano /etc/default/grub</li>
<li>Find GRUB_CMDLINE_LINUX_DEFAULT=&#8221;</li>
<li>Add usbcore.autosuspend=-1 acpi_enforce_resources=lax at the end of the line inside the quotes.</li>
<li>e.g. <code>GRUB_CMDLINE_LINUX_DEFAULT="quiet splash xbmc=autostart,nodiskmount loglevel=0 video=vesafb <strong><em>usbcore.autosuspend=-1 acpi_enforce_resources=lax</em></strong>"</code></li>
<li>sudo update-grub</li>
<li>Now if you cat /proc/acpi/wakeup, you should see &#8216;USBx S3 enabled&#8217;.</li>
<li>sudo nano /etc/rc.local</li>
<li>Add &#8216;echo USBx > /proc/acpi/wakeup&#8217; before &#8216;exit 0&#8242; to run at boot.</li>
</ol>
<p><strong>VI. Wake-on-boot for ethernet connection</strong></p>
<ol>
<li><code><a href="http://wiki.xbmc.org/index.php?title=HOW-TO_set_up_Wake-On-Lan_(Ubuntu)">Original xbmc wiki page</a></code></li>
<li>Install ethtool and wol</li>
<li>sudo apt-get install ethtool wakeonlan</li>
<li>Instead of using init.d scripts as per the wiki, I use the following.</li>
<li>sudo nano /etc/network/interfaces</li>
<li>Add the following to eth0:<br />
post-up /usr/sbin/ethtool -s eth0 wol g<br />
post-down /usr/sbin/ethtool -s eth0 wol g</li>
<li>restart networking</li>
<li>sudo ethtool eth0</li>
<li>Find:<br />
	Supports Wake-on: g<br />
	Wake-on: g</li>
<li>&#8216;g&#8217; indicates that eth0 is accepting magic packet for wol.</li>
</ol>
<p><strong>VII. Speed up fanart and thumbnails using DDS</strong></p>
<ol>
<li>XBMC 10 automatically generates the dds files now so no more messing with conversion scripts; what I couldn&#8217;t find was confirmation if it no longer needs to be activated via advancedsettings.</li>
<li>nano /home/xbmc/.xbmc/userdata/advancedsettings.xml</li>
<li>Add &#8216;<useddsfanart>true</useddsfanart>&#8216; between the advancedsettings tags.</li>
<li>The first time you browse your library it will be slow as it converts to dds.  After that scrolling should be smooth and fanart should load noticeably faster.</li>
</ol>
<p><strong>VIII. Install Aeon MQ 2 repo and skin</strong></p>
<ol>
<li>MQ 2 is the continuation of AEON with some new design updates and the ability to enable/disable view types to speed loading times. You can either download the skin and install it, or install the repo and use it to download and install the skin; I believe having the repo allows for automatic updating.</li>
<li>Download Aeon MQ 2 repo from <a href="http://www.marcosqui.com.br/downloads_english.html">MarcosQui&#8217;s site</a></li>
<li>scp the zip file to xbmc home directory:<br />
scp xbmc.repo.aeonmq.2.zip xbmc@<xbmclive hostname>:/home/xbmc/</li>
<li>In XBMC go to Add-Ons and Install From Zip</li>
<li>Choose the xbmc.repo.aeonmq2.zip file and Install</li>
<li>After install go back to Get Add-Ons > Repo Aeon MQ > Skin and select Install</li>
<li><code>Updating manually, Dharma can't install a skin over a skin. If you're currently using MQ 2, switch to a different skin before installing the newer version.</code></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://devolblog.devolfamily.com/xbmc-live-10-on-acer-revo-1600/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Use MySQL for XBMC library [repost from Lifehacker]</title>
		<link>http://devolblog.devolfamily.com/repost-from-lifehacker-use-mysql-for-xbmc-library/</link>
		<comments>http://devolblog.devolfamily.com/repost-from-lifehacker-use-mysql-for-xbmc-library/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 21:10:35 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Movies]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://devolblog.devolfamily.com/?p=1394</guid>
		<description><![CDATA[Use MySQL to sync all your XBMCs.]]></description>
			<content:encoded><![CDATA[<p><img src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2010/11/How-to-Synchronize-Your-XBMC-Media-Center-Between-Every-Room-in-the-House-300x189.jpg" alt="" title="How to Synchronize Your XBMC Media Center Between Every Room in the House" width="240" class="alignleft size-medium wp-image-1395" />This is a repost of the article, <a href="http://lifehacker.com/5634515/how-to-synchronize-your-xbmc-media-center-across-every-room-in-the-house">How to Synchronize Your XBMC Media Center Between Every Room in the House</a>, at <a href="http://lifehacker.com">Lifehacker</a>.  The functionality is dead simple, I just wasn&#8217;t aware that it existed.  The advantages of keeping a central library for all of the xbmc boxes in your home should seem obvious; however take a moment to think about the design implications.</p>
<p>So, obviously, for this to work you have to have a central server box in your home network that will be on 24/7.  On that box, you&#8217;ll need to install MySQL.  I&#8217;m not going to replicate any of the details of that from the post because I know that I know how to do that.  And since I&#8217;m my audience &#8230; </p>
<p>Next create a new db for xbmc and create/assign a user.  </p>
<ul>
<li>CREATE USER &#8216;xbmc&#8217; IDENTIFIED BY &#8216;xbmc&#8217;;</li>
<li>CREATE database xbmc_video;</li>
<li>CREATE database xbmc_music;</li>
<li>GRANT ALL ON &#8216;xbmc_%&#8217;.* TO &#8216;xbmc&#8217;;</li>
</ul>
<p>The <a href="http://lifehacker.com">Lifehacker</a> author assumes that you only have MySQL running for this purpose and tells you to use grant all on * to xbmc.  Not the best choice if you also have MySQL for other things.  MySQL has additional security options if you&#8217;re so inclined.  </p>
<p>Now that you&#8217;ve got the db setup, export the current XBMC Video and Music libraries.  Once you&#8217;ve got the export, simply modify advancedsettings.xml ( ~/.xbmc/userdata ) and look for the videodatabase and musicdatabase sections.  Should be pretty obvious from the tags below what you need to do.<br />
<code><br />
  &lt;videodatabase&gt;<br />
 &nbsp;&nbsp;&nbsp;&lt;type&gt;mysql&lt;/type&gt;<br />
 &nbsp;&nbsp;&nbsp;&lt;host&gt;***.***.***.***&lt;/host&gt;<br />
 &nbsp;&nbsp;&nbsp;&lt;port&gt;3306&lt;/port&gt;<br />
 &nbsp;&nbsp;&nbsp;&lt;user&gt;xbmc&lt;/user&gt;<br />
 &nbsp;&nbsp;&nbsp;&lt;pass&gt;xbmc&lt;/pass&gt;<br />
 &nbsp;&nbsp;&nbsp;&lt;name&gt;xbmc_video&lt;/name&gt;<br />
    &lt;/videodatabase&gt; </p>
<p>    &lt;musicdatabase&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;type&gt;mysql&lt;/type&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;host&gt;***.***.***.***&lt;/host&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;port&gt;3306&lt;/port&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;user&gt;xbmc&lt;/user&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;pass&gt;xbmc&lt;/pass&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;name&gt;xbmc_music&lt;/name&gt;<br />
    &lt;/musicdatabase&gt;<br />
</code><br />
The use of IPs is dumb, I didn&#8217;t look too hard, but as long as DNS is working (or a local hosts file) I don&#8217;t see why you can&#8217;t use a hostname instead.  Unfortunately, I&#8217;m pretty sure changes to advancedsettings requires a reboot; after that, import your old library and it should write it to the db.  </p>
<p>I don&#8217;t actually want all xbmc boxes to use the same library.  I envision my downstairs wi-fi connected xbmc to be primarily for kids movies and have challenges streaming HD so it&#8217;ll be using local storage.  But my server running MySQL has three different backup strategies running (I&#8217;m paranoid about my digital pictures) so I plan to use this method to always have a backup of my xbmc libraries.  The video library easily recreates itself, it&#8217;s the music library that&#8217;s a pain if I lose it.</p>
]]></content:encoded>
			<wfw:commentRss>http://devolblog.devolfamily.com/repost-from-lifehacker-use-mysql-for-xbmc-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[archived] GPU accelerated fanart for XBMC (Live/Ubuntu).</title>
		<link>http://devolblog.devolfamily.com/gpu-accelerated-fanart-for-xbmc-liveubuntu/</link>
		<comments>http://devolblog.devolfamily.com/gpu-accelerated-fanart-for-xbmc-liveubuntu/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 21:18:14 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[xbmc]]></category>

		<guid isPermaLink="false">http://devolblog.devolfamily.com/?p=1304</guid>
		<description><![CDATA[[deprecated] GPU acceleration for fanart ]]></description>
			<content:encoded><![CDATA[<p><a href="http://xbmc.org"><img class="alignleft size-full wp-image-1303" title="xbmc" src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2010/01/xbmc.gif" alt="xbmc" width="209" height="85" /></a><strong>[  <code><span style="color: #993300;">Information in this post is completely outdated.  The best thing to do is install Dharma from source or wait for next release.</span></code> ]</strong></p>
<p>Update 2-12 See bottom of post for instructions on how to enabled gpu acceleration of thumbnails as well as fanart.</p>
<p>Replication of this <a href="http://xbmc.org/forum/showpost.php?p=492522&amp;postcount=66">tutorial</a> for having the gpu render fanart images on xmbc live/ubuntu just in case it goes away. This is experimental at the moment and has some drawbacks for every day use, but will show an improvement in scroll speed in the gui as its handing off loading fanart images to the gpu; very handy for low power atom/ion computers.</p>
<p>To enable dds fanart in xbmc, create an advancedsettings.xml file in your userdata directory. If using XBMC Live, this will be ~/.xbmc/userdata. Edit advancedsettings.xml and add:</p>
<p><code>&lt;advancedsettings&gt;<br />
&lt;useddsfanart&gt;true&lt;/useddsfanart&gt;<br />
&lt;/advancedsettings&gt;</code></p>
<p>I believe you&#8217;ll need to reboot/restart xbmc for this to take effect.</p>
<p><strong>Cons:</strong></p>
<ol>
<li>The .dds images are <del datetime="2010-01-27T19:22:50+00:00">much larger than the jpg compressed tbn files, e.g. 10MB vs 1.4MB</del> a bit larger than the jpg.  I went back and looked and most were only about 1/3 bigger than the original. <del datetime="2010-01-27T19:22:50+00:00">So obviously this isn&#8217;t going to work so hot</del> Might be a deal breaker if you&#8217;re running Live on a small-ish usb stick.</li>
<li>Once useddsfanart is enabled, new fanart must be converted before it is displayed, there is no fallback to regular tbn file. (How much overhead in having cron run the conversion script every few minutes or loop the script?)</li>
<li><del datetime="2010-01-27T19:22:50+00:00">Depending on the complexity of the skin, there might not be a huge performance boost. I&#8217;m using Aeon and the performance increase is noticable if you look hard, but not astounding, since Aeon is displaying a bunch of other images at the same time.</del> I discovered, by accident, that even though I had ddsfanart enabled, xbmc was still using the tbn fanart.  I had a few other entries in my advancedsettings.xml file and I think the conflicted with ddsfanart.  I now have it working properly and the speed difference is amazing and totally worth the hassle if you&#8217;re using a nettop.</li>
</ol>
<p><strong>What you&#8217;ll need:</strong></p>
<ul>
<li><a href="http://code.google.com/p/nvidia-texture-tools/">NVIDIA Texture Tools</a></li>
<li><a href="http://www.nvidia.com/object/thankyou.html?url=/compute/cuda/2_3/toolkit/cudatoolkit_2.3_linux_32_ubuntu9.04.run">CUDA Tools</a></li>
<li>g++ and gcc versions 4.4 and 4.3</li>
<li>libjpeg and dev files</li>
<li>cmake</li>
</ul>
<p><strong>Install</strong></p>
<ol>
<li>Install g++, gcc, libjpeg62 and cmake:<code>sudo apt-get install g++ g++-4.3 gcc-4.3 libjpeg62-dev cmake</code>
<p>(the cuda extension for nvcompress won&#8217;t compile on 4.4 for some reason, which is what comes with Ubuntu 9.10 Karmic. If you are running 9.04 you&#8217;re fine.)<br />
CUDA isn&#8217;t strictly needed, nvcompress will still work pretty quickly with the -fast option, but CUDA still seems fastest. If you don&#8217;t want to use CUDA, don&#8217;t install the cuda tools because the texture tools won&#8217;t compile without some extra work with g++ 4.3.</p>
<p><strong>*Note</strong> I went the CUDA route because I&#8217;m doing the conversion directly on my AR1600 and need all the help I can get. Compression time was typically 13-16sec per 1920&#215;1080 jpg with cpu at 100% &#8230; which might make having the conversion script running with xbmc cause some issues.</li>
<li>To install the CUDA tools, in terminal go to the directory where you downloaded the CUDA file I linked and run:<code>sudo sh cudatoolkit_2.3_linux_32_ubuntu9.04.run</code></li>
<li>Now you have to add the cuda libraries to your shared libraries by editing a file. I use nano for my text editor, feel free to use whatever you like.<code>sudo nano /etc/ld.so.conf</code>
<p>and add this line to the end</p>
<p><code>include /usr/local/cuda/lib/</code></li>
<li>After you save the file, run:<code>sudo ldconfig -v</code>
<p>to update the libraries.</li>
<li>Assuming you want CUDA acceleration, after you have installed g++ and ran the CUDA tools installer, move to the nvidia-texture-tools directory (wherever you unzipped it to) and run:<code>./configure</code>
<p>You should see in the list of things that come up that JPEG is found and CUDA is found.</li>
<li>If that works well, and you are on Ubuntu Karmic then you need to set up g++ to compile using version 4.3.<code>sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 44 --slave /usr/bin/g++ g++ /usr/bin/g++-4.4 --slave /usr/bin/gcov gcov /usr/bin/gcov-4.4<br />
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.3 43 --slave /usr/bin/g++ g++ /usr/bin/g++-4.3 --slave /usr/bin/gcov gcov /usr/bin/gcov-4.3</code></li>
<li>You can confirm that this finished right by running:<code>sudo update-alternatives --display gcc</code></li>
<li>Now set the system to run version 4.3 instead of 4.4.<span style="color: red;">make sure to change this back when you&#8217;re done</span>
<p><code>sudo update-alternatives --config gcc</code></p>
<p>You should see something like this:</p>
<p><code>There are 2 choices for the alternative gcc (providing /usr/bin/gcc).</code></p>
<p><code>Selection    Path              Priority   Status<br />
------------------------------------------------------------<br />
* 0            /usr/bin/gcc-4.4   44        auto mode<br />
1            /usr/bin/gcc-4.3   43        manual mode<br />
2            /usr/bin/gcc-4.4   44        manual mode</p>
<p></code><code>Press enter to keep the current choice[*], or type selection number:</code></p>
<p>In this case you would type 1 and hit enter. Just put whatever number you have to switch to version 4.3.</li>
<li>After this is done, in the nvidia-texture-tools folder, type:<code>sudo make</code></li>
<li>and, assuming everything compiled ok (I got some warnings in the compile process but it did finish and everything seems to work fine) type:<code>sudo make install</code>
<p>and it should install the files properly.</li>
<li>At this point you can change your default compiler back to version 4.4 by running the same command as above and set back to auto (option 0 in the example).</li>
<li>Try to run nvcompress (you should be able to do this anywhere in the command line now) and if you get the typical list of options than you are good to go. Initially I had some issues with nvcompress not seeing the needed shared libraries. You&#8217;ll know if you have this same problem if, when you try to run nvcompress, you get an error saying it can&#8217;t find some shared library. If this is the case, follow the next instructions.</li>
<li>Move to the /usr/local/bin directory and check if nvcompress is really not seeing libraries.<code>cd /usr/local/bin<br />
ldd nvcompress</code></p>
<p>You should see a list of libraries that nvcompress depends on. If you have any entries that say Not Found at the end than some libraries aren&#8217;t being seen. I was missing one (libcudart.so.2) at the end of all these steps, but I fixed this by copying the file to a library I knew was working.</p>
<p><code>sudo cp /usr/local/cuda/lib/libcudart.so.2 /usr/local/lib/libcudart.so.2<br />
sudo ldconfig -v</code></p>
<p>You only need to do something like this if nvcompress gives an error that it can&#8217;t find a shared library.</p>
<p><strong>*Note</strong> When I checked the first time, there were a bunch of libraries missing.  I then followed the instructions to copy over libcudart.so.2 and re-ran the check and all of them appeared so I proceeded as planned.</li>
</ol>
<p><strong>Compress Scripts</strong><br />
The <a href="http://xbmc.org/forum/showthread.php?t=59115">post</a> currently has two different scripts for automatically converting the fanart directories.  Both only address the video fanart directory and will need to have the music fanart directory added to also convert those.</p>
<ul>
<li><strong>Script #1</strong><br />
<code>#!/bin/sh</p>
<p></code><code>rename 's/tbn$/jpg/' ~/.xbmc/userdata/Thumbnails/Video/Fanart/*.tbn<br />
find ~/.xbmc/userdata/Thumbnails/Video/Fanart -type f -name '*.jpg' -printf '%f\n' | sed 's/.jpg$/\n/' &gt; ~/.xbmc/userdata/Thumbnails/Video/Fanart/found.txt<br />
find ~/.xbmc/userdata/Thumbnails/Video/Fanart -type f -name '*.dds' -printf '%f\n' | sed 's/.dds$/\n/' &gt;&gt; ~/.xbmc/userdata/Thumbnails/Video/Fanart/found.txt<br />
cat ~/.xbmc/userdata/Thumbnails/Video/Fanart/found.txt | sort | uniq -u &gt; ~/.xbmc/userdata/Thumbnails/Video/Fanart/new.txt<br />
cat ~/.xbmc/userdata/Thumbnails/Video/Fanart/new.txt | xargs -I {} nvcompress -bc1 ~/.xbmc/userdata/Thumbnails/Video/Fanart/{}.jpg<br />
rename 's/jpg$/tbn/' ~/.xbmc/userdata/Thumbnails/Video/Fanart/*.jpg<br />
rm ~/.xbmc/userdata/Thumbnails/Video/Fanart/found.txt<br />
rm ~/.xbmc/userdata/Thumbnails/Video/Fanart/new.txt</code></li>
<li><strong>Script #2</strong><br />
<code>#!/bin/sh<br />
cd ~/.xbmc/userdata/Thumbnails/Video/Fanart/ || exit<br />
find . -name '*.tbn' -or -name '*.dds' | cut -c-10 | sort | uniq -u |<br />
while read n; do<br />
mv $n.tbn $n.jpg<br />
nvcompress -bc1 $n.jpg | awk '/taken:/{printf $3}'<br />
mv $n.jpg $n.tbn<br />
echo "s $(ls *.dds | wc -l)/$(ls *.tbn | wc -l)"<br />
done</code></li>
</ul>
<p>Instead of using crontab I would prefer to figure out how to loop the script so that it could remain running and loop every xx seconds.  Will investigate tonight.</p>
<p><strong>Update 1-27</strong> I&#8217;ve modified script #2 by wrapping it in a while -d ; do and controlling the frequency with sleep.  I&#8217;m totally not a bash scripter, but the idea is to keep the script running conditional to the directory existing.  I&#8217;ve also nested a loop through the music fanart directory wrapped in an if statement that checks for the music directory&#8217;s existence; I&#8217;ll post the script tonight.  I still need to test to see if it will actually pick up new files though.  If anybody is reading this and has any bash scripting experience feel free to post a comment with any tips/suggestions.</p>
<p><strong>Update 2-12</strong> Still need to post my hacked up script for converting tbn to dds and have it watch for new additions (still doesn&#8217;t pick up changed tbn).</p>
<p>Currently, the switch in advancedsettings only enables gpu acceleration of dds compressed fanart.  With a small change to source you can also enable dds thumbnails which makes an epic difference in scroll speed on my AR1600.</p>
<p>(copy and paste directly from <a href="http://forum.xbmc.org/showpost.php?p=507476&amp;postcount=164">this</a> forum post)<br />
<code>--- xbmc/GUILargeTextureManager.cpp~<br />
+++ xbmc/GUILargeTextureManager.cpp<br />
@@ -64,8 +64,10 @@ bool CImageLoader::DoWork()<br />
{<br />
CStdString baseFolder1 = g_settings.GetMusicFanartFolder();<br />
CStdString baseFolder2 = g_settings.GetVideoFanartFolder();<br />
+      CStdString baseFolder3 = g_settings.GetVideoThumbFolder();<br />
if (baseFolder1.Equals(m_path.Left(baseFolder1.GetLength())) ||<br />
-          baseFolder2.Equals(m_path.Left(baseFolder2.GetLength())))<br />
+          baseFolder2.Equals(m_path.Left(baseFolder2.GetLength())) ||<br />
+          baseFolder3.Equals(m_path.Left(baseFolder3.GetLength())))<br />
{ // switch to dds<br />
CUtil::ReplaceExtension(m_path, ".dds", loadPath);<br />
}<br />
</code></p>
<ol>
<li>nano xmbc/GUILargeTextureManager.cpp</li>
<li>add the new CStdString baseFolder 3 line</li>
<li>remove the trailing ) for the existing baseFolder2.Equals line and add || to the end</li>
<li>add new baseFolder3.Equals line</li>
<li>compile and install<br />
<span style="font-size: 9px;">Need to add compile and install from source instructions to my other post because I keep forgetting, when I do it, to make sure I&#8217;ve got lib-vdpau and end up having to compile twice.</span></li>
<li>make sure to convert tbn to dds for your root /Thumbnails/Video folder and not just /Fanart</li>
</ol>
<p>From my limited testing, it also appears that my music album cover thumbnails are accelerated?!  Which is baffling, I&#8217;m hoping I&#8217;m just imaging things; I was expecting to need the addition of another baseFolder line.</p>
<ul>
<li><strong><span style="text-decoration: underline;">My Script</span></strong></li>
<li>/etc/rc.local add either <code>/etc/init.d/xbmc-dds-compress start</code> if using an init script or, <code>/home/xbmc/dds-convert.sh &amp;</code> so that the script starts at boot.</li>
<li>Really cheap init script.  Save to /etc/init.d and chmod +x.<br />
<code>#!/bin/sh<br />
#<br />
# Script to start DDS-Compress<br />
#<br />
set -e<br />
. /lib/lsb/init-functions<br />
case "$1" in<br />
start)<br />
/home/xbmc/dds-convert.sh &amp;<br />
;;<br />
stop)<br />
pkill dds-convert.sh<br />
;;<br />
esac<br />
exit 0</code></li>
<li>Script that I&#8217;m using.  It&#8217;s a modification of #2 above.  It&#8217;s monitoring the root Thumbnails/Video directory to convert all thumbnails and fanart; goes along with the source code change above.<br />
<code>#!/bin/sh<br />
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/<br />
video='/home/xbmc/.xbmc/userdata/Thumbnails/Video'<br />
music='/home/xbmc/.xbmc/userdata/Thumbnails/Music'<br />
private='/home/xbmc/.xbmc/userdata/profiles/Private/Thumbnails/Video'</p>
<p># limit cpu usage for nvcompress so it doesn't kill xbmc gui<br />
cpulimit -e nvcompress -l 50 &amp;</p>
<p>while [ -d $video  ]; do</p>
<p>cd $video || exit</p>
<p>find . -name '*.tbn' -or -name '*.dds' | cut -d'.' -f2 | sort | uniq -u |</p>
<p>while read n; do</p>
<p>mv $video$n.tbn $video$n.jpg<br />
nvcompress -bc1 $video$n.jpg | awk '/taken:/{printf $3}'<br />
mv $video$n.jpg $video$n.tbn</p>
<p>done</p>
<p>#music is secondary and only done if video exists<br />
if [ -d $music ]; then</p>
<p>cd $music || exit</p>
<p>find . -name '*.tbn' -or -name '*.dds' | cut -d'.' -f2 | sort | uniq -u |</p>
<p>while read n; do</p>
<p>mv $music$n.tbn $music$n.jpg<br />
nvcompress -bc1 $music$n.jpg | awk '/taken:/{printf $3}'<br />
mv $music$n.jpg $music$n.tbn</p>
<p>done</p>
<p>fi</p>
<p>#doing Private profile Thumbnails here<br />
if [ -d $private ]; then</p>
<p>cd $private || exit</p>
<p>find . -name '*.tbn' -or -name '*.dds' | cut -d'.' -f2 | sort | uniq -u |</p>
<p>while read n; do</p>
<p>mv $private$n.tbn $private$n.jpg<br />
nvcompress -bc1 $private$n.jpg | awk '/taken:/{printf $3}'<br />
mv $private$n.jpg $private$n.tbn</p>
<p>done</p>
<p>fi</p>
<p>sleep 1</p>
<p></code><code>done</code><br />
My scripting skills aren&#8217;t the best, but I&#8217;m at least checking to make sure the directories exist.  I don&#8217;t really remember why I decided that Music should be nested under the main Video wrap, but I guess it works.  I also put in a section labelled &#8216;Private&#8217; for profiles; if you&#8217;re using different profiles just replace Private with your profile&#8217;s name.  Without the sleep command this script will use about 10-15% CPU on the AR1600.  With, you never see it in TOP.</p>
<p>Also, I&#8217;m using cpulimit (<code>sudo apt-get install cpulimit</code>) on nvcompress so that XBMC doesn&#8217;t choke when new content is added.</li>
<li><em>This script fails to convert changed posters or fanart for an existing library item.  I need to take a closer look at the find command to see if I can also watch for file changes.</em></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://devolblog.devolfamily.com/gpu-accelerated-fanart-for-xbmc-liveubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XBMC on an Acer Aspire Revo 1600 *outdated* (see newer xbmc live 10 post)</title>
		<link>http://devolblog.devolfamily.com/xbmc-on-an-acer-aspire-revo-1600/</link>
		<comments>http://devolblog.devolfamily.com/xbmc-on-an-acer-aspire-revo-1600/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 01:07:34 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Movies]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[xbmc]]></category>

		<guid isPermaLink="false">http://devolblog.devolfamily.com/?p=1274</guid>
		<description><![CDATA[[deprecated] old XBMC install]]></description>
			<content:encoded><![CDATA[<p><a href="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/12/aeon_backdrops.jpg"><img class="alignleft size-full wp-image-1288" title="aeon_backdrops" src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/12/aeon_backdrops.jpg" alt="aeon_backdrops" width="320" height="180" /></a></p>
<p><strong>This post is outdated after the Dharma release, I will copy relevant info from this post to the newer post.</strong></p>
<p><code><del datetime="2011-03-26T19:41:16+00:00">[<strong>Note</strong>: There's currently a bug that has been fixed in svn (<a href="http://xbmc.org/trac/changeset/26394">changeset</a>) that causes Aeon to crash.  I compiled and installed from svn and confirm that the bug is fixed; will create an idoits guide to installing from svn soon.  Again, like most things XBMC, it wasn't hard but nobody wanted to give up concise, correct instructions.]</del></code></p>
<p><strong>Notes</strong><br />
I&#8217;m filling in a lot of blanks from this guide on the XBMC.org forums <a href="http://xbmc.org/forum/showthread.php?t=53888&amp;highlight=Aspire">here</a>, or the Lifehacker guide <a href="http://lifehacker.com/5391308/build-a-silent-standalone-xbmc-media-center-on-the-cheap">here</a>. Unfortunately a lot of this info is scattered around forum posts and these guides will only get you most of the way there. For instance, don&#8217;t mess with adding the nvidia drivers to the iso &#8230; I mean you could if you wanted to but why not just do them after install?</p>
<p><strong>Purpose</strong><br />
I need to catalogue all of the changes I had to make so that, in the event I ever need to do it all over again, I don&#8217;t spend the six &#8211; seven hours it took me the first time digging through random forum posts. For my purposes, I want to install XMBC directly to the revo&#8217;s hdd but since it has no cd/dvd rom, and there&#8217;s no way I&#8217;ll go buy one just for this, it needs to install from usb. I don&#8217;t know why this is, but there seems to be a lot of posts asking how this is done, and I think people get confused because of extra random steps mentioned in the thread.</p>
<p><strong>I. Install XBMC Live to Revo HDD</strong></p>
<ol>
<li>Download <a href="http://xbmc.org/download/">XBMC Live</a>.</li>
<li>Download <a href="http://unetbootin.sourceforge.net/">unetbootin</a>. <code>[I don't know if this part is correct]</code> For Mac users, like me, it appears easist to run it under a Windows virtual or boot camp even though there&#8217;s a Linux version.</li>
<li>Plug in your USB drive and <code>[I had trouble getting my USB key to boot until I did this]</code> format it FAT32.</li>
<li>Launch unetbootin, select the XMBC Live iso and select the drive letter of your USB key and then let unetbootin do it&#8217;s thing.</li>
<li>Plug the USB key into your Revo, turn it on and <code>[Optional]</code> hit Del to get to the bios and change the boot priority to removable devices. <code>[/Optional]</code> hit F12 for the boot menu and select your USB key.<br />
<code>[Note: the guide has you create a file for permanent storage. This is <strong>only</strong> necessary if you want to run XBMC Live directly from the USB key. If you're installing to HDD then it's pointless.]</code></li>
<li>At the XBMC Live boot menu select the Install to HDD option. You&#8217;ll then see the normal ubuntu command line installer and it&#8217;ll walk you through partitioning the drive, etc.</li>
<li>Remove the USB key, reboot per the installer and make sure XMBC loads. Once it has, immediately shut it down.</li>
</ol>
<p><strong>II. Install Invidia drivers</strong></p>
<ol>
<li><code>[I haven't confirmed if XMBC Live 9.11 final contains up to date Nvidia drivers since the install to HDD option was broken when this was written and I had to use RC1 -&gt; apt-get update / upgrade path]</code>Download latest Nvidia ION Linux drivers <a href="http://www.nvidia.com/content/drivers/drivers.asp">here</a>. Make sure to check beta releases. Current certified 190.53 appears to be working with 9.11 Live.</li>
<li>Copy them over, or easier yet, use <code>[need to verify url]</code> wget http://us.download.nvidia.com/XFree86/Linux-x86/190.53/NVIDIA-Linux-x86-190.53-pkg1.run. Should be obvious from url that you can you just replace the version number with whichever you&#8217;re after.</li>
<li>Install &#8230; sudo sh NVIDIA-Linux-x86-190.53-pkg1.run.</li>
<li>Reboot; done.</li>
<li>Once in XBMC, you should be fine leaving the Renderer option set to Auto, but if you really feel the need switch it to VDPAU.</li>
<li>My Revo 1600 is running 1080p fine with only the stock 1gb, but I still have another 1gb on order. I&#8217;ve also noticed the tiniest bit of jitter during playback (about the same as PS3MS to PS3) and am still investigating all of the xorg.conf posts for that solution.</li>
</ol>
<p><strong>III. Audio over HDMI</strong></p>
<ol>
<li><code>[Note: this is very dependent on how and what you're hooking your Revo up to. Both guides fail to mention that the audio config they give you only works when connecting directly to screen and only outputs stereo. Wich should be obvious from 'Downmix multichannel audio to stereo - ON', but still, who wants stereo?!?]</code></li>
<li>Set Audio Output to Digital.</li>
<li>AC3:on</li>
<li>DTS:on</li>
<li>Both guides state that both, audio output device and passthrough output device should be set to &#8216;hdmi&#8217;. Unfortunately, this didn&#8217;t work for me and all I got was silence. There&#8217;s a massive thread about multichannel audio <a href="http://xbmc.org/forum/showthread.php?t=59877&amp;highlight=plughw%3A0%2C3">here</a>, but I found that I didn&#8217;t need any of it except for one key part.</li>
<li>Alt-F2 to bring up a terminal, and login.</li>
<li>aplay -l and note the HDMI device; it should be card 0 device 3.</li>
<li>Set Audio Output Device to Custom and enter plughw:0,3.</li>
<li>Set Passthrough Output Device to Custom and enter plughw:0,3.</li>
<li>Downmix multichannel audio to stereo: <strong>off</strong></li>
<li>You should now get DD5.1 and DTS5.1 <code>[possibly 7.1 too?]</code> out of the Revo&#8217;s HDMI. My assumption is that you&#8217;re connecting the Revo HDMI to either a receiver with HDMI in, or you&#8217;re routing sound through your TV via HDMI in and then Optical out to your receiver (how mine is configured). Since the Revo 1600 has no optical out, that route isn&#8217;t covered. I would guess that for the 3600 all you&#8217;d need to change would be the approiate card / hardware numbers, but I haven&#8217;t done any research into that.</li>
<li>And of course, if you want menu sounds create /home/xbmc/.asoundrc and put:<br />
pcm.!default {<br />
type plug<br />
slave {<br />
pcm &#8220;hdmi&#8221;<br />
}<br />
}<br />
in it.</li>
</ol>
<p><strong>IV. Logitech Harmony Remote</strong></p>
<ol>
<li>Get an IR Receiver by purchasing a <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16880121001&#038;cm_re=mce_remote-_-80-121-001-_-Product">cheap MCE remote</a>.</li>
<li>Verify that the MCE remote works with xbmc-live out of the box (it should).</li>
<li>In the Harmony remote software setup the revo as a Media Center PC -> Manufacturer: Microsoft -> Model: manually type in Extender.  I had a hell of a time getting my Harmony 550 to work before I found that little tidbit recently.  Even manually learning the IR from the other remote wasn&#8217;t working.</li>
<li>If you also have an Xbox360 that&#8217;s sitting nearby, using the power toggle of the MCE Remote/Harmony will also turn it on or off.  Go into system setup on the 360 and set it to xbox360 remote only.  Don&#8217;t worry, the activity for the 360 on the Harmony will still power it on and off &#8230; I&#8217;d have to guess it won&#8217;t navigate menus but I only use my 360 for gaming so the controller is on and that&#8217;s what I&#8217;m using for navigation.  Why would you watch movies on the 360 now that you have XBMC?  Netflix?!?  Two words &#8230; use, net.</li>
<li><code>[Still need to adjust timing, Harmony software on Mac isn't letting me edit the default 200ms setting.  Also still need to map back and home to a face button.]</code></li>
</ol>
<p><strong>V. Skins from git</strong></p>
<ol>
<li>This is another one of those really easy things that gets more complicated the more people talk about it. For Aeon, use the scripts from <a href="http://xbmc.org/forum/showthread.php?t=56423">here</a> and save yourself some time.</li>
<li>Install git client; sudo apt-get install git-core</li>
<li>git clone git://github.com/ &#8220;/home/xbmc/.xbmc/skin/&#8221;<br />
e.g. git clone git://github.com/HitcherUK/Alaska.git &#8220;/home/xbmc/.xbmc/skin/Alaska&#8221;</li>
</ol>
<p><strong>VI. Password protected Samba share to transfer files to the Revo</strong></p>
<ol>
<li>sudo apt-get install samba</li>
<li>sudo nano /etc/samba/smb.conf</li>
<li>sudo smbpasswd -a [username]. Unlike in the Windows world where the shares use a local account for authentication, samba maintains it&#8217;s own user db. I&#8217;m sure somebody smarter than me knows how to get samba to look at linux local accounts, but for my purposes simply mirroring the user/pass of the local account in samba works.</li>
<li>The tail of my smb.conf file, sharing out two password protected directories.<br />
<code>[XBMC Skins]<br />
path = /home/xbmc/.xbmc/skin</p>
<p>security = user [shared_folder]<br />
public = no<br />
read only = no<br />
guest ok = no<br />
writeable = yes<br />
printable = no<br />
create mask = 0755<br />
force create mode = 0755<br />
directory mask = 0775<br />
force directory mode = 0775</p>
<p>[XBMC Aeon Backdrops]<br />
path = "/home/xbmc/Aeon Backdrops"</p>
<p>security = user [shared_folder]<br />
public = no<br />
read only = no<br />
guest ok = no<br />
writeable = yes<br />
printable = no<br />
create mask = 0755<br />
force create mode = 0755<br />
directory mask = 0775<br />
force directory mode = 0775</code></li>
</ol>
<p><strong>VII. Xorg changes</strong></p>
<ol>
<li>sudo cp /etc/X11/xorg.conf /etc/X11/xorg.orig</li>
<li>sudo nano /etc/X11/xorg.conf</li>
<li>If XBMC boots to a command prompt, you did something wrong. Comment out your change and restart.</li>
<li>Gamma: on my TV XBMC is way too dark so I needed to adjust the gamma. On the XBMC forums, somebody posted that gamma was specified in the form: gamma r g b; calling out gamma values for each channel. Turns out with XBMC Live, it needs a single gamma value, e.g. gamma 1.2, or it pukes. <code>[If you have the opposite problem where the gui is bright but your movies are too dark, enable VDPAU studio level color conversion (need to look up where this is located)]</code></li>
<li>Jitter/Judder: <code>[I'm still messing around with these to see if any work, as it stands some of these modifications make my install puke to command prompt]</code><br />
From the revouser thread <a href="http://www.revouser.com/forum/viewtopic.php?f=7&amp;t=33#p271">here</a>.<br />
<span style="text-decoration: underline;">Monitor Section:</span><br />
HorizSync 31.0 &#8211; 69.0<br />
VertRefresh 59.0 &#8211; 86.0<br />
<code>[confirmed the above works and made a large difference visually]</code><br />
<span style="text-decoration: underline;">Device Section:</span><br />
Option &#8220;DynamicTwinView&#8221; &#8220;False&#8221;<br />
Option &#8220;TripleBuffer&#8221; &#8220;True&#8221;<br />
<code>[above works, but no visual change that I can detect]</code><br />
<span style="text-decoration: underline;">Screen Section:</span><br />
Option &#8220;TwinView&#8221; &#8220;False&#8221;<br />
Option &#8220;AddARGBGLXVisuals&#8221; &#8220;True&#8221;<br />
<code>[untested]</code><br />
<span style="text-decoration: underline;">Add an Extensions Section:</span><br />
Section Extensions<br />
Option &#8220;Composite&#8221; &#8220;Disable&#8221;<br />
EndSection<br />
<code>[untested, not sure that this would make a huge difference]</code></li>
<li>There is mention that this:<br />
Screen Section<br />
Option &#8220;UseEDIDFreqs&#8221; &#8220;False&#8221;<br />
worked too.<br />
<code>[untested]</code></li>
<li>There&#8217;s also a post <a href="http://xbmc.org/forum/showpost.php?p=461163&#038;postcount=10">here</a> detailing how to add your own modelines into xorg.</li>
</ol>
<p><strong>VIII. Automount USB</strong></p>
<ol>
<li>sudo apt-get install usbmount</li>
<li>sudo nano /etc/usbmount/usbmount.conf add ntfs to filesystems string.</li>
</ol>
<p><strong>IX. Resume from USB</strong></p>
<ol>
<li>I had just assumed that this would be configured by default; I&#8217;m increasingly becoming annoyed with all the little fiddling that you have to do for things that should already be configured by default. That and finding all of the information to get stuff to work. Digging through fifty pages of forum postings isn&#8217;t my idea of fun.</li>
<li>Follow <a href="http://xbmc.org/wiki/?title=Enable_Wake-On-Device">this guide</a> from the wiki.</li>
<li>cat /proc/acpi/wakeup | grep ^USB</li>
<li>You should see something like this:<br />
USB0      S3      disabled pci:0000:00:02.0<br />
USB2      S3      disabled pci:0000:00:02.1</li>
<li>sudo su and nano /etc/rc.local and add:<br />
echo USB0&gt;/proc/acpi/wakeup<br />
echo &#8220;rc.local has completed sucessfully.&#8221; &gt;&gt; /tmp/resume.log (optional)</li>
<li><code>[I need to track down the post I found that actually set this as a script to only echo out the enable if it wasn't already enabled.]</code></li>
<li><em>Don&#8217;t enabled USB2 otherwise the computer will wake up immediately after suspend.</em></li>
<li>Now that that&#8217;s over with there&#8217;s another little bit that isn&#8217;t mentioned in that wiki that needed to be enabled on my 1600. Usbcore.autosuspend=-1</li>
<li>sudo nano /boot/grub/menu.lst</li>
<li>in the first entry (not safe mode) append &#8220;usbcore.autosuspend=-1&#8243; (without quotes) to the end of &#8216;kernel&#8217; line.</li>
<li>Reboot.</li>
<li>I see a lot of posts about resume scripts and the remote not working correctly after resume. I&#8217;m still waiting for my newegg order to show up so the previous instructions were only tested using the keyboard.</li>
</ol>
<p><strong>X. Upgrading RAM</strong></p>
<ol>
<li><code>[link to youtube video needed]</code></li>
<li>Needed: philips screwdriver and small standard screwdriver / jeweler&#8217;s screwdriver.</li>
<li>Where the wobbly stand snaps in, there will be a warranty sticker covering a philips screw, Cut the sticker and remove the screw.</li>
<li>Looking at the black top plate, notice the hairline seam on the outer white case.  Run your finger nail down that seam to seperate it slightly.  Enough that you can get the standard screwdriver in without chunking up the plastic.</li>
<li>Wiggle standard screwdriver back and forth to pry the top of the case up releasing the tabs holding it.  Top of case will come off as one piece.</li>
<li>Insert memory module</li>
<li><code>[personal preference]</code> plug in power, keyboard and monitor; boot into bios and make sure the ram is recognized before replacing top case.</li>
<li>In bios adjust <code>[correct term?]</code> video cache from 256mb to 512mb.</li>
</ol>
<p><strong><u>Advanced</u></strong><br />
<strong>XI. Compile and Install XBMC from source</strong><br />
This is incredibly easy, but all of the posts I found were kind of wonky; even the wiki is missing some vital info that you need.  I&#8217;m assuming that you&#8217;re already running XBMC Live and want to latest &#8230; the pre-compiled PPAs are supposed to do this for you but I never can seem to get them to work.</p>
<ol>
<li><code>sudo apt-get update</code> (If you haven&#8217;t already done this previously when you first installed).</li>
<li><code>sudo apt-get build-dep xbmc</code></li>
<li>Here I&#8217;m assuming that you already have nvidia drivers installed from the previous steps.<br />
<code>sudo apt-get install libvdpau-dev</code><br />
This is needed so that you can enable vdpau during configure.</li>
<li><code>sudo apt-get install subversion</code></li>
<li>Either create a directory that you want to download source to, or a &#8216;trunk&#8217; directory will be created in the current directory.</li>
<li><code>svn co -r <version#> http://xbmc.svn.sourceforge.net/svnroot/xbmc/trunk</code><br />
I&#8217;m probably downloading <em>way</em> too much of the source but the previous posted instructions I&#8217;d found called out &#8216;/branches/linuxport/XBMC&#8217; which doesn&#8217;t exist.  I should probably spend some time looking to see what branch I should be downloading.</li>
<li><code>cd trunk</code></li>
<li><code>./bootstrap</code></li>
<li><code>./configure --prefix=/usr --disable-debug --disable-ccache --enable-vdpau</code><br />
prefix=/usr to specify the directory to install to; for some reason I found my Live installed to /usr/xbmc instead of the stated default of /usr/share/xbmc.  Disable debug, self explanatory.  Disable ccache, no idea what this does, copied it from a post?  Enable vdpau; this is supposed to be enabled by default but in my first configure run I noticed that it was disabled.</li>
<li><code>make</code></li>
<li>Prepare to wait a long time if you&#8217;re doing this directly on the AR1600.  Usually takes me an hour or so &#8230; don&#8217;t have exact time since I walk away and come back.</li>
<li><code>sudo make install</code></li>
</ol>
<p><strong>Conclusion</strong><br />
My final hurdle in the next few days, once it arrives from Newegg, is to hook up an ir receiver and get my Harmony remote working with XBMC. From the number of posts on the subject I&#8217;m in for a long couple of days.<br />
Aside from the learning curve of open-source software, for $199 the Revo 1600 is an incredible HTPC bargain. Right now my focus is entirely on playing 1080p MKVs but soon I&#8217;ll move on to Music and Photos. From what I can gather, XBMC has native ALAC support, as well as UPNP (SimplifyMedia server as a backup) support. iPhoto is going to be a beast and I don&#8217;t think I&#8217;ll ever get that conquered. I&#8217;ll probably have to point XBMC at the iPhoto folder structure where it&#8217;s backed up on the server. Or I could just not mess with it. Picture support isn&#8217;t that exciting to me.<br />
Current cost:<br />
Acer Aspire Revo 1600 $199<br />
Crucial 1GB DDR2 800 (PC2 6400) 200-pin SO-DIMM $29.98<br />
AVS Gear Certified MCE Remote $25.41<br />
Total $254.39<br />
I probably could&#8217;ve gotten a Popcorn Hour for just a little more and been done with it. I do plan on checking out the Boxee beta when it goes public next month.<br />
At first I really wanted the Revo 36xx because of the optical out, dual-core proc, extra gig of ram and the wireless N card. But, turns out, the extra options weren&#8217;t necessary. Once I get this one working flawlessly, I&#8217;ll probably get another one and stick it downstairs with a wireless extender.</p>
]]></content:encoded>
			<wfw:commentRss>http://devolblog.devolfamily.com/xbmc-on-an-acer-aspire-revo-1600/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Bought another new TV: Sony KDL-40XBR9</title>
		<link>http://devolblog.devolfamily.com/bought-another-new-tv-sony-kdl-40xbr9/</link>
		<comments>http://devolblog.devolfamily.com/bought-another-new-tv-sony-kdl-40xbr9/#comments</comments>
		<pubDate>Thu, 24 Dec 2009 00:50:30 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://devolblog.devolfamily.com/?p=1269</guid>
		<description><![CDATA[Sony KDL40XBR9]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sonystyle.com/webapp/wcs/stores/servlet/ProductDisplay?catalogId=1&amp;storeId=10151&amp;langId=-1&amp;productId=8198552921665746330&amp;XID=O:40xbr9:dg_tv_msnsrch"><img class="alignleft size-full wp-image-1268" title="XBR9_colorReproduction_edited-1" src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/12/XBR9_colorReproduction_edited-1.jpg" alt="XBR9_colorReproduction_edited-1" width="240" height="185" /></a><strong><u>Sony KDL-40XBR Review</u></strong></p>
<p>Bought a new TV.  <em>Another</em> one.  Cause our house got straight up <strong>robbed</strong>.</p>
<p>And all they stole was our beloved 37xbr6.  No Christmas presents, no jewelry, nothin&#8217;.  They rifled through everything, and at first I thought they stole our camcorder (with tape that hadn&#8217;t been transferred yet) and an old sentimental watch.  Later it turned out they just moved them while digging through our crap.  Sad that all we own worth stealing is our TV.  Walked right by my iMac in the kitchen, didn&#8217;t touch it.  They even moved the Christams ornaments that were sitting in front of the TV and set those aside so as to not break them.  Thoughtful criminals.</p>
<p>Funny story: Logan was <em>so</em> upset that they&#8217;d stolen his shows until we explained that his shows were on the TiVo and it was still there.  Which means, in about two-three years the natural evolution is that DVR will be built into the TV.  His mind was absolutely blown that anybody would enter our house without our permission.  He&#8217;s still kind of stressed about that.</p>
<p>Anyway, back to the new TV.</p>
<p>It&#8217;s not as good as our old 37XBR6.  It&#8217;s bigger (they don&#8217;t make a 37 XBR anymore) and has more stuff, but it just doesn&#8217;t seem as good.  The picture is crisper on all sources, SD included.  What bugged me were the colors.  Some were too vibrant (red) and some were washed out (blue) and no amount of fiddling with color tones (and I wasn&#8217;t about to read the manual to figure out how to adjust the RGB) could get it where I wanted it.  Until I found that the thing was set to do about four different auto color corrections.  Once I turned off auto contrast, <strong>huge</strong> difference.  I&#8217;m now extremely happy with the colors, but it seems like I never had to fiddle with the 37XBR6.  Heather says I did; and she&#8217;s probably right.</p>
<p>The big let down is in the sound.  Part of why we bought the XBR6 in the first place was that it got great reviews for the sound quality.  When reading online reviews of the XBR9, there was no metion of sound quality and that should&#8217;ve been my first clue.  Of course, in the store, they let you compare picture quality (as much as you can) but forget trying to hear them.  Sound on the XBR6 wasn&#8217;t world class, but it was rich for TV speakers.  Unfortunately, the XBR9 is as tinny as you&#8217;d expect a flat panel&#8217;s speakers to be.  </p>
<p>We compared against the Samsungs, and just as last time, Heather claims she can, &#8216;see the pixels and they maker nauseous &#8216;.  I particularly liked the middle range samsung 40 LED version.  We went back and forth between the two for more then 30min, but finally the Sony one because that&#8217;s what Heather said.  They were both the same exact price, but the sales guy pitched in a free Sony blu-ray player (I can always make use of another one) with the XBR.  So between that and Heather&#8217;s buy-off, that seemed the one.  </p>
<p>Let&#8217;s hope ADT can protect this one.  I don&#8217;t want to have to shop for another TV until I get to replace my aging DLP upstairs.</p>
<p>Overall: Not quite as happy spending the extra money on the XBR as I was last time.  When I do finally get to replace my DLP, I think I&#8217;ll be perfectly happy with a lower model 1080p panel.</p>
]]></content:encoded>
			<wfw:commentRss>http://devolblog.devolfamily.com/bought-another-new-tv-sony-kdl-40xbr9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PS3 Media Server changing default icon.</title>
		<link>http://devolblog.devolfamily.com/ps3-media-server-changing-default-icon/</link>
		<comments>http://devolblog.devolfamily.com/ps3-media-server-changing-default-icon/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 17:21:01 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Movies]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://devolblog.devolfamily.com/?p=1227</guid>
		<description><![CDATA[[old] Change default icon for PS3 Media Server]]></description>
			<content:encoded><![CDATA[<p>The PS3MS default icon bah-lows.  I tried using all manner of exe resource editors to change the internally embedded icons but after the program wouldn&#8217;t run.  Finally I came across <a href="http://ps3mediaserver.org/forum/viewtopic.php?f=6&#038;t=3583&#038;p=15767&#038;hilit=+icon#p15767">this post</a> on the PS3MS forums.</p>
<ol>
<li>If PS3 Media Server is running, shut it down.</li>
<li>In &#37;program files&#37;&#92;PS3 Media Server&#92; find pms.jar.</li>
<li>Rename pms.jar (make a copy just in case) to pms.zip and open with Windows Explorer.</li>
<li>Find &#92;resources&#92;images&#92;</li>
<li>Replace Play1Hot_256 (and probably Play1Hot_32 and Play1Hot_16 too).</li>
<li>Close and let Windows Explorer recompress.</li>
<li>Change name back to pms.jar and restart PS3 Media Server.</li>
</ol>
<p>The only thing I&#8217;d add is that the instructions only have you change out Play1Hot_256 but there are also resources for 16 and 32 that I changed out.  I didn&#8217;t leave those as default to see what happened, so if you still have the default small icons that&#8217;d be why.  Also, the main XMB icon under Video doesn&#8217;t preserve alpha.</p>
<p>I&#8217;m currently using <a href="http://mat-u.deviantart.com/art/MediaPlayer-Icon-31425819">this</a> icon I found on <a href="http://deviantart.com">deviantart</a>.</p>
<ul style="width:70%"><a href="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/medplay.ico"><img style="margin-right:20px;margin-bottom:20px;" src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/medplay-160x160.png" alt="medplay" title="medplay" width="100" height="100" class="alignleft size-thumbnail wp-image-1237" /></a></p>
<li><a href="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/medplay_blac.ico">black</a></li>
<li><a href="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/medplay_gree.ico">green</a></li>
<li><a href="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/medplay_purpl.ico">purple</a></li>
<li><a href="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/medplay_yello.ico">yellow</a></li>
</ul>
<div class="clear"></div>
<p>So far, I have to admit, I&#8217;m only using PS3 Media Server to stream .mkv (usually muxed with <a href="http://www.mkv2vob.com/">mkv2vob</a> first.  Sometimes .mkv transcodes can have audio sync issues.  But next up I&#8217;ll look into internet radio, the itunes library integration and web video feeds.</p>
]]></content:encoded>
			<wfw:commentRss>http://devolblog.devolfamily.com/ps3-media-server-changing-default-icon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PS3 Media Server movie / folder thumbnail icons.</title>
		<link>http://devolblog.devolfamily.com/ps3-media-server-movie-folder-thumbnail-icons/</link>
		<comments>http://devolblog.devolfamily.com/ps3-media-server-movie-folder-thumbnail-icons/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 05:47:49 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Movies]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://devolblog.devolfamily.com/?p=1141</guid>
		<description><![CDATA[Thumbnail icons for PS3 Media Server]]></description>
			<content:encoded><![CDATA[<p>Part 2 in my PS3 Media Server series, icons for movies and folders.  This is should be covered extensively in the FAQ, and it may or may not be, I&#8217;m not going to bother checking.  Primarily this a resource on where to find movie art and icon templates.</p>
<p>The naming convention for assigning icons is %filename% (including extension).cover.png(or .jpg).  E.g. Man On Fire 1080p BluRay DTS.m2ts.cover.png.  Folders: create your folder and drop in a folder.png(or .jpg).  Image dimensions are 320&#215;240.</p>
<ul>[ Finding Artwork ]</p>
<li><a href="http://www.themoviedb.org">themoviedb.org</a><br />
Site is mainly for XBMC / Plex style media center apps but it&#8217;s a good resource for good quality artwork.  Look in the lower right corner for the movie poster.</li>
<li><a href="http://getvideoartwork.com">GetVideoArtwork (Beta)</a><br />
New one I just found a couple of weeks ago, geared toward iTunes artwork and sometimes slim pickings but really high quality.</li>
</ul>
<ul>[ Creating Icons ]</p>
<ul>PSD Templates: I did not create these templates, I found them in a forum thread about PS3MS thumbnails.  I believe it was <a href="http://www.avsforum.com/avs-vb/showthread.php?t=1117938&#038;page=3">this thread</a> on avsforum.  Click on the image to download the PSD.</p>
<li class="clear"><a href="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/ps3mediaserver_coverarttemplate_fullhd.psd"><img style="margin-bottom:20px;" src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/ps3mediaserver_coverarttemplate_fullhd-160x120.png" alt="ps3mediaserver_coverarttemplate_fullhd" title="ps3mediaserver_coverarttemplate_fullhd" width="160" height="120" class="alignright size-thumbnail wp-image-1156" /></a><strong>FullHD Template</strong><br />
1080p text, blue case and disc with blu-ray logo.  I turn off the blue glow layer. Create a new layer in the CoverArt Container group and paste in your artwork.  Use free transform with &lt;shift&gt; to size the artwork in the mask; save for web as png24 and name accordingly.</li>
<li class="clear"><a href="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/ps3mediaserver_coverarttemplate.psd"><img style="margin-bottom:20px;" src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/ps3mediaserver_coverarttemplate-160x120.png" alt="ps3mediaserver_coverarttemplate" title="ps3mediaserver_coverarttemplate" width="160" height="120" class="alignright size-thumbnail wp-image-1185" /></a><strong>Normal Template</strong><br />
HD text, blue case and disc with blu-ray logo.  Same instructions as the FullHD template above.  At one time I came across a version of this template with 720p text, which would be useful since I don&#8217;t have the font that was used.  Unfortunately, I haven&#8217;t been able to find it again.</li>
<li class="clear"><a href="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/ps3mediaserver_coverarttemplatesd.psd"><img style="margin-bottom:20px;" src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/ps3mediaserver_coverarttemplatesd-160x120.png" alt="ps3mediaserver_coverarttemplatesd" title="ps3mediaserver_coverarttemplatesd" width="160" height="120" class="alignright size-thumbnail wp-image-1188" /></a><strong>Standard Definition</strong><br />
SD text, silver box and disc with DVD and Widescreen logo.</li>
<li class="clear"><a href="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/da_bluray_box.psd"><img style="margin-bottom:20px;" src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/da_bluray_box-160x120.png" alt="da_bluray_box" title="da_bluray_box" width="160" height="120" class="alignright size-thumbnail wp-image-1193" /></a><strong>Blu-ray box</strong><br />
Standard blu-ray box with a bit of alpha on the blue case.  Resize to 240&#215;240 for use with PS3MS (haven&#8217;t tried throwing the original 512&#215;512 at it to see what it&#8217;d do).</li>
<li class="clear"><a href="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/tv-show-thumb-template.psd"><img style="margin-bottom:20px;" src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/tv-show-thumb-template-160x120.png" alt="tv-show-thumb-template" title="tv-show-thumb-template" width="160" height="120" class="alignright size-thumbnail wp-image-1204" /></a><strong>TV Show</strong><br />
Samsung HDTV for TV shows; great to use as a folder image.  I hide the light_retouch and shadow layer.</li>
</ul>
<ul class="clear">Applications:</p>
<li><a href="http://www.worldinhidef.com/ps3ms/thumbnailgenerator/">Thumbnail Generator</a><br />
Search Amazon or upload your own image, scale it and then apply it to different templates.  Amazing home grown webapp, but I don&#8217;t really like the available templates.</li>
<li><a href="http://bohemiancoding.com/slipcover/index.html">SlipCover</a> (Mac only).<br />
<img  style="margin-bottom:20px;" src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/sunshine-1080p-bluray-dtsm2tscover-160x120.png" alt="sunshine-1080p-bluray-dtsm2tscover" title="sunshine-1080p-bluray-dtsm2tscover" width="160" height="120" class="alignright size-thumbnail wp-image-1209" />This is what I&#8217;m currently using; they&#8217;re larger than the other templates that include the disc, and the case is sharper than the PSD template case.  Two big draw backs, Mac only and its output is .icns which requires a couple of extra steps to get to .png.</li>
<li class="clear"></li>
</ul>
</ul>
<p>Scrolling through 320&#215;240 icons on a 1080p display is a little rough.  Picking out details in the icons is next to impossible, but it is nice to have them in addition to the standard filename text.  Also, it can take awhile for the PS3 to show the icons; supposedly this can be sped up by using the Media Library option, but I haven&#8217;t had a lot of luck with it. Regardless, it&#8217;s still a <em>lot</em> better than the default PS3MS icon.  </p>
<p><a href="../ps3-media-server-changing-default-icon">Part 3: Changing the PS3MS default icon.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devolblog.devolfamily.com/ps3-media-server-movie-folder-thumbnail-icons/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PS3 Media Server running as a service on Windows 2008R2</title>
		<link>http://devolblog.devolfamily.com/ps3-media-server-running-as-a-service-on-windows-2008r2/</link>
		<comments>http://devolblog.devolfamily.com/ps3-media-server-running-as-a-service-on-windows-2008r2/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 03:22:31 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Movies]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://devolblog.devolfamily.com/?p=1129</guid>
		<description><![CDATA[PS3 Media Server as a service]]></description>
			<content:encoded><![CDATA[<p>First in a series of three posts about <a href="http://ps3mediaserver.org/forum/viewtopic.php?f=2&#038;t=3217">PS3 Media Server</a>.  Install is a breeze, just run the installer (as admin) and if you don&#8217;t have JRE it&#8217;ll download and install it for you; if you need x64 you&#8217;ll need to <a href="http://java.sun.com/javase/downloads/index.jsp">download it manually</a>.  </p>
<p>The problem I encountered on Windows 2008R2 was that the provided, &#8216;Install as a Windows Service&#8217; option didn&#8217;t work correctly.  It uses <a href="http://wrapper.tanukisoftware.org">Java Service Wrapper</a> and seems to install and start correctly.  Netstat even shows it listening on the correct interface and correct port.  The only thing I could find, was the debug log showed that it was trying to use a temp directory that didn&#8217;t exist.  However, even creating that directory and making sure it had permissions, it still wasn&#8217;t working.  This may also be a problem on Windows 2008, I&#8217;m not sure and I didn&#8217;t find any mention of it on the PS3 Media Server <a href="http://ps3mediaserver.org/forum/">forums</a>.</p>
<p>The solution was to use good old instsrv / srvany from the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=9D467A69-57FF-4AE7-96EE-B18C4790CFFD&#038;displaylang=en">Windows 2003 Resource Kit</a>.  Go through the normal process of using instsrv, naming your service and then pointing to srvany.  Edit the service in the registry, add a key for Parameters and then add two strings: AppDirectory and Application and modify them with the correct paths (self explanatory).  Optional: add a key for Description to the service key.  I&#8217;m not comfortable having an open source dlna server that&#8217;s running as Local System, and you can change it to Local Service or create an account to use.</p>
<p>The final step is to create a Windows Firewall exception for &#37;Program Files&#37;&#92;Java&#92;jre6&#92;bin&#92;javaw.exe on TCP 5001.  TCP 5001 is the default, if you forced it to a custom port you&#8217;ll need to substitute.</p>
<p>I like PS3MS over the competition like TVersity (but to be honest I haven&#8217;t checked around for the last 6mo or so) &#8230; and this is pretty lame.</p>
<p>Note: if you need to make any changes to the server, stop the service, load the program from the desktop, save your changes &#8211; quit, and then restart the service.</p>
<p><a href="../ps3-media-server-movie-folder-thumbnail-icons/">Part 2: PS3MS movie / folder thumbnail icons</a></p>
]]></content:encoded>
			<wfw:commentRss>http://devolblog.devolfamily.com/ps3-media-server-running-as-a-service-on-windows-2008r2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress IIS 7 tutorial</title>
		<link>http://devolblog.devolfamily.com/wordpress-iis-7-tutorial/</link>
		<comments>http://devolblog.devolfamily.com/wordpress-iis-7-tutorial/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 04:02:00 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://devolblog.devolfamily.com/?p=1058</guid>
		<description><![CDATA[This is all old news, everything I have here is found other places, but I did run into a big bug that I had to sift through forums to find the answer to: 2.8 and above has broken image uploads. And from the forum posts its not just when running on IIS. I hadn&#8217;t run [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2008/09/wordpress.jpg" alt="wordpress" title="wordpress" width="174" height="114" class="alignleft size-full wp-image-746" /><img src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/plus.png" alt="plus" title="plus" width="48" height="114" class="alignleft size-full wp-image-1077" style="border:0"/><img src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2009/11/iis7.jpg" alt="iis7" title="iis7" width="174" height="114" class="alignleft size-full wp-image-1067" />
<div class="clear"></div>
<p>This is all old news, everything I have here is found other places, but I did run into a big bug that I had to sift through forums to find the answer to: 2.8 and above has broken image uploads.  And from the forum posts its not just when running on IIS.  I hadn&#8217;t run into it when I was running 2.8 on Apache, but I was also running a very old version of PHP.</p>
<p>The symptoms are that when trying to upload a picture into a post, the screen will show, &#8216;crunching&#8217; and then, when finished, will be blank where you&#8217;d normally expect to see the uploaded image along with it&#8217;s options.  If you check the server, thinking there might be a permissions issue, you will find the image that you uploaded.  My solution was to downgrade back to 2.7.1.  </p>
<p>Couple of things we&#8217;ll need: </p>
<ul>
<li>Windows 2008 with IIS 7 &#8230; obviously (or 2008R2 IIS 7.5)</li>
<li><a href="http://www.iis.net/extensions/URLRewrite">URL Rewrite</a></li>
<li>PHP <a href="http://us3.php.net/get/php-5.2.11-Win32.zip/from/a/mirror">5.2.11</a> or <a href="http://windows.php.net/download/">5.3 Non Thread Safe</a></li>
<li><a href="http://dev.mysql.com/downloads/mysql/5.1.html#downloads">MySQL 5.1 Community Server</a></li>
<li>[optional] <a href="http://dev.mysql.com/downloads/gui-tools/5.0.html">MySQL GUI Tools</a></li>
<li><a href="http://wordpress.org/download/">WordPress</a> see <a href="http://wordpress.org/download/release-archive/">release archive</a> for 2.7.1 if newest version is still having problems with image upload</li>
</ul>
<p>The focus of this post isn&#8217;t a complete end-to-end WordPress setup since many people have covered that better than I can.  The primary goal is to cover issues when setting up WordPress on IIS; I found all the articles on google lacking a few steps that caused me some headaches.  I&#8217;ll try to put as many steps in as I can recall, but if I gloss over standard stuff I&#8217;ll make sure to mention it and point the reader to other resources.</p>
<p>1. <strong><u>Install MySQL</u></strong></p>
<p>This one is really easy, even if you&#8217;ve never done any db work and there is nothing specific to a Windows / IIS install than there would be on Linux / Apache.  Just run the installer, and then if you don&#8217;t want to mess with the command line, install the GUI Tools.</p>
<p><strong>If you want to install MySQL to somewhere besides the default</strong>, even if you specify another dir during setup, the data directory will still be left at default (c:\programdata\mysql\mysql server 5.1\data).  The installer puts the server bin files in the location you specified, but not the data dir.  You can change this either using GUI Tools under startup variables, or manually in my.ini.  Just make sure you stop MySQL first, then copy the data dir to the new location before you restart MySQL.</p>
<p>Create a new schema for your wordpress install, give it a login and set the password.  WordPress recommends granting all roles to the user; I&#8217;m not real happy with that but haven&#8217;t taken the time to find out exactly what roles a fully functioning WordPress install would need.  At least don&#8217;t give the wordpress user the grant role.</p>
<p>2. <strong><u>Install PHP</u></strong></p>
<p>I went back to 5.2.11 as I was troubleshooting the image upload issue, but 5.3 appeared to work correctly.  5.3 is supposedly much faster, but my install is so small I&#8217;m not going to see a difference.  If using 5.3, you <em>have</em> to configure the timezone in the ini file or you will get errors.</p>
<p><strong>If using 5.2.11 I don&#8217;t recommend using the installer, the IISFastCGI option kept toggling to Isapi</strong>.  I don&#8217;t know if it was a glitch in their installer, but it was just as easy to configure IIS manually anyway.</p>
<ul><em>Prepare IIS for PHP</em></p>
<li><small>note: all of the tutorials I followed for PHP on IIS have you use FastCGI so that&#8217;s what I&#8217;ll use too; some mention that performance is better than Isapi, but there are also forum posts about errors using FastCGI.  For a personal install, I can&#8217;t see the performance difference being that big of an issue, so it&#8217;s up to you which you prefer.</small></li>
<li>Open Server Manager</li>
<li>Under Roles &#8211; Web Server (IIS) &#8211; Role Services click <strong>Add Role Services</strong> from the right side.</li>
<li>Select Application Development &#8211; <strong>CGI</strong> and finish out the wizard.</li>
</ul>
<ul><em>Install PHP</em></p>
<li><strong>Using the PHP installer</strong>: run the installer and <strong>select IISFastCGI</strong> for the server type.  <strong>The installer will configure IIS for you</strong>.  (5.2.11 installer kept trying to configure Isapi instead of FastCGI so I did it manually).</li>
<ul><strong>Using PHP zip package and configuring IIS manually</strong>: unzip the PHP package to the desired directory. </p>
<li>In IIS Manager, select your server and then double click on <strong>Handler Mappings</strong>.</li>
<li>On the right hand side, under Actions, click <strong>Add Module Mapping</strong>.</li>
<li>Request Path: <strong>*.php</strong>; Module: FastCgiModule; Executable: Path: &lt;path to PHP install&gt;&#92;<strong>php-cgi.exe</strong>; Name: <strong>PHP</strong> (or whatever you want to name it).</li>
</ul>
</ul>
<ul><em>Configure PHP / Edit PHP ini</em></p>
<li>Open &lt;path to PHP install&gt;&#92;php.ini</li>
<li>Use Find the following:</li>
<ul>
<li><strong>fastcgi.impersonate</strong>, uncomment and set to <strong>1</strong>.</li>
<li><strong>cgi.fix_pathinfo</strong>, uncomment and set to <strong>1</strong>.</li>
<li><strong>cgi.force_redirect</strong>, uncomment, set to <strong>1</strong>.</li>
<li><strong>open_basedir</strong>, set to your <strong>web root</strong> ( e.g. c:&#92;inetpub ).</li>
<li><strong>PHP 5.3</strong> will require <strong>date.timezone</strong> set.  See <a href="http://us3.php.net/manual/en/timezones.php">http://us3.php.net/manual/en/timezones.php</a> for a list of valid timezones.  Can also be set in wp-config.php using date_default_timezone_set(); but that would only be for the specific site and not server-wide.</li>
<li>Uncomment <strong>extension=php_mysql.dll</strong> and <strong>extension=php_gd2.dll</strong>.  Note: haven&#8217;t verified if GD2 is necessary.</li>
<li><small>most tutorials stop here, but there are a few other things to edit if you actually want file uploads (image uploads / plugin install / theme install) to work in WordPress</small></li>
<li><strong>upload_tmp_dir</strong>, set to any directory you like but <strong>you will need to add write permissions</strong> for the anon authentication account for your websites ( IUSR or App pool identity ).</li>
<ul>(Optional)</p>
<li><strong>upload_max_filesize</strong>.  Default is 2M, might be on the small side if you&#8217;re uploading pictures straight from the camera, video or possibly large plugins/themes.  Also related, <strong>post_max_size</strong>, default 8M, needs to be increased along with upload_max_filesize.</li>
</ul>
</ul>
</ul>
<p>At this point, it&#8217;s probably worth testing the PHP install with a &lt;?php phpinfo(); ?&gt; page.</p>
<p><small>Reminder: If you like to use short tags they&#8217;re turned off by default.  Search for short_open_tag and change to On.</small></p>
<p>3. <strong><u>Install WordPress</u></strong></p>
<p>Just follow WordPress&#8217;s own <a href="http://codex.wordpress.org/Installing_WordPress">Install Guide</a>.  If you&#8217;ve verified PHP is working, created a schema in MySQL and tested logging on with the user you gave schema privileges to, there shouldn&#8217;t be any problems.<br />
<small>Reminder: If you install WordPress to a sub directory ( e.g. &lt;site root&gt;#92;wordpress ) then you will need to configure WordPress Address in Settings &#8211; General to be http://&lt;site url&gt;#92;&lt;sub-directory&gt; the Blog Address to http://&lt;site url&gt; and then copy index.php to the root.  Edit the copy of index.php at the root and replace, require(&#8216;./wp-blog-header.php&#8217;); with require(&#8216;./&lt;sub-dir&gt;/wp-blog-header.php&#8217;);.</small></p>
<p>4. <strong><u>Configure IIS Site</u></strong></p>
<ul>
<li>Open <strong>IIS Manager</strong> and <strong>create your site</strong> if you didn&#8217;t install WordPress under the default website.  Set the directory and bindings etc.</li>
<li>Decide if you&#8217;re going to use the IUSR account or the App Pool Identity for Anonymous Authentication.  Site &#8211; Authentication &#8211; Anonymous Authentication &#8211; Edit.</li>
</ul>
<p>5. <strong><u>Set file permissions</u></strong></p>
<p>This is the big step that the tutorials I found on google neglected to mention.  It must be so obvious to them that it goes without saying?  You&#8217;ll need to set <strong>write permissions</strong> on the <strong>plugins, themes and uploads directories under wp-content</strong> for whatever account you use for anonymous authentication.  I&#8217;m not particularly happy about having write permissions open to that many top level directories, and if you didn&#8217;t want to install plugins or themes via the wordpress admin console you could get away with leaving those out.  But I&#8217;m always paranoid, and wordpress has always bugged me that they don&#8217;t appear to take security a little more seriously in their setup guide.</p>
<p>6. <strong><u>Permalinks</u></strong></p>
<ul>
<li>Open the WordPress <strong>admin console</strong>, go to <strong>Settings &#8211;  Permalinks</strong>.</li>
<li>If you want nice permalinks, set them under <strong>Custom</strong>.  Once you save the changes your site will no longer work.</li>
<li><strong>WordPress 2.8 and above is IIS aware</strong> and will attempt to save the permalink rule to web.config for you if it has write permissions to the root of the wordpress install.  Unfortunately it&#8217;s not sub-directory aware so if you&#8217;ve installed wordpress to a directory under the root you&#8217;ll need to copy the web.config to the root manually.</li>
<li><strong>WordPress 2.7</strong> you&#8217;ll need to set the permalink rule manually.</li>
<ul>
<li>Open <strong>IIS Manager</strong> and select your site.</li>
<li>Select <strong>URL Rewrite</strong> and then <strong>Add Rules</strong> from the right hand side.</li>
<li>Create a <strong>Blank rule</strong>:</li>
<ul>
<li><strong>Name</strong>: whatever you&#8217;d like.</li>
<li><strong>Requested URL: Matches the pattern</strong></li>
<li><strong>Using: Wildcards</strong></li>
<li><strong>Pattern: *</strong></li>
<li><strong>Conditions &#8211; Add New</strong></li>
<ul>1st Condition</p>
<li><strong>Condition input: {REQUEST_FILENAME}</strong></li>
<li><strong>Check if input string: Is not a file</strong></li>
</ul>
<ul>2nd Condition</p>
<li><strong>Condition input: {REQUEST_FILENAME}</strong></li>
<li><strong>Check if input string: Is not a directory</strong></li>
</ul>
<li><strong>Action Type: Rewrite</strong></li>
<li><strong>Rewrite URL: index.php</strong></li>
</ul>
</ul>
</ul>
<p>7. (optional) <strong><u>Hotlinking rule</u></strong></p>
<p>Quick and dirty url rewrite rule to prevent hotlinking resources from your site.</p>
<ul>
<li>Open up <strong>IIS Manager again</strong>, select your site and go to <strong>URL Rewrite</strong> again.</li>
<li>Add a new <strong>Blank rule</strong>.</li>
<ul>
<li><strong>Name: whatever you want</strong></li>
<li><strong>Requested URL: Matches the pattern</strong></li>
<li><strong>Using: Regular Expressions</strong></li>
<li><strong>Pattern: .*</strong></li>
<li><strong>Conditions &#8211; Add New</strong></li>
<ul>1st Condition</p>
<li><strong>Condition input: {HTTP_REFERER}</strong></li>
<li><strong>Check if input string: Does not match the pattern</strong></li>
<li><strong>Pattern: ^$</strong></li>
</ul>
<ul>2nd Condition</p>
<li><strong>Condition input: {HTTP_REFERER}</strong></li>
<li><strong>Check if input string: Does not match the pattern</strong></li>
<li><strong>Pattern: http://&lt;site url&gt;#92;.*</strong></li>
</ul>
<li>You&#8217;ll need to go back and <strong>add more conditions for any other bindings</strong> you have for the site.</li>
<li><strong>Action Type: Rewrite</strong></li>
<li><strong>Rewrite URL: &lt;path to replacement image/resource&#038;gt</strong>; ( e.g. /no_hotlinking.jpg )</li>
</ul>
</ul>
<p>Possible tweaks;  I used a pattern of *, basically denying hotlinking of any resource.  This could be tweaked with just the extensions of resources that you&#8217;re concerned with but I&#8217;m not sure why you would.  </p>
<p>8. <strong>Conclusion</strong></p>
<p>That&#8217;s it.  Everything should be working perfectly including plugin install / upgrade and theme install from the admin console.  Image upload on the post should work, but please keep in mind that many WordPress users, including me, have run into a problem where it stops after &#8216;crunching&#8217;.  Hopefully they&#8217;ll have it resolved in a newer version.</p>
]]></content:encoded>
			<wfw:commentRss>http://devolblog.devolfamily.com/wordpress-iis-7-tutorial/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hide Time Machine volume.</title>
		<link>http://devolblog.devolfamily.com/hide-time-machine-volume/</link>
		<comments>http://devolblog.devolfamily.com/hide-time-machine-volume/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 04:49:33 +0000</pubDate>
		<dc:creator>Scott</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://devolblog.devolfamily.com/?p=1040</guid>
		<description><![CDATA[I keep coming back to this one, so I figured I better mark it down for future reference. Also from macosxhints.com. This is mainly for using time capsule / airport drives for Time Machine backups. I&#8217;m not sure I&#8217;d want to hide usb/firewire drive volumes. To hide: SetFile -a V '/Volumes/Time Machine Volume/' killall Finder [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://devolblog.devolfamily.com/wordpress/wp-content/uploads/2008/12/timemachine-network.png" alt="Time Machine-network" title="Time Machine-network" width="140" height="140" class="alignleft size-full wp-image-864" />I keep coming back to this one, so I figured I better mark it down for future reference.  Also from <a href="http://www.macosxhints.com/article.php?story=20080124184544791">macosxhints.com</a>.  This is mainly for using time capsule / airport drives for Time Machine backups.  I&#8217;m not sure I&#8217;d want to hide usb/firewire drive volumes.</p>
<p>To hide:<br />
<code>SetFile -a V '/Volumes/Time Machine Volume/'</code><br />
<code>killall Finder</code></p>
<p>And then if you want to bring it back:<br />
<code>SetFile -a v '/Volumes/Time Machine Volume/'</code><br />
<code>killall Finder</code></p>
]]></content:encoded>
			<wfw:commentRss>http://devolblog.devolfamily.com/hide-time-machine-volume/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

