<?xml version="1.0" encoding="iso-8859-1"?><!-- generator="b2evolution/2.4.5" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Josh Saddler</title>
		<link>http://blogs.gentoo.org/nightmorph</link>
		<description>Gentoo developer, wordsmith, code poet.</description>
		<language>en-US</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=2.4.5"/>
		<ttl>60</ttl>
				<item>
			<title>November Xfce desktop</title>
			<link>http://blogs.gentoo.org/nightmorph/2009/11/12/november-xfce-desktop</link>
			<pubDate>Thu, 12 Nov 2009 19:23:23 +0000</pubDate>			<dc:creator>Josh Saddler</dc:creator>
			<category domain="main">Gentoo</category>
<category domain="alt">Xfce</category>			<guid isPermaLink="false">1904@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;Decided I'd shake things up a bit this month, after keeping the same look for nearly three straight months. Thus, I present:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://dev.gentoo.org/~nightmorph/misc/screens/20091112-01.png&quot;&gt;&lt;img src=&quot;http://dev.gentoo.org/~nightmorph/misc/screens/20091112-01.png&quot; alt=&quot;Grunge&quot; title=&quot;Grunge&quot; height=&quot;180&quot; width=&quot;280&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;icons: Area o.43&lt;br /&gt;
gtk+: Rele (Rezlooks engine)&lt;br /&gt;
xfwm4: Rezlooks-gtk (yes, it is confusingly named)&lt;br /&gt;
background: &lt;a href=&quot;http://pixelgirlpresents.com/node/7113&quot;&gt;rassilon&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's grungy, but rather sleek. Surprisingly easy on the eyes, too. The lighter elements of the Rele gtk+ theme aren't overpoweringly white, but are just light enough to provide a decent contrast to the generally darker Area icons.&lt;/p&gt;

&lt;p&gt;There's also an uncluttered version &lt;a href=&quot;http://dev.gentoo.org/~nightmorph/misc/screens/20091112-02.png&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I've been looking to assemble themes that are grungy, and themes that are warmer-yet-wintry. I like winter. I still have some hope that these 80 degree weeks will come to an end soon. We're almost to the middle of November. Surely we'll see gray sky, cool breezes, and maybe even rain here in SoCal at some point, right? Right? Well, if not, I can at least put it on my desktop.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2009/11/12/november-xfce-desktop&quot;&gt;Original post&lt;/a&gt; from &lt;a href=&quot;http://planet.gentoo.org&quot;&gt;Planet Gentoo&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Decided I'd shake things up a bit this month, after keeping the same look for nearly three straight months. Thus, I present:</p>

<p><a href="http://dev.gentoo.org/~nightmorph/misc/screens/20091112-01.png"><img src="http://dev.gentoo.org/~nightmorph/misc/screens/20091112-01.png" alt="Grunge" title="Grunge" height="180" width="280" /></a></p>

<p>icons: Area o.43<br />
gtk+: Rele (Rezlooks engine)<br />
xfwm4: Rezlooks-gtk (yes, it is confusingly named)<br />
background: <a href="http://pixelgirlpresents.com/node/7113">rassilon</a></p>

<p>It's grungy, but rather sleek. Surprisingly easy on the eyes, too. The lighter elements of the Rele gtk+ theme aren't overpoweringly white, but are just light enough to provide a decent contrast to the generally darker Area icons.</p>

<p>There's also an uncluttered version <a href="http://dev.gentoo.org/~nightmorph/misc/screens/20091112-02.png">here</a>.</p>

<p>I've been looking to assemble themes that are grungy, and themes that are warmer-yet-wintry. I like winter. I still have some hope that these 80 degree weeks will come to an end soon. We're almost to the middle of November. Surely we'll see gray sky, cool breezes, and maybe even rain here in SoCal at some point, right? Right? Well, if not, I can at least put it on my desktop.</p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/nightmorph/2009/11/12/november-xfce-desktop">Original post</a> from <a href="http://planet.gentoo.org">Planet Gentoo</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/nightmorph/2009/11/12/november-xfce-desktop#comments</comments>
		</item>
				<item>
			<title>Tabu Audio Player</title>
			<link>http://blogs.gentoo.org/nightmorph/2009/11/11/tabu-audio-player</link>
			<pubDate>Wed, 11 Nov 2009 14:50:05 +0000</pubDate>			<dc:creator>Josh Saddler</dc:creator>
			<category domain="main">Gentoo</category>
<category domain="alt">Applications</category>			<guid isPermaLink="false">1901@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;Even though I'm currently sick with H1N1, also known as swine flu, this morning I was feeling well enough to write an ebuild for an interesting media app I found: &lt;a href=&quot;http://www.kalmbach.com.ar/?page_id=7&quot;&gt;Tabu Audio Player&lt;/a&gt;. It's an interesting player -- while it still needs some translation work into English, it's simple and has an appealing UI drawn by Cairo.&lt;/p&gt;

&lt;p&gt;It had only a single configure option, &quot;debug,&quot; and a very short list of dependencies, so I figured it'd be a simple ebuild to write, right?&lt;/p&gt;

&lt;p&gt;Wrong! Turns out that after a half-hours' worth of poking at configure.ac, the package's check for --disable-debug/--enable-debug was completely broken. If you explicitly passed --disable-debug, like &quot;-debug&quot; in IUSE, then it would enable the debug build every time. Thanks to rej and a3li on IRC for nailing this problem down; they were really helpful.&lt;/p&gt;

&lt;p&gt;a3li also shared his &lt;a href=&quot;http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-irc/bip/bip-0.8.0.ebuild?hideattic=0&amp;amp;rev=1.2&amp;amp;view=markup&quot;&gt;solution for the same problem&lt;/a&gt; in one of his packages, so I used it in my ebuild to ensure that &quot;debug&quot; works properly as a USE variable.&lt;/p&gt;

&lt;p&gt;Meanwhile, I sent a bug report to upstream asking for a smarter debug check. I also asked for CFLAGS=&quot;-02&quot; to be removed from Makefile.am, that way folks are free to use their own -O levels without having to resort to using sed on the Makefile, as I had to in the ebuild.&lt;/p&gt;

&lt;p&gt;Speaking of which: I have an ebuild for Tabu 2.1 waiting for you in my devspace, if you'd like to &lt;a href=&quot;http://dev.gentoo.org/~nightmorph/misc/ebuilds/media-sound/tabu-audio-player/&quot;&gt;try it out&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2009/11/11/tabu-audio-player&quot;&gt;Original post&lt;/a&gt; from &lt;a href=&quot;http://planet.gentoo.org&quot;&gt;Planet Gentoo&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Even though I'm currently sick with H1N1, also known as swine flu, this morning I was feeling well enough to write an ebuild for an interesting media app I found: <a href="http://www.kalmbach.com.ar/?page_id=7">Tabu Audio Player</a>. It's an interesting player -- while it still needs some translation work into English, it's simple and has an appealing UI drawn by Cairo.</p>

<p>It had only a single configure option, "debug," and a very short list of dependencies, so I figured it'd be a simple ebuild to write, right?</p>

<p>Wrong! Turns out that after a half-hours' worth of poking at configure.ac, the package's check for --disable-debug/--enable-debug was completely broken. If you explicitly passed --disable-debug, like "-debug" in IUSE, then it would enable the debug build every time. Thanks to rej and a3li on IRC for nailing this problem down; they were really helpful.</p>

<p>a3li also shared his <a href="http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-irc/bip/bip-0.8.0.ebuild?hideattic=0&amp;rev=1.2&amp;view=markup">solution for the same problem</a> in one of his packages, so I used it in my ebuild to ensure that "debug" works properly as a USE variable.</p>

<p>Meanwhile, I sent a bug report to upstream asking for a smarter debug check. I also asked for CFLAGS="-02" to be removed from Makefile.am, that way folks are free to use their own -O levels without having to resort to using sed on the Makefile, as I had to in the ebuild.</p>

<p>Speaking of which: I have an ebuild for Tabu 2.1 waiting for you in my devspace, if you'd like to <a href="http://dev.gentoo.org/~nightmorph/misc/ebuilds/media-sound/tabu-audio-player/">try it out</a>.</p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/nightmorph/2009/11/11/tabu-audio-player">Original post</a> from <a href="http://planet.gentoo.org">Planet Gentoo</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/nightmorph/2009/11/11/tabu-audio-player#comments</comments>
		</item>
				<item>
			<title>Intel graphics and gaming, Abiword 2.8.0</title>
			<link>http://blogs.gentoo.org/nightmorph/2009/10/27/intel-graphics-and-gaming-abiword-2-8</link>
			<pubDate>Tue, 27 Oct 2009 19:07:03 +0000</pubDate>			<dc:creator>Josh Saddler</dc:creator>
			<category domain="main">Gentoo</category>
<category domain="alt">Applications</category>			<guid isPermaLink="false">1892@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;Last night I installed UT2004 on my laptop, after not playing it since June. The laptop in question is an older ThinkPad R61i, with an Intel X3100 graphics chip. I know -- not the best for gaming. However, most online reports I found indicate that it's acceptable for such an old game as UT2004, so I figured it'd be worth a shot. The Intel graphics drivers have made a lot of progress in the last two years, especially on the 3D front, right? Right?&lt;/p&gt;

&lt;p&gt;Kinda. After reducing all settings to &quot;low&quot; and dialing back the resolution to 1024x768 (native is 1280x800), the game is playable, but with very uneven framerates. Looking toward the middle of a map, or anyplace with a lot of action, introduces a good stutterfest; frames are down to between 8 and 18FPS. I enabled a few extra options such as pixel shaders and VBOs in UT2004.ini to add a bit more performance, but it's still marginal.&lt;/p&gt;

&lt;p&gt;I'm rather disappointed. I'm not having nearly as great an experience as other Linux users, and certainly not as good as the Windows gamers who've benchmarked Unreal on this hardware. However, I did also catch the huge xorg-server 1.7 update as well, so maybe there have been some performance regressions since 1.6. It makes it a little hard to determine the areas that could use tweaking. I don't have anything special in my xorg.conf, just a default resolution. It's possible there's a setting I'm missing.&lt;/p&gt;

&lt;p&gt;I'd like to try UT2004 on my desktop workstation, which has a RadeonHD 4550 card, but all reports indicate that even the latest git checkouts of the open-source drivers still don't work with Unreal. Apparently the game can't even launch, much less run at playable speeds. But as rapidly as the drivers are maturing, I'm hoping this'll be fixed in a month or so. Call me optimistic. &lt;img src=&quot;http://blogs.gentoo.org/rsc/smilies/icon_smile.gif&quot; alt=&quot;&amp;#58;&amp;#41;&quot; class=&quot;middle&quot; /&gt;&lt;/p&gt;

&lt;p&gt;* * *&lt;/p&gt;

&lt;p&gt;It looks like &lt;a href=&quot;http://www.abisource.com&quot;&gt;Abiword 2.8.0&lt;/a&gt; was released today, so I wrote an ebuild and made it available in my &lt;a href=&quot;http://dev.gentoo.org/~nightmorph/misc/ebuilds&quot;&gt;devspace&lt;/a&gt;. I've been &lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2009/05/14/hands-on-with-ebuilds-abiword&quot;&gt;hand-writing&lt;/a&gt; these things for awhile. It took quite a bit of research to determine what went into the 2.7 betas, and now I'll have to do another overhaul of the 2.8 ebuild to account for the new plugin system. There's no longer a separate abiword-plugins package; they're all distributed in the base 2.8.0 archive. This means there will be a lot more tricky configure checks and USE flags, which &lt;em&gt;sucks&lt;/em&gt; from a flexibility standpoint. Keeping the plugins in an external package was much simpler, so I'm a bit disappointed by this upstream decision.&lt;/p&gt;

&lt;p&gt;Still, right now you can download and install Abiword 2.8.0 using my ebuild. While it needs a few cleanups, it will get you set up with a fully functioning basic Abiword install, though the only available plugin (as shown in the &quot;Plugins&quot; dialog) is .odt support.&lt;/p&gt;

&lt;p&gt;This new version launches much quicker than 2.7.10, and it seems to have fixed all the rendering errors and even the crashes that happened with basic operations. Basically, you can click stuff now without worrying. &lt;img src=&quot;http://blogs.gentoo.org/rsc/smilies/icon_smile.gif&quot; alt=&quot;&amp;#58;&amp;#41;&quot; class=&quot;middle&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Cleaning up my ebuild is a long task, thanks to those darned plugins. Patches welcome, or I suppose you could always just wait and see what ends up in &lt;a href=&quot;http://bugs.gentoo.org&quot;&gt;Bugzilla&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2009/10/27/intel-graphics-and-gaming-abiword-2-8&quot;&gt;Original post&lt;/a&gt; from &lt;a href=&quot;http://planet.gentoo.org&quot;&gt;Planet Gentoo&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Last night I installed UT2004 on my laptop, after not playing it since June. The laptop in question is an older ThinkPad R61i, with an Intel X3100 graphics chip. I know -- not the best for gaming. However, most online reports I found indicate that it's acceptable for such an old game as UT2004, so I figured it'd be worth a shot. The Intel graphics drivers have made a lot of progress in the last two years, especially on the 3D front, right? Right?</p>

<p>Kinda. After reducing all settings to "low" and dialing back the resolution to 1024x768 (native is 1280x800), the game is playable, but with very uneven framerates. Looking toward the middle of a map, or anyplace with a lot of action, introduces a good stutterfest; frames are down to between 8 and 18FPS. I enabled a few extra options such as pixel shaders and VBOs in UT2004.ini to add a bit more performance, but it's still marginal.</p>

<p>I'm rather disappointed. I'm not having nearly as great an experience as other Linux users, and certainly not as good as the Windows gamers who've benchmarked Unreal on this hardware. However, I did also catch the huge xorg-server 1.7 update as well, so maybe there have been some performance regressions since 1.6. It makes it a little hard to determine the areas that could use tweaking. I don't have anything special in my xorg.conf, just a default resolution. It's possible there's a setting I'm missing.</p>

<p>I'd like to try UT2004 on my desktop workstation, which has a RadeonHD 4550 card, but all reports indicate that even the latest git checkouts of the open-source drivers still don't work with Unreal. Apparently the game can't even launch, much less run at playable speeds. But as rapidly as the drivers are maturing, I'm hoping this'll be fixed in a month or so. Call me optimistic. <img src="http://blogs.gentoo.org/rsc/smilies/icon_smile.gif" alt="&#58;&#41;" class="middle" /></p>

<p>* * *</p>

<p>It looks like <a href="http://www.abisource.com">Abiword 2.8.0</a> was released today, so I wrote an ebuild and made it available in my <a href="http://dev.gentoo.org/~nightmorph/misc/ebuilds">devspace</a>. I've been <a href="http://blogs.gentoo.org/nightmorph/2009/05/14/hands-on-with-ebuilds-abiword">hand-writing</a> these things for awhile. It took quite a bit of research to determine what went into the 2.7 betas, and now I'll have to do another overhaul of the 2.8 ebuild to account for the new plugin system. There's no longer a separate abiword-plugins package; they're all distributed in the base 2.8.0 archive. This means there will be a lot more tricky configure checks and USE flags, which <em>sucks</em> from a flexibility standpoint. Keeping the plugins in an external package was much simpler, so I'm a bit disappointed by this upstream decision.</p>

<p>Still, right now you can download and install Abiword 2.8.0 using my ebuild. While it needs a few cleanups, it will get you set up with a fully functioning basic Abiword install, though the only available plugin (as shown in the "Plugins" dialog) is .odt support.</p>

<p>This new version launches much quicker than 2.7.10, and it seems to have fixed all the rendering errors and even the crashes that happened with basic operations. Basically, you can click stuff now without worrying. <img src="http://blogs.gentoo.org/rsc/smilies/icon_smile.gif" alt="&#58;&#41;" class="middle" /></p>

<p>Cleaning up my ebuild is a long task, thanks to those darned plugins. Patches welcome, or I suppose you could always just wait and see what ends up in <a href="http://bugs.gentoo.org">Bugzilla</a>.</p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/nightmorph/2009/10/27/intel-graphics-and-gaming-abiword-2-8">Original post</a> from <a href="http://planet.gentoo.org">Planet Gentoo</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/nightmorph/2009/10/27/intel-graphics-and-gaming-abiword-2-8#comments</comments>
		</item>
				<item>
			<title>R700, KMS, 3D, SSD, and other hardware</title>
			<link>http://blogs.gentoo.org/nightmorph/2009/10/04/r700-kms-3d-ssd-and-other-hardware</link>
			<pubDate>Sun, 04 Oct 2009 08:37:19 +0000</pubDate>			<dc:creator>Josh Saddler</dc:creator>
			<category domain="main">Gentoo</category>
<category domain="alt">Linux</category>
<category domain="alt">Hardware</category>
<category domain="alt">Xfce</category>
<category domain="alt">Applications</category>			<guid isPermaLink="false">1871@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;Gosh, just look at all the buzzwords in the title!&lt;/p&gt;

&lt;p&gt;As you may have guessed, I'll be talking a bit about the recent developments on the FOSS drivers for RadeonHD cards, specifically for R700 cards. And some other hardware stuff.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Radeon&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Yesterday, October 3, I made some big ol' changes to my workstation.&lt;/p&gt;

&lt;p&gt;I decided to try out the new video driver stack that all the kids have been talking about. Kernel Mode Setting, git Mesa/xf86-video-ati/libdrm, git kernel 2.6.32_rc1-git3. All that jazz. I wanted to see if the 3D and KMS features were really working on my RadeonHD 4550 or not. I normally run a stable graphics stack, with ~arch Mesa/x86-video-ati/libdrm where necessary to keep up on 2D acceleration and features.&lt;/p&gt;

&lt;p&gt;This was a big leap for me. So I first consulted some of the X11 team members, remi and nirbheek, who were quite helpful. I installed the latest git-sources kernel, which at the time was 2.6.32_rc1-git3. Mike Pagano has since added -git5. Next, I downloaded the individual -9999 ebuilds for the git master packages from the &lt;a href=&quot;http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=summary&quot;&gt;X11 overlay&lt;/a&gt;, stuck 'em in my local overlay, and merged 'em. Only thing left to do was reboot.&lt;/p&gt;

&lt;p&gt;Lemme tell ya -- KMS in action is &lt;em&gt;awesome&lt;/em&gt;. The console output is just beautiful, and there's no more flickering when &lt;a href=&quot;http://slim.berlios.de&quot;&gt;SLiM&lt;/a&gt; and Xfce load.&lt;/p&gt;

&lt;p&gt;I did notice some minor graphical corruption of the default mouse pointer. However, the corruption isn't present when using any pointer but the default &quot;arrow&quot;, and it also isn't seen when hovering inside a Firefox window. I was told this is because Firefox uses its own cursors. Anyway, I &lt;a href=&quot;https://bugs.freedesktop.org/show_bug.cgi?id=24287&quot;&gt;reported the bug upstream&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Disclaimer: I know glxgears isn't a benchmark. But folks always want to know its results anyway.&lt;/em&gt; I tried running glxgears, which gave me a result of over 1300FPS with desktop compositing activated. My window manager is xfwm4, so all compositing is via Xrender, not OpenGL. Disabling compositing resulted in a 500FPS boost to over 1800FPS. What's this mean? Who knows. Probably nothing. Moving on.&lt;/p&gt;

&lt;p&gt;I took the advice of my fellow developers on IRC and installed quake3-demo. Couldn't run it, though. It blanked the screen, then a message from my LCD firmware appeared, some kind of &quot;input not supported&quot; or &quot;input not detected&quot; error. It slowly repeated the window, drawiing it from center to the top right. I had to Ctrl-Alt-Bksp to get to the console. It also locked up SLiM in the background, pegging one of my CPU cores at 100%. At this point, I rebooted just to test that KMS was still working, then called it a night.&lt;/p&gt;

&lt;p&gt;Today, I revisited my pointer corruption bug tried the &lt;a href=&quot;https://bugs.freedesktop.org/show_bug.cgi?id=24287#c9&quot;&gt;workarounds&lt;/a&gt; posted by Alex Deucher. To my surprise, each one worked! Booting with radeon.modeset=0 removes the glitch, though it makes each boot extremely ugly, of course. Specifying EXANoDownloadFromScreen &quot;true&quot; in /etc/X11/xorg.conf also fixes the corrupted pointer, though it &lt;em&gt;may&lt;/em&gt; also be slowing down all screen drawing operations by the tiniest bit. The jury's still out on that one; it may just be my imagination. I decided to keep this second fix, as KMS is just too glorious to throw out. I like pretty boots.&lt;/p&gt;

&lt;p&gt;I also revisited quake3-demo, since I found some pointers on the &lt;a href=&quot;http://www.phoronix.com&quot;&gt;Phoronix forums&lt;/a&gt; that had a workaround, which is to run OpenGL applications prefixed by LIBGL_ALWAYS_INDIRECT=1. To my surprise, this worked nicely. I tested resolution has high as 900-something by 720. My screen is 1440x900, but I haven't felt like pushing it that far, yet. The game is fluid and playable. I need to figure out how to display FPS so I can properly record what I'm seeing.&lt;/p&gt;

&lt;p&gt;With the success of Q3demo, I remembered that &lt;a href=&quot;http://www.quakelive.com&quot;&gt;QuakeLive&lt;/a&gt; has recently added Linux support. I installed the add-on for Firefox and tried it out. Works nicely, though I'm also running Firefox with LIBGL_ALWAYS_INDIRECT=1 just to be sure. As Alex Deucher and John Bridgman have pointed out on the Phoronix forums, that variable really isn't the safest thing to do, since if something crashes it can take down the whole X server, not just the application. However, it's also the only way I get working 3D games.&lt;/p&gt;

&lt;p&gt;QuakeLive is pretty playable, though the framerates in a few places aren't smooth -- I can't tell if this is because of my card's capabilities, or the driver stack, or the whole weird idea of playing a 3D first-person shooter inside a web browser. &lt;img src=&quot;http://blogs.gentoo.org/rsc/smilies/icon_smile.gif&quot; alt=&quot;&amp;#58;&amp;#41;&quot; class=&quot;middle&quot; /&gt; The big problem with QuakeLive is that the sound is terribly distorted: the voices are greatly drawn-out and slowed down, like playing an old tape recorder at 1/4 speed. There are some solutions on the QL forums, but they're mainly for Ubuntu/Pulseaudio users. I haven't found anything that works for me, yet. The effects and music are okay; it's just the voices that lag horribly.&lt;/p&gt;

&lt;p&gt;I've also installed the latest Nexuiz, version 2.5.2, in anticipation of future testing. One of these days I'll reinstall UT2004, but I haven't read any succesful reports of that game on R700 cards. There's a lot of testing to do in the future!&lt;/p&gt;

&lt;p&gt;Overall, I'm thrilled with the new driver hotness for my ATI card. I bought it specifically because I knew the 2D support at the time was excellent, and because there would be so many good things coming down the way for other features, including 3D acceleration. (Yes, just like the latest &lt;a href=&quot;http://xkcd.org/644/&quot;&gt;XKCD strip&lt;/a&gt;. I swear, it's like that guy listens to everything I say and watches everything I do. It's really spooky!)&lt;/p&gt;

&lt;p&gt;Hats off to all the developers for making it happen. Many thanks!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;SSD&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;After August's &lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2009/08/09/ssds-and-filesystems-part-2&quot;&gt;fiasco with a defective SSD&lt;/a&gt;, I decided to use my refund from the RMA and order a different SSD a few days ago. This time I've settled on a SanDisk enterprise SSD from an HP blade server. Only cost $49, no shipping charges. Brand new. eBay for the win.&lt;/p&gt;

&lt;p&gt;It packs 16GB of SLC flash, which makes it perfect for mounting /usr/portage and /var on it. This way I can feel free to sync whenever I want, instead of only once a week or more. My system drive uses MLC flash, so I've been trying to ease the write load on it, which means putting the high-write activity on a dedicated disk.&lt;/p&gt;

&lt;p&gt;The SanDisk SSD &quot;only&quot; has sustained reads/writes at 60MB/sec, but that's plenty for syncing Portage, as the real limiter is not how fast data can be dumped to the disk, but how fast the rsync servers can send it to my box. Same for /var writes -- it's mostly just log files and some tiny temp things, as /var/tmp is already mounted on a RAMdisk. No large files that need &gt;100MB/sec bandwidth. I'm lookin' forward to shovin' it in my box!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;More hardware&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Since September 28 was my birthday and all, I've been treating myself to various bits of cheap hardware. Like a replacement AC adapter for my DC PicoPSU. The current AC brick is rated at 102W, which is way more than I need, but the problem is that it spins up its tiny fan at only 50%-75% load. This means that opening up a bunch of tabs, compiling packages, playing Quake, watching large-sized Hulu videos and whatnot turns on the fan right away. And it's the world's most &lt;em&gt;annoying&lt;/em&gt; fan. It's loud, whiny, it hisses, and it blows the bad smell of very hot electronics out into the room. Lemme tell you, hot plastic and PSU guts do &lt;em&gt;not&lt;/em&gt; smell good. &lt;/p&gt;

&lt;p&gt;I just ordered a replacement &lt;em&gt;fanless&lt;/em&gt; adapter. This thing is high-quality, designed to run very cool. And it's rated at 150W output, meaning it can match my 150W PicoPSU. My max system draw is maybe 60W, but I'll have overhead room in case I ever feel like upgrading a key component somewhere.&lt;/p&gt;

&lt;p&gt;I also bought a $40 wireless router, an Asus WL-520gU. I already have a WL-500gP v2, which I hacked and flashed with DD-WRT a long time ago. This new router is so that I can hook up my Xbox 360 to the network without having to run 50 feet of cable across the carpet. I chose the 520gU instead of the gC because the gU supports &lt;a href=&quot;http://www.teamxlink.co.uk/&quot;&gt;Xlink Kai&lt;/a&gt;, which seems prett cool to me, as I don't have a Gold Live account. Yay for tricky internets. Apparently it's pretty common to buy a cheap wireless router and put it into client mode, rather than buying the $100 official USB dongle . . . which doesn't even support WPA2-AES or any decent security. Asus routers are known for excellent open-source support, and I've had nary a complaint about my current one. Yay for Linux on routers! Yay for online gaming!&lt;/p&gt;

&lt;p&gt;* * *&lt;/p&gt;

&lt;p&gt;Oh yes, and before I forget, this month's &lt;a href=&quot;http://www.xfce.org&quot;&gt;Xfce&lt;/a&gt; desktop:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://dev.gentoo.org/~nightmorph/misc/screens/20090913-01.png&quot;&gt;&lt;img src=&quot;http://dev.gentoo.org/~nightmorph/misc/screens/20090913-01.png&quot; alt=&quot;Space ice!&quot; title=&quot;Space ice!&quot; height=&quot;180&quot; width=&quot;280&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's October, but my current desktop is so pretty (&lt;a href=&quot;http://tinyurl.com/yejx356&quot;&gt;gallery link&lt;/a&gt;) I haven't felt the need to switch for the last couple of weeks. There's another clean version that just shows off the wallpaper in my &lt;a href=&quot;http://dev.gentoo.org/~nightmorph/misc/screens&quot;&gt;devspace&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2009/10/04/r700-kms-3d-ssd-and-other-hardware&quot;&gt;Original post&lt;/a&gt; from &lt;a href=&quot;http://planet.gentoo.org&quot;&gt;Planet Gentoo&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Gosh, just look at all the buzzwords in the title!</p>

<p>As you may have guessed, I'll be talking a bit about the recent developments on the FOSS drivers for RadeonHD cards, specifically for R700 cards. And some other hardware stuff.</p>

<p><strong>Radeon</strong></p>

<p>Yesterday, October 3, I made some big ol' changes to my workstation.</p>

<p>I decided to try out the new video driver stack that all the kids have been talking about. Kernel Mode Setting, git Mesa/xf86-video-ati/libdrm, git kernel 2.6.32_rc1-git3. All that jazz. I wanted to see if the 3D and KMS features were really working on my RadeonHD 4550 or not. I normally run a stable graphics stack, with ~arch Mesa/x86-video-ati/libdrm where necessary to keep up on 2D acceleration and features.</p>

<p>This was a big leap for me. So I first consulted some of the X11 team members, remi and nirbheek, who were quite helpful. I installed the latest git-sources kernel, which at the time was 2.6.32_rc1-git3. Mike Pagano has since added -git5. Next, I downloaded the individual -9999 ebuilds for the git master packages from the <a href="http://git.overlays.gentoo.org/gitweb/?p=proj/x11.git;a=summary">X11 overlay</a>, stuck 'em in my local overlay, and merged 'em. Only thing left to do was reboot.</p>

<p>Lemme tell ya -- KMS in action is <em>awesome</em>. The console output is just beautiful, and there's no more flickering when <a href="http://slim.berlios.de">SLiM</a> and Xfce load.</p>

<p>I did notice some minor graphical corruption of the default mouse pointer. However, the corruption isn't present when using any pointer but the default "arrow", and it also isn't seen when hovering inside a Firefox window. I was told this is because Firefox uses its own cursors. Anyway, I <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24287">reported the bug upstream</a>.</p>

<p><em>Disclaimer: I know glxgears isn't a benchmark. But folks always want to know its results anyway.</em> I tried running glxgears, which gave me a result of over 1300FPS with desktop compositing activated. My window manager is xfwm4, so all compositing is via Xrender, not OpenGL. Disabling compositing resulted in a 500FPS boost to over 1800FPS. What's this mean? Who knows. Probably nothing. Moving on.</p>

<p>I took the advice of my fellow developers on IRC and installed quake3-demo. Couldn't run it, though. It blanked the screen, then a message from my LCD firmware appeared, some kind of "input not supported" or "input not detected" error. It slowly repeated the window, drawiing it from center to the top right. I had to Ctrl-Alt-Bksp to get to the console. It also locked up SLiM in the background, pegging one of my CPU cores at 100%. At this point, I rebooted just to test that KMS was still working, then called it a night.</p>

<p>Today, I revisited my pointer corruption bug tried the <a href="https://bugs.freedesktop.org/show_bug.cgi?id=24287#c9">workarounds</a> posted by Alex Deucher. To my surprise, each one worked! Booting with radeon.modeset=0 removes the glitch, though it makes each boot extremely ugly, of course. Specifying EXANoDownloadFromScreen "true" in /etc/X11/xorg.conf also fixes the corrupted pointer, though it <em>may</em> also be slowing down all screen drawing operations by the tiniest bit. The jury's still out on that one; it may just be my imagination. I decided to keep this second fix, as KMS is just too glorious to throw out. I like pretty boots.</p>

<p>I also revisited quake3-demo, since I found some pointers on the <a href="http://www.phoronix.com">Phoronix forums</a> that had a workaround, which is to run OpenGL applications prefixed by LIBGL_ALWAYS_INDIRECT=1. To my surprise, this worked nicely. I tested resolution has high as 900-something by 720. My screen is 1440x900, but I haven't felt like pushing it that far, yet. The game is fluid and playable. I need to figure out how to display FPS so I can properly record what I'm seeing.</p>

<p>With the success of Q3demo, I remembered that <a href="http://www.quakelive.com">QuakeLive</a> has recently added Linux support. I installed the add-on for Firefox and tried it out. Works nicely, though I'm also running Firefox with LIBGL_ALWAYS_INDIRECT=1 just to be sure. As Alex Deucher and John Bridgman have pointed out on the Phoronix forums, that variable really isn't the safest thing to do, since if something crashes it can take down the whole X server, not just the application. However, it's also the only way I get working 3D games.</p>

<p>QuakeLive is pretty playable, though the framerates in a few places aren't smooth -- I can't tell if this is because of my card's capabilities, or the driver stack, or the whole weird idea of playing a 3D first-person shooter inside a web browser. <img src="http://blogs.gentoo.org/rsc/smilies/icon_smile.gif" alt="&#58;&#41;" class="middle" /> The big problem with QuakeLive is that the sound is terribly distorted: the voices are greatly drawn-out and slowed down, like playing an old tape recorder at 1/4 speed. There are some solutions on the QL forums, but they're mainly for Ubuntu/Pulseaudio users. I haven't found anything that works for me, yet. The effects and music are okay; it's just the voices that lag horribly.</p>

<p>I've also installed the latest Nexuiz, version 2.5.2, in anticipation of future testing. One of these days I'll reinstall UT2004, but I haven't read any succesful reports of that game on R700 cards. There's a lot of testing to do in the future!</p>

<p>Overall, I'm thrilled with the new driver hotness for my ATI card. I bought it specifically because I knew the 2D support at the time was excellent, and because there would be so many good things coming down the way for other features, including 3D acceleration. (Yes, just like the latest <a href="http://xkcd.org/644/">XKCD strip</a>. I swear, it's like that guy listens to everything I say and watches everything I do. It's really spooky!)</p>

<p>Hats off to all the developers for making it happen. Many thanks!</p>

<p><strong>SSD</strong></p>

<p>After August's <a href="http://blogs.gentoo.org/nightmorph/2009/08/09/ssds-and-filesystems-part-2">fiasco with a defective SSD</a>, I decided to use my refund from the RMA and order a different SSD a few days ago. This time I've settled on a SanDisk enterprise SSD from an HP blade server. Only cost $49, no shipping charges. Brand new. eBay for the win.</p>

<p>It packs 16GB of SLC flash, which makes it perfect for mounting /usr/portage and /var on it. This way I can feel free to sync whenever I want, instead of only once a week or more. My system drive uses MLC flash, so I've been trying to ease the write load on it, which means putting the high-write activity on a dedicated disk.</p>

<p>The SanDisk SSD "only" has sustained reads/writes at 60MB/sec, but that's plenty for syncing Portage, as the real limiter is not how fast data can be dumped to the disk, but how fast the rsync servers can send it to my box. Same for /var writes -- it's mostly just log files and some tiny temp things, as /var/tmp is already mounted on a RAMdisk. No large files that need >100MB/sec bandwidth. I'm lookin' forward to shovin' it in my box!</p>

<p><strong>More hardware</strong></p>

<p>Since September 28 was my birthday and all, I've been treating myself to various bits of cheap hardware. Like a replacement AC adapter for my DC PicoPSU. The current AC brick is rated at 102W, which is way more than I need, but the problem is that it spins up its tiny fan at only 50%-75% load. This means that opening up a bunch of tabs, compiling packages, playing Quake, watching large-sized Hulu videos and whatnot turns on the fan right away. And it's the world's most <em>annoying</em> fan. It's loud, whiny, it hisses, and it blows the bad smell of very hot electronics out into the room. Lemme tell you, hot plastic and PSU guts do <em>not</em> smell good. </p>

<p>I just ordered a replacement <em>fanless</em> adapter. This thing is high-quality, designed to run very cool. And it's rated at 150W output, meaning it can match my 150W PicoPSU. My max system draw is maybe 60W, but I'll have overhead room in case I ever feel like upgrading a key component somewhere.</p>

<p>I also bought a $40 wireless router, an Asus WL-520gU. I already have a WL-500gP v2, which I hacked and flashed with DD-WRT a long time ago. This new router is so that I can hook up my Xbox 360 to the network without having to run 50 feet of cable across the carpet. I chose the 520gU instead of the gC because the gU supports <a href="http://www.teamxlink.co.uk/">Xlink Kai</a>, which seems prett cool to me, as I don't have a Gold Live account. Yay for tricky internets. Apparently it's pretty common to buy a cheap wireless router and put it into client mode, rather than buying the $100 official USB dongle . . . which doesn't even support WPA2-AES or any decent security. Asus routers are known for excellent open-source support, and I've had nary a complaint about my current one. Yay for Linux on routers! Yay for online gaming!</p>

<p>* * *</p>

<p>Oh yes, and before I forget, this month's <a href="http://www.xfce.org">Xfce</a> desktop:</p>

<p><a href="http://dev.gentoo.org/~nightmorph/misc/screens/20090913-01.png"><img src="http://dev.gentoo.org/~nightmorph/misc/screens/20090913-01.png" alt="Space ice!" title="Space ice!" height="180" width="280" /></a></p>

<p>It's October, but my current desktop is so pretty (<a href="http://tinyurl.com/yejx356">gallery link</a>) I haven't felt the need to switch for the last couple of weeks. There's another clean version that just shows off the wallpaper in my <a href="http://dev.gentoo.org/~nightmorph/misc/screens">devspace</a>.</p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/nightmorph/2009/10/04/r700-kms-3d-ssd-and-other-hardware">Original post</a> from <a href="http://planet.gentoo.org">Planet Gentoo</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/nightmorph/2009/10/04/r700-kms-3d-ssd-and-other-hardware#comments</comments>
		</item>
				<item>
			<title>SSDs and filesystems, part 2</title>
			<link>http://blogs.gentoo.org/nightmorph/2009/08/09/ssds-and-filesystems-part-2</link>
			<pubDate>Sun, 09 Aug 2009 10:07:00 +0000</pubDate>			<dc:creator>Josh Saddler</dc:creator>
			<category domain="main">Gentoo</category>
<category domain="alt">Linux</category>
<category domain="alt">Hardware</category>			<guid isPermaLink="false">1853@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;So, a couple days in, and I'm &lt;em&gt;still&lt;/em&gt; trying to (re)install Gentoo. More on that in a bit. First, let's talk about speed.&lt;/p&gt;

&lt;p&gt;It's hard to tell whether or not my new SSDs are really a speedy improvement over the old software RAID1 array of magnetic HDDs. Normally, a bare-bones commandline system feels much faster than an aging graphical desktop, even on the same hardware.&lt;/p&gt;

&lt;p&gt;I notice that compile times are slightly faster, though I've also been using tmpfs for Portage and the usual tmp file locations, so putting it all on RAM will lead to a significant speedup anyway.&lt;/p&gt;

&lt;p&gt;Boot times are indeed quite zippy; the longest wait is for my media HDD to finish mounting -- it's on ReiserFS, which is known to have very slow mounts.&lt;/p&gt;

&lt;p&gt;Now, let's talk filesystems.&lt;/p&gt;

&lt;p&gt;The critical showstopper that's made me reinstall &lt;em&gt;two times&lt;/em&gt; (and counting) is &lt;strong&gt;ext4&lt;/strong&gt;. So far, ext4 has completely corrupted a whole drive (/var and /usr/portage) and made the other drive (/ and /boot) almost unbootable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;ext4 has eaten my data, hosed my system, and ruined my life.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No amount of fscking has fixed /var and /usr/portage, both on the second SSD. Did you know that you shouldn't let fsck try to resize broken inodes? apparently the resize behavior is known to be broken in the latest versions. It's known to corrupt filesystems. I didn't know that, either. I'm sorry, but what part of &quot;production-ready&quot; applies to ext4? Yeah, it's a new kid on the block, but it's moved out of the &quot;experimental&quot; status into the kernel.&lt;/p&gt;

&lt;p&gt;That does &lt;em&gt;not&lt;/em&gt; make it ready for your system. The first and second Gentoo installs largely didn't work because (I think) there might have been an invalid mount option. Or something could not be found. Or a superblock was missing. Or the moon was wrong. #$#^#&amp;amp;@ shitty unintelligible error messages. (Here's a tip, developers: don't put &lt;em&gt;every possible thing that could have gone wrong&lt;/em&gt; into an error message, then repeat that message for &lt;em&gt;every different error&lt;/em&gt;.)&lt;/p&gt;

&lt;p&gt;My mount options &lt;em&gt;seemed&lt;/em&gt; to be good after double-checking the manpage and around the internet, including kernel.org. Here was my original fstab, from when I had only one partition for / (no separate /boot):&lt;/p&gt;
&lt;pre&gt;
/dev/sda1  /     ext4  noatime,data=writeback,commit=60,nobarrier  0 1
/dev/sdb1  /var  ext4  noatime,data=writeback,commit=60,nobarrier  0 1
/dev/sdb2  /usr/portage  ext4  noatime,data=writeback,commit=60,nobarrier 0 1
&lt;/pre&gt;
&lt;p&gt;Livin' on the edge here. I figured I wouldn't need a separate /boot partition on my first drive, so I lumped it all into one. I did that back in 2005 and 2006 with no problems, right? Right. The rest of the options were designed to maximize SSD performance.&lt;/p&gt;

&lt;p&gt;Unfortunately, I couldn't get the system to boot. Made it past grub, the kernel loaded, but when it came time to mount /, it couldn't mount the filesystem &lt;strong&gt;rw&lt;/strong&gt;. No amount of changing options worked -- adding rw to grub.conf, to the fstab options, nothing.&lt;/p&gt;

&lt;p&gt;So I figured it must be my one-partition setup, and wiped my disks. Reinstalled again, this time adding a /boot partition on sda. Same ext4 options for /boot as for the other partitions. Rebooted and . . . nope, same errors. Now I'm also seeing a message about a possible bad option or other variable, which I can only assume was in fstab, thanks to the aforementioned shitty nonspecific error messages.&lt;/p&gt;

&lt;p&gt;Hit up Google. Not much help. I again backed off on some of the ext4 options, tried playing with Grub parameters, but got the same results. The filesystems mostly weren't mounting, and when a few of them did, it was all readonly.&lt;/p&gt;

&lt;p&gt;Sigh. Time to reinstall &lt;em&gt;again&lt;/em&gt;. Set up a similar fstab, but this time I changed an ext4 option for /boot to data=ordered, based on &lt;a href=&quot;http://blog.loxal.net/2009/04/tuning-ext4-for-performance-with.html&quot;&gt;this blog post&lt;/a&gt;. Reboot and . . . hey, it works. /boot gets mounted. Nothing else does, but it's a start.&lt;/p&gt;

&lt;p&gt;I quickly booted back into the LiveCD, changed the other fstab entries to data=ordered, and reboot again. This time, the system seems to boot just fine . . . until it tries to mount /var and /usr/portage from the second SSD. *bzzt*, these cannot be mounted! Something's gone wrong. One more reboot, just for luck, then . . . *bzzt*, now there are filesystem errors! Fsck wants to fix them, so I let it run. Except it completely hoses both partitions. They seem to be so badly scrambled that even running mkfs.ext4 on them from the liveCD results in errors, some of which seem to be emitted from the libata system, which makes me wonder if now the SSD itself has also been corrupted.&lt;/p&gt;

&lt;p&gt;I'll have to completely reinitialize and repartition that disk, now. Thanks, ext4. Thanks for hosing my data. Up yours, ext4.&lt;/p&gt;

&lt;p&gt;I'm done trying to figure out why ext4 doesn't work. I don't care that it's supposed to be a fast file system for SSDs. I don't care that it's 40 times faster than ReiserFS to mount at bootup. I don't care. ext4 has lost my data three times now. I think my fingers are sufficiently burned to know that &quot;the oven is hot; don't touch.&quot;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Up yours, ext4.&lt;/strong&gt; I'm going back to ReiserFS. At least it works. It's never failed me in more than four years.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; &lt;em&gt;On top&lt;/em&gt; of the initial ext4 errors, fsck problems, and mount issues, the Mobi drive was also going bad. Now the motherboard BIOS can't see it, regardless of which SATA port or cable I plug in. So just a day or so after trying out the device, when it was initially working for the first install (though the filesystem was throwing ext4 errors, at least /var and /usr/portage worked okay), and it finally finished failing. F***. I contacted the seller to request an RMA; I have a feeling that I'll end up having to go through the manufacturer, which will take a long time. Meanwhile, I'm without a workstation for an indefinite time, so I've set my devaway on dev.gentoo.org. I did find a couple other reports on the internets that say that their Mobis also died shortly after they arrived, so maybe there was a batch of bad drives.&lt;/p&gt;

&lt;p&gt;But don't get me wrong, the Mobi drive dying doesn't absolve ext4 of any guilt. The ext4 filesystem still completely f**ked itself repeatedly on the &lt;em&gt;system drive&lt;/em&gt;, the UltraDrive ME. It still refuses to do what it's told to do. But rather than continue to investigate related LaunchPad bugs on mounting ext4 rw and fsck errors, I'm going to move back to ReiserFS for the UltraDrive, and just live with longer boots. The RMA process will take awhile, so I may have to reinstall everything on a single drive and just avoid syncing Portage for awhile.&lt;/p&gt;

&lt;p&gt;On a &lt;strong&gt;good&lt;/strong&gt; note, OCZ (the company that makes the Vertex, an identical drive with an Indilinx controller), has been experimenting with a homegrown beta firmware that lets the drive do online garbage collection in the background. This is important for keeping the performance of the drive as fresh as when it was first used, even after it gets filled up with files and repeated (re)writes. The firmware is still in testing, but I'm hopeful that it'll make it out the door soon. Hopefully the same firmware features will find their way to my Super Talent drive -- and hopefully the TRIM command will also be implemented in the firmware.&lt;/p&gt;

&lt;p&gt;Of course, the only Linux filesystem I know of that supports TRIM is ext4 . . .&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2009/08/09/ssds-and-filesystems-part-2&quot;&gt;Original post&lt;/a&gt; from &lt;a href=&quot;http://planet.gentoo.org&quot;&gt;Planet Gentoo&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>So, a couple days in, and I'm <em>still</em> trying to (re)install Gentoo. More on that in a bit. First, let's talk about speed.</p>

<p>It's hard to tell whether or not my new SSDs are really a speedy improvement over the old software RAID1 array of magnetic HDDs. Normally, a bare-bones commandline system feels much faster than an aging graphical desktop, even on the same hardware.</p>

<p>I notice that compile times are slightly faster, though I've also been using tmpfs for Portage and the usual tmp file locations, so putting it all on RAM will lead to a significant speedup anyway.</p>

<p>Boot times are indeed quite zippy; the longest wait is for my media HDD to finish mounting -- it's on ReiserFS, which is known to have very slow mounts.</p>

<p>Now, let's talk filesystems.</p>

<p>The critical showstopper that's made me reinstall <em>two times</em> (and counting) is <strong>ext4</strong>. So far, ext4 has completely corrupted a whole drive (/var and /usr/portage) and made the other drive (/ and /boot) almost unbootable.</p>

<p><strong>ext4 has eaten my data, hosed my system, and ruined my life.</strong></p>

<p>No amount of fscking has fixed /var and /usr/portage, both on the second SSD. Did you know that you shouldn't let fsck try to resize broken inodes? apparently the resize behavior is known to be broken in the latest versions. It's known to corrupt filesystems. I didn't know that, either. I'm sorry, but what part of "production-ready" applies to ext4? Yeah, it's a new kid on the block, but it's moved out of the "experimental" status into the kernel.</p>

<p>That does <em>not</em> make it ready for your system. The first and second Gentoo installs largely didn't work because (I think) there might have been an invalid mount option. Or something could not be found. Or a superblock was missing. Or the moon was wrong. #$#^#&amp;@ shitty unintelligible error messages. (Here's a tip, developers: don't put <em>every possible thing that could have gone wrong</em> into an error message, then repeat that message for <em>every different error</em>.)</p>

<p>My mount options <em>seemed</em> to be good after double-checking the manpage and around the internet, including kernel.org. Here was my original fstab, from when I had only one partition for / (no separate /boot):</p>
<pre>
/dev/sda1  /     ext4  noatime,data=writeback,commit=60,nobarrier  0 1
/dev/sdb1  /var  ext4  noatime,data=writeback,commit=60,nobarrier  0 1
/dev/sdb2  /usr/portage  ext4  noatime,data=writeback,commit=60,nobarrier 0 1
</pre>
<p>Livin' on the edge here. I figured I wouldn't need a separate /boot partition on my first drive, so I lumped it all into one. I did that back in 2005 and 2006 with no problems, right? Right. The rest of the options were designed to maximize SSD performance.</p>

<p>Unfortunately, I couldn't get the system to boot. Made it past grub, the kernel loaded, but when it came time to mount /, it couldn't mount the filesystem <strong>rw</strong>. No amount of changing options worked -- adding rw to grub.conf, to the fstab options, nothing.</p>

<p>So I figured it must be my one-partition setup, and wiped my disks. Reinstalled again, this time adding a /boot partition on sda. Same ext4 options for /boot as for the other partitions. Rebooted and . . . nope, same errors. Now I'm also seeing a message about a possible bad option or other variable, which I can only assume was in fstab, thanks to the aforementioned shitty nonspecific error messages.</p>

<p>Hit up Google. Not much help. I again backed off on some of the ext4 options, tried playing with Grub parameters, but got the same results. The filesystems mostly weren't mounting, and when a few of them did, it was all readonly.</p>

<p>Sigh. Time to reinstall <em>again</em>. Set up a similar fstab, but this time I changed an ext4 option for /boot to data=ordered, based on <a href="http://blog.loxal.net/2009/04/tuning-ext4-for-performance-with.html">this blog post</a>. Reboot and . . . hey, it works. /boot gets mounted. Nothing else does, but it's a start.</p>

<p>I quickly booted back into the LiveCD, changed the other fstab entries to data=ordered, and reboot again. This time, the system seems to boot just fine . . . until it tries to mount /var and /usr/portage from the second SSD. *bzzt*, these cannot be mounted! Something's gone wrong. One more reboot, just for luck, then . . . *bzzt*, now there are filesystem errors! Fsck wants to fix them, so I let it run. Except it completely hoses both partitions. They seem to be so badly scrambled that even running mkfs.ext4 on them from the liveCD results in errors, some of which seem to be emitted from the libata system, which makes me wonder if now the SSD itself has also been corrupted.</p>

<p>I'll have to completely reinitialize and repartition that disk, now. Thanks, ext4. Thanks for hosing my data. Up yours, ext4.</p>

<p>I'm done trying to figure out why ext4 doesn't work. I don't care that it's supposed to be a fast file system for SSDs. I don't care that it's 40 times faster than ReiserFS to mount at bootup. I don't care. ext4 has lost my data three times now. I think my fingers are sufficiently burned to know that "the oven is hot; don't touch."</p>

<p><strong>Up yours, ext4.</strong> I'm going back to ReiserFS. At least it works. It's never failed me in more than four years.</p>

<hr />

<p><strong>Update:</strong> <em>On top</em> of the initial ext4 errors, fsck problems, and mount issues, the Mobi drive was also going bad. Now the motherboard BIOS can't see it, regardless of which SATA port or cable I plug in. So just a day or so after trying out the device, when it was initially working for the first install (though the filesystem was throwing ext4 errors, at least /var and /usr/portage worked okay), and it finally finished failing. F***. I contacted the seller to request an RMA; I have a feeling that I'll end up having to go through the manufacturer, which will take a long time. Meanwhile, I'm without a workstation for an indefinite time, so I've set my devaway on dev.gentoo.org. I did find a couple other reports on the internets that say that their Mobis also died shortly after they arrived, so maybe there was a batch of bad drives.</p>

<p>But don't get me wrong, the Mobi drive dying doesn't absolve ext4 of any guilt. The ext4 filesystem still completely f**ked itself repeatedly on the <em>system drive</em>, the UltraDrive ME. It still refuses to do what it's told to do. But rather than continue to investigate related LaunchPad bugs on mounting ext4 rw and fsck errors, I'm going to move back to ReiserFS for the UltraDrive, and just live with longer boots. The RMA process will take awhile, so I may have to reinstall everything on a single drive and just avoid syncing Portage for awhile.</p>

<p>On a <strong>good</strong> note, OCZ (the company that makes the Vertex, an identical drive with an Indilinx controller), has been experimenting with a homegrown beta firmware that lets the drive do online garbage collection in the background. This is important for keeping the performance of the drive as fresh as when it was first used, even after it gets filled up with files and repeated (re)writes. The firmware is still in testing, but I'm hopeful that it'll make it out the door soon. Hopefully the same firmware features will find their way to my Super Talent drive -- and hopefully the TRIM command will also be implemented in the firmware.</p>

<p>Of course, the only Linux filesystem I know of that supports TRIM is ext4 . . .</p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/nightmorph/2009/08/09/ssds-and-filesystems-part-2">Original post</a> from <a href="http://planet.gentoo.org">Planet Gentoo</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/nightmorph/2009/08/09/ssds-and-filesystems-part-2#comments</comments>
		</item>
				<item>
			<title>SSDs and filesystems</title>
			<link>http://blogs.gentoo.org/nightmorph/2009/08/02/ssds-and-filesystems</link>
			<pubDate>Sun, 02 Aug 2009 22:31:50 +0000</pubDate>			<dc:creator>Josh Saddler</dc:creator>
			<category domain="main">Gentoo</category>
<category domain="alt">Linux</category>
<category domain="alt">Hardware</category>			<guid isPermaLink="false">1841@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;So, in between being super busy with Gentoo yet not having enough time to keep up with &lt;em&gt;all&lt;/em&gt; the bugs, document updates, and project commitments . . . I've added yet another item to my plate: a fresh install of Gentoo onto a pair of SSDs.&lt;/p&gt;

&lt;p&gt;I've never reinstalled Gentoo on this workstation; this is the original install from October 2006. I had thought about just finding some stage4/stage5 backup scripts and tips from the &lt;a href=&quot;http://forums.gentoo.org&quot;&gt;Gentoo Forums&lt;/a&gt;, but it seems to be more cumbersome and time-consuming than reinstalling. Besides, installing Gentoo from scratch gives me a chance to create an even more lean, minimal system. No more accumulated packages and cruft that I don't use, just the essentials.&lt;/p&gt;

&lt;p&gt;And it'll let me see how good these SSDs really are for compilation times. &lt;img src=&quot;http://blogs.gentoo.org/rsc/smilies/icon_wink.gif&quot; alt=&quot;&amp;#59;&amp;#41;&quot; class=&quot;middle&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I purchased two: a 32GB Super Talent UltraDrive ME for &lt;code&gt;/&lt;/code&gt;, and a 16GB Mobi 3000 for &lt;code&gt;/var&lt;/code&gt; and &lt;code&gt;/usr/portage&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;The Super Talent is a new-generation MLC drive with an Indilinx controller. It's not as good in some areas as Intel's controller for the X-25, but it's better than everything else out there, and it doesn't have the chronic stuttering problems that all cheaper JMicron-based controllers suffer.&lt;/p&gt;

&lt;p&gt;The Mobi is an older drive, &quot;only&quot; SATA-150. But it is an SLC drive, so I'll use it for the partitions that see the highest write activity, as SLC is more resilient than MLC. Plus, the contents of the drive are more or less throwaway, so if any corruption does develop, I can just replace it with no issues. &lt;code&gt;/var&lt;/code&gt; sees log frequent writes, and there may be some Portage compilation in the tempfiles. I've been using a tmpfs on RAM for &lt;code&gt;/var/tmp/portage&lt;/code&gt; for some time now, so I don't really think it will hit up the drive much, not with 4GB of RAM installed:&lt;/p&gt;
&lt;pre&gt;
none  /var/tmp/portage tmpfs	noauto,nr_inodes=1M,size=2000M 0 0
&lt;/pre&gt;
&lt;p&gt;See? A dynamic Portage compilation space, ready to occupy 2GB RAM if need be. During compiles, the only time I ever really see the HDDs light up is during the &lt;code&gt;src_unpack&lt;/code&gt; (to RAM) and &lt;code&gt;src_install&lt;/code&gt; phases.&lt;/p&gt;

&lt;p&gt;So I've figured out my drive and partition usage, but the things that are causing the most headaches, and occupying the majority of my research time, are:&lt;/p&gt;

&lt;p&gt;1. Which filesystems&lt;br /&gt;
2. Which mount options&lt;br /&gt;
3. Which schedulers&lt;br /&gt;
4. Partition alignment schemes&lt;/p&gt;

&lt;p&gt;See, I will have two SSDs in there with Gentoo installed on 'em, but I'll also have a separate magnetic HDD for media storage, so that means a different for each drive.&lt;/p&gt;

&lt;p&gt;For &lt;strong&gt;1&lt;/strong&gt;, ext4 is looking increasingly attractive for the SSDs. I may continue to use ReiserFS for the media drive, as it's worked very well for a few years now. But, given that the Portage tree is just lots and lots of tiny files, perhaps I could continue using ReiserFS on it? Though I would need to deactivate the journal. The Mobi drive should not have any journaling on it -- too many writes.&lt;/p&gt;

&lt;p&gt;NILFS2 is another interesting filesystem, but it seems immature. BtrFS also has potential, especially after reading Val's excellent &lt;a href=&quot;http://lwn.net/Articles/342892/&quot;&gt;article&lt;/a&gt;, but its developers warn against using it for anything other than testing. So I'll stick with something a little more mainstream, yet not so old and cranky as ext3/ext2.&lt;/p&gt;

&lt;p&gt;Which brings me to &lt;strong&gt;2&lt;/strong&gt;: mount options. I've only just begun to read up on suggested options for ext4. &lt;code&gt;data=writeback&lt;/code&gt; seems to be one of the more popular suggestions. &lt;code&gt;noatime&lt;/code&gt; is a necessity; I've used this option on every single Gentoo install I've ever had. There are several other options I need to investigate, including the &lt;code&gt;dir_index&lt;/code&gt; variations.&lt;/p&gt;

&lt;p&gt;If I go with ReiserFS, I'd need to research the performance differences between &lt;code&gt;notail&lt;/code&gt; and &lt;code&gt;tail&lt;/code&gt;. In theory, the latter option could be more efficient for packing more data into fewer blocks, resulting in fewer writes/rewrites. This is at the expense of slightly more CPU usage. &lt;code&gt;notail&lt;/code&gt; &lt;em&gt;may&lt;/em&gt; result in more speed, but I haven't found many detailed reports of ReiserFS usage on SSDs. One last thing to look up would be the difference between ReiserFS with the journal and without.&lt;/p&gt;

&lt;p&gt;The next piece of the puzzle is &lt;strong&gt;3&lt;/strong&gt;, schedulers. Most of the schedulers in the kernel are designed to keep spinning magnetic disks happy. But since there aren't any moving heads or rotating disks to spin up, the algorithms that are designed for efficient, minimal motion aren't very helpful for SSDs.&lt;/p&gt;

&lt;p&gt;The usual solution proposed is to bypass the traditional HDD seek layer overhead by just using the &lt;code&gt;noop&lt;/code&gt; scheduler. It's a very simple FIFO-based scheduler. System requests a file, it gets it. No complex queuing up done in the kernel. It lets the extremely fast drive controller do all the work, since it's capable of getting the data where it's needed without stuttering or delays.&lt;/p&gt;

&lt;p&gt;However, the &lt;code&gt;deadline&lt;/code&gt; scheduler may be as good as &lt;code&gt;noop&lt;/code&gt;, as deadline does a certain amount of prioritizing. My understanding is that it's similar to NCQ in this regard, and that using &lt;code&gt;deadline&lt;/code&gt; doesn't have any overhead costs. Still doing the research on this.&lt;/p&gt;

&lt;p&gt;These two schedulers &lt;em&gt;may&lt;/em&gt; be all well and good for the SSDs, but since I'll have two SSDs, a magnetic hard drive, and an optical drive in my box, I can't use the same scheduler for all of 'em. &lt;code&gt;noop&lt;/code&gt; would be a poor choice for the HDD, so I may use &lt;code&gt;deadline&lt;/code&gt; or stick with the tried-and-true &lt;code&gt;CFQ&lt;/code&gt; scheduler.&lt;/p&gt;

&lt;p&gt;Fortunately, using different schedulers for different drives is fairly easy:&lt;/p&gt;
&lt;pre&gt;
# echo deadline &gt; /sys/block/sda/queue/scheduler
# echo noop &gt; /sys/block/sdb/queue/scheduler
# echo cfq &gt; /sys/block/sdc/queue/scheduler
&lt;/pre&gt;

&lt;p&gt;It's just a matter of putting these commands into an initscript to be run at boot.&lt;/p&gt;

&lt;p&gt;The last puzzle piece (so far) is &lt;strong&gt;4&lt;/strong&gt;, partition alignment schemes. This is the most confusing one. The most headache-inducing. The most worrisome one, in that if I screw it up, I could completely hose the performance of the drives, and severely impact the wear and tear on the drive.&lt;/p&gt;

&lt;p&gt;The OCZ Vertex is functionally identical to the Super Talent UltraDrive. Same controller and firmware, so Vertex tips will apply to my drive. The OCZ forums have proven rather useful. There's a &lt;a href=&quot;http://www.ocztechnologyforum.com/forum/showpost.php?p=373226&amp;amp;postcount=98&quot;&gt;fair amount&lt;/a&gt; of &lt;a href=&quot;http://www.ocztechnologyforum.com/forum/showpost.php?p=335049&amp;amp;postcount=134&quot;&gt;material&lt;/a&gt; at the OCZ forums, and even some suggestions by &lt;a href=&quot;http://www.ocztechnologyforum.com/forum/showthread.php?t=53178&amp;amp;highlight=ssd+linux&quot;&gt;Gentoo users&lt;/a&gt;. Unfortunately, some of the threads are &lt;a href=&quot;http://www.ocztechnologyforum.com/forum/showthread.php?t=51375&amp;amp;highlight=ssd+linux&quot;&gt;rather old&lt;/a&gt;, so I'm unsure how much still applies. Given that there have been new hardware revisions, new firmware shipped with the drives, and improvements to the Linux kernel stack (schedulers, libata, etc.).&lt;/p&gt;

&lt;p&gt;Ted Ts'o has a &lt;a href=&quot;http://thunk.org/tytso/blog/2009/02/20/aligning-filesystems-to-an-ssds-erase-block-size/&quot;&gt;pretty good explanation&lt;/a&gt;, but it differs from some of the other suggested block sizes. Also, some guides have a &lt;a href=&quot;http://www.ocztechnologyforum.com/forum/showthread.php?t=54379&quot;&gt;radically different approach&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;* * *&lt;/p&gt;

&lt;p&gt;So, four pieces to the Gentoo installation on an SSD puzzle. Lots of notes so far, and despite four months' research, I feel like I've barely gotten started. I've been thinking and planning to move to an SSD for quite awhile now; it's mostly been a matter of waiting for prices to fall. Now all the components are here, so I'll just have to dive right in and see what I find. Results will, of course, wind up here. &lt;img src=&quot;http://blogs.gentoo.org/rsc/smilies/icon_smile.gif&quot; alt=&quot;&amp;#58;&amp;#41;&quot; class=&quot;middle&quot; /&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2009/08/02/ssds-and-filesystems&quot;&gt;Original post&lt;/a&gt; from &lt;a href=&quot;http://planet.gentoo.org&quot;&gt;Planet Gentoo&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>So, in between being super busy with Gentoo yet not having enough time to keep up with <em>all</em> the bugs, document updates, and project commitments . . . I've added yet another item to my plate: a fresh install of Gentoo onto a pair of SSDs.</p>

<p>I've never reinstalled Gentoo on this workstation; this is the original install from October 2006. I had thought about just finding some stage4/stage5 backup scripts and tips from the <a href="http://forums.gentoo.org">Gentoo Forums</a>, but it seems to be more cumbersome and time-consuming than reinstalling. Besides, installing Gentoo from scratch gives me a chance to create an even more lean, minimal system. No more accumulated packages and cruft that I don't use, just the essentials.</p>

<p>And it'll let me see how good these SSDs really are for compilation times. <img src="http://blogs.gentoo.org/rsc/smilies/icon_wink.gif" alt="&#59;&#41;" class="middle" /></p>

<p>I purchased two: a 32GB Super Talent UltraDrive ME for <code>/</code>, and a 16GB Mobi 3000 for <code>/var</code> and <code>/usr/portage</code>.</p>

<p>The Super Talent is a new-generation MLC drive with an Indilinx controller. It's not as good in some areas as Intel's controller for the X-25, but it's better than everything else out there, and it doesn't have the chronic stuttering problems that all cheaper JMicron-based controllers suffer.</p>

<p>The Mobi is an older drive, "only" SATA-150. But it is an SLC drive, so I'll use it for the partitions that see the highest write activity, as SLC is more resilient than MLC. Plus, the contents of the drive are more or less throwaway, so if any corruption does develop, I can just replace it with no issues. <code>/var</code> sees log frequent writes, and there may be some Portage compilation in the tempfiles. I've been using a tmpfs on RAM for <code>/var/tmp/portage</code> for some time now, so I don't really think it will hit up the drive much, not with 4GB of RAM installed:</p>
<pre>
none  /var/tmp/portage tmpfs	noauto,nr_inodes=1M,size=2000M 0 0
</pre>
<p>See? A dynamic Portage compilation space, ready to occupy 2GB RAM if need be. During compiles, the only time I ever really see the HDDs light up is during the <code>src_unpack</code> (to RAM) and <code>src_install</code> phases.</p>

<p>So I've figured out my drive and partition usage, but the things that are causing the most headaches, and occupying the majority of my research time, are:</p>

<p>1. Which filesystems<br />
2. Which mount options<br />
3. Which schedulers<br />
4. Partition alignment schemes</p>

<p>See, I will have two SSDs in there with Gentoo installed on 'em, but I'll also have a separate magnetic HDD for media storage, so that means a different for each drive.</p>

<p>For <strong>1</strong>, ext4 is looking increasingly attractive for the SSDs. I may continue to use ReiserFS for the media drive, as it's worked very well for a few years now. But, given that the Portage tree is just lots and lots of tiny files, perhaps I could continue using ReiserFS on it? Though I would need to deactivate the journal. The Mobi drive should not have any journaling on it -- too many writes.</p>

<p>NILFS2 is another interesting filesystem, but it seems immature. BtrFS also has potential, especially after reading Val's excellent <a href="http://lwn.net/Articles/342892/">article</a>, but its developers warn against using it for anything other than testing. So I'll stick with something a little more mainstream, yet not so old and cranky as ext3/ext2.</p>

<p>Which brings me to <strong>2</strong>: mount options. I've only just begun to read up on suggested options for ext4. <code>data=writeback</code> seems to be one of the more popular suggestions. <code>noatime</code> is a necessity; I've used this option on every single Gentoo install I've ever had. There are several other options I need to investigate, including the <code>dir_index</code> variations.</p>

<p>If I go with ReiserFS, I'd need to research the performance differences between <code>notail</code> and <code>tail</code>. In theory, the latter option could be more efficient for packing more data into fewer blocks, resulting in fewer writes/rewrites. This is at the expense of slightly more CPU usage. <code>notail</code> <em>may</em> result in more speed, but I haven't found many detailed reports of ReiserFS usage on SSDs. One last thing to look up would be the difference between ReiserFS with the journal and without.</p>

<p>The next piece of the puzzle is <strong>3</strong>, schedulers. Most of the schedulers in the kernel are designed to keep spinning magnetic disks happy. But since there aren't any moving heads or rotating disks to spin up, the algorithms that are designed for efficient, minimal motion aren't very helpful for SSDs.</p>

<p>The usual solution proposed is to bypass the traditional HDD seek layer overhead by just using the <code>noop</code> scheduler. It's a very simple FIFO-based scheduler. System requests a file, it gets it. No complex queuing up done in the kernel. It lets the extremely fast drive controller do all the work, since it's capable of getting the data where it's needed without stuttering or delays.</p>

<p>However, the <code>deadline</code> scheduler may be as good as <code>noop</code>, as deadline does a certain amount of prioritizing. My understanding is that it's similar to NCQ in this regard, and that using <code>deadline</code> doesn't have any overhead costs. Still doing the research on this.</p>

<p>These two schedulers <em>may</em> be all well and good for the SSDs, but since I'll have two SSDs, a magnetic hard drive, and an optical drive in my box, I can't use the same scheduler for all of 'em. <code>noop</code> would be a poor choice for the HDD, so I may use <code>deadline</code> or stick with the tried-and-true <code>CFQ</code> scheduler.</p>

<p>Fortunately, using different schedulers for different drives is fairly easy:</p>
<pre>
# echo deadline > /sys/block/sda/queue/scheduler
# echo noop > /sys/block/sdb/queue/scheduler
# echo cfq > /sys/block/sdc/queue/scheduler
</pre>

<p>It's just a matter of putting these commands into an initscript to be run at boot.</p>

<p>The last puzzle piece (so far) is <strong>4</strong>, partition alignment schemes. This is the most confusing one. The most headache-inducing. The most worrisome one, in that if I screw it up, I could completely hose the performance of the drives, and severely impact the wear and tear on the drive.</p>

<p>The OCZ Vertex is functionally identical to the Super Talent UltraDrive. Same controller and firmware, so Vertex tips will apply to my drive. The OCZ forums have proven rather useful. There's a <a href="http://www.ocztechnologyforum.com/forum/showpost.php?p=373226&amp;postcount=98">fair amount</a> of <a href="http://www.ocztechnologyforum.com/forum/showpost.php?p=335049&amp;postcount=134">material</a> at the OCZ forums, and even some suggestions by <a href="http://www.ocztechnologyforum.com/forum/showthread.php?t=53178&amp;highlight=ssd+linux">Gentoo users</a>. Unfortunately, some of the threads are <a href="http://www.ocztechnologyforum.com/forum/showthread.php?t=51375&amp;highlight=ssd+linux">rather old</a>, so I'm unsure how much still applies. Given that there have been new hardware revisions, new firmware shipped with the drives, and improvements to the Linux kernel stack (schedulers, libata, etc.).</p>

<p>Ted Ts'o has a <a href="http://thunk.org/tytso/blog/2009/02/20/aligning-filesystems-to-an-ssds-erase-block-size/">pretty good explanation</a>, but it differs from some of the other suggested block sizes. Also, some guides have a <a href="http://www.ocztechnologyforum.com/forum/showthread.php?t=54379">radically different approach</a>.</p>

<p>* * *</p>

<p>So, four pieces to the Gentoo installation on an SSD puzzle. Lots of notes so far, and despite four months' research, I feel like I've barely gotten started. I've been thinking and planning to move to an SSD for quite awhile now; it's mostly been a matter of waiting for prices to fall. Now all the components are here, so I'll just have to dive right in and see what I find. Results will, of course, wind up here. <img src="http://blogs.gentoo.org/rsc/smilies/icon_smile.gif" alt="&#58;&#41;" class="middle" /></p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/nightmorph/2009/08/02/ssds-and-filesystems">Original post</a> from <a href="http://planet.gentoo.org">Planet Gentoo</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/nightmorph/2009/08/02/ssds-and-filesystems#comments</comments>
		</item>
				<item>
			<title>Benchmarks: gtk+ engines revisited</title>
			<link>http://blogs.gentoo.org/nightmorph/2009/06/12/benchmarks-gtk-engines-revisited</link>
			<pubDate>Fri, 12 Jun 2009 02:47:16 +0000</pubDate>			<dc:creator>Josh Saddler</dc:creator>
			<category domain="main">Gentoo</category>
<category domain="alt">Linux</category>
<category domain="alt">Xfce</category>			<guid isPermaLink="false">1805@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;Six months ago I &lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2008/12/14/benchmarks_gtk_engines&quot;&gt;posted some benchmarks&lt;/a&gt; of popular gtk+ engines. It's time to revisit those benchmarks and test the engines again, this time using FOSS drivers for my new hardware.&lt;/p&gt;

&lt;p&gt;Today I installed my brand-spankin' new graphics card, an ATI RadeonHD 4550, by Sapphire. Getting working 2D acceleration with EXA &lt;a href=&quot;http://forums.gentoo.org/viewtopic-p-5789462.html#5789462&quot;&gt;was a cinch&lt;/a&gt;, now that the 2.6.30 kernel is out. Doesn't require anything special in terms of packages; nothing from overlays or bleeding-edge git checkouts. Only needs three ~arch packages: gentoo-sources, libdrm, and mesa.&lt;/p&gt;

&lt;p&gt;For this updated round of testing, I used the same gtk+ engines, but also added some new ones. These can all be obtained by installing the following packages: gtk-engines, gnome-themes, gtk-engines-aurora, gtk-engines-candido, gtk-engines-rezlooks, and gtk-engines-xfce. New to the testing list are the Crux, ThinIce, HighContrast, and Redmond95 engines.&lt;/p&gt;

&lt;p&gt;Once again, gtkperf-0.40 was used to obtain these benchmarks. With the exception of the graphics hardware and driver, the testing environment is &lt;em&gt;mostly&lt;/em&gt; the same. Xfce has been updated to 4.6.1.&lt;/p&gt;

&lt;p&gt;Let's see how all these engines perform on my Xfce workstation, eh?&lt;/p&gt;

&lt;!-- more --&gt;

&lt;p&gt;&lt;em&gt;Notes on the hardware:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;CPU: Athlon 64 X2 4600+&lt;br /&gt;
Graphics: ATI RadeonHD 4550, DVI 1440x900 @ 60Hz&lt;br /&gt;
RAM: 4GB DDR2-667&lt;br /&gt;
Mobo: ASUS M3N78-VM&lt;/p&gt;


&lt;p&gt;&lt;em&gt;Notes on the testing environment:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;OS: Gentoo Linux (duh)&lt;br /&gt;
Kernel: Linux 2.6.30-gentoo-r1 #1 SMP PREEMPT x86_64&lt;br /&gt;
xf86-video-ati: 6.12.1-r1&lt;br /&gt;
CFLAGS: -march=athlon64-sse3 -O2 -fomit-frame-pointer&lt;br /&gt;
DE: Xfce 4.6.1&lt;br /&gt;
- Xfwm4 with Composite enabled, effects: drop shadows &amp;amp; transparency&lt;br /&gt;
- Open applications: 2 instances of x11-terms/terminal&lt;/p&gt;

&lt;p&gt;Custom themes are noted with *. These are personal themes I've made, nothing more than simple color modifications of an existing freely available theme. No additional images are used, so rendering time should not be affected.&lt;/p&gt;

&lt;p&gt;All tests were conducted 3 times, using a Test Round setting of 100. I picked the best score of the 3, as I was looking for best-case usage conditions. The results are ranked in order from fastest to slowest.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: HighContrast&lt;br /&gt;
Theme: HighContrast&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GtkEntry - time:  0.03&lt;br /&gt;
GtkComboBox - time:  0.63&lt;br /&gt;
GtkComboBoxEntry - time:  0.46&lt;br /&gt;
GtkSpinButton - time:  0.04&lt;br /&gt;
GtkProgressBar - time:  0.02&lt;br /&gt;
GtkToggleButton - time:  0.04&lt;br /&gt;
GtkCheckButton - time:  0.03&lt;br /&gt;
GtkRadioButton - time:  0.06&lt;br /&gt;
GtkTextView - Add text - time:  0.18&lt;br /&gt;
GtkTextView - Scroll - time:  0.08&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.91&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.21&lt;br /&gt;
GtkDrawingArea - Text - time:  0.89&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.11&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  4.70&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: Rezlooks&lt;br /&gt;
Theme: Rezlooks Blue Ink*&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GtkEntry - time:  0.05&lt;br /&gt;
GtkComboBox - time:  0.61&lt;br /&gt;
GtkComboBoxEntry - time:  0.41&lt;br /&gt;
GtkSpinButton - time:  0.05&lt;br /&gt;
GtkProgressBar - time:  0.03&lt;br /&gt;
GtkToggleButton - time:  0.06&lt;br /&gt;
GtkCheckButton - time:  0.04&lt;br /&gt;
GtkRadioButton - time:  0.11&lt;br /&gt;
GtkTextView - Add text - time:  0.18&lt;br /&gt;
GtkTextView - Scroll - time:  0.07&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.94&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.17&lt;br /&gt;
GtkDrawingArea - Text - time:  0.89&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.11&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  4.72&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: Mist&lt;br /&gt;
Theme: Mist&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GtkEntry - time:  0.03&lt;br /&gt;
GtkComboBox - time:  0.65&lt;br /&gt;
GtkComboBoxEntry - time:  0.45&lt;br /&gt;
GtkSpinButton - time:  0.06&lt;br /&gt;
GtkProgressBar - time:  0.03&lt;br /&gt;
GtkToggleButton - time:  0.05&lt;br /&gt;
GtkCheckButton - time:  0.04&lt;br /&gt;
GtkRadioButton - time:  0.10&lt;br /&gt;
GtkTextView - Add text - time:  0.18&lt;br /&gt;
GtkTextView - Scroll - time:  0.07&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.87&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.17&lt;br /&gt;
GtkDrawingArea - Text - time:  0.91&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.12&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  4.72&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: ThinIce&lt;br /&gt;
Theme: ThinIce&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GtkEntry - time:  0.03&lt;br /&gt;
GtkComboBox - time:  0.65&lt;br /&gt;
GtkComboBoxEntry - time:  0.42&lt;br /&gt;
GtkSpinButton - time:  0.07&lt;br /&gt;
GtkProgressBar - time:  0.03&lt;br /&gt;
GtkToggleButton - time:  0.05&lt;br /&gt;
GtkCheckButton - time:  0.03&lt;br /&gt;
GtkRadioButton - time:  0.07&lt;br /&gt;
GtkTextView - Add text - time:  0.19&lt;br /&gt;
GtkTextView - Scroll - time:  0.09&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.91&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.16&lt;br /&gt;
GtkDrawingArea - Text - time:  0.88&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.12&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  4.72&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: Glide&lt;br /&gt;
Theme: Glider&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GtkEntry - time:  0.06&lt;br /&gt;
GtkComboBox - time:  0.65&lt;br /&gt;
GtkComboBoxEntry - time:  0.49&lt;br /&gt;
GtkSpinButton - time:  0.08&lt;br /&gt;
GtkProgressBar - time:  0.03&lt;br /&gt;
GtkToggleButton - time:  0.05&lt;br /&gt;
GtkCheckButton - time:  0.05&lt;br /&gt;
GtkRadioButton - time:  0.14&lt;br /&gt;
GtkTextView - Add text - time:  0.20&lt;br /&gt;
GtkTextView - Scroll - time:  0.09&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.85&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.20&lt;br /&gt;
GtkDrawingArea - Text - time:  0.87&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.14&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  4.90&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: Redmond95&lt;br /&gt;
Theme: Redmond&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GtkEntry - time:  0.04&lt;br /&gt;
GtkComboBox - time:  0.76&lt;br /&gt;
GtkComboBoxEntry - time:  0.57&lt;br /&gt;
GtkSpinButton - time:  0.06&lt;br /&gt;
GtkProgressBar - time:  0.02&lt;br /&gt;
GtkToggleButton - time:  0.10&lt;br /&gt;
GtkCheckButton - time:  0.12&lt;br /&gt;
GtkRadioButton - time:  0.13&lt;br /&gt;
GtkTextView - Add text - time:  0.19&lt;br /&gt;
GtkTextView - Scroll - time:  0.08&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.90&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.17&lt;br /&gt;
GtkDrawingArea - Text - time:  0.90&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.12&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  5.16&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: Clearlooks&lt;br /&gt;
Theme: Glossy&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GtkEntry - time:  0.02&lt;br /&gt;
GtkComboBox - time:  0.77&lt;br /&gt;
GtkComboBoxEntry - time:  0.56&lt;br /&gt;
GtkSpinButton - time:  0.19&lt;br /&gt;
GtkProgressBar - time:  0.12&lt;br /&gt;
GtkToggleButton - time:  0.12&lt;br /&gt;
GtkCheckButton - time:  0.08&lt;br /&gt;
GtkRadioButton - time:  0.11&lt;br /&gt;
GtkTextView - Add text - time:  0.18&lt;br /&gt;
GtkTextView - Scroll - time:  0.10&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.95&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.17&lt;br /&gt;
GtkDrawingArea - Text - time:  0.91&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.12&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  5.40&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: Crux&lt;br /&gt;
Theme: Crux&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GtkEntry - time:  0.03&lt;br /&gt;
GtkComboBox - time:  0.89&lt;br /&gt;
GtkComboBoxEntry - time:  0.75&lt;br /&gt;
GtkSpinButton - time:  0.14&lt;br /&gt;
GtkProgressBar - time:  0.04&lt;br /&gt;
GtkToggleButton - time:  0.05&lt;br /&gt;
GtkCheckButton - time:  0.06&lt;br /&gt;
GtkRadioButton - time:  0.10&lt;br /&gt;
GtkTextView - Add text - time:  0.18&lt;br /&gt;
GtkTextView - Scroll - time:  0.12&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.90&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.16&lt;br /&gt;
GtkDrawingArea - Text - time:  0.90&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.13&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  5.46&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: Industrial&lt;br /&gt;
Theme: Industrial&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GtkEntry - time:  0.05&lt;br /&gt;
GtkComboBox - time:  1.13&lt;br /&gt;
GtkComboBoxEntry - time:  0.54&lt;br /&gt;
GtkSpinButton - time:  0.06&lt;br /&gt;
GtkProgressBar - time:  0.05&lt;br /&gt;
GtkToggleButton - time:  0.15&lt;br /&gt;
GtkCheckButton - time:  0.06&lt;br /&gt;
GtkRadioButton - time:  0.07&lt;br /&gt;
GtkTextView - Add text - time:  0.19&lt;br /&gt;
GtkTextView - Scroll - time:  0.15&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.89&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.16&lt;br /&gt;
GtkDrawingArea - Text - time:  0.91&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.12&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  5.54&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: Aurora&lt;br /&gt;
Theme: Aurora&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GtkEntry - time:  0.05&lt;br /&gt;
GtkComboBox - time:  1.10&lt;br /&gt;
GtkComboBoxEntry - time:  0.90&lt;br /&gt;
GtkSpinButton - time:  0.20&lt;br /&gt;
GtkProgressBar - time:  0.06&lt;br /&gt;
GtkToggleButton - time:  0.12&lt;br /&gt;
GtkCheckButton - time:  0.08&lt;br /&gt;
GtkRadioButton - time:  0.16&lt;br /&gt;
GtkTextView - Add text - time:  0.19&lt;br /&gt;
GtkTextView - Scroll - time:  0.13&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.92&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.17&lt;br /&gt;
GtkDrawingArea - Text - time:  0.89&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.12&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  6.08&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: Pixmap&lt;br /&gt;
Theme: Elegant Autumn*&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GtkEntry - time:  0.04&lt;br /&gt;
GtkComboBox - time:  1.00&lt;br /&gt;
GtkComboBoxEntry - time:  0.80&lt;br /&gt;
GtkSpinButton - time:  0.15&lt;br /&gt;
GtkProgressBar - time:  0.15&lt;br /&gt;
GtkToggleButton - time:  0.22&lt;br /&gt;
GtkCheckButton - time:  0.06&lt;br /&gt;
GtkRadioButton - time:  0.11&lt;br /&gt;
GtkTextView - Add text - time:  0.23&lt;br /&gt;
GtkTextView - Scroll - time:  0.23&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.98&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.17&lt;br /&gt;
GtkDrawingArea - Text - time:  0.92&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.13&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  6.19&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: Candido&lt;br /&gt;
Theme: Graphite Light&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GtkEntry - time:  0.05&lt;br /&gt;
GtkComboBox - time:  1.94&lt;br /&gt;
GtkComboBoxEntry - time:  1.36&lt;br /&gt;
GtkSpinButton - time:  0.08&lt;br /&gt;
GtkProgressBar - time:  0.17&lt;br /&gt;
GtkToggleButton - time:  0.22&lt;br /&gt;
GtkCheckButton - time:  0.07&lt;br /&gt;
GtkRadioButton - time:  0.09&lt;br /&gt;
GtkTextView - Add text - time:  0.22&lt;br /&gt;
GtkTextView - Scroll - time:  0.16&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.89&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.17&lt;br /&gt;
GtkDrawingArea - Text - time:  0.91&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.12&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  7.45&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Interesting. Six months (and one new graphics card and driver) later, there's been a bit of a shuffle. All engines tested are clustered much closer together. There used to be a 12-second gap between the fastest and slowest engines. Now it's only 3 seconds. Part of that disparity comes from new versions of the engines. Aurora in particular has made phenomenal improvements since 1.4; the numbers you see here are from version 1.5.1. It's no longer at the back of the pack -- last place now belongs to Candido, which is still rather slow, especially in the ComboBox tests.&lt;/p&gt;

&lt;p&gt;Curiously, although the completion times are stacked very closely, there seemed to be a general slowdown. While the older gtk+ engines still turn in respectable times, they're not always at the front of the pack. In particular, the Pixmap engine, which has historically had a speedy reputation, is now trailing most other engines. The theme used is extremely simple. I'm not sure what's causing the slowdown here. Perhaps its reputation for speed is no longer deserved; even six months ago it wasn't a standout.&lt;/p&gt;

&lt;p&gt;There's no longer an engine that can turn in 3-second completion times; in fact, the four fastest engines all tied at 4.7 seconds. Of the four, Rezlooks is without a doubt the prettiest. Many of the screenshots &lt;a href=&quot;http://dev.gentoo.org/~nightmorph/misc/screens/&quot;&gt;in my devspace&lt;/a&gt; feature Rezlooks themes.&lt;/p&gt;

&lt;p&gt;Two of the engines added for this round of benchmarks, Crux and Redmond95, end up in the middle of the pack. They're not particularly fast, nor are they pleasing to the eye. The other two newcomers, ThinIce and HighContrast, distinguish themselves by jumping to the very top of the charts. HighContrast is undoubtedly the ugliest engine presented here, while ThinIce's appearance rather resembles Mist. It's tolerable, but nothing I'd use, personally.&lt;/p&gt;

&lt;p&gt;Once again, I'll stick with Rezlooks-based themes, as well as the occasional standout Pixmap or Clearlooks theme such as &lt;a href=&quot;http://xfce-look.org/content/show.php/ClearLUX?content=94004&quot;&gt;ClearLUX&lt;/a&gt;. ClearLUX in particular is extremely &lt;a href=&quot;http://dev.gentoo.org/~nightmorph/misc/screens/20090206-1.png&quot;&gt;easy on the eyes&lt;/a&gt; when doing late-night computer work.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;em&gt;But where are the Xfce engine results?&lt;/em&gt; Let's take a look . . .&lt;/p&gt;

&lt;p&gt;The Xfce engine results baffled me. The completion times varied wildly, everywhere from middle-of-the-road to flat-out fast to back-of-the-pack. So I intermittently benchmarked the Xfce engine for an hour, under varying degrees of desktop activity. Everything from lots of different applications open to a completely blank desktop. I couldn't generate consistent results. So, I decided to close down all applications and run a final series of three tests. Presented here are the slowest and fastest times logged for this series.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Engine: Xfce&lt;br /&gt;
Theme: Xfce&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Slowest times&lt;/em&gt;&lt;br /&gt;
GtkEntry - time:  0.06&lt;br /&gt;
GtkComboBox - time:  1.18&lt;br /&gt;
GtkComboBoxEntry - time:  0.50&lt;br /&gt;
GtkSpinButton - time:  0.08&lt;br /&gt;
GtkProgressBar - time:  0.07&lt;br /&gt;
GtkToggleButton - time:  0.08&lt;br /&gt;
GtkCheckButton - time:  0.03&lt;br /&gt;
GtkRadioButton - time:  0.06&lt;br /&gt;
GtkTextView - Add text - time:  0.20&lt;br /&gt;
GtkTextView - Scroll - time:  0.14&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.90&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.17&lt;br /&gt;
GtkDrawingArea - Text - time:  0.94&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.15&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  5.56&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Fastest times&lt;/em&gt;&lt;br /&gt;
GtkEntry - time:  0.02&lt;br /&gt;
GtkComboBox - time:  0.55&lt;br /&gt;
GtkComboBoxEntry - time:  0.43&lt;br /&gt;
GtkSpinButton - time:  0.06&lt;br /&gt;
GtkProgressBar - time:  0.06&lt;br /&gt;
GtkToggleButton - time:  0.06&lt;br /&gt;
GtkCheckButton - time:  0.03&lt;br /&gt;
GtkRadioButton - time:  0.04&lt;br /&gt;
GtkTextView - Add text - time:  0.18&lt;br /&gt;
GtkTextView - Scroll - time:  0.12&lt;br /&gt;
GtkDrawingArea - Lines - time:  0.86&lt;br /&gt;
GtkDrawingArea - Circles - time:  1.19&lt;br /&gt;
GtkDrawingArea - Text - time:  0.90&lt;br /&gt;
GtkDrawingArea - Pixbufs - time:  0.12&lt;br /&gt;
 --- &lt;br /&gt;
&lt;em&gt;Total time:  4.63&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Look at that. A completion time of 4.63 seconds, well ahead of any other engine. That's best-case though; it can be almost as slow as the Aurora engine, which is notoriously heavy. The DrawingArea and TextView numbers are fairly static in both sets. Everything else tends to vary widely. No idea why. Perhaps the developers have made some changes under the hood between Xfce 4.4 and 4.6?&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2009/06/12/benchmarks-gtk-engines-revisited&quot;&gt;Original post&lt;/a&gt; from &lt;a href=&quot;http://planet.gentoo.org&quot;&gt;Planet Gentoo&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Six months ago I <a href="http://blogs.gentoo.org/nightmorph/2008/12/14/benchmarks_gtk_engines">posted some benchmarks</a> of popular gtk+ engines. It's time to revisit those benchmarks and test the engines again, this time using FOSS drivers for my new hardware.</p>

<p>Today I installed my brand-spankin' new graphics card, an ATI RadeonHD 4550, by Sapphire. Getting working 2D acceleration with EXA <a href="http://forums.gentoo.org/viewtopic-p-5789462.html#5789462">was a cinch</a>, now that the 2.6.30 kernel is out. Doesn't require anything special in terms of packages; nothing from overlays or bleeding-edge git checkouts. Only needs three ~arch packages: gentoo-sources, libdrm, and mesa.</p>

<p>For this updated round of testing, I used the same gtk+ engines, but also added some new ones. These can all be obtained by installing the following packages: gtk-engines, gnome-themes, gtk-engines-aurora, gtk-engines-candido, gtk-engines-rezlooks, and gtk-engines-xfce. New to the testing list are the Crux, ThinIce, HighContrast, and Redmond95 engines.</p>

<p>Once again, gtkperf-0.40 was used to obtain these benchmarks. With the exception of the graphics hardware and driver, the testing environment is <em>mostly</em> the same. Xfce has been updated to 4.6.1.</p>

<p>Let's see how all these engines perform on my Xfce workstation, eh?</p>

<!-- more -->

<p><em>Notes on the hardware:</em></p>

<p>CPU: Athlon 64 X2 4600+<br />
Graphics: ATI RadeonHD 4550, DVI 1440x900 @ 60Hz<br />
RAM: 4GB DDR2-667<br />
Mobo: ASUS M3N78-VM</p>


<p><em>Notes on the testing environment:</em></p>

<p>OS: Gentoo Linux (duh)<br />
Kernel: Linux 2.6.30-gentoo-r1 #1 SMP PREEMPT x86_64<br />
xf86-video-ati: 6.12.1-r1<br />
CFLAGS: -march=athlon64-sse3 -O2 -fomit-frame-pointer<br />
DE: Xfce 4.6.1<br />
- Xfwm4 with Composite enabled, effects: drop shadows &amp; transparency<br />
- Open applications: 2 instances of x11-terms/terminal</p>

<p>Custom themes are noted with *. These are personal themes I've made, nothing more than simple color modifications of an existing freely available theme. No additional images are used, so rendering time should not be affected.</p>

<p>All tests were conducted 3 times, using a Test Round setting of 100. I picked the best score of the 3, as I was looking for best-case usage conditions. The results are ranked in order from fastest to slowest.</p>

<p><strong>Engine: HighContrast<br />
Theme: HighContrast</strong></p>

<p>GtkEntry - time:  0.03<br />
GtkComboBox - time:  0.63<br />
GtkComboBoxEntry - time:  0.46<br />
GtkSpinButton - time:  0.04<br />
GtkProgressBar - time:  0.02<br />
GtkToggleButton - time:  0.04<br />
GtkCheckButton - time:  0.03<br />
GtkRadioButton - time:  0.06<br />
GtkTextView - Add text - time:  0.18<br />
GtkTextView - Scroll - time:  0.08<br />
GtkDrawingArea - Lines - time:  0.91<br />
GtkDrawingArea - Circles - time:  1.21<br />
GtkDrawingArea - Text - time:  0.89<br />
GtkDrawingArea - Pixbufs - time:  0.11<br />
 --- <br />
<em>Total time:  4.70</em></p>

<p><strong>Engine: Rezlooks<br />
Theme: Rezlooks Blue Ink*</strong></p>

<p>GtkEntry - time:  0.05<br />
GtkComboBox - time:  0.61<br />
GtkComboBoxEntry - time:  0.41<br />
GtkSpinButton - time:  0.05<br />
GtkProgressBar - time:  0.03<br />
GtkToggleButton - time:  0.06<br />
GtkCheckButton - time:  0.04<br />
GtkRadioButton - time:  0.11<br />
GtkTextView - Add text - time:  0.18<br />
GtkTextView - Scroll - time:  0.07<br />
GtkDrawingArea - Lines - time:  0.94<br />
GtkDrawingArea - Circles - time:  1.17<br />
GtkDrawingArea - Text - time:  0.89<br />
GtkDrawingArea - Pixbufs - time:  0.11<br />
 --- <br />
<em>Total time:  4.72</em></p>

<p><strong>Engine: Mist<br />
Theme: Mist</strong></p>

<p>GtkEntry - time:  0.03<br />
GtkComboBox - time:  0.65<br />
GtkComboBoxEntry - time:  0.45<br />
GtkSpinButton - time:  0.06<br />
GtkProgressBar - time:  0.03<br />
GtkToggleButton - time:  0.05<br />
GtkCheckButton - time:  0.04<br />
GtkRadioButton - time:  0.10<br />
GtkTextView - Add text - time:  0.18<br />
GtkTextView - Scroll - time:  0.07<br />
GtkDrawingArea - Lines - time:  0.87<br />
GtkDrawingArea - Circles - time:  1.17<br />
GtkDrawingArea - Text - time:  0.91<br />
GtkDrawingArea - Pixbufs - time:  0.12<br />
 --- <br />
<em>Total time:  4.72</em></p>

<p><strong>Engine: ThinIce<br />
Theme: ThinIce</strong></p>

<p>GtkEntry - time:  0.03<br />
GtkComboBox - time:  0.65<br />
GtkComboBoxEntry - time:  0.42<br />
GtkSpinButton - time:  0.07<br />
GtkProgressBar - time:  0.03<br />
GtkToggleButton - time:  0.05<br />
GtkCheckButton - time:  0.03<br />
GtkRadioButton - time:  0.07<br />
GtkTextView - Add text - time:  0.19<br />
GtkTextView - Scroll - time:  0.09<br />
GtkDrawingArea - Lines - time:  0.91<br />
GtkDrawingArea - Circles - time:  1.16<br />
GtkDrawingArea - Text - time:  0.88<br />
GtkDrawingArea - Pixbufs - time:  0.12<br />
 --- <br />
<em>Total time:  4.72</em></p>

<p><strong>Engine: Glide<br />
Theme: Glider</strong></p>

<p>GtkEntry - time:  0.06<br />
GtkComboBox - time:  0.65<br />
GtkComboBoxEntry - time:  0.49<br />
GtkSpinButton - time:  0.08<br />
GtkProgressBar - time:  0.03<br />
GtkToggleButton - time:  0.05<br />
GtkCheckButton - time:  0.05<br />
GtkRadioButton - time:  0.14<br />
GtkTextView - Add text - time:  0.20<br />
GtkTextView - Scroll - time:  0.09<br />
GtkDrawingArea - Lines - time:  0.85<br />
GtkDrawingArea - Circles - time:  1.20<br />
GtkDrawingArea - Text - time:  0.87<br />
GtkDrawingArea - Pixbufs - time:  0.14<br />
 --- <br />
<em>Total time:  4.90</em></p>

<p><strong>Engine: Redmond95<br />
Theme: Redmond</strong></p>

<p>GtkEntry - time:  0.04<br />
GtkComboBox - time:  0.76<br />
GtkComboBoxEntry - time:  0.57<br />
GtkSpinButton - time:  0.06<br />
GtkProgressBar - time:  0.02<br />
GtkToggleButton - time:  0.10<br />
GtkCheckButton - time:  0.12<br />
GtkRadioButton - time:  0.13<br />
GtkTextView - Add text - time:  0.19<br />
GtkTextView - Scroll - time:  0.08<br />
GtkDrawingArea - Lines - time:  0.90<br />
GtkDrawingArea - Circles - time:  1.17<br />
GtkDrawingArea - Text - time:  0.90<br />
GtkDrawingArea - Pixbufs - time:  0.12<br />
 --- <br />
<em>Total time:  5.16</em></p>

<p><strong>Engine: Clearlooks<br />
Theme: Glossy</strong></p>

<p>GtkEntry - time:  0.02<br />
GtkComboBox - time:  0.77<br />
GtkComboBoxEntry - time:  0.56<br />
GtkSpinButton - time:  0.19<br />
GtkProgressBar - time:  0.12<br />
GtkToggleButton - time:  0.12<br />
GtkCheckButton - time:  0.08<br />
GtkRadioButton - time:  0.11<br />
GtkTextView - Add text - time:  0.18<br />
GtkTextView - Scroll - time:  0.10<br />
GtkDrawingArea - Lines - time:  0.95<br />
GtkDrawingArea - Circles - time:  1.17<br />
GtkDrawingArea - Text - time:  0.91<br />
GtkDrawingArea - Pixbufs - time:  0.12<br />
 --- <br />
<em>Total time:  5.40</em></p>

<p><strong>Engine: Crux<br />
Theme: Crux</strong></p>

<p>GtkEntry - time:  0.03<br />
GtkComboBox - time:  0.89<br />
GtkComboBoxEntry - time:  0.75<br />
GtkSpinButton - time:  0.14<br />
GtkProgressBar - time:  0.04<br />
GtkToggleButton - time:  0.05<br />
GtkCheckButton - time:  0.06<br />
GtkRadioButton - time:  0.10<br />
GtkTextView - Add text - time:  0.18<br />
GtkTextView - Scroll - time:  0.12<br />
GtkDrawingArea - Lines - time:  0.90<br />
GtkDrawingArea - Circles - time:  1.16<br />
GtkDrawingArea - Text - time:  0.90<br />
GtkDrawingArea - Pixbufs - time:  0.13<br />
 --- <br />
<em>Total time:  5.46</em></p>

<p><strong>Engine: Industrial<br />
Theme: Industrial</strong></p>

<p>GtkEntry - time:  0.05<br />
GtkComboBox - time:  1.13<br />
GtkComboBoxEntry - time:  0.54<br />
GtkSpinButton - time:  0.06<br />
GtkProgressBar - time:  0.05<br />
GtkToggleButton - time:  0.15<br />
GtkCheckButton - time:  0.06<br />
GtkRadioButton - time:  0.07<br />
GtkTextView - Add text - time:  0.19<br />
GtkTextView - Scroll - time:  0.15<br />
GtkDrawingArea - Lines - time:  0.89<br />
GtkDrawingArea - Circles - time:  1.16<br />
GtkDrawingArea - Text - time:  0.91<br />
GtkDrawingArea - Pixbufs - time:  0.12<br />
 --- <br />
<em>Total time:  5.54</em></p>

<p><strong>Engine: Aurora<br />
Theme: Aurora</strong></p>

<p>GtkEntry - time:  0.05<br />
GtkComboBox - time:  1.10<br />
GtkComboBoxEntry - time:  0.90<br />
GtkSpinButton - time:  0.20<br />
GtkProgressBar - time:  0.06<br />
GtkToggleButton - time:  0.12<br />
GtkCheckButton - time:  0.08<br />
GtkRadioButton - time:  0.16<br />
GtkTextView - Add text - time:  0.19<br />
GtkTextView - Scroll - time:  0.13<br />
GtkDrawingArea - Lines - time:  0.92<br />
GtkDrawingArea - Circles - time:  1.17<br />
GtkDrawingArea - Text - time:  0.89<br />
GtkDrawingArea - Pixbufs - time:  0.12<br />
 --- <br />
<em>Total time:  6.08</em></p>

<p><strong>Engine: Pixmap<br />
Theme: Elegant Autumn*</strong></p>

<p>GtkEntry - time:  0.04<br />
GtkComboBox - time:  1.00<br />
GtkComboBoxEntry - time:  0.80<br />
GtkSpinButton - time:  0.15<br />
GtkProgressBar - time:  0.15<br />
GtkToggleButton - time:  0.22<br />
GtkCheckButton - time:  0.06<br />
GtkRadioButton - time:  0.11<br />
GtkTextView - Add text - time:  0.23<br />
GtkTextView - Scroll - time:  0.23<br />
GtkDrawingArea - Lines - time:  0.98<br />
GtkDrawingArea - Circles - time:  1.17<br />
GtkDrawingArea - Text - time:  0.92<br />
GtkDrawingArea - Pixbufs - time:  0.13<br />
 --- <br />
<em>Total time:  6.19</em></p>

<p><strong>Engine: Candido<br />
Theme: Graphite Light</strong></p>

<p>GtkEntry - time:  0.05<br />
GtkComboBox - time:  1.94<br />
GtkComboBoxEntry - time:  1.36<br />
GtkSpinButton - time:  0.08<br />
GtkProgressBar - time:  0.17<br />
GtkToggleButton - time:  0.22<br />
GtkCheckButton - time:  0.07<br />
GtkRadioButton - time:  0.09<br />
GtkTextView - Add text - time:  0.22<br />
GtkTextView - Scroll - time:  0.16<br />
GtkDrawingArea - Lines - time:  0.89<br />
GtkDrawingArea - Circles - time:  1.17<br />
GtkDrawingArea - Text - time:  0.91<br />
GtkDrawingArea - Pixbufs - time:  0.12<br />
 --- <br />
<em>Total time:  7.45</em></p>

<p>Interesting. Six months (and one new graphics card and driver) later, there's been a bit of a shuffle. All engines tested are clustered much closer together. There used to be a 12-second gap between the fastest and slowest engines. Now it's only 3 seconds. Part of that disparity comes from new versions of the engines. Aurora in particular has made phenomenal improvements since 1.4; the numbers you see here are from version 1.5.1. It's no longer at the back of the pack -- last place now belongs to Candido, which is still rather slow, especially in the ComboBox tests.</p>

<p>Curiously, although the completion times are stacked very closely, there seemed to be a general slowdown. While the older gtk+ engines still turn in respectable times, they're not always at the front of the pack. In particular, the Pixmap engine, which has historically had a speedy reputation, is now trailing most other engines. The theme used is extremely simple. I'm not sure what's causing the slowdown here. Perhaps its reputation for speed is no longer deserved; even six months ago it wasn't a standout.</p>

<p>There's no longer an engine that can turn in 3-second completion times; in fact, the four fastest engines all tied at 4.7 seconds. Of the four, Rezlooks is without a doubt the prettiest. Many of the screenshots <a href="http://dev.gentoo.org/~nightmorph/misc/screens/">in my devspace</a> feature Rezlooks themes.</p>

<p>Two of the engines added for this round of benchmarks, Crux and Redmond95, end up in the middle of the pack. They're not particularly fast, nor are they pleasing to the eye. The other two newcomers, ThinIce and HighContrast, distinguish themselves by jumping to the very top of the charts. HighContrast is undoubtedly the ugliest engine presented here, while ThinIce's appearance rather resembles Mist. It's tolerable, but nothing I'd use, personally.</p>

<p>Once again, I'll stick with Rezlooks-based themes, as well as the occasional standout Pixmap or Clearlooks theme such as <a href="http://xfce-look.org/content/show.php/ClearLUX?content=94004">ClearLUX</a>. ClearLUX in particular is extremely <a href="http://dev.gentoo.org/~nightmorph/misc/screens/20090206-1.png">easy on the eyes</a> when doing late-night computer work.</p>

<hr />

<p><em>But where are the Xfce engine results?</em> Let's take a look . . .</p>

<p>The Xfce engine results baffled me. The completion times varied wildly, everywhere from middle-of-the-road to flat-out fast to back-of-the-pack. So I intermittently benchmarked the Xfce engine for an hour, under varying degrees of desktop activity. Everything from lots of different applications open to a completely blank desktop. I couldn't generate consistent results. So, I decided to close down all applications and run a final series of three tests. Presented here are the slowest and fastest times logged for this series.</p>

<p><strong>Engine: Xfce<br />
Theme: Xfce</strong></p>

<p><em>Slowest times</em><br />
GtkEntry - time:  0.06<br />
GtkComboBox - time:  1.18<br />
GtkComboBoxEntry - time:  0.50<br />
GtkSpinButton - time:  0.08<br />
GtkProgressBar - time:  0.07<br />
GtkToggleButton - time:  0.08<br />
GtkCheckButton - time:  0.03<br />
GtkRadioButton - time:  0.06<br />
GtkTextView - Add text - time:  0.20<br />
GtkTextView - Scroll - time:  0.14<br />
GtkDrawingArea - Lines - time:  0.90<br />
GtkDrawingArea - Circles - time:  1.17<br />
GtkDrawingArea - Text - time:  0.94<br />
GtkDrawingArea - Pixbufs - time:  0.15<br />
 --- <br />
<em>Total time:  5.56</em></p>

<p><em>Fastest times</em><br />
GtkEntry - time:  0.02<br />
GtkComboBox - time:  0.55<br />
GtkComboBoxEntry - time:  0.43<br />
GtkSpinButton - time:  0.06<br />
GtkProgressBar - time:  0.06<br />
GtkToggleButton - time:  0.06<br />
GtkCheckButton - time:  0.03<br />
GtkRadioButton - time:  0.04<br />
GtkTextView - Add text - time:  0.18<br />
GtkTextView - Scroll - time:  0.12<br />
GtkDrawingArea - Lines - time:  0.86<br />
GtkDrawingArea - Circles - time:  1.19<br />
GtkDrawingArea - Text - time:  0.90<br />
GtkDrawingArea - Pixbufs - time:  0.12<br />
 --- <br />
<em>Total time:  4.63</em></p>

<p>Look at that. A completion time of 4.63 seconds, well ahead of any other engine. That's best-case though; it can be almost as slow as the Aurora engine, which is notoriously heavy. The DrawingArea and TextView numbers are fairly static in both sets. Everything else tends to vary widely. No idea why. Perhaps the developers have made some changes under the hood between Xfce 4.4 and 4.6?</p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/nightmorph/2009/06/12/benchmarks-gtk-engines-revisited">Original post</a> from <a href="http://planet.gentoo.org">Planet Gentoo</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/nightmorph/2009/06/12/benchmarks-gtk-engines-revisited#comments</comments>
		</item>
				<item>
			<title>Hardware hackery</title>
			<link>http://blogs.gentoo.org/nightmorph/2009/06/07/hardware-hackery</link>
			<pubDate>Sun, 07 Jun 2009 06:44:51 +0000</pubDate>			<dc:creator>Josh Saddler</dc:creator>
			<category domain="main">Gentoo</category>
<category domain="alt">Linux</category>
<category domain="alt">Hardware</category>			<guid isPermaLink="false">1796@http://blogs.gentoo.org/</guid>
						<description>&lt;p&gt;My next bit of tinkering (after &lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2009/05/14/hands-on-with-ebuilds-abiword&quot;&gt;a guided tour of hacking up Abiword ebuilds&lt;/a&gt;) will be hardware &lt;em&gt;and&lt;/em&gt; software.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.newegg.com&quot;&gt;NewEgg&lt;/a&gt; is having a sale, so I just purchased an &lt;a href=&quot;http://www.newegg.com/Product/Product.aspx?Item=N82E16814102819&quot;&gt;ATI RadeonHD 4550&lt;/a&gt;. This is the cheapest one on the 'net, and it has free shipping in addition to the sale price. And most importantly, it's fanless! And it's got a low-profile bracket!&lt;/p&gt;

&lt;p&gt;I've been planning to &lt;a href=&quot;http://www.silentpcreview.com/forums/viewtopic.php?t=53686&quot;&gt;downsize&lt;/a&gt; or &quot;sidegrade&quot; (not &lt;em&gt;up&lt;/em&gt;grade) my main desktop workstation for some time now. Moving to a smaller desktop case saves a few square feet of precious floor space, and it's part of reducing the overall system energy consumption.&lt;/p&gt;

&lt;p&gt;I intend to change my computing habits, starting with using less power and quitting 3D games (such as UT2004). So moving to a less capable graphics card is a big step in that direction. As of right now, the &lt;a href=&quot;http://www.x.org/wiki/radeon&quot;&gt;radeon&lt;/a&gt; and &lt;a href=&quot;http://www.x.org/wiki/radeonhd&quot;&gt;radeonhd&lt;/a&gt; drivers only have working 2D acceleration, which is all I expect to need.&lt;/p&gt;

&lt;p&gt;The &lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2008/12/31/graphics-shuffle&quot;&gt;last time I used an ATI card&lt;/a&gt;, I was &lt;em&gt;extremely&lt;/em&gt; impressed with its 2D rendering speed and flicker-free video playback. Granted, that was an R500 card and the RadeonHD 4550 is an R700 card. However, supposedly its 2D driver is just as good as the code for the older card, so I expect a similar experience. Although KMS and 3D acceleration are &lt;a href=&quot;http://www.phoronix.com&quot;&gt;nowhere near ready&lt;/a&gt;, I don't need them. Working KMS on my Intel laptop &lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2009/04/27/desktops-etc&quot;&gt;is nice&lt;/a&gt;, but it's not crucial. Nor will it be for my desktop.&lt;/p&gt;

&lt;p&gt;The most important things for my new desktop are good FOSS driver support/performance, silence, and adaptability for case changes. I'm completely spoiled by running nothing but fanless graphics chips. After the terrible experience with the fan on my X1950Pro, I purchased an AC Accelero S1 rev. 2. &lt;a href=&quot;http://www.silentpcreview.com/forums/viewtopic.php?t=51575&quot;&gt;It made a world of difference!&lt;/a&gt; The 4550 I bought today is also fanless, and has a much smaller heatsink.&lt;/p&gt;

&lt;p&gt;Which brings me to my next point: adaptability. Sure, I could have just (re)used my X1950Pro, since it already has working 2D and 3D acceleration, and has a &lt;a href=&quot;http://www.silentpcreview.com/forums/viewtopic.php?t=50001&quot;&gt;fanless cooler&lt;/a&gt;, but it also uses &lt;a href=&quot;http://archive.atomicmpc.com.au/forums.asp?s=2&amp;amp;c=7&amp;amp;t=9354&quot;&gt;more power&lt;/a&gt; than even my GeForce. Which makes sense, since the 1950 was a high-end card for its day, and the 7600GT was a low-to-midrange card. In every test I found, the RadeonHD 4550 uses 18W or less at &lt;em&gt;max&lt;/em&gt; 3D load, and idles at about 7W. That's outstanding for regular desktop usage.&lt;/p&gt;

&lt;p&gt;That'll let me stuff the card and the rest of my computer into a microATX case such as the &lt;a href=&quot;http://www.silentpcreview.com/forums/viewtopic.php?t=53908&quot;&gt;Antec NSK1380&lt;/a&gt;. Or even into a low-profile case like the super-slim desktop form factors. I'll need a new CPU heatsink, possibly even a more modern CPU. My current Athlon X2 is a 2.4ghz 65W chip, but moving down to a 45W chip that's even faster (say, 2.7ghz) saves even more power and heat. That'll let me run my whole system off a tiny, super-efficient, space-saving PSU like the PicoPSU.&lt;/p&gt;

&lt;p&gt;And it probably won't stop there . . . I'll probably trade my 160GB RAID1 array for a single SSD, and just be smarter about making more frequent offline backups. The SSD will likely be an OCZ Vertex or one of the other Barefoot ARM-based drives. No sh*tty JMicron controllers for &lt;em&gt;me&lt;/em&gt;, thankya very much.&lt;/p&gt;

&lt;p&gt;A small, cute new case, a seriously efficient PSU, CPU, GPU, and HDD . . . so that's basically a whole 'nother workstation, but I think it's worth it. Fun, too! The challenge of choosing and assembling parts is the shortest. The longer challenge is reinstalling Gentoo, tweaking the SSD for max performance and longevity, and getting the graphics driver to work.&lt;/p&gt;

&lt;p&gt;These last two bits will likely be the trickiest, as the radeon driver seems to work best when using either a .28 kernel or a really recent &lt;a href=&quot;http://www.phoronix.com/scan.php?page=article&amp;amp;item=linux_2630&amp;amp;num=1&quot;&gt;2.6.30&lt;/a&gt;. However, the later .30-rcX kernels have &lt;a href=&quot;http://forums.gentoo.org/viewtopic-t-764924.html&quot;&gt;serious issues with ReiserFS&lt;/a&gt;, my preferred filesystem. And only some folks have reported that the latest -rcX versions have fixed the regressions. Ah well. While I've always experienced the best performance with ReiserFS, that's been on normal magnetic drives. &lt;a href=&quot;http://forum.mandriva.com/viewtopic.php?p=690902&amp;amp;sid=b1795a37bc6ab00f2142bbe2003e636e&quot;&gt;Apparently&lt;/a&gt; the &lt;a href=&quot;http://www.phoronix.com/scan.php?page=article&amp;amp;item=intel_x25e_filesystems&amp;amp;num=1&quot;&gt;new hotness&lt;/a&gt; is stuff like &lt;a href=&quot;http://www.linux-mag.com/id/7308/&quot;&gt;BtrFS&lt;/a&gt;, &lt;a href=&quot;http://www.linux-mag.com/cache/7345/1.html&quot;&gt;NILFS&lt;/a&gt;, and &lt;a href=&quot;http://thunk.org/tytso/blog/category/computers/linux/filesystems/&quot;&gt;ext4&lt;/a&gt;. Probably end up going with &lt;a href=&quot;http://www.phoronix.com/scan.php?page=article&amp;amp;item=ext4_benchmarks&amp;amp;num=1&quot;&gt;ext4&lt;/a&gt; as I wouldn't entirely trust the first two with my data safety just yet.&lt;/p&gt;

&lt;p&gt;Ahhh, hardware hacking. It's so fun, yet it's over so quickly. It's an expensive hobby to keep up constantly, which is why I try to go years between component changes, and spend the intervening time tweaking the software. Will it ever be &quot;good enough?&quot; Time will tell. &lt;img src=&quot;http://blogs.gentoo.org/rsc/smilies/icon_smile.gif&quot; alt=&quot;&amp;#58;&amp;#41;&quot; class=&quot;middle&quot; /&gt;&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://blogs.gentoo.org/nightmorph/2009/06/07/hardware-hackery&quot;&gt;Original post&lt;/a&gt; from &lt;a href=&quot;http://planet.gentoo.org&quot;&gt;Planet Gentoo&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>My next bit of tinkering (after <a href="http://blogs.gentoo.org/nightmorph/2009/05/14/hands-on-with-ebuilds-abiword">a guided tour of hacking up Abiword ebuilds</a>) will be hardware <em>and</em> software.</p>

<p><a href="http://www.newegg.com">NewEgg</a> is having a sale, so I just purchased an <a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16814102819">ATI RadeonHD 4550</a>. This is the cheapest one on the 'net, and it has free shipping in addition to the sale price. And most importantly, it's fanless! And it's got a low-profile bracket!</p>

<p>I've been planning to <a href="http://www.silentpcreview.com/forums/viewtopic.php?t=53686">downsize</a> or "sidegrade" (not <em>up</em>grade) my main desktop workstation for some time now. Moving to a smaller desktop case saves a few square feet of precious floor space, and it's part of reducing the overall system energy consumption.</p>

<p>I intend to change my computing habits, starting with using less power and quitting 3D games (such as UT2004). So moving to a less capable graphics card is a big step in that direction. As of right now, the <a href="http://www.x.org/wiki/radeon">radeon</a> and <a href="http://www.x.org/wiki/radeonhd">radeonhd</a> drivers only have working 2D acceleration, which is all I expect to need.</p>

<p>The <a href="http://blogs.gentoo.org/nightmorph/2008/12/31/graphics-shuffle">last time I used an ATI card</a>, I was <em>extremely</em> impressed with its 2D rendering speed and flicker-free video playback. Granted, that was an R500 card and the RadeonHD 4550 is an R700 card. However, supposedly its 2D driver is just as good as the code for the older card, so I expect a similar experience. Although KMS and 3D acceleration are <a href="http://www.phoronix.com">nowhere near ready</a>, I don't need them. Working KMS on my Intel laptop <a href="http://blogs.gentoo.org/nightmorph/2009/04/27/desktops-etc">is nice</a>, but it's not crucial. Nor will it be for my desktop.</p>

<p>The most important things for my new desktop are good FOSS driver support/performance, silence, and adaptability for case changes. I'm completely spoiled by running nothing but fanless graphics chips. After the terrible experience with the fan on my X1950Pro, I purchased an AC Accelero S1 rev. 2. <a href="http://www.silentpcreview.com/forums/viewtopic.php?t=51575">It made a world of difference!</a> The 4550 I bought today is also fanless, and has a much smaller heatsink.</p>

<p>Which brings me to my next point: adaptability. Sure, I could have just (re)used my X1950Pro, since it already has working 2D and 3D acceleration, and has a <a href="http://www.silentpcreview.com/forums/viewtopic.php?t=50001">fanless cooler</a>, but it also uses <a href="http://archive.atomicmpc.com.au/forums.asp?s=2&amp;c=7&amp;t=9354">more power</a> than even my GeForce. Which makes sense, since the 1950 was a high-end card for its day, and the 7600GT was a low-to-midrange card. In every test I found, the RadeonHD 4550 uses 18W or less at <em>max</em> 3D load, and idles at about 7W. That's outstanding for regular desktop usage.</p>

<p>That'll let me stuff the card and the rest of my computer into a microATX case such as the <a href="http://www.silentpcreview.com/forums/viewtopic.php?t=53908">Antec NSK1380</a>. Or even into a low-profile case like the super-slim desktop form factors. I'll need a new CPU heatsink, possibly even a more modern CPU. My current Athlon X2 is a 2.4ghz 65W chip, but moving down to a 45W chip that's even faster (say, 2.7ghz) saves even more power and heat. That'll let me run my whole system off a tiny, super-efficient, space-saving PSU like the PicoPSU.</p>

<p>And it probably won't stop there . . . I'll probably trade my 160GB RAID1 array for a single SSD, and just be smarter about making more frequent offline backups. The SSD will likely be an OCZ Vertex or one of the other Barefoot ARM-based drives. No sh*tty JMicron controllers for <em>me</em>, thankya very much.</p>

<p>A small, cute new case, a seriously efficient PSU, CPU, GPU, and HDD . . . so that's basically a whole 'nother workstation, but I think it's worth it. Fun, too! The challenge of choosing and assembling parts is the shortest. The longer challenge is reinstalling Gentoo, tweaking the SSD for max performance and longevity, and getting the graphics driver to work.</p>

<p>These last two bits will likely be the trickiest, as the radeon driver seems to work best when using either a .28 kernel or a really recent <a href="http://www.phoronix.com/scan.php?page=article&amp;item=linux_2630&amp;num=1">2.6.30</a>. However, the later .30-rcX kernels have <a href="http://forums.gentoo.org/viewtopic-t-764924.html">serious issues with ReiserFS</a>, my preferred filesystem. And only some folks have reported that the latest -rcX versions have fixed the regressions. Ah well. While I've always experienced the best performance with ReiserFS, that's been on normal magnetic drives. <a href="http://forum.mandriva.com/viewtopic.php?p=690902&amp;sid=b1795a37bc6ab00f2142bbe2003e636e">Apparently</a> the <a href="http://www.phoronix.com/scan.php?page=article&amp;item=intel_x25e_filesystems&amp;num=1">new hotness</a> is stuff like <a href="http://www.linux-mag.com/id/7308/">BtrFS</a>, <a href="http://www.linux-mag.com/cache/7345/1.html">NILFS</a>, and <a href="http://thunk.org/tytso/blog/category/computers/linux/filesystems/">ext4</a>. Probably end up going with <a href="http://www.phoronix.com/scan.php?page=article&amp;item=ext4_benchmarks&amp;num=1">ext4</a> as I wouldn't entirely trust the first two with my data safety just yet.</p>

<p>Ahhh, hardware hacking. It's so fun, yet it's over so quickly. It's an expensive hobby to keep up constantly, which is why I try to go years between component changes, and spend the intervening time tweaking the software. Will it ever be "good enough?" Time will tell. <img src="http://blogs.gentoo.org/rsc/smilies/icon_smile.gif" alt="&#58;&#41;" class="middle" /></p><div class="item_footer"><p><small><a href="http://blogs.gentoo.org/nightmorph/2009/06/07/hardware-hackery">Original post</a> from <a href="http://planet.gentoo.org">Planet Gentoo</a>.</small></p></div>]]></content:encoded>
								<comments>http://blogs.gentoo.org/nightmorph/2009/06/07/hardware-hackery#comments</comments>
		</item>
			</channel>
</rss>
