Building a PC: Start to Finish

Building a custom computer from parts to operating system can be a fair amount of work, but highly rewarding. It enables the computer to be built much better for the price, and in turn you can get much better performance.

Previous Build

About four years ago, I decided to build a customized PC (my previous build). Not specifically for gaming, but for general personal use. My budget was “as much as I could get for $900.” I found a few parts from eBay, newegg.com, and some scrapped pieces laying around my house.

I ended up with:

As some of you may remember, the Intel mother boards were recalled. I decided to keep it, as it wasn’t that big of a deal for what I was using the computer for. However, a “big deal” occurred when I was attempting to plug in my hard drive. Apparently, some wires on the Cooler Master were crossed and it caught fire (I later confirmed upon inspection).

(Here’s some poorly made visual)

comp-on-fire
Poorly drawn, and slightly exaggerated

Although half of my motherboard was melted, many of my power supply wires were melted, and graphics card needed to be replaced, I decided to use my build (even though only one SATA port was useable). After four years of half a mother board, it was time to upgrade.

This time, I decided to do a write up and upgrade my budget!

Step #0: Build Goals

The first step in building a custom PC is creating a set of goals for your computer. I decided I wanted a computer which could manage:

  • Multiple virtual machines (VMs)
  • Gaming
  • Some graphic design
  • Software development
  • An Oculus headset

With some goals in mind, finding the appropriate parts and software becomes much more straight forward as you can build to the specifications.

For example, because I had specifications I knew I needed:

  • A high volume of RAM
  • A good graphics card
  • A fair amount of processing power
  • Moderate amount of hard drive space

In other words, this build might be slightly expensive, but it will be a heck of a PC (when complete).

Step #1: Selecting Operating System

The next step is deciding what operating system you wish to run, then buying parts.In my case, I decided I wanted to run a Linux build, preferably Debian or Arch Linux. I therefore needed to ensure every component of the computer would be compatible with Linux.

computer-parts

Believe it or not, even in 2015 many computer components are not compatible with Linux, especially graphics and network cards.

Step #2: Motherboard and Processor

After deciding on the operating system, you can being selecting components. When selecting components, the first components that should be selected is the motherboard and processor. The motherboard you select will (more-or-less) determine the entire computer build, hence it should usually one of the most researched components.

In my case, I went with:

The motherboard connects the processor with all of the external components, so we now have an idea of what other components we can add to our build.

motherboard-and-cooler

The motherboard I selected was very expandable:

  • 8x DDR4 Slots: 3333(OC) / 3110(OC) / 3000(OC) / 2750(OC) / 2666(OC) / 2600(OC) / 2400(OC) / 2200(OC) / 2133
  • 4 x PCIe 3.0 x16 slots
  • 10 (*2x ports reserved for SATA Express)
  • LAN Chipset: Qualcomm Killer E2205
  • 8x USB 3.0
  • 2x USB 2.0
  • Form Factor: ATX

Unfortunately, the Qualcomm chipset was not very well supported by the Debian (Linux) operating system, however after some research I found a way I could backport to make it work:

  1. Download debian 3.17 backports[1]
  2. $ cd into backport folder
  3. $ make defconfig-alx
  4. $ make
  5. $ make install

Note, I found this fix prior to purchase to ensure I knew it was possible to fix, and in turn worth the purchase.

Everything else on the motherboard seemed perfect, a max 128Gb of possible RAM, plenty of ports for graphics cards, and more than enough SATA ports. The only drawback was that form factor was a bit large, so this will require a full-tower.

Full ATX case on the left, medium ATX case on the right
Full ATX case on the left, medium ATX case on the right

The processor I had was a middle of the road newest chip on the market from Intel. The max version had 8 cores, mine had 6 cores, but was half the price (score one for budget).

Step #3: RAM and Power

Since, I was going to be using my computer to game and wanted to run multiple VMs, I needed a lot of RAM. Clearly, my motherboard could pretty much handle as much RAM as I could afford. I decided that 32Gb of DDR4 would likely be more than enough for now.

You may ask, how did I come up with that number. Well, here’s what I knew:

  • Oculus developer stations have 16Gb of DDR3 RAM
  • VMs bottleneck is mostly RAM
  • 2Gb per VM is minimum for medium quality Windows 7 VM
  • I plan to run 1 – 4 VMs

32Gb ensures that I have double the current Oculus developer workstations RAM (though not graphic card RAM), and that I have more than enough RAM for VMs. I therefore purchased:

Providing me with plenty of power, and memory. It should be noted, it was cheaper buying 2x Crucial Ballistix Sport 16GB (2 x 8GB) than buying Crucial Ballistix Sport 32GB (4 x 8GB), for what ever reason.

ram

Given my motherboard it should be easy to double my RAM in the future if need be, hopefully when the prices drop significantly and an upgrade is actually required.

Step #4: SSD & Hard Drive

Once the CPU, motherboard, memory, and power supply has been selected, determining the amount of hard drive space was the next priority. Based on my priorities, hard drive space was not a priority, however speed was important. I therefore decided on a mixed SSD-Hard Drive system:

Overall, this was way more than I probably needed. However, I recently bought a camera (new years) and have already filled ~50Gb of hard drive space. I will install the operating system on the 250Gb SSD, for quicker access. Then use the hard drives for long term data storage, both should be plenty fast enough, but the SSD is significantly faster than the hard drives. Thus, using it to store the operating system and other files for quick access, similar to a cache is usually a good idea.

Both the SSD and hard drives should be much faster than my previous build and have about 6x my previous capacity, all while being just as cheap as my previous build.

Step #5: Graphics Card

One of the last items to purchase is the graphics card. They are easy to replace, and usually one of the most expensive components of a computer build.

In my case, I had purchased a GTX 750 Ti a few months prior:

I decided to switch it to my dedicated Windows 7 PC, which manages some of my dedicated windows software for now.

Therefore, I purchased:

The reasoning behind this, is that the GTX 970 works well on linux, and seems to have plenty of support[2].

This was a very expensive purchase, however I feel well worth it. I would like to use it for the Oculus and multiscreen displays. This graphics card should last me several years, as my previous build (prior to the GTX 750) used a 6 year old graphics card borrowed from a friend.

Step #6: Case and Cooling

The final component to purchase, is the computer case. The computer case usually is one of the least expensive pieces. However, in this case it was a fairly expensive piece. The case I needed was a full ATX tower, this can run anywhere between $180 – $500.

case

Personally, I decided on:

I felt it was the biggest “bang-for-the-buck,” it enabled future expansion of space if I decide to convert my computer over to a server model (i.e. lots of hard drives). It also came with plenty of slots to hold the hard drives (so I didn’t have to purchase more), space to place cords, fans/air vents, and USB 3.0 slots and even a eSATA.

motherboard-ram-cooler

The CPU cooling system I went with was liquid cooled. In all honesty, I was not looking for a hydro system, however it was the first thing I could find that fit the slot, and I just went with it. The CPU cooling system fit perfectly in the computer case, as did all the parts so I was happy.

Step #7: Putting it Together

In order to put the PC together, you basically just follow the instructions.

First, I put together the motherboard, putting the CPU in, the cooling system, then the RAM all on the motherboard. I then bolted it all into the case. Next, I plugged everything in, bolted in the power supply, attached the hard drives, and plugged the hard drives in.

case-with-wires
Computer Full ATX Case
Partially installed motherboard
Partially installed motherboard
Computer with motherboard and CPU cooling installed
Computer with motherboard and CPU cooling installed
Wire everything up and install hard drives
Wire everything up and install hard drives

Following installing most of the principle components, I installed the graphics card. Finally, I moved all the cords to make the internals nice and neat, and ensured everything was solidly put together, and checked that it started. It did, then I turned it off, attached the keyboard, mouse and monitor.

Installed graphics card
Installed graphics card
turns-on
It’s alive!
Plugged in the keyboard, mouse, and computer screen
Plugged in the keyboard, mouse, and computer screen
Everything worked fine! Configuring BIOS
Everything worked fine! Configuring BIOS

Step #8: Operating System Installation

Following the hardware construction, the final step is software installation. Often Linux can be fairly difficult to install depending on the hardware. However, if you consider the software-hardware compatibility when purchasing and constructing your computer this should not be an issue.

Previously, I mentioned that the Qualcomm ethernet chipset was not very well supported by the Debian operating system, so I had to completed the following:

  1. Download debian 3.17 backports
  2. $ cd into backport folder
  3. $ make defconfig-alx
  4. $ make
  5. $ make install
  6. Reboot

The challenge was that I had no internet access during the Debian installation. I therefore downloaded the CD version of Debian installation, and installed the OS. After the installation, I had to boot the computer, install “make” via the CD again, then follow the directions above.

Once I had an internet connection, it worked! All is well and I was set to go!

debian

** I should note that I had an issue with the graphics card and had to set nomodeset after installation. Then once I had an internet connection I installed the driver, and turned off nomodeset.

Comparison

I felt it would be interesting to compare my old and new build, just for kicks. It’s interesting to see how much 4 years and a few hundred more dollars can get you, but it’s pretty astounding.

Computer Build Comparison 2011 Computer Build 2015 Computer Build
Cost $1,000 (after fire) $1,750
Processor Cores 4 (8 hyperthread) 6 (12 hyperthread)
Processor Speed 3.4GHz 3.5GHz
L2 Cache 4 x 256KB 6 x 256KB
L3 Cache 8MB 15MB
RAM (Amount) 8 GB / 32 GB (Max) 32 GB / (128 GB (Max)
RAM (Speed) DDR3 1333 DDR4 2400
SSD None 250 GB (540 MB/s)
Hard Drive 1 TB (118 MB/s) 2x(3 TB) (148 MB/s)
SATA Slots (6GB/s) 2 10
Graphics Card (RAM) 512 MB 4 GB
Graphics (Graphics Speed) 650 MHz 1050 MHz
Graphics (Memory Speed) 900 MHz 7000 MHz
Computer Case Medium ATX Full ATX

In other words, the increases in power/speed was crazy from 2011 to 2015 (along with additional funds):

  • Cost: 175%
  • Processing Power: 154%
  • L2 Cache: 0%
  • L3 Cache: 188%
  • RAM Speed: 180%
  • RAM Amount: 400%
  • SDD Storage Speed: 458%
  • HDD Storage Speed: 125%
  • HDD Storage: 600%
  • GPU Memory Amount: 800%
  • GPU Speed: 162%
  • GPU Memory Speed: 778%

Thank god for Moore’s Law!

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

 characters available

Time limit is exhausted. Please reload the CAPTCHA.