Introduction

I’ve covered my self-hosting setup in a previous post. It has been a couple of months and the setup has mostly been fine. Sure, the power usage was pretty big under load, and yes, my internet did cut out every time I turned the VM on with all the services starting, but other than that, it has been rock-solid.

However, I soon realized that in most situations, the 12 CPU cores is a bit overkill. Performance was fantastic, but due to the case and the cooling solution that I’m using, the fans did have to ramp up to cool the CPU down. Due to the ongoing GPU drought driven by yet another cryptocurrency bubble, it also felt a bit wasteful to use an AMD RX 560 just to drive two 1080p monitors.

It just so happened that around this time, AMD released the Ryzen 5000 G-series APU-s to retail. Yes, you could buy the 4000 series “OEM-only” APU-s from certain online retailers as well, but with this release, it’s 100% official. The release date rolled around, and the reviews were good. A day later, the CPU was also listed at a local reseller and was actually in stock. After checking the street price for a used Ryzen 9 3900X and the Radeon RX 560, I decided to go for it, as it would be very close to a free “upgrade”.

CPU retail packaging. Holds the APU and a small CPU cooler as well.
CPU retail packaging. Holds the APU and a small CPU cooler as well.

Prep work

Before performing the purchase, I confirmed that the motherboard that I use (Gigabyte B450 I AORUS PRO WIFI) supports this CPU after a BIOS upgrade. B450 chipset lives in a bit of a gray area where the CPU support is determined by the motherboard manufacturer. No updates? No CPU support for you.

From my previous BIOS updating experiences, I remember that this particular motherboard had some buggy BIOS implementations. I ran into two issues:

  • PC would get stuck on POST if you reboot. It’s annoying when making changes to UEFI settings, but with my use case this is not that big of a deal.
  • If you remove a boot option, then it is impossible to get it back. Seriously, even a CMOS reset did not help with this one.

This time around, I decided to update the versions one by one to follow the happy path and not run into other types of issues. The bug did resurface right after the first version that I tried, so that was a bit disappointing.

Now would be the perfect time for a surprise power outage or a cat intervention.
Now would be the perfect time for a surprise power outage or a cat intervention.

Once I was all up-to-date, I carefully removed the old CPU and plugged in the new one.

There's something very satisfying and beautiful about computer hardware. Just look at it!
There’s something very satisfying and beautiful about computer hardware. Just look at it!

Hold on, why would you intentionally downgrade your CPU?

It all came down to “use the right tool for the job”. The Ryzen 9 3900X is a good CPU, no doubts about that, but during my work, I kept an eye on my CPU usage quite often and found that even in the worst-case scenarios, such as IntelliJ IDEA performing indexing, I wasn’t using the CPU to the full extent. It’s great for those scenarios, but I wasn’t hitting them as often as I would have thought.

It also did not help that the CPU did not have an integrated GPU. When all you have to run is a basic desktop setup with 60Hz 1080p monitors, having a dedicated GPU to run them sounds so wasteful. This increased the power use of the whole setup and the GPU could be utilized better elsewhere.

The Ryzen 7 5700G is a downgrade in multi-core performance, mainly due to 4 fewer cores and only 25% of the L3 cache, but according to various reviews and benchmarks, you could actually expect a small single-core performance uplift. Nothing groundbreaking, but good enough for my use case.

Power usage

Because I don’t change my CPU-s too often, I thought I’d take the time to run some benchmarks and measure the power usage of the whole setup. This includes everything: the PC (with two spinning hard drives), standing desk, two 1080p monitors and peripherals.

Please note that these benchmarks are not very scientific and are simply my observations of the change you can expect when performing a switch like this on your own setup. I did my best to make sure that the running conditions are as close as possible by stopping the service VM, waiting until the background CPU usage was normal, running the memory at the same spec etc.

AMD Ryzen 9 3900X + Radeon RX 560

  • Idle, sitting on desktop: ~139W
  • Full synthetic CPU load using stress: ~253W

AMD Ryzen 7 5700G + integrated Vega 8 GPU

  • Idle, sitting on desktop: ~99W (generally between 85-100W)
  • Full synthetic CPU load using stress: ~166W

As expected, the change of the CPU and removal of the dedicated GPU results in a big drop when it comes to the power usage of the whole workstation setup. To go even lower, I’d have to switch out the core of the PC to something like the ASRock Deskmini X300 and replace the hard drives with two big SSD-s. I’d go for that as soon as bulk SSD storage became a viable option. Unfortunately, this is not the case, yet.

Performance

Reputable review sites, such as AnandTech, have already done a lot of benchmarks with better testing methodologies, so I instead went ahead and tested out something that I do quite often at work: running tests in poorly written Java projects!

For this, I have two Java projects that have their own test suites. Project A has 900 or so tests, which are mainly parallel in nature. Project B has 2000+ tests, where a good number of them are dependent on a single thread to do all the work.

To run the tests, I just call the “Run all tests” function in IntelliJ and let it do the work of running the tests and measuring the elapsed time. And as mentioned before: this is not scientific, there are probably some errors in here, but the actions performed here are in my opinion a pretty good reflection of day-to-day work, and that’s what matters the most to me. Tests were run twice with a short break between the test runs to let the CPU cool down a bit.

Project A: AMD Ryzen 9 3900X

Test run 1: 10.396s.

Test run 2: 10.494s.

Project A: AMD Ryzen 7 5700G

Test run 1: 15.561s.

Test run 2: 15.690s.

CPU usage on the Ryzen 9 3900X during the test run.
CPU usage on the Ryzen 9 3900X during the test run.

Project B: AMD Ryzen 9 3900X

Test run 1: 364s.

Test run 2: 365s.

Project B: AMD Ryzen 7 5700G

Test run 1: 471s.

Test run 2: 480s.

The performance hit was somewhat expected for project A due to the parallel nature of the tests. However, for project B I expected better results than that due to the alleged improvements in single-thread CPU performance.

The Linux experience

I expected the APU to work as expected, with perhaps some small issues popping up here and there. I’m currently running Fedora 34 with all the latest updates installed and the kernel version at 5.13.6, which should be the best option when trying to get new hardware working on Linux.

The CPU portion of the APU is working relatively well for a CPU that was released just a couple of days ago. I have noticed that for some reason this CPU is constantly clocked at around 4.2GHz on all cores at all times, even if there isn’t too much going on in the system. sensors, the program I use to monitor system temperatures, is also having a small hiccup, as I cannot see the CPU temperatures at all, only the integrated GPU temperatures show up even after running sensors-detect.

nvme-pci-0900
Adapter: PCI adapter
Composite:    +47.9°C  (low  = -40.1°C, high = +89.8°C)
                       (crit = +93.8°C)
Sensor 2:     +47.9°C  (low  = -40.1°C, high = +89.8°C)

iwlwifi_1-virtual-0
Adapter: Virtual device
temp1:        +48.0°C  

amdgpu-pci-0a00
Adapter: PCI adapter
vddgfx:        1.36 V  
vddnb:       999.00 mV 
edge:         +51.0°C  
power1:        6.00 mW 

The GPU seems to be a bit rough around the corners. I’m using the GNOME desktop environment, which means that I’ve learned to endure laggy user interfaces. I default to using Wayland, but I sometimes also use Xorg for those situations where the application I’m trying to run does not work properly under Wayland (looking at you, Slack and your screen sharing functionality…).

The integrated Vega 8 graphics are almost as fast as the dedicated RX 560 GPU under normal light desktop workloads. Once you run something very heavy, like Furmark, the GPU performance tanks and the desktop becomes almost unusable. This is not the case when running some WebGL workloads though, so it could be an isolated case.

The most serious issue I’ve managed to find is that Firefox has some issues with this GPU once you put enough load on the GPU. You may start to notice flickering and UI elements blinking when moving around. A good test case for this is to run Netdata in live mode and have a 1080p Youtube video in another window. I haven’t seen anything like that since running the Nvidia GT 710 with Nouveau drivers under Fedora 34. At least it does not crash the browser or the Wayland session, so it’s not a complete disaster. Still, pretty annoying, so I hope this gets resolved eventually. If I had to guess: the issue is probably related to the Webrender implementation that makes use of the GPU to speed up the browsing experience.

Closing thoughts

Overall, I’m happy that the APU actually works. I’ve had a couple of bad experiences in the past where the Ryzen 3 2200G had stability issues and had to be replaced, so this experience is already a step up from that. The PC runs cooler and quieter, the desktop experience is good enough for me and the CPU performance is acceptable.

I’m sure that the issues that I’ve had with this APU under Linux will be fixed eventually. Each kernel update usually brings lots of improvements to new hardware and I’m sure that this APU is no exception.

As for the BIOS issues, I’m happy that AMD and Gigabyte opted to support the B450 chipset well into 2021, but I’m sure that this choice has come at the cost of QA. If I had to choose between buggy support and having to buy a new motherboard for my new, shiny CPU, then I’d still pick the first one.

Update (2021-08-18)

I’ve had this CPU for a while now, and there have been a couple of kernel updates in the meantime. Here are my notes.

The idle power usage has recently been in between 65-70W for the whole setup. I’ve measured the desktop itself to take up 38W of that.

Although my motherboard does not seem to expose the cTDP option or have ECO mode available, I still managed to limit my TDP to 45W using this trick that /u/The-Stilt mentioned over at Reddit:

The potential lack of the ECO-mode does not prevent you from using it, 
since it is nothing but a preset of PPT/TDC/EDC settings.

Eco-Mode (95W): PPT = 128W, TDC = 80A, EDC = 125A

Eco-Mode (65W): PPT = 88W, TDC = 60A, EDC = 90A

Eco-Mode (45W): PPT = 61W, TDC = 45A, EDC = 65A

This had a great effect on the full load of the system: 3.8GHz all-core while the whole setup consumed 113W.

Precision Boost Overdrive settings that should result in a nice efficiency win. Target = 45W.
Precision Boost Overdrive settings that should result in a nice efficiency win. Target = 45W.

Update (2021-08-20)

Quick update on the GPU situation: Firefox seems to be fine now, I could not get the flickering to occur again even under worst case scenarios.

Notes and stuff

Here are the outputs for a couple of commands that I could think of.

IOMMU groups

Script taken from Arch wiki.

shopt -s nullglob
for g in `find /sys/kernel/iommu_groups/* -maxdepth 0 -type d | sort -V`; do
    echo "IOMMU Group ${g##*/}:"
    for d in $g/devices/*; do
        echo -e "\t$(lspci -nns ${d##*/})"
    done;
done;

IOMMU Group 0:
        00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
IOMMU Group 1:
        00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
IOMMU Group 2:
        00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
IOMMU Group 3:
        00:02.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
IOMMU Group 4:
        00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
        00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus [1022:1635]
        00:08.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus [1022:1635]
        0a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [1002:1638] (rev c8)
        0a:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller [1002:1637]
        0a:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor [1022:15df]
        0a:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639]
        0a:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639]
        0a:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller [1022:15e3]
        0b:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 81)
        0b:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 81)
IOMMU Group 5:
        00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 51)
        00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
IOMMU Group 6:
        00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:166a]
        00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:166b]
        00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:166c]
        00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:166d]
        00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:166e]
        00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:166f]
        00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1670]
        00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1671]
IOMMU Group 7:
        01:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset USB 3.1 XHCI Controller [1022:43d5] (rev 01)
        01:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset SATA Controller [1022:43c8] (rev 01)
        01:00.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Bridge [1022:43c6] (rev 01)
        02:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
        02:01.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
        02:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
        02:05.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
        02:06.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
        02:07.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
        06:00.0 Network controller [0280]: Intel Corporation Wireless-AC 9260 [8086:2526] (rev 29)
        08:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)
IOMMU Group 8:
        09:00.0 Non-Volatile memory controller [0108]: Kingston Technology Company, Inc. U-SNS8154P3 NVMe SSD [2646:5008] (rev 01)

# lscpu
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   48 bits physical, 48 bits virtual
CPU(s):                          16
On-line CPU(s) list:             0-15
Thread(s) per core:              2
Core(s) per socket:              8
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       AuthenticAMD
CPU family:                      25
Model:                           80
Model name:                      AMD Ryzen 7 5700G with Radeon Graphics
Stepping:                        0
Frequency boost:                 enabled
CPU MHz:                         3800.000
CPU max MHz:                     4672,0698
CPU min MHz:                     1400,0000
BogoMIPS:                        7585.94
Virtualization:                  AMD-V
L1d cache:                       256 KiB
L1i cache:                       256 KiB
L2 cache:                        4 MiB
L3 cache:                        16 MiB
NUMA node0 CPU(s):               0-15
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Full AMD retpoline, IBPB conditional, IBRS_FW, STIBP always-on, RSB filling
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid ap
                                 erfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw ibs skinit wdt tce topo
                                 ext perfctr_core perfctr_nb bpext perfctr_llc mwaitx cpb cat_l3 cdp_l3 hw_pstate ssbd mba ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 erms invpcid cqm rdt_a rdseed adx smap clflushopt clwb sha_ni 
                                 xsaveopt xsavec xgetbv1 xsaves cqm_llc cqm_occup_llc cqm_mbm_total cqm_mbm_local clzero irperf xsaveerptr rdpru wbnoinvd arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean flushbyasid decodeassists paus
                                 efilter pfthreshold avic v_vmsave_vmload vgif v_spec_ctrl umip pku ospke vaes vpclmulqdq rdpid overflow_recov succor smca fsrm

# lspci -nnk
00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne Root Complex [1022:1630]
	Subsystem: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne Root Complex [1022:1630]
00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne IOMMU [1022:1631]
	Subsystem: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne IOMMU [1022:1631]
00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
00:02.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
	Kernel driver in use: pcieport
00:02.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne PCIe GPP Bridge [1022:1634]
	Kernel driver in use: pcieport
00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Renoir PCIe Dummy Host Bridge [1022:1632]
00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus [1022:1635]
	Kernel driver in use: pcieport
00:08.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Renoir Internal PCIe GPP Bridge to Bus [1022:1635]
	Kernel driver in use: pcieport
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 51)
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
	Kernel modules: i2c_piix4, sp5100_tco
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:5001]
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:166a]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:166b]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:166c]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:166d]
00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:166e]
00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:166f]
00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1670]
00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Device [1022:1671]
01:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset USB 3.1 XHCI Controller [1022:43d5] (rev 01)
	Subsystem: ASMedia Technology Inc. Device [1b21:1142]
	Kernel driver in use: xhci_hcd
01:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset SATA Controller [1022:43c8] (rev 01)
	Subsystem: ASMedia Technology Inc. Device [1b21:1062]
	Kernel driver in use: ahci
01:00.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Bridge [1022:43c6] (rev 01)
	Kernel driver in use: pcieport
02:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
	Kernel driver in use: pcieport
02:01.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
	Kernel driver in use: pcieport
02:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
	Kernel driver in use: pcieport
02:05.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
	Kernel driver in use: pcieport
02:06.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
	Kernel driver in use: pcieport
02:07.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 400 Series Chipset PCIe Port [1022:43c7] (rev 01)
	Kernel driver in use: pcieport
06:00.0 Network controller [0280]: Intel Corporation Wireless-AC 9260 [8086:2526] (rev 29)
	Subsystem: Intel Corporation Device [8086:0014]
	Kernel driver in use: iwlwifi
	Kernel modules: iwlwifi
08:00.0 Ethernet controller [0200]: Intel Corporation I211 Gigabit Network Connection [8086:1539] (rev 03)
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:e000]
	Kernel driver in use: igb
	Kernel modules: igb
09:00.0 Non-Volatile memory controller [0108]: Kingston Technology Company, Inc. U-SNS8154P3 NVMe SSD [2646:5008] (rev 01)
	Subsystem: Kingston Technology Company, Inc. U-SNS8154P3 NVMe SSD [2646:5008]
	Kernel driver in use: nvme
	Kernel modules: nvme
0a:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [1002:1638] (rev c8)
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:d000]
	Kernel driver in use: amdgpu
	Kernel modules: amdgpu
0a:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller [1002:1637]
	Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Renoir Radeon High Definition Audio Controller [1002:1637]
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel
0a:00.2 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor [1022:15df]
	Subsystem: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) Platform Security Processor [1022:15df]
	Kernel driver in use: ccp
	Kernel modules: ccp
0a:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639]
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:5007]
	Kernel driver in use: xhci_hcd
0a:00.4 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Renoir/Cezanne USB 3.1 [1022:1639]
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:5007]
	Kernel driver in use: xhci_hcd
0a:00.6 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Family 17h (Models 10h-1fh) HD Audio Controller [1022:15e3]
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:a0c3]
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel
0b:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 81)
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:b002]
	Kernel driver in use: ahci
0b:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 81)
	Subsystem: Gigabyte Technology Co., Ltd Device [1458:b002]
	Kernel driver in use: ahci