Tuesday, May 12, 2015

Pimp My Quicksilver - Part III: CD/DVD Drive

Welcome to Part II of the Pimp my Quicksilver series where I will be upgrading the CD/DVD drive. Again, this particular component may not be the most exciting or even often used, but I felt it necessary to include.

Here is a System Profile screenshot with the old drive:

As you can see, the drive is not capable of reading or writing DVDs, but does support the reading and writing of CDs.  This is the stock Superdrive that shipped with the Quicksilver (QS).  Apple reported that this drive is capable of reading CDs at 32X while being able to write to CD-Rs at 24X, which is what I will be using for testing.

Here is a System Profile screenshot of the newly installed drive.

The new drive from MCE, which they had to custom build as it is now an older model, is capable of burnings CDs at 48X.  So we should see a decent sized chunk of time cut out when burning files and ISOs to CD.  Of course, this MCE drive also supports the burning of the different DVD media types including Dual Layer (DL) at up to 22X depending on the time of DVD media.  Definitely a benefit over having no DVD reading or burning capabilities at all.

One last significant difference you may have noticed is the difference in the cache sizes between the two.  The stock drive had an 8 MB cache whereas the replacement one only has a 512 KB cache.  I'm not all too familiar with caches on CD/DVDs drives, but either way it shouldn't really hurt the CD burn tests I will be performing.  I'm positive the cache comes more in to play with reading files and playback performance. 

I plan on burning a copy of the latest version of NetBSD 6.5.1 to install on an old purple G3 iMac.   In a previous post, I discussed the possibility of installing NetBSD (I might have even said FreeBSD) onto my PowerBook 1400CS only to read that it is not actually officially supported as it is one of the older Mac models with the NuBus architecture.  Oh well.  I still want to give NetBSD a shot, so that's why its going on the iMac.

The NetBSD ISO I downloaded from here, was 313920 KB (~307 MB if you were wondering) in size.  Instead of burning it the boring old fashioned way in OS X using Disk Utility or the Burn application, I decided to burn the ISO to a CD from the CLI while booted into Jessie using the simple and easy to use command line tool wodim.  This Debian Wiki page has some perfect documentation on how to use wodim and what other CD burning applications are available, but man pages are an excellent resource as well.  For a measurement of performance, I will record the time it takes to burn the ISO once using each drive and report the results, which again, should speak for themselves and be quite self-explanatory. For the media type, I am utilizing a 700 MB Memorex CD-R.

To burn an ISO using wodim, simply run the following:
wodim -dao [InsertFileNameHere].iso

Here are the results:
Stock CD Drive -  147.15s
Upgrade MCE Drive - 100.18s

So we have managed to shave off at least 32% of time when burning CDs.  A welcomed improvement.  Woohoo!

In other news, I have ordered both a 1.8 GHz Sonnet CPU and a dual 1.4 GHz Giga Designs CPU off of eBay.  I wasn't expecting to win the 1.8 GHz, but received notification late Sunday morning that my bid was the highest. Again.. oh well.  It will be nice to test out and compare with the Giga Designs CPU. Both are compatible with the QS although from what I've read the Sonnet CPU requires a specific firmware patch from Sonnet that is no longer available on their website. :(

Stay tuned for Part IV covering the CPU upgrade from a single 800 GHz CPU to a dual 1.4 GHz CPU.   Things should start to become quite interesting from here on out.

Sunday, May 10, 2015

Pimp My QuickSilver - Part II: RAM

Welcome to Part II of my series on upgrading a G4 Quicksilver (QS) to its maximum capabilities. See Part I here. So a few of the hardware upgrades arrived including the 1.5 GB of RAM, SuperDrive, and nVidia 7800 GS graphics card. Before I could really begin this adventure, I wanted to reload the Quicksilver in its current condition with fresh OS installs with a little bit of customization done for each. That's where the battle began.

First, both 200 GB WD IDE drives failed to be recognized by any installer or currently running system of mine. When they would be recognized, it caused all sorts of modprobe errors and slowed the installer considerably, especially when the installer reached the disk partitioning step (of course). I found two matching 40 GB Quantam Fireball 3 drives that did work though and successfully swapped them out after zeroing out both disks using Disk Utility in OS X. Immediately after that, I went to start the install of Debian, but quickly learned that my install CD was not being read properly.  Turns out it wasn't the CD, but the actual CD/DVD drive itself.  I pulled the working one from my identical Quicksilver to quickly resolve that issue.

Not only that, but starting the OS X installer off of my Leopard DVD had to be done in Open Firmware (OF) off of an external DVD drive.  Here is the command I needed to run with the DVD drive plugged into the rightside on-board USB 1.1 port.  The left would be usb1.
boot usb0/disk@1:,\System\Library\CoreService\BootX

If there were multiple partitions on the install DVD, I'd include the partition number the installer was located on after the colon in the above command.

The first 40 GB Fireball HD will house OS X Leopard and the second was going to be home to Debian Wheezy running LXDE. I chose Leopard because it was my first real experience with Mac OS X and I've never been able to grow very fond of OS X 10.4 Tiger. The caveat being that the CPU in my QS only ran at 800 MHz so I had to use the OF hack to fool the installer into thinking the CPU was running at 867 MHz, which happens to be minimum requirement for Leopard.  Of course, the change does not actually increase the clock frequency of the CPU, but changes what frequency it advertises itself as running at. The change to the CPU clock speed advertisement within OF is only good until the system is rebooted.  More information on how to do this can be found here.

Eventually, I also decided to just upgrade to Jessie for the Debian install.  As expected there were video issues as the G4 currently houses an ATI Radeon card.  I had to boot to rescue mode and install the linux-firmware-nonfree package before video would work.  I have yet to add any additional sabot parameters to assist related to the Radeon card, but haven't really found the need to either.  Time will tell.

So all of that and more caused quite a bit of delay in getting this put together.  Was it worth it and perhaps a little bit of fun? You betcha. But I now bring you the results of upgrading and maxing out the system's RAM.

As mentioned in Part I, the system started with 1 GB of RAM and I've upgraded it to 1.5 GB (it is maximum memory capacity).  I ran a series of tests to help gather some hopefully more realistic day-to-day numbers you would see from increasing the amount of available RAM.  I've also ran GeekBench against the system in OS X as well just for the heck of it to provide you with those results as well.

The tests include the following:
  1. Boot Time - probably not going to be affected a whole lot, but it should be nice to have these numbers available throughout the entire series.  By boot time I mean the time it takes for the system to boot to the login screen with and have the first typed character appear.
  2. Browser Launch Time - No add-ons installed running TenFourFox and IceWeasel 31.6.0.  I thought about installing uBlock and XMarks for syncing bookmarks but decided to keep it simple this time around. I'm measuring the amount of time it takes to click the browser icon and type the first letter in the Google search bar on the default home page.
  3. Maximum # of Browser Tabs - This one should be most interesting for my use.  I decided to use Twitter as it is an incredibly memory hungry website with each tab using anywhere from roughly 20 - 40 MB of memory apiece.  I continued to open new tabs and loading Twitter until the system was starved of memory and started to swap to the hard disk.  I was NOT signed in during my testing.
  4. GeekBench Results - Ran on the OS X side only as mentioned previously. I'm using version 2.2.7, the latest version available for our PPC machines. You can download it here
  5. Other Suggestions - If you have any suggestions, I will gladly run those as well and update this post with those numbers.  I'm positive their are better tests to run than what I've outlined above.
As most of us know, some of these will also be affected by some of the other system hardware such as CPU and system bus speed (133 MHz) which could be a significant bottleneck.  To keep track of memory usage in OS X, I'll stick with Activity Monitor and for Jessie I'll use the well-known CLI tool top. I wanted to use conky, but many of the characters appear garbled.  Not sure if it's a font issue or perhaps a screen depth issue? Reloading conky after logging in helps clear up some of the garbled mess, but not all of it.

That aside, let us move on to the memory install.  I don't think there really is a need to cover much here as the process to upgrade the RAM is about as straightforward as you could make it.  In fact it is so easy that it's not even a documented procedure for the QS over at iFixit's website. The QS has 3 slots for RAM, meaning each slot can house a 3.3 volt 168-pin 512 MB stick of PC 133 SDRAM.  The 133 indicating the speed of the RAM in Megahertz.  Not knowing enough about SDRAM in particular I took to the ever faithful Wikipedia to learn more about it.  Feel free to do the same. I happened to purchase 3 sticks myself from OWC.  I wanted to have a complete set of brand new RAM to run off of.

This particular RAM doesn't include heat spreaders, but I'll live with that for now at least.  I should be able to purchase those at a later time.  My question is does it really add that much benefit for this type of RAM? Or would it be more for form rather than function?  I'd be interested in hearing your thoughts.

I swapped out the RAM and filled all 3 slots, closed 'er up and watched it boot.  Here are my resulting numbers from each of the previously documented tests above.

Measured Task - Jessie (8.0) 1.0 GB RAM 1.5 GB RAM
Boot Time (in seconds) (88.22,83.57,83.64) AVG=85.14 (87.16,83.89,83.92) AVG=84.99
Browser Launch (in seconds) (7.82,8.31,8.08) AVG=8.07 (7.78,9.23,8.76) AVG=8.59
Number of Open Tabs 21 43

Measured Task - OS X Leopard 1.0 GB RAM 1.5 GB RAM
Boot Time (in seconds) (48.99,53.85,48.43) AVG=50.42 (53.67,51.70,56.07) AVG=53.81
Browser Launch (in seconds) (8.51,8.63,8.98) AVG=8.71 (9.28,8.80,9.06) AVG=9.05
Number of Open Tabs 24 43
GeekBench Score (OS X) 473 (Memory: 323) 473 (Memory: 323)

Most of the numbers you see above should be pretty self-explanatory. For the boot times, I noticed that booting to OS X after using Jessie or vice versa took about 15-20 seconds longer, so for each of the tests above, I made sure to start the boot up after having last used the OS I was currently testing.  My guess is that the last used startup disk is cached by OF somehow. The other significant difference for the boot times between Leopard and Jessie are that Jessie has to go through the necessary yaboot parameters to address Radeon driver issues which adds a good chuck more of time when booting up.

I want to quick note that it took forever to come up with the results of the maximum number of open Twitter tabs as the CPU became overworked after opening the second tab in both operating systems. :)  However, once Twitter loaded on each tab, the browser's responsiveness and stability would return.   Here is a screenshot of Activity Monitor when I hit 43 Twitter tabs in OS X with 1.5 GB of RAM.

The only other thing worth noting at this point is that the Geekbench score did not change.  In fact, the numbers were exactly the same through and through.  Makes me a little suspicious, but I"m not familiar enough with the application to really argue anything at this point.

That's it for this segment.  Not super exciting given that the system only maxes out at 1.5 GB of RAM, the upgrade is super simple, and the rest of the system is still quite the bottleneck at this point.  Part III will tackle the CD/DVD drive upgrade.  Stay tuned.