Introduction
I have recently changed my PC. It was high time to buy one dedicated to photography. After reading forums and checking some details I decided to write some of my thoughts about it as they may be helpfull for linux photographers (in fact photographers in general as there is very little information about that on the net). The goal is to create a PC that will be very fast (fast image thumbnail creation, batch processing and general image processing), reliable and secure (it should work many hours a day for many years and still cause us no trouble), easy to use under linux (automatic mounting of cameras and external hard drives, original drivers, trouble-free configuration) and affordable.In this section I will disscuss buying the right hardware, software will be covered in second part of the article (planned later).
CPU
The heart of the PC - must be fast to make the work flow - not slow. My personal pick: Intel Core2Quad Q6600 (2.4GHz).
32 or 64 bits?
This is an often asked question and for this moment (middle of 2008) the answer is 32 bits. It is not true that 64 bit applications work faster (in fact if all of the data were kept with 64 instead of 32 bit precision it would double the size of it and double the transfer time making it slower) and the color quality will not change (16 bits per channel is enough to outperform existing displays and printers). One more - 64 bit system is not needed to use more than 4 gigabytes of RAM, one needs to compile the kernel with option for bigger RAM support, that's all.SSE, SSE2, ...
Those CPU instructions can really improve multimedia speed and it is good to have support for all of those. Still remember that current standard is SSE (and sometimes SSE2) - not all the instructions a modern CPU can execute. That's because software developers try to keep their applications compatible with older PCs. If you do not have SSE4 support - don't worry, you will need it in about four years and if packages for your distribution are not compiled for i586 (ubuntu for example is compiled for i386 class processors) they do not use SSE.how many cores?
Dual cores processors are a standard. The question is - should I buy quad-core, or faster (higher frequency) dual-core? The answer is not that simple. If you want to play computer games on your PC or your favourite application do not use more than one core - buy dual core CPU. If you wish to use a multithreaded application (Lightzone, Bibble, ...) and realize that all the rest of the software will not benefit from higher core number - buy a quad core.RAM
Slow RAM will not provide data for the CPU fast enough, too little RAM will make the PC to use hard drive for caching. Both reduce speed drastically. My personal pick: 2 x 2Gb PDP Patriot LLK (DDR2 800MHz CL4).
how much?
I suggest a (very) simple calculation. Take 250Mb for your system and another 250Mb extra (what gives you an obsolute minimum of 500Mb RAM). Add 250Mb per CPU core if you are processing a medium size (6 - 8 megapixels) image, 500Mb per CPU core for large batch processing and large images (more than 12 megapixels), or 750Mb for paralell batch or panoramas. Now choose the amount of RAM that is the closest to your calculations. For example. If you are shooting with 6 megapixel DSLR, have dual core CPU and process images using UFRaw and GIMP (one by one) you need 1Gb of RAM. If you have the same camera but quad core CPU and you are running batches you need 2Gb (rounded down from 2.5Gb). This method is a rough approximation and a good starting point for analyzing your needs, not an universal truth. Remember that your application may not use more than 2 Gb of memory (typical for some java apps) or that you need more RAM because you shoot with 22 megapixel medium format camera.Motherboard
Motherboard puts all the components together. Low quality one may cause the system to work unstable and if it's components are exotic it may be a real pain to install linux on it. I had such a problem with one of the AsRock motherboards - none of the kernels wanted to start on it (what the hell is miniIDE?). Therefore I recommend to buy a good motherboard from one of the main manufacturers (Gigabyte, Asus,...). On the other hand even high-end motherboards do not have big impact on system performance, they simply allow to use faster components. In other words - find out what you need, then find chipset that supports natively all of that and don't worry that it is not the newest one. My personal pick: Asus P5E-VM-DO.
overclocking?
The PC must be fast but also work for many years, therefore I strongly suggest not to overclock it. Not only your warranty goes "bye, bye" but the risk of hardware damage is much higher, while the overall performance increase rarely exceeds 5% (what is totally unnoticable). Of course benchmarks will show better results but system will start and shut down in exactly the same amount of time and image processing speed will not be improved enough to see any difference. If you really want to overclock - start doing it when you decide that time for changing the PC is coming. All of that brings me to conclusion - the most expensive motherboards have a lot of overclocking technologies that are not needed for photo PC - spare some money buying a workhorse, not a fancy hardware for tuning loversIO ports
USB port is a de-facto standard. If you plan to buy a card reader - it will use one of the USB connectors on the motherboards, the same with every USB port on the front panel of your chassis. Make sure you have enough of them. Your camera, scanner, printer, card reader, pendrives and external hard drives - they all needs USB, try to make using it comfortable (this is also the matter of good chassis). Other ports that are welcome are: FireWire (for some high end cameras, external hard drives and camcorders), and eSATA (for external hard drives). Make sure to have FireWire (just in case) but don't cry if there is no eSATA. Why? USB (or FireWire) data transfer is good enough to provide fast and easy backup. eSATA is really important only if you plan to use external hard drive not as storage device but as your main hard drive (the one you are actually processing images at).RAID support
Don't worry if there is no information about RAID support - you simply don't need it (motherboard RAID support, not RAID in general, more on that in section dedicated to hard drives). In fact hardware RAID controllers are extremely expensive while this what is called RAID support is in fact a software RAID. In other words - you will use software RAID therefore hardware technologies (like Intel Matrix Storage) are irrelevant.Hard drive
Most important piece of hardware. Surprised? Imagine that your CPU fail - it can be replaced within an hour and after that you are back to work. If your hard drive is broken you loose your operating system, applications and photos! This is not all! Hard drive is the main performance bottleneck! FSB and RAM can transfer gigabytes per second, but all the data must be red and the written on the hard drive that can process about 100 megabytes per second. Creating thumbnails, caching images and processing them using fast, multi-core CPU and slow hard drive is simply not effective. My personal pick: 2 x Western Digital Caviar 250Gb Raid Edition SATA 2.
how to increase performance?
This what will really make your image processing (especially image opening and batch processing) fast is RAID in 0 mode (half of the data is written on one hard drive, while second half on another what doubles the bandwidth). Creating software RAID using raidtools or mdadm is really easy and costs you nothing. I personally mounted the RAID as /home folder and keep all of the temporary folders and photographs there.how about security?
This is very important question, especially if RAID 0 is used, because if one of the hard drives fail - data on the RAID partition is lost. Sounds scary? There are two things that can be done to secure your data. First of all buy a heavy duty hard drive, one that was designed to work 24/7. Second one is much more important - backup your photographs. Simply speaking - it is a must if you really want to save your photographs. Save DVDs (time consuming, limited capacity but cheap solution), use internet backup services (not so cheap, fast internet connection is needed, the most reliable solution) or buy external hard drive (very fast and easy to use solution). Of course it is possible to use RAID 1 (mirroring) but this will need yet another hard drive(s) what is an overkill.Graphics card
On many forums people ask: "what kind of graphic card do I need to make application X run faster". The answer is - it is totally irrelevant. 99% of the software do not use GPU and in those rare cases when it does it is used to accelerate displaying and panning the image, not demosaicing or denoising. I personally think that next generation of photo software will take advantage of this kind of hardware (I saw a suggestion that bibble 5 will, but it is not confirmed) but for now any kind of graphic card is good so buy a cheap one. My personal pick: Gigabyte GeForce 8400 GS.
ports
Make sure to have DVI port. It is a high quality standard used by all modern LCDs. HDMI is usefull for notebooks but it is not needed for desktop PC (maybe in few years monitors will start to use it, still it is not needed for now). RGB output is needed for CRT monitors or projectors. In other words make sure to have the port needed by your monitor - two of them if you are planning dual monitor setup (an overkill for typical photographer) and be happy if the card have even more ports than needed. Don't invest in faster GPU and more memory as you application will not use it.drivers
I recommend using nVidia, Intel or ATI chipset based cards. Those companies are known to write generally good linux drivers and there are external projects that aim to write open source drivers too. Unfortunately because linux development is so rapid and most of those drivers are not open source, from time to time there are some searious problems with compatibility. This happened to me. Not only stable nVidia driver did not wanted to work with recent kernel and xorg but also beta version, that does, had pathetic 2D performance. I therefore had to wait for new, stable driver what was frustrating. Fortunately everything seems to be ok right now. I strongly recommend reading forums and checking if there are no problems with recent drivers before buying any of the graphic card, just to make sure you will avoid problems I had.Monitor
The most important peripherial. Retouching photographs using a low quality display is a real pain. Invest in good product as you will need it. My personal pick: Belinea 2080 S2.
LCD or CRT?
Both have some pros and cons. LCD give sharper image, keep the geometry right (as they are really flat) and are better for your eyes, while poor black and color reproduction and uneaven backlight are their typical problems, unknown in CRT world. If colors are really important for you - think about CRT, still I recommend LCD display.what kind of LCD panel?
TN panels are very responsive (good for watching movies or playing computer games, totally irrelevant for still images) and cheap, still they reproduce colors poorly and limited viewing angle is a real problem for very big, especially panoramic, displays. Simply - middle of the 24 inch LCD looks different than corners if you are sitting less than 1 meter from it. Try to find reasonably cheap and big LCD with MVA or PVA panel - they give better color reproduction and still image quality.the resolution trap
Never heard about it? OK, imagine you want to switch from 1024x768 to 1600x1200 resolution (just like I did). Now imagine you want to process an image in full screen mode (the application will process actual, displayed pixels only). For the smaller resolution there are 786,432 pixels to process (about 0.79 of a megapixel). For the bigger one there are 1,920,000 pixels to process (about 1.9 megapixel). If the same PC is used the same operation will last 2.4 times longer on the bigger screen! Just because of different resolution! It is not so easy to make the new PC 2.4 times faster than the previous one so be prepared for some disappointment. The easiest way of dealing with this trap is to shrink the application window or leave more place to the tool tabs. Remember that I do not recommend buying a low resolution screen, I just prepare you for an additional effect some do not expect.Card reader
I recommend buying a good card reader - you will use it quite often. Unfortunately it is hard to find any specifications of the readers so please browse the forums for some user feedback. I can highly recomend my Chieftec card reader - it supports extreme and extreme 3 cards. My personal pick: Chieftec 25-in-1 card reader.
DVD burner
If you give photographs to your models or family or use DVD as backup, you will need a good, reliable DVD burner. There are many DVDs but some companies are known to produce better hardware. Don't buy Samsung or LG. Invest in Plextor (the best burners, still very expensive) or Pioneer (high quality for reasonable price). My personal pick: Pioneer DVD +/- RW DVR-215 SATA.
