<?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>tolaris.com &#187; htpc</title>
	<atom:link href="http://www.tolaris.com/tag/htpc/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tolaris.com</link>
	<description>When the going gets tough, the tough sniff packets.</description>
	<lastBuildDate>Tue, 24 Jan 2012 17:47:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Solving the 2-second sound delay with XBMC and HDMI</title>
		<link>http://www.tolaris.com/2011/07/03/solving-the-2-second-sound-delay-with-xbmc-and-hdmi/</link>
		<comments>http://www.tolaris.com/2011/07/03/solving-the-2-second-sound-delay-with-xbmc-and-hdmi/#comments</comments>
		<pubDate>Sun, 03 Jul 2011 21:32:06 +0000</pubDate>
		<dc:creator>Tyler Wagner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[htpc]]></category>
		<category><![CDATA[xbmc]]></category>

		<guid isPermaLink="false">http://www.tolaris.com/?p=1434</guid>
		<description><![CDATA[On my HTPC, XBMC outputs sound over HDMI to a Panasonic TX-37LZD70 TV. This works great in most respects. However, there is a 2-second delay between when XBMC starts playing audio (music or video with sound), and when it actually outputs from the TV speakers. The sound is in sync with the video; it just [...]]]></description>
			<content:encoded><![CDATA[<p>On my HTPC, XBMC outputs sound over HDMI to a <a href="http://www.hdtvorg.co.uk/reviews/lcd/panasonic_tx-37lzd70.htm">Panasonic TX-37LZD70</a> TV. This works great in most respects. However, there is a 2-second delay between when XBMC starts playing audio (music or video with sound), and when it actually outputs from the TV speakers. The sound is in sync with the video; it just takes 2 seconds to start. It&#8217;s annoying to always hear a theme song start part-way into the first few notes.</p>
<p><span id="more-1434"></span>This is a <a href="http://wiki.xbmc.org/?title=XBMCbuntu#Known_Issues">known issue</a>, but <a href="http://forum.xbmc.org/showthread.php?t=59176">isn&#8217;t really XBMC&#8217;s fault</a>. Basically, this TV (and many like it) doesn&#8217;t start playing sound right away. But there is a simple workaround &#8211; keep the channel open, by always playing silence. You can do this without any performance penalty.</p>
<p>Run this in a terminal (or in /etc/rc.local, or ~/.gnomerc, or however you like):</p>
<p><code>aplay -c2 -r48000 -fS16_LE < /dev/zero &#038;</code></p>
<p>This will constantly play silence to the ALSA sound system (in the case of Ubuntu, via Pulse). As far as I can tell, the sound server just drops it, or consumes very few resources to do it. The system load never increases nor does it appear as active in <code>top</code>.</p>
<p>I've implemented this as a more sophisticated solution. I have created my own <code>xbmc</code> script, which then calls the real XBMC.</p>
<pre>#!/bin/bash
# if xbmc already running, exit
if (ps -ef | grep '[/]usr/lib/xbmc/xbmc.bin' >/dev/null 2>&#038;1) ; then
   zenity --error --title "XBMC" --text "XBMC is already running. Please select it from the task bar above."
   die "XBMC is already running!"
fi

# Keep sound channel open (play silence), to prevent 2-second HDMI delay
aplay -c2 -r48000 -fS16_LE < /dev/zero &#038;
APLAY_PID=$!

/usr/bin/xbmc "$@"

kill $APLAY_PID</pre>
<p>Copy this script to ~/bin or /usr/local/bin and make it executable. It does two things:</p>
<ol>
<li>Prevent launching more than one copy of XBMC. An easy mistake to make since Gnome provides no launch feedback and XBMC takes some time to start. A more elegant solution would restore the other XBMC instance instead of nagging the user.</li>
<li>Starts playing silence before starting XBMC, then kills it afterward.</li>
</ol>
<p>A better solution would be for XBMC to maintain the channel itself (which must be what my DVD player does), but I'm happy with this until they release an official fix.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tolaris.com/2011/07/03/solving-the-2-second-sound-delay-with-xbmc-and-hdmi/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Using the Logitech diNovo Mini with XBMC and Ubuntu</title>
		<link>http://www.tolaris.com/2011/01/13/using-the-logitech-dinovo-mini-with-xbmc-and-ubuntu/</link>
		<comments>http://www.tolaris.com/2011/01/13/using-the-logitech-dinovo-mini-with-xbmc-and-ubuntu/#comments</comments>
		<pubDate>Thu, 13 Jan 2011 22:12:49 +0000</pubDate>
		<dc:creator>Tyler Wagner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[htpc]]></category>
		<category><![CDATA[xbmc]]></category>

		<guid isPermaLink="false">http://www.tolaris.com/?p=1264</guid>
		<description><![CDATA[I&#8217;ve been using a Logitech diNovo Mini keyboard on zuul, the new HTPC, for three weeks now. There are plenty of reviews online, which you should read if you are thinking of buying one. These are my notes on using it with XBMC and Ubuntu. First, there are some unavoidable issues with the hardware: There [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using a Logitech diNovo Mini keyboard on zuul, the new HTPC, for three weeks now. There are plenty of <a href="http://reviews.cnet.co.uk/keyboards/logitech-dinovo-mini-keyboard-review-49295019/">reviews online</a>, which you should read if you are thinking of <a href="http://cgi.ebay.co.uk/Logitech-diNovo-Mini-Bluetooth-Handheld-Media-Keyboard-/130414726953">buying one</a>. These are my notes on using it with XBMC and Ubuntu.</p>
<p><span id="more-1264"></span>First, there are some unavoidable issues with the hardware:</p>
<ul>
<li>There are no top/side row keys: F1-F12, Home, End, Insert, PrntScrn, SysRq, Pause, or Num/Caps/Scroll Lock keys. So you must use a traditional keyboard if you need those keys to configure BIOS. I also suggest disabling Num Lock on boot. Once in Ubuntu, you can do everything with the mouse or other keys.</li>
<li>Some special characters such as \, |, {}, and [] can be pressed using the blue Fn key, but aren&#8217;t printed on the keys. Logitech has published a handy <a href="http://logitech-en-amr.custhelp.com/app/answers/detail/a_id/8150/~/reference:-dinovo-mini-does-not-have-standard-keys">cheat sheets</a> for US users. UK users will find \ and | on Fn+Z and Fn+X.</li>
<li>In D-pad mode, the down arrow is finicky. For best results, press at &#8220;7:30&#8243; instead of &#8220;6:00&#8243;. I&#8217;m already used to this and have no problems pressing it.</li>
<li>The media keys (volume up/down, previous/stop/play/next) don&#8217;t repeat. This is fine in Gnome, which understands that holding volume up means &#8220;keep increasing volume until I release&#8221;. Unfortunately XBMC doesn&#8217;t do the same. This means you must repeatedly press volume up/down to make large volume changes.</li>
</ul>
<p>Otherwise, it just works in Ubuntu 10.10. It&#8217;s got good battery life (about a week in regular use, although the documentation is far more optimistic), and the keys are quite easy to press even with my enormous thumbs.</p>
<p>I&#8217;ve made some changes in the XBMC keymap to better suit this keyboard. I stayed very close to the default keymap included in the <a href="http://wiki.xbmc.org/index.php?title=HOW-TO_install_XBMC_for_Linux_on_Ubuntu,_a_Step-by-Step_Guide">package</a>, only moving one key. My changes:</p>
<ul>
<li>Enable Page Up/Down keys in most views (skip tracks, chapters, etc).</li>
<li>Enable Delete key in most menus.</li>
<li>Enable Backspace to back out of nearly all (sub)menus.</li>
<li>Assign Media key (the white remote control button on lower right of the diNovo mini) to toggle fullscreen/windowed mode.</li>
<li>Assign Browser Home (IE logo) key to Favourites menu.</li>
<li>Assign front slash (/) key to skip back 7 seconds, same as single quote (&#8216;).</li>
<li>Assign &#8220;D&#8221; to &#8220;Audio Delay&#8221; when playing videos, so that I could &#8230;</li>
<li>Reassign &#8220;A&#8221; to &#8220;Next Audio Track&#8221; when playing videos (change language on multi-track files).</li>
</ul>
<p>To use my keymap, uncompress <a href='http://www.tolaris.com/blog/wp-content/uploads/2011/01/keyboard.xml_.zip'>this file</a> and save it as <code>~/.xbmc/userdata/keymaps/keyboard.xml</code>.</p>
<p>If you use XBMC in standalone mode (no Gnome desktop), you may wish to put the media key to better use. I find it convenient to switch back to the desktop to access Skype and manage files.</p>
<p>Finally, I made a <a href='http://www.tolaris.com/blog/wp-content/uploads/2011/01/XBMC-keymap-diNovo-mini.ods'>one-page instruction sheet for guests</a>. It&#8217;s saved the sanity of more than one babysitter.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tolaris.com/2011/01/13/using-the-logitech-dinovo-mini-with-xbmc-and-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>HTPC, Take Two</title>
		<link>http://www.tolaris.com/2011/01/05/htpc-take-two/</link>
		<comments>http://www.tolaris.com/2011/01/05/htpc-take-two/#comments</comments>
		<pubDate>Wed, 05 Jan 2011 20:13:07 +0000</pubDate>
		<dc:creator>Tyler Wagner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[htpc]]></category>
		<category><![CDATA[maverick]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[xbmc]]></category>

		<guid isPermaLink="false">http://www.tolaris.com/?p=1252</guid>
		<description><![CDATA[It&#8217;s been almost two years since I assembled gozer, my first HTPC. Over the Christmas holiday I replaced gozer with zuul, a Zotac ZBOX HD-ID11. I&#8217;ve been reasonably happy with gozer. It&#8217;s served us well, playing video and music, downloading torrents, and calling the grandparents with Skype. But I&#8217;ve had three complaints: The Shuttle X27D&#8216;s [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been almost two years since I assembled <a href="http://www.tolaris.com/2009/04/15/my-htpc-setup/">gozer</a>, my first HTPC. Over the Christmas holiday I replaced gozer with zuul, a <a href="http://www.zotac.com/index.php?option=com_wrapper&#038;view=wrapper&#038;Itemid=100083&#038;lang=en">Zotac ZBOX HD-ID11</a>.</p>
<p><span id="more-1252"></span>I&#8217;ve been reasonably happy with gozer. It&#8217;s served us well, playing video and music, downloading torrents, and calling the grandparents with Skype. But I&#8217;ve had three complaints:</p>
<ol>
<li>The <a href="http://www.pcpro.co.uk/reviews/workstations/237330/shuttle-x27d">Shuttle X27D</a>&#8216;s Intel Atom CPU/GPU just can&#8217;t handle video better than SD quality. It also doesn&#8217;t offload video decoding to the GPU, and this means multitasking (such as rsyncing files on the machine while playing video) causes some frames to drop and the desktop environment to feel sluggish.</li>
<li>The <a href="http://www.amazon.co.uk/Keysonic-Wireless-Keyboard-Integrated-Frequency/dp/B000L10Y5E">Keysonic Compact Wireless Keyboard</a> altogether. It has no multimedia keys and sleeps often. The mouse buttons are a little hard to click. Like most wireless keyboards, it is insecure (can be sniffed via radio), so you shouldn&#8217;t use it to enter passwords.</li>
<li>It is somewhat unpleasant to use a mouse-based GUI on a media center interface. I like being able to use the HTPC as a full PC (web browser, skype, games), but 90% of the time I just want it to play video or music. That can be done well with a D-pad style interface.</li>
</ol>
<p>Here is my new solution:</p>
<p><strong>Hardware</strong></p>
<ul>
<li><a href="http://www.zotac.com/index.php?option=com_wrapper&#038;view=wrapper&#038;Itemid=100083&#038;lang=en">Zotac ZBOX HD-ID11</a>, with Intel Atom D510 dual-core 1.66 GHz CPU, 2 GB of system RAM, and nVidia ION video with 512 MB of dedicated RAM, and one internal 500 GB drive. Runs up to 1080p video perfectly in XBMC, and offloads video decoding (<a href="http://en.wikipedia.org/wiki/VDPAU">VDPAU</a>). System load is 0.3 while playing video, so you can copy files, install system updates, even recompile the kernel if you must, and video doesn&#8217;t skip.</li>
<li><a href="http://www.logitech.com/en-gb/keyboards/keyboard/devices/3848">Logitech diNovo Mini</a> keyboard. Jamie calls it the &#8220;Delightful New Keyboard&#8221;, or DNK, for short. It&#8217;s perfect for home theatre use, switching between keypad and trackpad easily. I wish it had some way to send F1-F12 keys, but so far that&#8217;s only been an issue for mucking with BIOS.</li>
<li>My existing Panasonic TX-37LZD70 37″ LCD HDTV, with HDMI input. The nVidia management tool allowed me to set 1080p video, even though the TV still doesn&#8217;t present 1080p in its <a href="http://www.tolaris.com/2009/04/14/enabling-1080p-video-on-the-shuttle-x27d-htpc/">EDID</a>.</li>
<li>No optical drive. I still have a region-free hardware DVD player, which works just fine for my needs.</li>
</ul>
<p><strong>Software</strong></p>
<ul>
<li>Ubuntu 10.10 &#8220;Maverick Meerkat&#8221;, 64-bit. Supports nVidia drivers and works flawlessly. I use it in native 1920&#215;1080 resolution, with fonts and icons enlarged. Even when using the regular desktop, it&#8217;s usable from the couch.</li>
<li><a href="http://xbmc.org/">XBMC</a> 10.0 for playing video and music. Simply awesome. I miss Miro&#8217;s integration of collection manager, web browser, and torrent downloader. However, XBMC is far better at actually playing video, which is <em>kind of the point</em>. XBMC uses its own renderer and decoders, and shows none of the artifacts and tearing lines I&#8217;ve seen with other play engines. I use the iPlayer and Youtube add-ons, and I&#8217;m just starting to explore the available plugins out there.</li>
<li><a href="http://flexget.com/">FlexGet</a>, <a href="http://deluge-torrent.org/">Deluge</a>, and <a href="http://showrss.karmorra.info/">ShowRSS</a> for Bittorrent content. ShowRSS supplies RSS feeds to torrents, FlexGet (with cron) fetches them, and Deluge downloads them. You could easily replace Deluge with Transmission, which also has an XBMC plugin to show download progress.</li>
</ul>
<p><strong>Lessons learned</strong></p>
<ol>
<li>gstreamer can&#8217;t play HD quality video. Well, it can, but only in software. So if you have a Core2Duo 2.2 GHz, you&#8217;re fine. But not if you have a low-power media PC. Unfortunately, just about every Gnome app out there uses gstreamer now, including Miro and Totem. This is what finally pushed me to use XBMC, and I&#8217;m glad for it. Alternatives exist (VLC and mplayer), but they have terrible GUIs.</li>
<li>Don&#8217;t buy the <a href="http://www.fluendo.com/shop/product/complete-set-of-playback-plugins/">Fluendo codecs</a>. In complete contravention of my usual behaviour, I actually <em>purchased software</em>, in the hopes that the commercial VDPAU library would solve the gstreamer HD problem. It didn&#8217;t. HD video now played differently, but not better, showing a different set of decoding errors and artifacts. I noticed no difference in audio playback at all.</li>
<li>Disable compositing in your window manager. On Ubuntu, this is done in System -> Preferences -> Appearance. On the Visual Effects tab, select None. Until I did this, XBMC showed some tearing lines while displaying 720p video.</li>
</ol>
<p>So what became of gozer? It&#8217;s my new BackupPC server, quietly backing up all the PCs in the house every night. I really didn&#8217;t expect the Atom chipset to handle disk compression very well. But running only one simultaneous backup, it&#8217;s as fast as the big servers I&#8217;ve built for work.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tolaris.com/2011/01/05/htpc-take-two/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>AC3 audio with pulseaudio in Ubuntu Lucid</title>
		<link>http://www.tolaris.com/2010/05/09/ac3-audio-with-pulseaudio-in-ubuntu-lucid/</link>
		<comments>http://www.tolaris.com/2010/05/09/ac3-audio-with-pulseaudio-in-ubuntu-lucid/#comments</comments>
		<pubDate>Sun, 09 May 2010 12:58:17 +0000</pubDate>
		<dc:creator>Tyler Wagner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[htpc]]></category>
		<category><![CDATA[lucid]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.tolaris.com/?p=901</guid>
		<description><![CDATA[Update 2010-10-14 &#8211; This problem has been resolved since pulseaudio 1:0.9.22~0.9.21+stable-queue-32-g8478-0ubuntu14. You can now play AC3 audio with the Lucid packages. Since upgrading my media PC to Ubuntu 10.04 &#8220;Lucid Lynx&#8221;, pulseaudio can&#8217;t play files with AC3 audio. Unfortunately this includes all of my ripped DVDs, which were encoded with AC3 pass-through audio. If I [...]]]></description>
			<content:encoded><![CDATA[<p><em>Update 2010-10-14</em> &#8211; This problem has been resolved since pulseaudio 1:0.9.22~0.9.21+stable-queue-32-g8478-0ubuntu14. You can now play AC3 audio with the Lucid packages.</p>
<p>Since upgrading my media PC to Ubuntu 10.04 &#8220;Lucid Lynx&#8221;, pulseaudio <a href="http://www.mail-archive.com/pulseaudio-tickets@mail.0pointer.de/msg03472.html">can&#8217;t play files with AC3 audio</a>. Unfortunately this includes all of my ripped DVDs, which were encoded with AC3 pass-through audio. If I play such a file in Miro, the video hangs after a few seconds. If I play it in Totem, the same happens but a pop-up is also displayed: &#8220;pa_stream_writable_size() failed: Connection terminated&#8221;.</p>
<p>I fixed it by downgrading Pulseaudio to the karmic version.  Here is how.</p>
<p><span id="more-901"></span>First, add the karmic repositories to your sources list. Create a file, /etc/apt/sources.list.d/ubuntu-karmic.list, containing:</p>
<pre>deb http://archive.ubuntu.com/ubuntu/ karmic main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-backports main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ karmic-security main restricted universe multiverse</pre>
<p>Now downgrade pulseaudio to the specific version in karmic:</p>
<p><code>sudo apt-get update<br />
sudo apt-get install pulseaudio=1:0.9.19-0ubuntu4.1 libpulse0=1:0.9.19-0ubuntu4.1 pulseaudio-module-x11=1:0.9.19-0ubuntu4.1 pulseaudio-esound-compat=1:0.9.19-0ubuntu4.1 pulseaudio-module-bluetooth=1:0.9.19-0ubuntu4.1 pulseaudio-module-gconf=1:0.9.19-0ubuntu4.1 libpulse-mainloop-glib0=1:0.9.19-0ubuntu4.1 libpulse-browse0=1:0.9.19-0ubuntu4.1 pulseaudio-utils=1:0.9.19-0ubuntu4.1</code></p>
<p>You may remove ubuntu-karmic.list after this, or disable it by renaming it to something not ending in &#8220;.list&#8221;.</p>
<p>Finally, tell dpkg not to upgrade again:</p>
<p><code>sudo dpkg --set-selections</code></p>
<p>Paste the following, followed by &#8220;Enter&#8221; and &#8220;Control-D&#8221;:</p>
<pre>libpulse-browse0 hold
libpulse-mainloop-glib0 hold
libpulse0 hold
pulseaudio hold
pulseaudio-esound-compat hold
pulseaudio-module-bluetooth hold
pulseaudio-module-gconf hold
pulseaudio-module-udev hold
pulseaudio-module-x11 hold
pulseaudio-utils hold</pre>
<p>I haven&#8217;t get discovered if the Gnome package updater in lucid will honour the holds. Synaptic and apt-get will, but when I last tested (with jaunty), the Gnome updater blindly upgrades without regards to dpkg preferences. Lets hope some sanity has set in since then.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tolaris.com/2010/05/09/ac3-audio-with-pulseaudio-in-ubuntu-lucid/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>tvrss is dead, long live showrss!</title>
		<link>http://www.tolaris.com/2009/06/17/tvrss-is-dead-long-live-showrss/</link>
		<comments>http://www.tolaris.com/2009/06/17/tvrss-is-dead-long-live-showrss/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 19:56:38 +0000</pubDate>
		<dc:creator>Tyler Wagner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[htpc]]></category>

		<guid isPermaLink="false">http://www.tolaris.com/?p=386</guid>
		<description><![CDATA[The game of global whack-a-mole continues, and it does not favour those holding the mallets. tvrss.net, formerly my source for RSS feeds of torrents of my favourite TV shows, is likely down for good. You can search eztv.it for individual torrents directly, but why? showrss.karmorra.info is already up, and it&#8217;s even better than tvrss.net. Now [...]]]></description>
			<content:encoded><![CDATA[<p>The game of global whack-a-mole continues, and it does not favour those holding the mallets.  <a href="http://tvrss.net/">tvrss.net</a>, formerly my source for RSS feeds of torrents of my favourite TV shows, is likely down for good.  You can search <a href="http://eztv.it">eztv.it</a> for individual torrents directly, but why?  <a href="http://showrss.karmorra.info/">showrss.karmorra.info</a> is already up, and it&#8217;s even better than tvrss.net.  Now I have one custom feed for all my shows, and it automatically filters out duplicates and resolutions I don&#8217;t want.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tolaris.com/2009/06/17/tvrss-is-dead-long-live-showrss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My HTPC setup</title>
		<link>http://www.tolaris.com/2009/04/15/my-htpc-setup/</link>
		<comments>http://www.tolaris.com/2009/04/15/my-htpc-setup/#comments</comments>
		<pubDate>Wed, 15 Apr 2009 21:19:22 +0000</pubDate>
		<dc:creator>Tyler Wagner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[htpc]]></category>
		<category><![CDATA[intrepid]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.tolaris.com/?p=347</guid>
		<description><![CDATA[As I mentioned in my last post, I now have a Home Theater PC (HTPC). Want to look under the hood? Hardware Shuttle X27D, with an Intel Atom 330 dual-core 1.6 GHz low-power CPU, an Intel 945G graphics processor, and a single 2GB RAM module. This unit has DVI and VGA video ports, both capable [...]]]></description>
			<content:encoded><![CDATA[<p>As I mentioned in my <a href="/2009/04/14/enabling-1080p-video-on-the-shuttle-x27d-htpc/">last post</a>, I now have a Home Theater PC (HTPC).  Want to look under the hood?</p>
<p><span id="more-347"></span><strong>Hardware</strong></p>
<ul>
<li><a href="http://www.pcpro.co.uk/reviews/workstations/237330/shuttle-x27d">Shuttle X27D</a>, with an Intel Atom 330 dual-core 1.6 GHz low-power CPU, an Intel 945G graphics processor, and a single 2GB RAM module.  This unit has DVI and VGA video ports, both capable of resolutions up to 2560&#215;1600, but only in mirrored mode (no dual monitor support).  I&#8217;m pretty happy with it, but the GPU can&#8217;t really handle 720p or 1080p at 24 frames video reliably.  If I had this to do over again, the reviews suggest the <a href="http://www1.euro.dell.com/content/products/productdetails.aspx/desktop-studio-hybrid?c=uk&#038;cs=ukdhs1&#038;l=en&#038;s=dhs">Dell Studio Hybrid</a> would have been a better choice.  However, I don&#8217;t know if it is as quiet as the Shuttle, and it costs £100 more.</li>
<li>Seagate 320GB 7200RPM 2.5&#8243; SATA hard drive.  That&#8217;s plenty of room for music, 480p video, and video games (MAME, NES, SNES).  Go bigger if you plan to archive higher resolution video.  I tend not to keep shows once I watch them.</li>
<li>DVD+-RW Multirecorder.  More than I need, really.  I just want to watch my DVDs, and rip them to local video files for &#8220;Saturday morning cartoon&#8221;-style shuffling.</li>
<li><a href="http://www.amazon.co.uk/Keysonic-Wireless-Keyboard-Integrated-Frequency/dp/B000L10Y5E">Keysonic Compact Wireless Keyboard with Integrated Touch Pad</a>.  All around a good product, and pleasingly small.  I do not want a monster keyboard lying around my living room, nor anything with wires, nor a remote control.  So this is pretty good.  However, it supports only single-touch tapping (no two/three-finger tapping for middle/right click), and pressing both buttons together does not produce middle-click.  Warning: this keyboard uses 2.4 GHz.  Sniffing with <a href="http://www.metageek.net/products/wi-spy_24x">Wi-Spy</a> shows it communicates at 2422 MHz, which is WLAN channel 3.  I moved my WLAN to channel 11 to avoid issues, but when I&#8217;m copying large amounts of data the keyboard still stutters a little.  Not often a problem, but annoying.  Also, wireless keyboards are not secure (except bluetooth keyboards, which suck for other reasons).  Someone with an antenna and custom software can read what a user is typing from a distance.  So don&#8217;t use this keyboard for Internet banking.</li>
<li>Panasonic TX-37LZD70 37″ LCD HDTV.  I bought this last year planning to use it for this purpose, so it supports 1080p video via HDMI.  It has excellent picture quality and good sound.  But much to my annoyance, it refuses to believe that I don&#8217;t have a TV signal and never want one.  It starts in TV mode even when the PC is operating, and I always have to change inputs after turning it on.  It also waits somewhere between 20 and 60 minutes to shut off when no signal is detected (I&#8217;ve never timed it). Dear TV makers: please sack your TV development teams and replace them with your PC monitor development teams.  Then instruct them to stop re-implementing the same crappy menu interface from 1992.  Thank you.</li>
</ul>
<p><strong>Software</strong></p>
<ul>
<li>Ubuntu 8.10 Intrepid Ibex 32-bit.  I wanted the simpler and faster Gnome interface rather than KDE, because KDE encourages me to customise and play.  And I just want an HTPC, not a general purpose device.  Despite my efforts at making 1080p video work, I tend to run at 720p so the interface is readable from my couch 3 meters back.</li>
<li><a href="http://www.getmiro.com/">Miro</a> 2.0.4, using the Miro APT repository for automatic updates.  Miro is awesome.  Miro downloads all my favourite shows and organises them in neat little menus.  The interface isn&#8217;t suited to a simple remote-control interface, so expect to have a mouse or touchpad handy.</li>
<li><a href="http://www.tvrss.net/">tvrss.net</a> to supply RSS feeds to torrents of my favourite shows.</li>
<li><a href="http://elisa.fluendo.com/">Elisa</a>, a remote-control friendly media center interface.  It&#8217;s a bit buggy and slow to index content, but it sure is pretty.  It&#8217;s easy to get Elisa to play Miro&#8217;s video content.  However, it needs some work before I&#8217;m ready to use it full time.  Most notably the DVD interface is quite bad (probably based on gstreamer, which itself has terrible DVD support).</li>
<li><a href="http://kaffeine.kde.org/">Kaffeine</a> for playing DVDs.  I&#8217;ve tried Totem (gstreamer and xine), xine-ui, and VLC.  Kaffeine is the only one I have found with decent full-screen mode controls, DVD menu support, and which totally ignores stupid &#8220;this button is disabled&#8221; restrictions during playback.  I&#8217;ve configured it to launch automatically when DVDs are inserted.</li>
<li><a href="http://amarok.kde.org/">Amarok 1.4.10</a> for playing music.  All the other software on this list can play music too, but it is hard to beat Amarok&#8217;s support for static and dynamic playlists, streaming audio, and ability to quickly parse my 110 GB music collection.</li>
</ul>
<p>I&#8217;m still working out the best way to handle video games, especially a good front-end loader with support for <a href="http://mamedev.org/">MAME</a>, <a href="http://fceux.com/">FCE Ultra</a>, and <a href="http://www.zsnes.com/">zSNES</a>.</p>
<p>I named it <a href="http://moderndaymalaise.blogspot.com/2006/07/shubs-and-zuuls.html">gozer</a>, and put a small name label over the irritating blue LED on the faceplate.  It illuminates the &#8220;o&#8221; perfectly.  Gozer the Gozerian, Gozer the Destructor, Vulguus Sil Drohar, Lord of the Trebulian, The Traveller has come!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tolaris.com/2009/04/15/my-htpc-setup/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Enabling 1080p video on the Shuttle X27D HTPC</title>
		<link>http://www.tolaris.com/2009/04/14/enabling-1080p-video-on-the-shuttle-x27d-htpc/</link>
		<comments>http://www.tolaris.com/2009/04/14/enabling-1080p-video-on-the-shuttle-x27d-htpc/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 21:10:08 +0000</pubDate>
		<dc:creator>Tyler Wagner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[htpc]]></category>
		<category><![CDATA[intrepid]]></category>
		<category><![CDATA[jaunty]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.tolaris.com/?p=330</guid>
		<description><![CDATA[I recently bought a Shuttle X27D to use as a Home Theater PC (HTPC). The reviews of this hardware run from disappointing to average, but I&#8217;m reasonably happy with it. It&#8217;s quiet (just one small fan for the GPU, and none for CPU, case, or power supply), uses little power (I measured it at 32 [...]]]></description>
			<content:encoded><![CDATA[<p>I recently bought a <a href="http://www.efficientpc.co.uk/desktops/asgard/">Shuttle X27D</a> to use as a Home Theater PC (HTPC).  The reviews of this hardware run from <a href="http://www.google.com/url?sa=t&#038;source=web&#038;ct=&#038;cd=1&#038;url=http%3A%2F%2Fwww.reghardware.co.uk%2F2008%2F12%2F10%2Freview_desktop_pc_shuttle_x27d%2F&#038;ei=YGffSZPuMoHB-AanuNj8CA&#038;usg=AFQjCNFx-FuScJVQlsP9QJaSC-ZHiDupWA">disappointing</a> to <a href="http://www.custompc.co.uk/reviews/246460/shuttle-x27d.html">average</a>, but I&#8217;m reasonably happy with it.  It&#8217;s quiet (just one small fan for the GPU, and none for CPU, case, or power supply), uses little power (I measured it at 32 W in full operation), and the analog audio jack on the motherboard has no discernable noise in the audio stream (unlike my Dell Vostro 1500 laptop).</p>
<p>Unfortunately, the Intel 945G graphics processor can&#8217;t reliably handle 720p @24 frames video.  I tested with a downloaded copy of <a href="http://www.sitasingstheblues.com">Sita Sings the Blues</a>, and it dropped frames as the animated fireworks exploded during the title sequence.  It was fine with most of the rest of the film.  Still, it means I&#8217;m likely to stick to upscaled 480p video.  Which is far better for my bandwidth usage.</p>
<p>Naturally, I ran into some problems setting it up.</p>
<p><span id="more-330"></span>First, I discovered that <a href="https://answers.launchpad.net/efficientpc/+question/66832">Ubuntu 8.10 Intrepid amd64 won&#8217;t run on this hardware</a>.  The kernel panics as soon as you boot the Live CD.  Ubuntu 9.04 beta works, and of course i386 is fine.  <a href="http://popolon.org/gblog2/atom330-benchmark">Benchmarks</a> of the Atom 330 suggest that the 32-bit kernel is actually faster on this CPU for integer operations, so I just went with 32-bit.  Since I wanted to use this as the family Skype device, that was probably the better choice anyway.</p>
<p>The biggest reason I bought a Shuttle X27D was because it has a DVI port that I could connect to my TV.  I have a Panasonic TX-37LZD70 37&#8243; LCD HDTV which is capable of up to 1080p video (1920&#215;1080) when using an HDMI input. I connected them via a DVI-to-HDMI adaptor (it&#8217;s just a difference in pinout, and lack of an audio signal). Unfortunately Ubuntu booted in 720p mode (1280&#215;720 50 Hz).  <code>xrandr</code> reported a variety of other modes available, but none of them worked with my TV except for 640&#215;480.</p>
<pre>media@gozer:~$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 720, maximum 1680 x 1050
VGA disconnected (normal left inverted right x axis y axis)
TMDS-1 connected 1280x720+0+0 (normal left inverted right x axis y axis) 697mm x 392mm
   1280x720       50.0 +   60.0*
   1680x1050      60.0
   1600x1024      60.2
   1400x1050      60.0
   1280x1024      60.0
   1440x900       59.9
   1280x960       60.0
   1360x768       59.8
   1152x864       60.0
   1024x768       60.0
   800x600        60.3     56.2
   640x480        59.9</pre>
<p>I started playing with xrandr, and eventually discovered that the TV isn&#8217;t giving complete resolution information in the <a href="http://en.wikipedia.org/wiki/EDID">EDID</a> it offers digitally.</p>
<pre>media@gozer:~$ xrandr --prop
Screen 0: minimum 320 x 200, current 1280 x 720, maximum 1680 x 1050
VGA disconnected (normal left inverted right x axis y axis)
TMDS-1 connected 1280x720+0+0 (normal left inverted right x axis y axis) 697mm x 392mm
        EDID_DATA:
                00ffffffffffff0034a92ac149040000
                2f110103800000780adaffa3584aa229
                17494b00000001010101010101010101
                010101010101011d00bc52d01e20b828
                5540b9882100001e011d007251d01e20
                6e285500b9882100001e000000fc0050
                414e41534f4e49432d54560a000000fd
                00173d0f440f000a2020202020200187
                0203207250938414051f102012031102
                16071506012309070166030c00200080
                011d80d0721c1620102c2580b9882100
                009e8c0ad090204031200c405500b988
                21000018011d8018711c1620582c2500
                b9882100009e8c0ad08a20e02d10103e
                9600b98821000018023a80d072382d40
                102c4580b98821000018000000000050</pre>
<p><a href="http://software.intel.com/en-us/articles/custom-resolutions-on-intel-graphics/">Decoding this by hand</a> revealed that the TV is only announcing 1280&#215;720 graphics modes.  Some DVD players are willing to try to force graphics modes they don&#8217;t know will work, but a PC wisely does not do this without manual intervention.</p>
<p>By this point I&#8217;d learned a lot about setting display modes in X and tried creating modes myself, using <code>gtf</code> and <code>cvt</code>.</p>
<p><code>xrandr --newmode "1920x1080_50.00" 141.50  1920 2032 2232 2544  1080 1083 1088 1114 -hsync +vsync<br />
xrandr --addmode TMDS-1 1920x1080_50.00<br />
xrandr --output TMDS-1 --mode "1920x1080_50.00"</code></p>
<p>This didn&#8217;t work because the mode I was trying to create was too large for the maximum listed by xrandr.  It turns out that this isn&#8217;t a hard setting, but is calculated when X starts based on the maximum resolution of the available displays.  It is the size of the frame buffer X uses for the total display area of all displays.  Anyone having to set up dual monitors usually has to increase this in order to have two displays side by side.  So I modified /etc/X11/xorg.conf and restarted X.</p>
<pre>Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
        Subsection "Display"
                Virtual 1920 1080
        Endsubsection
EndSection</pre>
<p>Now the new mode worked, but was shifted to the right on my TV.  This happened for all the modeline calculations I was able to produce with both <code>gtf</code> and <code>cvt</code>.  So I gave up and installed <a href="http://www.clevertec.co.uk/productsfree.htm#dtdcalc">DTDCalculator</a> in my Windows virtual machine.  It calculated a different set of modelines which worked perfectly on the first try.  I set up modes for 24 Hz, 50 Hz, and 60 Hz.</p>
<p><code>xrandr --newmode "1920x1080_24.00" 74.25  1920 2558 2602 2750  1080 1084 1089 1125  -HSync +Vsync<br />
xrandr --newmode "1920x1080_50.00" 148.50  1920 2448 2492 2640  1080 1084 1089 1125  -HSync +Vsync<br />
xrandr --newmode "1920x1080_60.00" 148.50  1920 2008 2052 2200  1080 1084 1089 1125  -HSync +Vsync<br />
xrandr --addmode TMDS-1 1920x1080_24.00<br />
xrandr --addmode TMDS-1 1920x1080_50.00<br />
xrandr --addmode TMDS-1 1920x1080_60.00</code></p>
<p>Now I can switch to any of the new modes, and I have full 1080p video!  The last thing I want to do is make this change permanent.  There are several ways to do this.  The best way is to edit xorg.conf:</p>
<pre>Section "Device"
        Identifier      "Configured Video Device"
        Option "Monitor-TMDS-1" "Configured Monitor"
EndSection

Section "Monitor"
        Identifier      "Configured Monitor"
        ModeLine "1920x1080_60.00" 148.50  1920 2008 2052 2200  1080 1084 1089 1125  -hsync +vsync
        ModeLine "1920x1080_50.00" 148.50  1920 2448 2492 2640  1080 1084 1089 1125  -hsync +vsync
        ModeLine "1920x1080_24.00" 74.25  1920 2558 2602 2750  1080 1084 1089 1125  -hsync +vsync
        Option "PreferredMode" "1920x1080_60.00"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Monitor         "Configured Monitor"
        Device          "Configured Video Device"
        Subsection "Display"
                Virtual 1920 1080
        Endsubsection
EndSection</pre>
<p>This sets up the larger virtual frame buffer, creates the new resolutions, and tells X that the display TMDS-1 (the DVI port on this graphics card) should use the settings for &#8220;Configured Monitor&#8221; (normally only the first detected device will use these).</p>
<p>Another way to do this is to edit either /etc/xprofile or ~/.profile for your user.  This is a shell script that is executed as X starts.  If you want just your user to have these changes, use the latter.  If you want all users including the login greeter to have them, use the former.</p>
<pre>#!/bin/bash
# 2009-04-10 tyler - add missing 1080p video modes to DVI output

xrandr --newmode "1920x1080_24.00" 74.25  1920 2558 2602 2750  1080 1084 1089 1125  -HSync +Vsync
xrandr --newmode "1920x1080_50.00" 148.50  1920 2448 2492 2640  1080 1084 1089 1125  -HSync +Vsync
xrandr --newmode "1920x1080_60.00" 148.50  1920 2008 2052 2200  1080 1084 1089 1125  -HSync +Vsync

xrandr --addmode TMDS-1 1920x1080_24.00
xrandr --addmode TMDS-1 1920x1080_50.00
xrandr --addmode TMDS-1 1920x1080_60.00

xrandr --output TMDS-1 --mode "1920x1080_60.00"</pre>
<p>If you&#8217;ll excuse me, I&#8217;m going to get back to watching all my favourite shows without commercials.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tolaris.com/2009/04/14/enabling-1080p-video-on-the-shuttle-x27d-htpc/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

