Selecting a Computer for KiCAD

My faithful, circa 2009, Personal Confuser is ailing, so I’m in the market for a replacement PC. (Besides, most of the last two Economic Stimulus payments from the government is still sitting in the bank.)

If I expect that KiCAD will be a significant application on the new machine, what specifications and features should I look for? I haven’t paid a lot of attention to computer innards since the days of the Pentium 100, though I recall a long and enjoyable run with Win2K on a 900 MHz slot-Athlon processor - a combination that was supposedly made for each other.

I know, there is “System Requirements” page. Frankly, the machine described there is . . . . ummm . . . . out of date? Anemic? Unimpressive? KiCAD is in the process of dropping support for WIN7, but I’m not sure the machine described on that “System Requirements” page can effectively run Windows 10. Perhaps that page should say, “KiCAD will install and run on any computer that runs the Win10 OS, or a Linux system less than 15 years old.”

But what hardware helps KiCAD run well? REALLY well? For example:

  • Which is more important - clock speed, or core count? I see core counts from 4 up to 64 (!), and clock speeds from 2.5 GHz up to 4.1 GHz. What is the most threads KiCAD uses? Would a 50% increase in clock rate improve performance if only half as many cores are available?

  • They say more memory is always better, but does KiCAD reach a point of diminishing return when it comes to added memory? Everybody seems to have at least 8GB. I can’t imagine going with less than the 16GB I currently have, but would the additional cost of 32GB be better applied to upgrading some other resource?

  • Solid-state drives (SSD) are undeniably faster than mechanical hard disk drives (HDD). How is their long-term reliability? Over the last 15 years, I recall personal experience with only 2 failed HDD’s - one, a coworker, and the second in a server at work. Over that same time I have tossed out at least half a dozen flash-memory drives.

  • And on the subject of storage . . . . is it better to have one large drive, or several smaller drives? All identical, or a mix of SSD and HDD? How would you allocate the resource - OS and swapfile on the fastest? Application programs on the slowest? Which drive gets the data files?

  • Given the current insanity around video cards, I intend to live with the (very) low end card I currently use to drive my dual monitors. I can be patient for a year. Or two. I’m not going into a bidding war with the gamers over a video card costing more than a motherboard and CPU! Aside from OpenGL 2.1 (an ancient level of performance), what does KiCAD like to see in the video subsystem?

Thanks for your thoughts and guidance on these topics!

Dale

Do you mean those memory sticks? They are not comparable to true SSD drives.

That’s what I have because I don’t skimp on RAM as it’s a negligible cost over the lifetime of my computer, but it’s not KiCad that pushes this limit. You’ll probably be fine with less.

My setup is SSD for the system drive and HD for the data drive(s). Reasoning is SSD gives a significant boost to boot time and application loading but SSDs tend to fall catastrophically when they do so it’s easier to reload the OS than recover my home directories from backup. Also I have TBs of data (media files which are bulky, my computer is also my entertainment hub) and TBs of SSD storage is more expensive. But cogent arguments can be made for other configurations.

That sounds about right.

My previous PC was an Intel dualcore, with a passmark rating of 1500 and it was good enough for the PCB’s I design myself, but quite sluggish when viewing the A64-Olinuxino. (see https://www.kicad.org/made-with-kicad/)

About 8 months ago someone gave me an old first gen i7 which is twice as fast as my old dualcore, and also has a much beefier video card and twice the RAM (8GB instead of 4GB). and this thing is quick enough for everything I do with it, including working with PCB’s of the complexity of the A64-Olinuxino.

I was thinking of upgrading my old dualcore back then, but with this 9 year old i7 there is not much need to do so anymore. I would like to buy a 42" 4k monitor, but that would also necessitate upgrading the PC, as it can not handle that many pixels. With this i7 and dual monitor setup however, I can quite reasonably wait another year or two before I do the upgrade.

I run Linux myself, and I neither like Intel nor Nvidia, so my only option is AMD, and they make pretty good stuff these days, but AMD videocards are pretty much unobtanium. Same for 42" monitors. Every time a few get made they get snatched up pretty quick.

An extra “problem” for me is that I refuse to buy a PC with windoze, so I have to buy parts or a barebone and assemble it myself. And parts are harder to obtain then complete PC’s.

For KiCad even a low budget PC would be plenty fast, as long as it has a decent video card. But a good alternative is processors with built-in video these days. the AMD 3400G is a budget processor, it has risen from around EUR 130 before the virus and now is about EUR170.

If you want a small PC then boxes like ASUS Barebone PN50-BBR545MD-CSM are very interesting. It is not exactly a speed monster by today’s standard. the 4500U has a passmark rating of around 12000, which is 4x faster as my current PC though, and it has built-in video. Read some reviews. The 4th gen AMD processors have pretty good built in video, and they’re plenty fast as long you’re not a hardcore gamer.

I’d think 8GB is enough to run most programs, inclusive KiCad, but considering the price of ram, putting in less then 16GB in a new PC would be silly. I would only go to 32GB if you can really use it for some application.

Everybody uses SSD’s, bugs have been ironed out years ago, but apparently there is a race to the bottom going on, and the cheaper models / brands apparently have some reliability issues. SATA is too slow these day’s (Max 500MB/s) and you want NVMe in M.2 form factor, which can reach speeds of 3GB/s. I have a smallish SSD for my OS, and a moderately big HDD (3TB) for data. HDD’s are much slower (especally because of seek times), but it is not really an issue if you only use it for data. If your data is on a separate disk, then with a bit of luck your PC can fetch that data, and software pieces to work with it at the same time too.

If you do not have that much data (or get it from a NAS) then there is not much to gain from adding such a mechanical rotating device to your PC. An important thing for an SSD is to not fill it up completely. You want at least 20% free space to give the wear-leveling algorithms room to do their job. Backups are still mandatory whether you use SSD, M.2 or HDD. Backups do not only safeguard against hardware failure, but also agains user mistake, OS going haywire, encryption malware or your PC catching fire.

Alternatively, you can buy a second hand PC. Before the virus thing the second hand marked was flooded with pretty cheap second hand PC’s, but those prices have also risen. For a second hand PC, look for a vendor that has batches of the same model. Such PC’s are old office equipment, from companies which still just install new PC’s for the whole office every X years, without realizing that both reliability and speed of such equipment has reached a level that it’s not needed anymore to replace that stuff every 3 years. A gotcha is that many of these office PC’s have very mediocre graphics, and that’s hard to remedy at the moment.

As far as I can see, all that may have some effect is the number of cores, but it gets expensive to go over 4 (almost all reasonably priced machines have 4).

  • KiCad doesn’t usually need more memory than 8G which is the minimum nowadays. Having more isn’t useful. But for other purposes I would go with 16 or more, and my experience over the years tells me that it will always be the bottleneck in the future. If you can afford, fill all the slots with maximum memory now or later. If you want to benchmark, open the olimex board and see how much the memory consumption goes upwards.
  • SSD is usually better for speed. Trying to overthink the combination of primary and secondary drives etc. isn’t very useful unless you have other needs. I have had a RAID setup and it can give you even more speed (or safety) if you want, but for normal people it’s not worth the hassle.
  • I have a cheap passive cooling modern NVIDIA graphics card. Now isn’t a good time to invest on graphics card anyways. It’s easy to replace later.
  • You can see rough practical speed differences of CPUs in https://www.cpubenchmark.net/. Single thread and multithread speeds are separated. But does it make real difference for KiCad? I would like to see some benchmarks. The situations where it has effect are opening a design, opening a subprogram, interactive routing, zone filling, DRC… As far as I know at least zone filling is threaded and can use more cores.

A zone fill of the A64-Olinuxino takes 3s on my i7-860
DRC runs in about 17s.
KiCad uses 472MB Ram with the Olinuxino project.
And that while I have disabled hyperthreading because of concerns of Spectre/Meltdown and other related malware.

“Remapping symbols” while opening the schematic is a slow process. I guess it takes about 40s.

1 Like

Pretty much any modern pc that can run Windows10 will run KiCad no problems. Even integrated graphics will be fine.
Few things to consider:

  • If you will compile kicad several times a day, then 32gb ram will be helpful, otherwise 16gb is plenty, 8gb is good enough (you may want to not have 50 browser tabs open concurrently with kicad if you have 8gb of ram)
  • If you have extra budget put it in a faster CPU, frequency > core count as far as Kicad is concerned. So a fast i5 is better than slow i7 for example.
  • SSDs are the largest boost in overall pc performance that the industry received in the last 5-7 years (not counting the 64 core monster CPUs that cost more than 3 average PCs combined). It’s a must have. As long as you dont write hundreds of gigabytes to them every day they will outlast their usefulness (5+ years).

The secret here is do not cheap out on SSDs. Vendors like Samsung, Intel, Cruical (aka Micron) make good products from higher binned memory dies. Other vendors offering SSDs at half the price use memory chips that failed higher grade binning and other cost cuts.
Otherwise SSDs are a nessacity of modern computing, they blow HDDs out of the water and even if you were replacing a $100 SSD every few years, the price you pay is a penny compared to the performance and productivity gains.

1 Like

Having more cores will impact certain operations in KiCad (loading libraries, zone filling, working with large schematics, running DRC). The only (as far as I can remember) CPU-intensive operation that is not accelerated by more cores is all of the 3D viewer stuff (actual rendering in non-raytracing mode is done on the GPU, but preparing all the objects for rendering is done in the CPU and can be slow on large boards).

Most designs have fairly modest memory (RAM) requirements in KiCad. But, get as much RAM as you can reasonably afford, because it will mean you can have a bunch of programs running next to each other without worrying about it.

Any recent GPU from AMD or Nvidia will be enough for KiCad, even a budget model. I do not recommend skipping the GPU entirely and using e.g. Intel integrated graphics, though.

Others have already mentioned the SSD angle, I will just agree that it is the single largest performance improvement that PCs have seen this decade.

The only gotcha is a graphics card without a broken OpenGL driver.
SSD makes a huge improvement loading KiCAD into memory

If you run Linux, you can combine the speed of a SSD with the storage space of a HDD. I recommend 2 or more bcache sets of an SSD and a HDD in btrfs RAID, like this:

  +--------------------------------------------+
  |                  btrfs /mnt                |
  +--------------+--------------+--------------+
  | /dev/Bcache0 | /dev/Bcache1 | /dev/Bcache2 |
  +--------------+--------------+--------------+
  | Cache        | Cache        | Cache        |  
  | /dev/sdk1    | /dev/sdl1    | /dev/sdm1    |
  +--------------+--------------+--------------+
  | Data         | Data         | Data         |
  | /dev/sdv1    | /dev/sdw1    | /dev/sdx1    |
  +--------------+--------------+--------------+

Please do give each HDD it’s own cache SSD to retain redundancy. The SSD’s don’t need to be of the same size. More details can be found here:
https://wiki.archlinux.org/title/Bcache#Situation:_3_hard_drives_and_3_read/write_cache_SSD’s

No offense intended, but I think this is kind of a complicated setup to recommend to the average user in an age where a 1TB SSD is $100. RAID is not a backup solution, so for individuals I think it’s a better idea to just get a single high-quality SSD and a backup solution (either an external hard drive, NAS, or cloud backup service)

6 Likes

FWIW

I have a relatively old Intel

  • Windows 10/64
  • Asus MB
  • i 5-4670 running at 3.4 Ghz.
  • 16Gb of ram (GSkill)
  • 256 Gb Samsung SSD
  • Geforce GTX1050 Video board.

I am running the 5.99 nightlies and the system is very responsive. I will admit my boards are not super complex.

I started with a Samsung 128 GB purchased on 3/2012. Ran it for 5 years then moved it to my laptop and replaced it with a Samsung 256Gb in 2017. Currently both are working fine.
A friend had a Toshiba ssd come with his Dell. He’s been through 3 Toshiba’s ( they would lockup and had to be sent to Dell to be reset). He finally purchased a Samsung.

I’m sure others have had good luck with non-Samsung SSD’s but personally I wouldn’t risk using any other. Especially since their cost in on par with any of the other “good” drives.

Personally I will give up performance for high quality.

IPC (Instructions Per clock Cycle) can be more important than either speed or core count. In the past I have built both Intel and AMD machines. If I were to build another machine for myself today, I’d be looking at AMD APUs (CPU/with integrated GPU). The computer I am typing this reply on is an AMD 3400G on an Ausus Tuff Gaming B450 motherboard. I am very happy with the performance to price ratio. Note: This machine was purchased as a business machine and not a gaming machine.

If you decide to use an AMD APU, then I would recommend 32Gig (if you can afford it); because the GPU reeds some of the RAM. I’m weak on my understanding of AMD RAM speeds. I seem to remember YouTube reviewers stating that almost every B450 board will overclock to 3600 RAM kit. My only other recommendations are to get the lowest CAS you can afford and to purchase a quality name brand, like Corsair or G.Skill; some of the cheaper brands claim to have better numbers but actually benchmark with lower actual performance.

Western Digital NVME black drive and done. Backup to an older Malaysian made platter drive.

You did not mention the Power Supply. Be careful with some of the cheaper ones, and even ones branded by Corsair. I have an Asus:
ASUS ROG Strix ROG-STRIX-550G 550W ATX12V 80 PLUS GOLD

Yeah, I get it, OVERKILL. However, it is the one thing I have had routinely fail when using cheaper Power Supplies. Is it worth frying a CPU and MB because the Power Supply is cheap Chinese junk?

Anyways, wrote this without reading the other replies first. So, there might be some extra information added later.

Agreed (although I would still suggest 2 SSD’s in btrfs raid). For the back-up solution, i recommend btrfs snapshots on an external medium, and lots of them. This does not only protect against accidentally deleting the wrong file, but also against ransomware encryption. Please do automate this process, as humans (at least this human) can not be trusted to actually start the backup process.

paulvdh,
you should know that Linux on a Ryzen machine doesn’t always work properly. I have a laptop with a Ryzen 7 2700U and due to frequent Linux crashes, I can only use Windows on it. There are ways to solve this problem on forums, but it did not help me - Linux is not stable. Certainly, this problem only occurs sometimes, but it completely prevents me from using Linux.

The 2700U is fairly old at this point and I haven’t ever used it personally, but newer Ryzens work great on Linux, and are much better value (performance per cost) than Intel’s offerings these days. The Zen 2 and Zen 3 parts (3xxx and 5xxx series) all work great on Linux from what I have seen.

New computer for KiCAD, I would put the money in to, two large monitors. (or three)
Having the schematic on one monitor and the layout on the other really helps. I could see having data sheets and digikey.com and Excel on the third would speed things up.
Slow computer is a problem but slow me is the real problem, while I hunt down where this trace goes and why I can’t find a data sheet.

When was the last time you tried Linux on that 2700U?
I’ve heard it before that AMD processors sometimes have trouble with Linux, and a part of the reason is that Linux compatibility is less tested, but problems usually get fixed after some time. Sometimes it’s a Linux kernel fix. Other times it’s a bios update.

Any evidence that it’s the cpu causing the crash? That’s the first time i’ve heard of it, it’s extremely unlikely.

Your laptop has plethora of other hardware that is much more likely to cause crashes due to bad drivers.

When? Yesterday, today…
Now I’m testing a processor power management defaul settings, like: “processor.max_cstate=5 rcu_nocbs=0-11 idle=nomwait”.
Today I experienced one system crash with these settings but honestly - when trying to run Tootal Commander in Wine.