ASUS ROG Strix Radeon RX580 OC Edition Performance on Ubuntu Linux KVM PCI Pass-Through Review
For those following our Kernel-based Virtual Machine (KVM) coverage here is a status update. Initially my plan was to evaluate on the new Ryzen AM4 platform but I've encountered some delays. More specifically, software troubles related to PCI Pass-Through — without stable PCI Pass-Through the entire purpose of evaluation has been defeated.
Several related bug reports have been documented and earlier this month (June 2017) AMD released AGESA 1.0.0.6 firmware which appears to be promising for fixes, however, I have not had the opportunity to evaluate these further.
My goal is to provide validation of newer hardware in correlation to achieving near native performance on Ubuntu Linux utilizing KVM + PCI Pass-Through. Once satisfied with the results I will publish a step-by-step HowTo article which will include a hardware recommendation list. If you're unfamiliar with Kernel-based Virtual Machine and what we've been experimenting with, please take a moment to view our initial demonstration of Windows Gaming with QEMU/KVM on Ubuntu Linux.
The ASUS ROG Strix Radeon RX580 8GB OC Edition graphics card has been sitting in our lab since release. So rather than postpone any further, I've decided to move forward with benchmarking this GPU on an older Intel LGA 1150 platform (Haswell) which is stable.
ASUS ROG Strix Radeon RX580 OC Edition
Specifications
- Graphics Engine: AMD Radeon RX 580
- OpenGL: OpenGL 4.5
- Video Memory: GDDR5 8GB
- Engine Clock: 1380 MHz (OC Mode) / 1360 MHz (Gaming Mode)
- Stream Processors: 2304
- Memory Clock: 8 Gbps
- Memory Interface: 256-bit
- Resolution: Digital Max Resolution:7680x4320
Test Build Details
Hardware
- Processor: Intel Core i7-4790
- Motherboard: ASUS Z87-Pro
- RAM: Crucial Ballistix 32GB (8GBx4)
- GPU 1: Intel HD 4600 Integrated Graphics
- GPU 2: ASUS ROG Strix Radeon RX580 8GB OC Edition
- Monitor1: Connected to Intel HD 4600 (HDMI1) and RX580 (HDMI2)
- Monitor2: Connected to Intel HD 4600 (HDMI1)
Note: Integrated Graphics is set in the BIOS to be primary, RX580 to be used for PCI Pass-through.
Software
- Base: Ubuntu 16.04.2 LTS (Xenial)
- Kernel: 4.4.0-81-generic #104-Ubuntu SMP
- Packages: qemu-kvm, libvirt-bin, ubuntu-vm-builder, bridge-utils
- Guest: Windows 10 Pro 64-Bit (Resources: 4 CPU, 25GB RAM)
- Custom: Bash script I've written
Comparative Benchmark Results
Shown below is a comparative of GPU benchmarks from Superposition 2017 by UNIGINE. These test results were produced by running the ASUS ROG Strix Radeon RX580 8GB OC Edition graphics card on both a native Windows 10 Pro installation and a Ubuntu Linux (Host) utilizing KVM with PCI Pass-through on virtualized Windows 10 Pro (Guest) installation.
A total of eight tests were ran. 1080p Extreme, 4K Optimized, 8K Optimized and VR Maximum benchmarks on both configurations. Not only does this demonstrate performance, it also confirms compatibility of the ASUS AMD RX580 8GB OC Edition with KVM + PCI Pass-Through.
As you can see the ASUS ROG Strix Radeon RX580 8GB OC Edition yields exceptional performance when comparing native verses KVM. Variation in results is so slight that it's difficult to interpret visually in the graphs, so here are the exact numbers.
Native (N) KVM (K)
1080p Test N: 2518 — K: 2515
4K Test N: 3600 — K: 3576
8K Test N: 1451 — K: 1444
VR Test N: 5387 — K: 5356
KVM Benchmark Results
Native Benchmark Results
Moving Forward
Use of the ASUS ROG Strix Radeon RX580 8GB OC Edition is highly recommend and no issues were encountered under our older Intel build.
I'll be acquiring additional Motherboards and GPUs for testing. In addition to developing a better format for our KVM PCI Pass-Through tests, my shot-term focus will also be on evaluating the following conditions.
- CPU: AMD Ryzen 7 1700x
- GPU: ASUS ROG Strix Radeon RX580 8GB OC Edition
- Host OS: Ubuntu 17.0.1 LTS
- Motherboards: Undetermined, either Gigabyte, ASUS or MSI
Gallery
Conclusion
The Good - Pros- Kernel-based Virtual Machine (KVM) with PCI Pass-through has near native performance on Intel Core i7
The Bad - Cons
- Kernel-based Virtual Machine (KVM) with PCI Pass-through on Ryzen AM4 platform experiences issues, AGESA 1.0.0.6 firmware required
The Ugly - Issues
- N/A
The Verdict - Opinion
As expressed in this article, Intel Core i7 was stable, achieving near native performance results utilizing PCI Pass-through.
I've built both a native and KVM configuration but ran into some troubles with virtualization on the Ryzen AM4 platform, more specifically with GPU Pass-though. I will report back once I test the AGESA 1.0.0.6 firmware.
Update 2019-07-03: AGESA 1.0.0.6 firmware resolves the issue with Ryzen. PCIe graphics & IOMMU groups confirmed working.