I've finally got around to buying a new desktop for home use. Nothing fancy, but because I want the best bang for my buck, I've put off the purchase for quite sometime now. Being an IT guy, of course I chose to have my system assembled from the shops in Sim Lim Square instead of a PC vendor.
So, like any decent programmers/IT specialist will do, I analysed my requirements first. My needs are simple:
- It has to be at least dual core - I run VMware so nothing less than a dual core for me.
- It cannot be an overkill - I've seen too many instances where money is really put to waste. (Raise your hand if you've heard someone bought a quad-core processor to do word processing.)
- Plenty of hard disk space and running SATAII but must also support IDE drives,
- It must be supported by Linux and be able to run Compiz/Compiz Fusion.
- I prefer Gigabyte motherboard - been using it since my first desktop and never had any problems with it.
With my requirements listed carefully, I settled for Gigabyte motherboard GA-G31M-S2L, which has Intel GMA 3100, Realtek 8168B PCI-Express Gigabit Ethernet Controller, I specifically mentioned these two components because they have been my biggest worry if I were to use Linux.
Dual- or Quad-Core?
So the first choice I have to make is to decide whether to get a quad-core or a dual-core processor. The price difference for the same processor speed can differ by nearly 200 Sing dollars, so it is a crucial decision to make. Of course there will be people saying that you can always get a dual-core and upgrade to a quad-core down the road if need be. The problem with that is the dual-core processor will go to waste - I can't bear to watch a good working processor disposed needlessly (especially not after watching Wall E).
To decide whether I should get a quad-core processor, I first think of the use cases of a quad-core processor. From what I've heard from Steve Gibson's Security Now podcast, there isn't much benefit a quad-core processor can provide that a dual-core can't, unless you do a lot of multimedia stuff or have applications that utilise the multi-processor core. Both use cases do not apply to me. Therefore it's a dual-core for me.
SATA & IDE
The requirement for IDE drives, on hindsight, is actually quite redundant. Any system that has support for optical drives has support for IDE drives. (Doh!)
For SATA drives, the GA-G31M-S2L fulfills that quite amply with four SATA connectors. Unfortunately I ignorantly chose a casing with only enough space for 2 drives (slaps forehead).
This one I've treated as a given for quite some time now. Linux has come a long way for the desktop market. Although there are still some aspects that are still lacking, for the most part, it's my preferred operating system.
Before the purchase the only thing I was really concerned is whether the built-in driver could support 3D desktop (read Compiz). When I began my search for a new system a couple of months ago, the Intel GMA 3100 was still lacking support. But now that openSUSE 11.0 is out, I figured that the support should be fairly matured; as my research showed, indeed it was.
There was an unexpected problem though - the network interface card (NIC) was problematic out of the box. What happened was that after openSUSE 11.0 was installed, the system could not find the network card, meaning that the card was not even detected by the system (lspci and hwinfo showed nothing on the NIC). After my search on Google, I suspect this might be due to the wake-on-lan feature of the card.
Solving Problems with Realtek 8168
Needless to say, the solution described in openSUSE's wiki did not work. After some effort of searching I came across this post in Ubuntu's forum. However I did not apply the solution as described in the post as that would require re-compilation of the driver everytime the kernel was updated. I did not want that. So I went to the Build Service on openSUSE and searched for the r8168 RPM. Turns out it was available!
So, using a laptop, I downloaded the RPM to a thunb drive and brought it to the desktop and installed the RPM. Lo and behold, it works. Running the command:
lspci -vk -s 02:00.0
shows that the system is using the module r8168 instead of r8169 like before.
Right now, it's working. And I'm a happy man :)