Upgrading my desktop PC
Vincent Bernat
I built my current desktop PC in 2014. A second SSD was added in 2015. The motherboard and the power supply were replaced after a fault1 in 2016. The memory was upgraded in 2018. A discrete AMD GPU was installed in 2019 to drive two 4K screens[1]. An NVMe disk was added earlier this year to further increase storage performance. This is a testament to the durability of a desktop PC compared to a laptop: it’s evolutive and you can keep it a long time.
While fine for most usage, the CPU started to become a bottleneck during video conferences.2 So, it was set for an upgrade. The table below summarizes the change. This update cost me about €800.
| Before | After | |
|---|---|---|
| CPU | Intel i5-4670K @ 3.4 GHz[2] | AMD Ryzen 5 5600X @ 3.7 GHz[3] |
| CPU fan | Zalman CNPS9900 | Noctua NH-U12S |
| Motherboard | Asus Z97-PRO Gamer | Asus TUF Gaming B550-PLUS |
| RAM | 2×8 GiB + 2×4 GiB DDR3 @ 1.6 GHz | 2×16 GiB DDR4 @ 3.6 GHz |
| GPU | Asus Radeon PH RX 550 4G M7 | ← |
| Disks | 500 GB Crucial P2 NVMe, 256 GB Samsung SSD 850, 256 GB Samsung SSD 840 |
← |
| PSU | be quiet! Pure Power CM L8 @ 530 W | ← |
| Case | Antec P100 | ← |
According to some benchmark[4], the new CPU should be 4× faster when all cores are used and 1.5× faster for a single-threaded workload. Compiling an arbitrary3 kernel provides a 3× speedup. Before:
$ lscpu -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ
0 0 0 0 0:0:0:0 yes 3800.0000 800.0000
1 0 0 1 1:1:1:0 yes 3800.0000 800.0000
2 0 0 2 2:2:2:0 yes 3800.0000 800.0000
3 0 0 3 3:3:3:0 yes 3800.0000 800.0000
$ CCACHE_DISABLE=1 =time -f '⌛ %E' make -j$(nproc)
[…]
OBJCOPY arch/x86/boot/vmlinux.bin
AS arch/x86/boot/header.o
LD arch/x86/boot/setup.elf
OBJCOPY arch/x86/boot/setup.bin
BUILD arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready (#1)
⌛ 4:54.32
After:
$ lscpu -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE MAXMHZ MINMHZ
0 0 0 0 0:0:0:0 yes 5210.3511 2200.0000
1 0 0 1 1:1:1:0 yes 4650.2920 2200.0000
2 0 0 2 2:2:2:0 yes 5210.3511 2200.0000
3 0 0 3 3:3:3:0 yes 5073.0459 2200.0000
4 0 0 4 4:4:4:0 yes 4932.1279 2200.0000
5 0 0 5 5:5:5:0 yes 4791.2100 2200.0000
6 0 0 0 0:0:0:0 yes 5210.3511 2200.0000
7 0 0 1 1:1:1:0 yes 4650.2920 2200.0000
8 0 0 2 2:2:2:0 yes 5210.3511 2200.0000
9 0 0 3 3:3:3:0 yes 5073.0459 2200.0000
10 0 0 4 4:4:4:0 yes 4932.1279 2200.0000
11 0 0 5 5:5:5:0 yes 4791.2100 2200.0000
$ CCACHE_DISABLE=1 =time -f '⌛ %E' make -j$(nproc)
[…]
OBJCOPY arch/x86/boot/vmlinux.bin
AS arch/x86/boot/header.o
LD arch/x86/boot/setup.elf
OBJCOPY arch/x86/boot/setup.bin
BUILD arch/x86/boot/bzImage
Kernel: arch/x86/boot/bzImage is ready (#1)
⌛ 1:40.18
Here we go for another seven years!
Update (2026-05)
I have recently upgraded my screens with a pair of Alienware 27 4K QD-OLED monitors[6] and the GPU with a Gigabyte Radeon RX 9060 XT[7]. I have also upgraded the memory to 64 GiB and replaced my storage disks by a single Samsung SSD 980 PRO 1TB[8] NVMe.
- https://vincent.bernat.ch/en/blog/2018-4k-hidpi-dual-screen-linux
- https://www.intel.com/content/www/us/en/products/sku/75048/intel-core-i54670k-processor-6m-cache-up-to-3-80-ghz/specifications.html
- https://web.archive.org/web/2021/https://www.amd.com/en/products/cpu/amd-ryzen-5-5600x
- https://www.cpubenchmark.net/compare/Intel-i5-4670K-vs-AMD-Ryzen-5-5600X/1921vs3859
- https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=15fae3410f1d879b18e08fe8ef293d538549dfcb
- https://www.dell.com/en-us/shop/alienware-27-4k-qd-oled-gaming-monitor-aw2725q/apd/210-brfr/monitors-monitor-accessories
- https://www.gigabyte.com/Graphics-Card/GV-R9060XTGAMING-OC-16GD
- https://www.samsung.com/us/memory-storage/nvme-ssd/980-pro-pcie-4-0-nvme-ssd-1tb-sku-mz-v8p1t0b-am/