Ryzen and Vega

I started building my old gaming PC in 2008, an AMD Athlon 64 dual-core CPU with Nvidia 9600GT GPU, a cheap motherboard and power supply, and a case that I modified with wood and acrylic glass.

This seemed like a good idea in 2008.
Batman: Arkham Asylum, AMD Athlon 64 X2 and Nvidia 9600 GT.

I later replaced the CPU with a triple-core AMD Phenom II, then switched to a better motherboard and power supply for overclocking, replaced the GPU with an AMD Radeon 5770, then upgraded again to a quad-core Phenom II, added a second Radeon 5770 in Crossfire mode, and a pair of 10K RPM hard disk drives in RAID 0 for faster game loading (when Solid State Disks were too small and expensive).

…and moved everything into a better case, replaced the loud GPU fans with passive heat sinks, and unnecessarily water-cooled the CPU.
Grand Theft Auto IV, the first game that really required 4 CPU threads.
Deus Ex: Human Revolution, on three monitors with AMD’s “Eyefinity” mode.

Finally I replaced the two Radeons with a Nvidia GTX 680 in 2013. That same PC is still in use today however I avoid using it for anything important because it sometimes crashes, or fails to resume from standby, or just won’t turn on. Some modern games run perfectly at 1080p, others are too slow or crash for no reason.

Max Payne 3 with the GTX 680 GPU.

A small lightweight laptop was the more convenient form factor for my current computing needs, so a Dell XPS 13 has become my primary workstation. As a temporarily solution for PC gaming I have been using an AKiTio Node external graphics card enclosure to connect an AMD Radeon RX Vega 56 to the laptop by Thunderbolt 3 cable.

This works very well for some game engines, while others are severely restricted by the 2x PCIe lanes of the laptop’s Thunderbolt 3 port, or the additional latency of the Thunderbolt 3 controller, or the laptop’s 3.1GHz dual-core (4 thread) CPU, or the relatively small 8GB system RAM.

None of these factors are a problem for compute tasks like video encoding or OpenCL applications. I can highly recommend an external GPU for professionals requiring GPGPU on a laptop that has Thunderbolt 3 with weak inbuilt graphics. But it’s not for gaming. If I wish to call myself a PC gamer in 2018 and beyond, I need more computer.

Parts list

CPU: AMD Ryzen 5 2600, 6 core (12 thread)
CPU Cooler: Deepcool Gammaxx GT RGB
GPU: XFX AMD Radeon RX Vega 56 8GB
GPU Cooler: Raijintek Morpheus II
RAM: 16GB (2x8GB) G.Skill FlareX DDR4-3200 14-14-14-34
Motherboard: ASRock Fatal1ty B450 Gaming-ITX/ac

The main parts running on the test bench with the included AMD CPU cooler, which is fine if you don’t overclock it.

StoreMI

After testing system stability by running LuxMark and Prime95 overnight, I set up a tiered drive with StoreMI, which is a ‘lite’ version of Enmotus FuzeDrive that AMD has licensed for free with X470 and B450 motherboards. I combined a Samsung PM951 256GB NVMe SSD with a Seagate FireCuda 2TB HDD to use as my primary filesystem for Windows 10 and all the games. On the first day it was very fast, but the system occasionally crashed with a meaningless blue-screen error. The next day, after filling it with 400 GB of Steam games and some Windows updates, the disk write speed slowed to 60KB/s. Then it got stuck trying to install more Windows updates and finally became completely unusable – crashing to blue screen on every boot.

I wiped the disks and installed Windows to the 2TB HDD, then installed PrimoCache to use the NVMe SSD as a read/write cache. This worked as expected – speeding up loading times significantly after the files have been accessed the first time and copied into the cache – but I still wanted to find out why StoreMI failed when it received positive reviews on major tech websites.

Is this meme too old? Are memes still a thing?

Forums and Reddit discussions suggested that StoreMI has issues with NVMe drives that use the Microsoft NVMe driver. This Enmotus support article seems to agree. Unfortunately Samsung doesn’t provide a driver for the PM951 so I wiped the disks again and installed Windows to the NVMe, then created a StoreMI tiered drive for games with the 2TB HDD and a Crucial MX500 250GB SATA SSD. This works perfectly!

Update: This does not work perfectly. After adding 400GB of data again, StoreMI was constantly moving data between the SSD and HDD resulting in an unpleasant user experience with write speed sometimes slower than the HDD alone. PrimoCache provides better performance, consistent behaviour, and more configuration options.

Encryption

 

This motherboard does not support a physical Trusted Platform Module. An emulated TPM can be enabled in BIOS settings (look for fTPM) to allow automatic boot drive encryption with Microsoft’s BitLocker.

Since my boot drive is incompatible with StoreMI, I was not able to test whether the StoreMI boot loader conflicts with the BitLocker boot loader. This is not a problem when using BitLocker to encrypt a non-bootable StoreMI tiered drive with a password. Because StoreMI works at the block level, frequently-used data will be moved to the faster SSD in the same way regardless of which file system or encryption is used.

Overclocking

Ryzen 5 2600 can run a single CPU core at 3.9 GHz for a short time but will limit itself to 3.676 GHz on all cores under sustained load. I was able to achieve a stable all-core CPU speed of 3.95 GHz by raising the voltage to 1.3 V with a maximum temperature of 67 C using the Deepcool Gammaxx cooler.

For these benchmarks and games I set the CPU to 4.1 GHz at 1.4 V, although this speed crashes under Prime95 stress testing.

The G.Skill FlareX RAM runs at its advertised speed of 3200 MHz after activating the XMP profile.

I raised the Vega 56 power limit to +50% and set the GPU core speed to 1630 MHz and HBM speed to 960 MHz.

Benchmark Baseline score Overclocked Difference
Cinebench R15 1262 1421 +12.6%
3DMark Time Spy 6181 6949 +12.4%
3DMark Fire Strike 16168 18254 +12.9%
3DMark Sky Diver 38409 43051 +12.1%

Flashing the GPU with firmware from a Vega 64 and modifying the PowerPlay tables allowed it to consume more electricity, which stablised the core clock and let me raise the HBM to 1150MHz.

Benchmark V56 firmware V64 firmware Difference
3DMark Time Spy 6949 7372 +6.1%
3DMark Fire Strike 18254 19184 +5.1%
3DMark Sky Diver 43051 43213 +0.4%

I flashed it back to the Vega 56 firmware for the game performance tests below.

Blender

Some of these Blender render tests finished faster on the CPU, others were faster on the GPU.

Gooseberry benchmark in Blender.
Benchmark CPU Time GPU Time
BMW27 5m 53s 3m 4s
Class room 19m 10s 21m 3s
Barcelona Pavillion 18m 15s 6m 5s
Gooseberry 46m 24s 69m 23s

Games

For competitive multiplayer games like Unreal Tournament and Quake Champions it is beneficial to turn down the visual settings to stay above 200 frames per second, regardless of your monitor refresh rate (because input latency). However, a high frame rate is less important for single-player games. My monitor has a Freesync (adaptive frame rate) range of 48 to 75 Hz, which means I won’t be able to see any difference if a game is running faster than 75 frames per second, and it will still look good if that frame rate occasionally drops lower.

AMD’s driver software allows running games at a higher resolution with the image down-scaled to your monitor’s native resolution (which is 2560×1440 in this case), or smooth up-scaling from a lower resolution. With that flexibility in mind, I have tested various high-end games from the last 5 years at the highest visual quality settings, adjusting the resolution up or down to keep average frames per second (FPS) near 75 for the best single-player experience on this monitor.

Anti-Aliasing, PhysX, GameWorks, and HairWorks are disabled in these tests.

Crysis 3 (2013)
71 FPS, 2560×1440, ‘Very High’ Preset

Batman: Arkham Knight (2015)
87 FPS, 3200×1800, Highest Settings

The Witcher 3 (2015)
73 FPS, 2560×1440, ‘Ultra’ Preset, ‘High’ Post-processing

Metal Gear Solid V: The Phantom Pain (2015)
60 FPS (capped), 3200×1800, Highest Settings

Grand Theft Auto V (2015)
79 FPS, 3840×2160, Highest Settings

Deus Ex: Mankind Divided (2016)
82 FPS, 1920×1080, ‘Ultra’ Preset

Rise of the Tomb Raider (2016)
83 FPS, 2560×1440, ‘Very High’ Preset

Doom (2016)
82 FPS, 3840×2160, ‘Ultra’ Preset

Doom at 4K.

Battlefield 1 (2016)
79 FPS, 3200×1800, ‘Ultra’ Preset, HDR10

Prey (2017)
72 FPS, 3200×1800, ‘Very High’ Preset

Wolfenstein 2: The New Colossus (2017)
73 FPS, 3840×2160, ‘Mein leben!’ Preset

Warhammer: Vermintide 2 (2018)
77 FPS, 2560×1440, ‘Extreme’ Preset

10 years after the first attempt, this is my second home-made wood PC case.