AMD Ryzen Embedded SBC Review with Ubuntu 20.04

Last June, we reviewed DFI GHF51 Ryzen Embedded R1606G SBC with Windows 10 Enterprise LTSC. We had to send back the board to Taiwan, as the company wanted to double-check some of the issues we reported, and we got the board to review it with Ubuntu 20.04.

So I downloaded Ubuntu 20.04.1 ISO flashed it to a USB flash drive, and could install it on the eMMC flash drive without issue. I selected to keep Windows 10, so I have a dual-boot system on a 32GB eMMC flash. Yes, I do like a challenge! 🙂

AMD Ryzen Embedded Ubuntu 20.04

DFI GHF51 Ubuntu 20.04 System Info

We can check some of the information from the system in the terminal:


So I have a 7.9GB partition to play with Ubuntu 20.04.1, but I could do all tests without issues, although I had to remove Phoronix benchmark program and data after completing the benchmark.

Features Testing

There may also be some issues with drivers, so I tested the main hardware features from the board:

  • HDMI 1 – Video OK, Audio OK
  • HDMI 2 – Video OK, Audio OK
  • USB-C port (data only) – Good with various USB-C hubs such as Dodocool DC30S and MINIX NEO Storage Plus
  • Gigabit Ethernet – OK (iperf full-duplex: 937Mbps/833Mbps)

Everything works. I did not test dual-display setup, since I only have one Micro HDMI cable to play with.

AMD Ryzen Embedded R1606F Ubuntu 20.04 Benchmarks

Phoronix Benchmarks

To find out about the system performs in Ubuntu 20.04, I installed Phoronix test suite trying to run the same benchmarks as in Linux mini PC reviews from Linuxium, but some would not install due to limited storage. Here are the results.


If you want to compare those results to your own, you’ll find those on OpenBenchMarking website.

Let’s compare some of the results against MINIX NEO J50C-4 mini PC equipped with a 10W Intel Pentium J5005 quad-core Gemini Lake processor. All results are of the “higher is better” type.

DeviceDFI DHF51
MINIX NEO J50C-4 with SSD
Processor
AMD Ryzen Embedded R1606G
dual-core/quad-thread 2.6 / 3.5 GHz
12-25W TDP
Intel Pentium J5005
quad-core 1.5 / 2.3 GHz
10W TDP
CLOMP 3.3
OpenMP benchmark
2.94
2.36
TSCP 1.81
AI Chess Performance
683,862677,631
7-Zip Compression7,2727,598
PHPBench342,215287,503

The dual-core AMD Embedded system is always faster than the Gemini Lake mini PC, except for 7-Zip compression where the faster SSD may have played a role.

Storage Performance

I’ll use iozone3 to test performance, starting with the eMMC flash:


At around 240MB/s read speed and 135MB/s write speed, the eMMC flash is fairly slower than in our Windows 10 review, where it achieved respectively 320MB/s and 160MB/s in CrystalDiskMark.

If you’ve read the Windows 10 review, you’ll know I had a USB Hard drive that did not work well at all with stalled transfers. That’s the main reason why it was sent back to Taiwan. Initially, we thought this could be because of the USB-C hubs used, but after testing the drive again in Ubuntu 20.04 with iozone I had the same problem.

Slow USB Harddrive Ryzen Embedded
Click to Enlarge

So it’s not a driver issue, somewhat there’s some hardware issue causing this particular hard drive to misbehave with DFI GHF51 SBC. [Update: a workaround is to disable UAS for the drive. See comments to find out how it’s done]

The 480GB SSD inside MINIX NEO Storage Plus USB-C adapter was properly detected:


So I ran iozone to check the performance with another USB storage device:


That’s about 379MB/s for sequential read speed, and 240+MB/s sequential read speed, so no big problem here, although the write speed is quite slower than the 336+MB/s I got in Windows 10.  Maybe the exFAT file system cause the slower transfer rate.

3D Graphics Benchmark

Let’s see how the AMD Radeon Vega 3 GPU inside Ryzen Embedded R1606G SoC performs against Intel UHD 605 graphics by running Unigine Heaven Benchmark 4.0 and compare the results to MINIX NEO J50C-4 score.

Gemini Lake Intel UHD Graphics vs Embedded Ryzen Embedded Radeon GPU
MINIX NEO J50C-4 (left) vs DFI GHF51 (right)

Both platforms have pretty similar graphics performance, but the Radeon Vega 3 still gets the crown by being about 14% faster. However, I did notice some artifacts in the AMD board, especially in some scenes were parts were black and mauve.

Unigine Heaven black & mauve-Artificacts AMD Ryzen Embedded

The scene above looks really horrible, and it was not that bad in most scenes. I tried to play with the settings of the benchmark, and the trick to make those disappear was to enable anti-aliasing.

Unigine Heaven 4 Anti-aliasing
Click to Enlarge

But this introduced some serious blur, and other types of artifacts (see the village in the background).

So just to make sure this did not happen on all 3D graphics applications I started a WebGL Aquarium sample in Firefox, and everything looks good.

WebGL Aquarium-Ryzen Embedded R1606G
Click to Enlarge

Video Playback in YouTube and Kodi 18.8

Time to test video playback in Firefox and Chrome using YouTube. Both browsers had similar performances.

The system can easily handle 1080p YouTube videos with no dropped frames.

AMD Ryzen Embedded Chrome 1080p Youtube
Click to Enlarge

The CPU usage is around 45% on all four cores, and the CPU temperature is around 90°C. Note the board is passively cooled with a large heatsink, but if you really had to do lots of media playback (in a web browser) some active cooling may be desirable. [Update from DFI:

When applying our motherboard in industrial applications, the board will normally be integrated into a chassis, and that also helps cool down the processor. Therefore, in practical applications, heat dissipation will not be a problem, in which active cooling won’t be required.

]

AMD Ryzen Embedded Chrome 1440p Youtube
Click to Enlarge

Let’s switch to 1440p. It can still play smoothly (most of the time), but we start to reach limits with CPU temperature getting to 94°C and CPU usage around 67%. Bear in mind, I’m using 1080p60 video output here, as at higher output resolutions the system would struggle.

AMD Ryzen Embedded Chrome 4K Youtube
Click to Enlarge

If we switch to 4K (2160p) resolution, dropped frames really make for a poor viewing experience. CPU temperature went up to 100°C with CPU usage at 94+%  on all cores.

It should be noted that web browsers provide a poorly efficient way to play video, as this week-end, Ian noticed – to his surprise – that more powerful AMD Ryzen 5 3350H based Beelink GT-R mini PC also struggled with some 4K videos in YouTube due to software video decoding.

4K Kodi Playback in Ubuntu

Whenever possible, you should always use a program that can make use of the video hardware decoding capabilities of the processor. Kodi 18.8 does that pretty well, as 4K 8-bit/10-bit H.265, 4K 8-bit H.264, and 4K VP9 videos all played fairly smoothly with hardware video decoding, and the screenshot below shows a 4Kp30 H.265 video played by using only around 15% CPU usage.

Kodi 4K H.265 AMD Ryzen Embedded

But somehow output seemed to be stuck to 2160p24 even for video using other framerates, and automatic framerate switching enabled in the settings. Contrary to Windows, Dolby Digital 5.1 HDMI audio passthrough did not work, and could not be enabled/disabled in the settings. I’m using the default PulseAudio mode, but switching to Alsa mode may yield better results.

4K Kodi AMD Ryzen Embedded CPU Temperature

I looped the 4K video for about one hour in a room with 30°C ambient temperature, and the CPU temperature was around 90°C.

Conclusion

DFI GHF51 Ryzen Embedded SBC runs about as well in Ubuntu 20.04 as it does in Windows 10. Everything basically works and performs well. Our testing shows AMD Ryzen Embedded R1606G processor to offer slightly better performance than the top of the line Intel Gemini Lake Pentium J5005 processor.

I also had one of the same issues as in Windows: one Seagate USB hard drive would not work reliability at all with transfer stalled. That’s probably just a hardware incompatibility, as the drive works with other platforms, and other USB storage devices achieve normal performance when connected to DFI SBC. I also noticed some artifacts with one 3D graphics benchmark, but those did not show up in other 3D accelerated programs.

DFI GHF51 is an impressive piece of hardware as it packs lots of CPU and GPU power in a form factor similar to Raspberry Pi 4 SBC. I’d like to thank DFI for sending a review sample. If you plan to buy in large quantities to integrate the board into your product, you could contact the company. To get a single sample, the kit can be purchased for $378 on DFI-ITOX online store. They also sell GHF51 board with AMD Ryzen Embedded R1505G processor for $333 on the same page.

Share this:
FacebookTwitterHacker NewsSlashdotRedditLinkedInPinterestFlipboardMeWeLineEmailShare

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

ROCK 5 ITX RK3588 mini-ITX motherboard

23 Replies to “AMD Ryzen Embedded SBC Review with Ubuntu 20.04”

    1. No power meter here. The last one is broken, and when I try to get another one online they sent me a 110V one… I’ll buy another one soon.

  1. > The dual-core AMD Embedded system is always faster than the Gemini Lake mini PC, except for 7-Zip compression where the faster SSD may have played a role.

    Close to impossible for storage speed to influence anything with 7-zip’s benchmark.

    More likely a matter of memory speed. The AMD tested here has one memory module vs. 2 DIMMs in the Gemini Lake thingy. Since no tinymembench numbers have been done it’s only speculation how single vs. dual channel memory influences numbers.

    This is also something to keep in mind since other designs relying on the same AMD CPU with 2 DIMMs of same size and specs might outperform the J5005 even more.

    1. If time allows, i will test 7-zip compression on an HP t640 i am waiting for with dual channel memory. It has r1505g that is a bit slower than this, but should quickly reveal whether it’s memory b/w issue or not..

    2. DFI GHF51 SBC Bench results:

      MINIX NEO J50C-4:

      And for fun results with Raspberry Pi 4 (8GB)

      1. Forgot to mention I had to edit the script for the AMD board, as somehow the load average is always around 0.60, even though there’s virtually no activity (idle 99%).

  2. I like Linux. I just think it is time to end the multiple-version ‘mine is better than yours.’ Probably the biggest reason Linux never gains acceptance.

  3. Is the TDP/maximum power draw configurable in the BIOS?

    If the CPU and GPU benchmarks are for a 12 W Ryzen compared to the 10 W J5005, I do not find the slightly faster Ryzen worth the price.

    The Intel NUC Kit NUC7PJYH with J5005 can be had for 150 EUR where I live. And that includes a case, PSU, and active cooling.

    Active cooling seems very necessary if it hits 100 °C just watching a video.

    Yes, the GHF51 is smaller at 84 mm x 55 mm x 17.4 mm versus the NUC (in case) at 115 mm x 111 mm x 51 mm, but I do not believe that at this scale the difference matters much.

    Finally, I think it should be pointed out that the GHF51 only supports HDMI 1.4. That means no 4k at 60 Hz!

    1. I can’t find any option to configure the TDP in the BIOS. I’d assume it must be the default (15W). I’ve asked the company. Let’s see if they answer.

      1. Answer from DFI

        Our BIOS is currently offering 12W(TDP), and it is not manually adjustable. We are recently planning on testing the thermal solution for bios with non-restricted TDP. Before that, the TDP configuration will remain 12W.

    1. I don’t have UAS error messages, but still disabled UAS for my drive:

      after reboot:

      Finally ran iozone:

      That fixed the issue. What I don’t understand if why the same drive work just fine on my Ubuntu 20.04 laptop, but fails on the Ubuntu 20.04 board unless I disable UAS. There should be something more that drives.

  4. Can you run 7z b? Just to compare to my cheap J1900,

    BTW if you would like to check CPU Freq / Temp for each core this modified htop might work if you build from source for the UBUNTU 20.04 LTS. To build for 20.04 you need to change the Build-Depends in the file debian/control, from Build-Depends: debhelper-compat (= 11) to Build-Depends: debhelper-compat (= 12) and build it.

    You may need to update the handlers if hwmon path differs and usually is.
    I does not take much space to build and if you don’t want to install it you can build and run sudo ./htop

    source: https://github.com/avafinger/htop_2.2.2-amd64

    1. Results for 7z b (which are the same as sbc-bench.sh results above):

      1. I think you should have something like this:
        cat /sys/class/hwmon/hwmon*/name 
        acpitz
        coretemp
        soc_dts0
        soc_dts1

        and you wold find in the coretemp the readings.
        Seems not set in this kernel.

        1. Yep, I have a different output than yours:

          1. Explore the content of k10temp but it does not look good, unfortunately.

            type: cat /sys/class/hwmon/hwmon*/temp*_label
            CPU Temperature
            MB Temperature
            Core 0
            Core 1

            I think you should have temp2_input  and temp3_input  or something there, if not the only way is lm-sensors i think.

          2. That’s what I have

            and

          3. https://www.kernel.org/doc/html/latest/hwmon/k10temp.html

Leave a Reply

Your email address will not be published. Required fields are marked *

Boardcon Rockchip and Allwinner SoM and SBC products
Boardcon Rockchip and Allwinner SoM and SBC products