<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>10 Most Recently Updated Pages</title>
		<link>http://www.hdrlab.org.nz/home/</link>
		<atom:link href="http://www.hdrlab.org.nz/home/" rel="self" type="application/rss+xml" />
		<description>Shows a list of the 10 most recently updated pages.</description>

		
		<item>
			<title>GfxBench2D Gets an Icon</title>
			<link>http://www.hdrlab.org.nz/benchmark/benchmark-tool-development-log/gfxbench2d-gets-an-icon/</link>
			<description>&lt;p&gt;&lt;img class=&quot;right&quot; src=&quot;http://www.hdrlab.org.nz/assets/GfxBench/GfxBench2D.png&quot; alt=&quot;GfxBench2D icon&quot; title=&quot;GfxBench2D icon&quot; width=&quot;64&quot; height=&quot;64&quot;/&gt;Both the AmigaOS and Windows versions of GfxBench2D have been updated to add an icon. This is something that I always wanted to add, but lacked the time (and I'm not a graphic artist). Anyway, thanks to Thomas Blatt - who created the icon - this is now a reality.&lt;/p&gt;</description>
			<pubDate>Thu, 12 Jan 2012 18:00:52 -0600</pubDate>
			
			<dc:creator>Hans de Ruiter</dc:creator>
			<guid>http://www.hdrlab.org.nz/benchmark/benchmark-tool-development-log/gfxbench2d-gets-an-icon/</guid>
		</item>
		
		<item>
			<title>GfxBench2D for Windows 2.6</title>
			<link>http://www.hdrlab.org.nz/benchmark/benchmark-tool-development-log/gfxbench2d-for-windows-2-6/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;The Windows version of GfxBench2D has received another update. This version includes a workaround for an issue with buggy graphics drivers. On a small number of computers it would hang at the WritePixelArray test. This was due to a driver bug affecting the CopySubresource() function. It would allow the source-buffer to be locked for writing before copying of data from that buffer to the graphics card had completed, potentially enabling the old data to be overwritten before it had been used. Fortunately, there was a different method to wait until the operation was done, which waits for the GPU to be idle. This same method is used prior to each test to ensure the most accurate results.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The updated version can be found at the &lt;a href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=311]&quot;&gt;usual place&lt;/a&gt;.&lt;/p&gt;</description>
			<pubDate>Mon, 10 Oct 2011 02:09:18 -0500</pubDate>
			
			<dc:creator>Hans de Ruiter</dc:creator>
			<guid>http://www.hdrlab.org.nz/benchmark/benchmark-tool-development-log/gfxbench2d-for-windows-2-6/</guid>
		</item>
		
		<item>
			<title>Minor GfxBench2D Update</title>
			<link>http://www.hdrlab.org.nz/benchmark/benchmark-tool-development-log/minor-gfxbench2d-update/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;A minor update to GfxBench2D has been released for both AmigaOS (now at version 2.2) and Windows (now at version 2.5). This is a purely cosmetic update, and does &lt;strong&gt;not&lt;/strong&gt; affect the benchmarking process in any way.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;This update adds a user-agent string to the upload client, and adds the word &quot;recommended&quot; to the upload requester. The user-agent string is something that the upload client passes to the server to identify itself. Previously this was left blank. While this makes no difference operationally, it is something that should be filled in. The change to the upload requester's text is there to (hopefully) encourage people to upload their results. I have noticed a number of downloads that did not result in new results being posted. While uploading is 100% optional, the more people who upload, the more data there is for everyone to compare performance with.&lt;/p&gt;</description>
			<pubDate>Mon, 19 Sep 2011 02:11:31 -0500</pubDate>
			
			<dc:creator>Hans de Ruiter</dc:creator>
			<guid>http://www.hdrlab.org.nz/benchmark/benchmark-tool-development-log/minor-gfxbench2d-update/</guid>
		</item>
		
		<item>
			<title>GfxBench2D Download</title>
			<link>http://www.hdrlab.org.nz/benchmark/gfxbench2d/Downloads/</link>
			<description>&lt;p&gt;&lt;img class=&quot;right&quot; src=&quot;http://www.hdrlab.org.nz/assets/Images/_resampled/resizedimage100100-Going-up-two-bars-256.png&quot; title=&quot;Graph icon&quot; width=&quot;100&quot; height=&quot;100&quot; alt=&quot;&quot;/&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;GfxBench2D is a benchmark test tool that measures the 2D performance of graphics cards. Test results from various computers and graphics cards are &lt;a title=&quot;GfxBench2D Home&quot; href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=310]&quot;&gt;available online&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Please download the version of &lt;a title=&quot;GfxBench2D Home&quot; href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=310]&quot;&gt;GfxBench2D&lt;/a&gt; for your operating system:&lt;/p&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li style=&quot;text-align: left;&quot;&gt;&lt;img src=&quot;http://www.hdrlab.org.nz/assets/GfxBench/_resampled/resizedimage2525-amigaos-boingball.png&quot; title=&quot;AmigaOS logo&quot; width=&quot;25&quot; height=&quot;25&quot; alt=&quot;&quot;/&gt;&lt;strong&gt; AmigaOS 4.x - &lt;a title=&quot;GfxBench2D benchmark tool for AmigaOS 4.x&quot; href=&quot;http://www.hdrlab.org.nz/assets/GfxBench/GfxBench2D-AOS.lha&quot; target=&quot;_blank&quot;&gt;Download&lt;/a&gt;&lt;/strong&gt; (&lt;a title=&quot;GfxBench2D results for AmigaOS&quot; href=&quot;http://www.hdrlab.org.nz/benchmark/gfxbench2d/OS/AmigaOS/&quot;&gt;view results&lt;/a&gt;)&lt;/li&gt;
&lt;li style=&quot;text-align: left;&quot;&gt;&lt;img src=&quot;http://www.hdrlab.org.nz/assets/GfxBench/_resampled/resizedimage2525-Windows-logo.png&quot; title=&quot;Windows logo&quot; width=&quot;25&quot; height=&quot;25&quot; alt=&quot;&quot;/&gt;&lt;strong&gt; Windows &lt;/strong&gt;(XP or higher)&lt;strong&gt; - &lt;a title=&quot;GfxBench2D benchmark tool for Windows&quot; href=&quot;http://www.hdrlab.org.nz/assets/GfxBench/GfxBench2D-Setup.msi&quot; target=&quot;_blank&quot;&gt;Download&lt;/a&gt;&lt;/strong&gt; (&lt;a title=&quot;GfxBench2D results for Windows&quot; href=&quot;http://www.hdrlab.org.nz/benchmark/gfxbench2d/OS/Windows/&quot;&gt;view results&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;Once downloaded, simply install the software and run it. There are only a few simple prompts to follow. Uploading results to the &lt;a title=&quot;GfxBench2D Home&quot; href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=310]&quot;&gt;online database&lt;/a&gt; is optional, but &lt;strong&gt;recommended&lt;/strong&gt;; the more results are uploaded the more useful the information is to everybody.&lt;/p&gt;
&lt;p&gt;Thank you for trying out GfxBench2D.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;NOTE: Ports of GfxBench2D for other operating systems are planned. If a version for your operating system is not available yet, please be patient. Since I cannot support all operating systems myself, I do plan on setting up a test server so that those willing to help with porting, can do so. However, this is not up and running yet. If you are interested to help out, then please &lt;a title=&quot;Contact Me&quot; href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=3]&quot;&gt;contact me via email&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Source Code&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I will be releasing the source-code at some point. However, I still have to decide in what form. If there is sufficient interest from others to help porting then I may set up a Google code project. Otherwise it will be provided as a downloadable archive here. If you are interested to help out, then please &lt;a title=&quot;Contact Me&quot; href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=3]&quot;&gt;contact me via email&lt;/a&gt;.&lt;/p&gt;</description>
			<pubDate>Wed, 01 Jun 2011 19:23:46 -0500</pubDate>
			
			<guid>http://www.hdrlab.org.nz/benchmark/gfxbench2d/Downloads/</guid>
		</item>
		
		<item>
			<title>Silverstripe EmogrifiedEmail Module</title>
			<link>http://www.hdrlab.org.nz/projects/silverstripe-php-projects/EmogrifiedEmail/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;I have been using Silverstripe's newsletter module for years now, and it works well. It includes the ability to use templates, which is great. Use an HTML template, however, and complications arise. The problem is that Silverstripe is built around using HTML and CSS, whereas CSS support in email clients &lt;a title=&quot;Guide to CSS support in email&quot; href=&quot;http://www.campaignmonitor.com/css/&quot;&gt;varies wildly&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Given the patchy CSS support, the safest solution is to embed the CSS style codes directly into the HTML tags themselves. Doing this manually is rather tedious. Fortunately, &lt;a title=&quot;Pelago&quot; href=&quot;http://www.pelagodesign.com/&quot;&gt;Pelago&lt;/a&gt; developed an &lt;a title=&quot;Emogrifier&quot; href=&quot;http://www.pelagodesign.com/sidecar/emogrifier/&quot;&gt;emogrifier PHP class&lt;/a&gt;, and the &lt;a title=&quot;Silverstripe newsletter-pagesource module&quot; href=&quot;https://github.com/ajshort/silverstripe-newsletter-pagesource&quot;&gt;Silverstripe newsletter-pagesource module&lt;/a&gt;, integrates it into Silverstripe. However, the newsletter-pagesource module only applies to newsletters generated from a website page, whereas I was looking for something more generic. Hence the EmogrifiedEmail module was created.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;Overview&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The EmogrifiedEmail class takes the HTML code being sent, and uses the emogrifier to embed CSS code contained in both external files and style tags directly into the HTML tags. It heavily borrows code from the &lt;a title=&quot;Silverstripe newsletter-pagesource module&quot; href=&quot;https://github.com/ajshort/silverstripe-newsletter-pagesource&quot;&gt;Silverstripe newsletter-pagesource module&lt;/a&gt;, and a little on &lt;span&gt;Mark Guinn's &lt;a title=&quot;Silverstripe newsletter-pagesource moduleThe ProcessedEmail class&quot; href=&quot;https://github.com/markguinn/sstools/blob/master/code/smtpmailer/ProcessedEmail.php&quot;&gt;ProcessedEmail class&lt;/a&gt;. The following enhancements were added to the original (newsletter-pagesource) code:&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;Updated to the latest emogrifier code;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Turn relative URLs in the CSS code (e.g., background image URLs) to absolute URLs;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Deletes the unneeded CSS links and style tags from the HTML header; and&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;span&gt;Fixed the final fallback option in the tidy() function so that it wouldn't add additional special characters to the HTML code.&lt;br/&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span&gt;NOTE: This was written on 13 December 2011. The newsletter-pagesource module may have been updated since then.&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;&lt;span&gt;Installation&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;span&gt;The source-code can be found on github at: &lt;/span&gt;&lt;a title=&quot;EmogrifiedEmail module github page&quot; href=&quot;https://github.com/hdrlab/Silverstripe-EmogrifiedEmail&quot;&gt;https://github.com/hdrlab/Silverstripe-EmogrifiedEmail&lt;/a&gt;. It can be checked out using Git, or &lt;a title=&quot;Download the latest EmogrifiedEmail module code as a zip file&quot; href=&quot;https://github.com/hdrlab/Silverstripe-EmogrifiedEmail/zipball/master&quot;&gt;downloaded as a zip file&lt;/a&gt;. The module simply needs to be copied into your Silverstripe installation as per any other module and, after rebuilding (using http://yoursite/dev/build), it will be ready for use.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Due to the way that the Email class is designed, it was not possible to seamlessly integrate EmogrifiedEmail into the system without modifying other source-files. So, you will have to change any class that uses or extends the Email class, to use or extend EmogrifiedEmail instead. See how this is done with the newsletter module &lt;a title=&quot;Integrating with the Newsletter Module&quot; href=&quot;http://www.hdrlab.org.nz/#Newsletter_Module_Integration&quot;&gt;below&lt;/a&gt;. Also &lt;a title=&quot;HTML Class Patch&quot; href=&quot;http://www.hdrlab.org.nz/#HTML_Class_Patch&quot;&gt;take note&lt;/a&gt; of a change to Silverstripe's HTTP class, which currently (as at 13 December 2011) is missing handling of list-style-image elements.&lt;/p&gt;
&lt;h3&gt;Integrating with the Newsletter Module&lt;a name=&quot;Newsletter_Module_Integration&quot;&gt; &lt;/a&gt;&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;As said above, there was no 100% clean method of integrating EmogrifiedEmail into the system, so a few source-code adjustments are needed in order to get the newsletter module working with the EmogrifiedEmail module. There is only one essential change: open &quot;code/email/NewsletterEmail.php&quot;, and replace the following line (line 8):&lt;/p&gt;
&lt;pre style=&quot;text-align: justify;&quot;&gt;class NewsletterEmail extends Email {&lt;br/&gt;&lt;/pre&gt;
&lt;p&gt;with this:&lt;/p&gt;
&lt;pre&gt;class NewsletterEmail extends EmogrifiedEmail {&lt;br/&gt;&lt;/pre&gt;
&lt;p&gt;That's it; emails sent will now be emogrified. Those using Git can use &lt;a title=&quot;A patch to get the newsletter module to use the EmogrifiedEmail module&quot; href=&quot;http://www.hdrlab.org.nz/assets/Projects/Silverstripe/0001-Changed-to-use-the-EmogrifiedEmail-module.patch&quot; target=&quot;_blank&quot;&gt;this patch&lt;/a&gt; to make the change.&lt;/p&gt;
&lt;p&gt;There is one problem though; if you preview a newsletter, the preview will use the original HTML code. If you wish to see the final email as it will be sent (ignoring the dynamic fields, of-course), then open up &quot;code/NewsletterAdmin.php&quot;, and replace the following line (line 175):&lt;/p&gt;
&lt;pre&gt;return HTTP::absoluteURLs($email-&amp;gt;getData()-&amp;gt;renderWith($templateName));&lt;br/&gt;&lt;/pre&gt;
&lt;p&gt;with:&lt;/p&gt;
&lt;pre&gt;$email-&amp;gt;setTemplate($templateName);&lt;br/&gt;$email-&amp;gt;debug();&lt;br/&gt;return $email-&amp;gt;Body();&lt;br/&gt;&lt;/pre&gt;
&lt;p&gt;This code is a bit of a hack, but $email-&amp;gt;debug() triggers the emogrification process without sending an email. Once again, those using Git can apply this simple change using &lt;a title=&quot;A patch to get the newsletter module to preview the emogrified email&quot; href=&quot;http://www.hdrlab.org.nz/assets/Projects/Silverstripe/0002-A-hack-to-make-the-newsletter-preview-emogrified-jus.patch&quot; target=&quot;_blank&quot;&gt;this patch&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;HTTP Class Patch&lt;a name=&quot;HTTP_Class_Patch&quot;&gt; &lt;/a&gt;&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;This isn't actually needed but the HTTP class' absoluteURLs() (okay, urlRewriter()) function currently (as at 13 December 2011) doesn't handle list-style-image elements. This is described in &lt;a title=&quot;HTML class absoluteURLs() bug ticket&quot; href=&quot;http://open.silverstripe.org/ticket/6798&quot;&gt;bug ticket #6798&lt;/a&gt;, which includes the necessary patch. &lt;/p&gt;
&lt;p&gt;It's a simple patch, which requires adding the following after line 64 in urlRewriter():&lt;/p&gt;
&lt;pre style=&quot;text-align: justify;&quot;&gt;$regExps[] = '/(list-style-image:[^;]*url *\()([^)]+)(\))/ie';&lt;br/&gt;&lt;/pre&gt;
&lt;p&gt;Just in case the source-code has changed since writing this, line 64 looks like:&lt;/p&gt;
&lt;pre&gt;$regExps[] = '/(background:[^;]*url *\()([^)]+)(\))/ie';&lt;br/&gt;&lt;/pre&gt;
&lt;p&gt;Git users can patch their own code using &lt;a title=&quot;Patches HTTP::urlRewriter to also handle URLS in list-style-image elements&quot; href=&quot;http://www.hdrlab.org.nz/assets/Projects/Silverstripe/HTTPabsoluteURLs-fix.patch&quot; target=&quot;_blank&quot;&gt;this patch file&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Final Notes&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Ideally this functionality would be integrated into Silverstipe's own Email class. In the meantime, this module works nicely. You may find that it doesn't convert all CSS code perfectly. This is a limitation of the emogrifier class. However, it shouldn't take much to adjust the CSS code to get what you want.&lt;/p&gt;</description>
			<pubDate>Sun, 11 Dec 2011 21:15:08 -0600</pubDate>
			
			<guid>http://www.hdrlab.org.nz/projects/silverstripe-php-projects/EmogrifiedEmail/</guid>
		</item>
		
		<item>
			<title>Fixing &quot;Gave up waiting for root device&quot; error in Debian</title>
			<link>http://www.hdrlab.org.nz/articles/linux-troubleshooting/fixing-gave-up-waiting-for-root-device-error-in-debian/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;Yesterday I decided to do a full upgrade of my Debian server (apt-get dist-upgrade), and ended up regretting it. After it was finished, the machine would no longer boot. It would stop with the following message:&lt;/p&gt;
&lt;pre&gt;gave up waiting for root device. Common problems: boot args ( cat &lt;br/&gt;/proc/cmdline ) &lt;br/&gt;check rootdelay= (did the system wait long enough?) &lt;br/&gt;check root=(did the system wait for the right device? &lt;br/&gt;Missing modules (cat /proc/modules; ls /dev) &lt;br/&gt;ALERT! /dev/mapper/&amp;lt;&amp;lt;removed&amp;gt;&amp;gt; does not exist.&lt;br/&gt;Dropping to a shell!&lt;br/&gt;&lt;/pre&gt;
&lt;p&gt;NOTE: &amp;lt;&amp;lt;removed&amp;gt;&amp;gt; was actually the name given to the root partition, which is not important.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I spent a very long evening scouring the internet for possible solutions, and found that none of them worked. The problem was caused by the upgrade switching to using initramfs for booting. Initramfs is a RAM filesystem that is supposed to contain everything needed to boot the system. Well, my Debian installation used logical volumes instead of plain partitions, and the necessary modules weren't included in initramfs.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Eventually I stumbled upon &lt;a title=&quot;Note to self: Missing lvm2 and cryptsetup packages lead to non-working initrd very, very soon&quot; href=&quot;http://www.hermann-uwe.de/blog/note-to-self-missing-lvm2-and-cryptsetup-packages-lead-to-non-working-initrd-very-very-soon&quot;&gt;this page&lt;/a&gt; on a blog by Uwe Hermann, which described both the cause, and the solution. Basically, the lvm2 and cryptsetup packages were missing (or had been deleted).&lt;strong&gt;**&lt;/strong&gt; To fix the problem, the following was done:&lt;/p&gt;
&lt;ul&gt;&lt;li style=&quot;text-align: justify;&quot;&gt; Booted from a &lt;a title=&quot;Homepage for Debian Live CD images&quot; href=&quot;http://www.debian.org/CD/live/&quot;&gt;Debian Live Rescue CD image&lt;/a&gt;;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Selected rescue mode from the rescue CD's boot menu;&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Started a shell with the root set to /dev/mapper&amp;lt;&amp;lt;removed&amp;gt;&amp;gt; (it's in the menu, so there's nothing special to do); &lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Mounted the boot partition (/dev/sda1 in my case): &quot;mount /dev/sda1 /boot&quot;; and&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;Executed: &quot;&lt;strong&gt;apt-get install lvm2 cryptsetup&lt;/strong&gt;&quot;.&lt;/li&gt;
&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;That's it. The installation of those two modules automatically triggers an initramfs rebuild. This rebuild requires that the boot partition be correctly mounted. If you forget to mount it first, then you can always mount it later, and execute &quot;update-initramfs -u&quot; manually.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt; &lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;FINAL NOTES:&lt;/p&gt;
&lt;ul&gt;&lt;li style=&quot;text-align: justify;&quot;&gt;I'm not sure if cryptsetup was actually needed, but it was too late for me to bother experimenting; and&lt;/li&gt;
&lt;li style=&quot;text-align: justify;&quot;&gt;&lt;strong&gt;There are a number of other reasons why you could get the same error message&lt;/strong&gt;. So, the solution on this page is not guaranteed to work for everyone.&lt;/li&gt;
&lt;/ul&gt;</description>
			<pubDate>Mon, 12 Dec 2011 14:15:52 -0600</pubDate>
			
			<guid>http://www.hdrlab.org.nz/articles/linux-troubleshooting/fixing-gave-up-waiting-for-root-device-error-in-debian/</guid>
		</item>
		
		<item>
			<title>The RadeonHD_RM.resource</title>
			<link>http://www.hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/the-radeonhd-rm-resource/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;A &lt;a title=&quot;RadeonHD development log post first mentioning the RadeonHD_RM.resource&quot; href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=301]&quot;&gt;while ago&lt;/a&gt; I mentioned the RadeonHD_RM.resource, and said that I'd give more details later. Several posts to this development log have come since, without a mention about this resource. Today, I'm going to deliver those details, and provide a glimpse of what is still to come.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;The RadeonHD_RM.resource is a &quot;render manager,&quot; hence the &quot;RM&quot; part of the name. It provides multiple separate drivers with access to the GPU and Video RAM (VRAM). This resource is part of the RadeonHD.chip 2D driver, and the 2D acceleration code for R600/700 chipsets (RadeonHD 2000-4000 series) has already been using it to send render commands to the GPU since the end of 2010. Since then, there have been bug-fixes, R600/R700 compositing has been implemented, and DVI output for Radeon HD 3000-4000. I have also been working on getting the RadeonHD_RM.resource ready for external drivers.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;In addition to working on the driver, I also worked on a proof-of-concept test application (app). The test program allows me to test the RadeonHD_RM.resource in isolation of any 3D drivers. It has already helped me to find and eliminate several bugs, including an annoying vsync problem (fixed a few days ago).&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;I am pleased to announce that the RadeonHD_RM.resource has now progressed to the point where an external driver can render 3D graphics on a Radeon HD 2000-4000 card. Screenshots are at the bottom of this page, but this really is best seen in video form (hint, best viewed in HD at 720p):&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;iframe src=&quot;http://www.youtube.com/embed/oDpgNZESHgI?hl=en&amp;amp;fs=1&quot; width=&quot;480&quot; height=&quot;295&quot; frameborder=&quot;0&quot;&gt; &lt;/iframe&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;You can also &lt;a title=&quot;RadeonHD_RM.resource Test on AmigaOS 4.x&quot; href=&quot;http://www.youtube.com/watch?v=oDpgNZESHgI&quot;&gt;view the video on youtube&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;NOTE: A big thank you to &lt;a title=&quot;Hostcove's Youtube Channel&quot; href=&quot;http://www.youtube.com/user/hostcove&quot;&gt;hostcove&lt;/a&gt; for helping to deliver a high quality video that was not made by pointing a camera at the screen.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Except for the Workbench screen, all of the graphics that you see in the video was rendered via the RadeonHD_RM.resource on a Radeon HD 4650. In fact, the test app doesn't even open the Picasso96API.library; it doesn't even know that Picasso96 exists. No, it's &lt;strong&gt;not&lt;/strong&gt; a driver, but it demonstrates that the RadeonHD.chip driver is ready for 3D.&lt;/p&gt;
&lt;h3 style=&quot;text-align: justify;&quot;&gt;Features&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Some of the features in the proof-of-concept are:&lt;/p&gt;
&lt;ul style=&quot;text-align: justify;&quot;&gt;&lt;li&gt;GPU based 3D transformation and lighting&lt;/li&gt;
&lt;li&gt;Per-pixel lighting (8 lights, each rendered in its own render pass, and one controlled by the mouse)&lt;/li&gt;
&lt;li&gt;Bump-mapping&lt;/li&gt;
&lt;/ul&gt;&lt;p style=&quot;text-align: justify;&quot;&gt;All of these are things that MiniGL/Warp3D cannot do. The test-app may be primarily for testing the RadeonHD_RM.resource, but it also gives you a glimpse of what will be possible when OpenGL 2+ support is finally available on AmigaOS. These new capabilities are why I embarked on the RadeonHD driver project in the first place.&lt;/p&gt;
&lt;h3&gt;What's next&lt;/h3&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Obviously, getting the Gallium3D drivers working is next, but not by me personally. Hans-Joerg Frieden has been working on porting and integrating MESA into the OS, and will continue to do so. There is still much work for me to do on the RadeonHD.chip driver itself. There are bugs to fix, and RadeonHD_RM.resource may be ready for 3D, but it's not yet ready for release.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;What's most important is that an external 3D driver is now possible. We're almost there.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a title=&quot;A frame from the RadeonHD_RM.resource proof-of-concept demo&quot; href=&quot;http://www.hdrlab.org.nz/assets/Projects/RadeonHD/RHDRMTest.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img class=&quot;center&quot; src=&quot;http://www.hdrlab.org.nz/assets/Projects/RadeonHD/_resampled/resizedimage500281-RHDRMTest.jpg&quot; alt=&quot;A frame from the RadeonHD_RM.resource proof-of-concept demo&quot; title=&quot;Click to see at full resolution&quot; width=&quot;500&quot; height=&quot;281&quot;/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;&lt;a title=&quot;Another frame from the RadeonHD_RM.resource proof-of-concept demo&quot; href=&quot;http://www.hdrlab.org.nz/assets/Projects/RadeonHD/RHDRMTest2.jpg&quot; target=&quot;_blank&quot;&gt;&lt;img class=&quot;center&quot; src=&quot;http://www.hdrlab.org.nz/assets/Projects/RadeonHD/_resampled/resizedimage500281-RHDRMTest2.jpg&quot; alt=&quot;Another frame from the RadeonHD_RM.resource proof-of-concept demo&quot; title=&quot;Click to see at full resolution&quot; width=&quot;500&quot; height=&quot;281&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description>
			<pubDate>Mon, 24 Oct 2011 23:00:00 -0500</pubDate>
			
			<dc:creator>Hans de Ruiter</dc:creator>
			<guid>http://www.hdrlab.org.nz/projects/amiga-os-4-projects/radeonhd-driver/radeonhd-development-log/the-radeonhd-rm-resource/</guid>
		</item>
		
		<item>
			<title>How to Set up and Use Your Own (Linux-Based) Development Server in Minutes</title>
			<link>http://www.hdrlab.org.nz/blog/how-to-set-up-and-use-your-own-linux-based-development-server-in-minutes/</link>
			<description>&lt;p align=&quot;justify&quot;&gt;&lt;img class=&quot;left&quot; src=&quot;http://www.hdrlab.org.nz/assets/Articles/Images/_resampled/ResizedImage200200-TracSVNX11openSSH.png&quot; title=&quot;null&quot; hspace=&quot;null&quot; vspace=&quot;null&quot; width=&quot;200&quot; height=&quot;200&quot; align=&quot;null&quot; alt=&quot;&quot;/&gt;&lt;a title=&quot;A (Linux) Server for Software Development&quot; href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=180]&quot;&gt;A new section of this website&lt;/a&gt; is finally complete. It provides instructions on how to set up and use a Trac and SubVersioN (SVN) server. Trac and SVN are incredibly useful tools for software development. In my opinion, these tools are indispensable tools for any software project. Of course there are alternative products available, but these are the ones that I am familiar with, and they are free. Trac is a minimalist software project management too, providing methods of tracking bugs, enhancement requests and overall progress from start to finish. SVN is a source-code version control system that tracks changes made to the source-code.&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;One reason for not using these tools has always been the difficulty in setting them up. This is particularly true for newcomers to software development who are already overloaded with the volume of information that they must digest. In order to make this easier, procedures and scripts to automate the process of installation are &lt;a title=&quot;Setting up and Using a Secure Trac and SVN Server&quot; href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=181]&quot;&gt;available here&lt;/a&gt;. The scripts will help get a server up and running in minutes. &lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;All of the instructions and scripts were designed for and tested on Debian Linux. They are tailored toward a personal or small business set up. All communications with the server are via secure connections, meaning that the server is suitable for use via the internet. It would be a fairly simple matter to change this setup for open-source projects. However, I would recommend using online services such as &lt;a title=&quot;Sourceforge&quot; href=&quot;http://sourceforge.net/&quot; target=&quot;_blank&quot;&gt;Sourceforge&lt;/a&gt; which are already set up to perform this task; this would relieve you of the task of server maintenance and backups.&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;I hope that this new section proves useful to others. If anything, the scripts will reduce the time required to set up and use these tools to a matter of minutes, instead of requiring hours of scouring the internet to discover what exactly how things should be done.&lt;/p&gt;</description>
			<pubDate>Tue, 30 Dec 2008 22:57:36 -0600</pubDate>
			
			<dc:creator>Hans de Ruiter</dc:creator>
			<guid>http://www.hdrlab.org.nz/blog/how-to-set-up-and-use-your-own-linux-based-development-server-in-minutes/</guid>
		</item>
		
		<item>
			<title>Month in Review - December 2008</title>
			<link>http://www.hdrlab.org.nz/blog/month-in-review-december-200/</link>
			<description>&lt;p align=&quot;justify&quot;&gt;This month has seen significant additions to this website, as can be seen with an increase from 112 to 132 pages. I have had much more time to spend on this site than usual, due in part to &lt;a title=&quot;Still Waiting for my Amiga-One to Arrive&quot; href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=190]&quot;&gt;not having my Amiga one&lt;/a&gt; and, thus, being unable to work on the &lt;a title=&quot;RadeonHD for Amiga OS 4&quot; href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=61]&quot;&gt;RadeonHD for Amiga OS 4 project&lt;/a&gt;. There as also been more free time in general.&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;The major addition to the website has been the a section on &lt;a title=&quot;A (Linux) Server for Software Development&quot; href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=181]&quot;&gt;setting up and using a Trac and Subversion server&lt;/a&gt;. This section was written as I personally went through the process of setting up such a server and wrote scripts to automate the process. More additions to the website are planned as and when the underlying work is finished. Writing tutorials/instructions does slow down the overall development process, however, it should provide more complete documentation than if I try to write things down at a later date. &lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;AWStats and Webalizer switched off mysteriously round 23 December, so the statistics from these tools are useless for this month. However, Google Analytics is so much more powerful in terms of web traffic analysis that this is no big loss.&lt;/p&gt;
&lt;p align=&quot;justify&quot;&gt;The statistics for the last month:&lt;/p&gt;
&lt;table border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;strong&gt;Attribute&lt;/strong&gt; &lt;br/&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;Value&lt;/strong&gt; &lt;br/&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Number of Pages&lt;br/&gt;&lt;/td&gt;
&lt;td&gt;132&lt;br/&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Size of site&lt;/td&gt;
&lt;td&gt;36.7 MiB (+ 39.7 MiB for the database)&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Number of Visits&lt;/td&gt;
&lt;td&gt;1017 (Google Analytics)&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Number of unique visitors&lt;br/&gt;&lt;/td&gt;
&lt;td&gt;763 (Google Analytics)&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Total page views&lt;br/&gt;&lt;/td&gt;
&lt;td&gt;2375 (Google Analytics)&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Bandwidth&lt;/td&gt;
&lt;td&gt;822 MiB (server control panel)&lt;br/&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt; Adsense Revenue&lt;br/&gt;&lt;/td&gt;
&lt;td&gt;$1.33&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p align=&quot;justify&quot;&gt;One important thing to note is that Google Analytics only sees page-views on the public part of the site, whereas AWStats and Webalizer also log the accesses by me to the CMS pages that are used to maintain and update the sit.&lt;/p&gt;
&lt;table style=&quot;width: 484px; height: 232px;&quot; border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a title=&quot;Click for full-scale image&quot; href=&quot;http://hdrlab.org.nz/assets/MonthlyReview/20090101-hdrlab.org.nz-world.jpg&quot;&gt;&lt;img src=&quot;http://www.hdrlab.org.nz/assets/MonthlyReview/_resampled/resizedimage500188-20090101-hdrlab.org.nz-world.jpg&quot; alt=&quot;null&quot; title=&quot;undefined&quot; hspace=&quot;null&quot; vspace=&quot;null&quot; width=&quot;500&quot; height=&quot;188&quot;/&gt;&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;A snap-shot of visitor locations on 1 January 2009.&lt;/td&gt;
&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt; &lt;/p&gt;</description>
			<pubDate>Thu, 01 Jan 2009 02:10:15 -0600</pubDate>
			
			<dc:creator>Hans de Ruiter</dc:creator>
			<guid>http://www.hdrlab.org.nz/blog/month-in-review-december-200/</guid>
		</item>
		
		<item>
			<title>Custom Print Dialog Toolkit</title>
			<link>http://www.hdrlab.org.nz/projects/wxwidgets-projects/custom-print-dialog-toolkit/</link>
			<description>&lt;p style=&quot;text-align: justify;&quot;&gt;While wxWidgets provides an extensive amount of classes and widgets, one area where it did not meet my needs was printing. Sure, wxWidgets contains everything needed to print, but it is designed to use the Operating System's (OS') built-in print and page setup dialogs. These dialogs were inadequate for my needs. So, I set out to create a custom dialog. I quickly discovered that wxWidgets did not provide a means to get the information necessary to build such a dialog. Functionality for simple things such as getting a list of all printers, and the page sizes supported by a printer were not available. So, I decided to create a custom print module to address this short-coming. Rather than creating a new dialog class, this toolkit provides an API to obtain the necessary information and functionality for a developer to create their own dialog class. In my opinion, this provides the greatest flexibility.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;Since I know that I am not the only one who wanted to build custom print dialogs, I am releasing the code here under the licensing terms as wxWidgets. Ideally, this module would become an official part of the wxWidgets package. and then extended However, that decision is for the wxWidgets team to make.&lt;/p&gt;
&lt;h2 style=&quot;text-align: justify;&quot;&gt;Features&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;Provides an API to get a list of printers and identify the OS' default printer&lt;/li&gt;
&lt;li&gt;Provides an API to get a list of supported page sizes&lt;/li&gt;
&lt;li&gt;Provides an API to get the non-printable margins&lt;/li&gt;
&lt;li&gt;Enables custom print dialogs to use the native printer preferences dialog&lt;/li&gt;
&lt;li&gt;Integrates with the existing wxWidgets print system&lt;/li&gt;
&lt;/ul&gt;&lt;h2&gt;Current Status&lt;/h2&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;At present this toolkit only supports Windows. It implements the features (listed above) that I personally needed for my own work. A demo application is included which shows how to use the basic features of the toolkit.&lt;/p&gt;
&lt;p style=&quot;text-align: justify;&quot;&gt;If anyone adds support for additional operating systems, wishes to extend this toolkit with additional features, or has suggestions for improvements, please &lt;a title=&quot;Contace me&quot; href=&quot;http://www.hdrlab.org.nz/[sitetree_link id=3]&quot; target=&quot;_blank&quot;&gt;contact me&lt;/a&gt;. I will be more than happy to merge quality improvements into the downloadable source-code archive.&lt;/p&gt;
&lt;h2&gt;Download&lt;/h2&gt;
&lt;ul&gt;&lt;li&gt;&lt;a title=&quot;Download the wxPrintCustoms ource-code&quot; href=&quot;http://www.hdrlab.org.nz/assets/Projects/wxWidgets/wxPrintCustom.zip&quot; target=&quot;_blank&quot;&gt;wxPrintCustom.zip&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
			<pubDate>Thu, 13 Jan 2011 00:09:49 -0600</pubDate>
			
			<guid>http://www.hdrlab.org.nz/projects/wxwidgets-projects/custom-print-dialog-toolkit/</guid>
		</item>
		

	</channel>
</rss>
