Khadas Edge2 Pro review – A Rockchip RK3588S SBC tested with Ubuntu 22.04

We’ve had a sample of the Khadas Edge2 single board computer powered by Rockchip RK3588S octa-core Cortex-A76/A55 processor for a couple of weeks, and now that the board is officially launched we can post our review of the board with Ubuntu 22.04, and we’ll check out Android 12 later on.

Khadas Edge2 Pro accessories

The Khadas Edge2 comes in two variants: Basic and Pro, We received the Edge2 Pro SBC with 16GB RAM and 64GB flash that ships with two WiFi antennas by default, but the company also sent a low-profile fansink and thermal pad for cooling that in theory would be optional, but in practice, it is required as while the board runs fairly cool considering the performance it brings, it still needs a heatsink to prevent overheating and throttling. The fan may not really be necessary though as we’ll see below.

I’d recommend installing the antennas before the fansink. The MHF4 antenna connectors are tiny, and I find antennas really hard to insert on the board properly. They can detach easily too, and I ended up damaging one of the connectors, just like I did with the Khadas VIM4 featuring the exact same tiny connectors. The Khadas VIM1S SBC has a larger u.FL connector, and it’s much easier to install the single antenna that comes with the board. I wish Khadas could use those on all their boards, but space on the PCB may be an issue.

The board remains fairly slim even after the heatsink is installed. I measured the thickness to be about 11mm with a caliper.

Installing Ubuntu 22.04 with OOWOW system

Let’s connect the board to an HDMI connector and a keyboard because connecting it to a USB PD adapter to power it up. If you don’t like to mess around with MicroSD cards and/or USB cables together with Windows or command line tools, you’ll love the Khadas boards as they now come with the OOWOW system that allows the user to download and flash his/her selected OS image with an easy to use interface.

 

Upon the boot first, we are greeted with the OOWOW Wizard in order to configure WiFi, and then select an OS image.

 

At the time of testing, Android 11, Android 12, Ubuntu 22.04 Desktop and Ubuntu 22.04 Server were available. I went with the Ubuntu 22.04 (Gnome) Desktop image, and after a couple of minutes I was greeted with a login prompt.

The default password for the Khadas user is simply “khadas”. We are not asked to change the username or password upon the first login, so it might be something that needs to be implemented later to comply with some new regulations, especially openssh-server is enabled by default if I remember correctly. For the time being, we can just change the password manually.

Ubuntu 22.04 system info on Khadas Edge2

Let’s check out some system information starting with the kernel log obtained with dmesg.

After connecting to my WiFi router, I did a system upgrade, and rebooted the system. Let’s get more details:


It’s running Ubuntu 22.04 on Linux 5.10.66, and we’ve got about 16 GB RAM and a 57GB root partition as expected. Let’s install and run inxi:


We can see the Cortex-A76 are clocked at up to 2304 MHz, and the Cortex-A55 cores up to 1,800 MHz, but more on that latter. ZRAM is also enabled (good!) although with 16GB we have plenty of physical memory.

Khadas Edge2 benchmarks in Linux

We can now run some Linux benchmarks on the Khadas Edge2 board to compare it to the Rockchip RK3588-powered ROCK 5B, Raspberry Pi 4, and other single board computers. Note that after a reboot, the CPU default to the performance governor.


I started with the usual sbc-bench.sh from Thomas kaiser:


If we look at the full results, we can see the measured frequency for the Corex-A76 cores is 2,257 MHz for one two-core cluster, and 2,259 for the other two-core cluster, as about the 2.25GHz advertised by Khadas. The system temperature never exceeded 61.9°C during the benchmark in a room with an ambient temperature of 28°C, so the cooling solution is perfectly suitable, and throttling did not occur. I initially thought the fan was never used, but looking closer the fan was indeed activated. It’s just close to silent.

The Khadas Edge2 SBC has about the same performance as the Rock 5B, as one would have expected, and is quite faster than the Khadas VIM4 powered by an Amlogic A311D2 processor, more than twice as fast as a Raspberry Pi 4. The ODROID-N2+ SBC based on the older Amlogic S922X processor @ 2.4 GHz is in the middle of the pack.

Higher is better

Let’s now switch to a browser benchmark with Speedometer 2.0.

Chromium
Firefox

I’m using a small 10.1-inch display with 1280×720 resolution, but I forced it to 1920×1080 with 125% fractional scaling before testing.

But just to make sure, I tested it again once while connected to a Full HD display with 1920×1080 resolution and no fractional scaling, and I got similar results at 78.84 points in Chromium and 53.14 in Firefox, so it’s not that different.

Speedometer 2.0 results in Chromium, except for “Khadas Edge2 Firefox”

The Khadas Edge2 board is almost four times faster than an overclocked Raspberry Pi 4 in this particular benchmark. Note that improvements to Chromium and 3D graphics acceleration may play a role here too, but performance is nonetheless impressive. As seen with other Arm SBCs, Chromium performs quite better than Firefox with Speedometer 2.0.

Let’s run some benchmarks from the Phoronix TestSuite to compare Khadas Edge2 to UP 4000 SBC with an Intel Celeron N3350 dual-core Apollo Lake processor clocked at 2.4 GHz along as Jetson Nano and Raspberry Pi 4. You’ll find the full results on the Openbenchmarking website.

As we can some of the tests failed to complete:


But the Khadas Edge2 Pro was outperforming all other platforms in all tests that were completed, except for SQLite.  So I’d expect the Rockchip RK3588S to offer similar performance as some Gemini Lake or even Jasper Lake systems.

Note that the Khadas Edge2 was the only platform with the governor set to performance:


Phoronix provides an out-of-the-box “benchmark experience”, and it should be noted the scores of other systems may have been higher if the governor was set to performance, to what extent is hard to know.

3D graphics acceleration in Ubuntu 22.04

When I first tested 3D graphics supports, I ran glxinfo:


It seems to indicate 3D graphics acceleration is not enabled as it’s relying on the llvmpipe software driver. But that command is only valid for X11, and Khadas’ Ubuntu 22.04 image is using Wayland windowing system instead.

So we need to use eglinfo instead, and we can see the Mali GPU driver is used:


There’s an error in the output above, but I could confirm this works using glmark2-es2-wayland with instructions from Khadas. We are first asked to set to GPU governor to performance:


Now we can install the program and run the program:


Here’s the output from glmark2-es2-wayland:


A 4,005 score is quite impressive and four times the ODROID-N2+ score (970 points), and the Khadas Edge2 fares much better even after “optimizations” where the ODROID-N2+ board can get 1,244 points.

We can also play some games using the PPSSPP emulator:


Just type PPSSPP in the dash to launch the emulator and install some games.

Mega Drops 2

The Tetris-like game above runs at 60 fps without issues. Finally, we were told SuperTuxkart would work fine, but it only showed in a quarter window, and changing the display settings within the game did not help.

The strange thing is that it works on Khadas’ side, and it’s unclear why it doesn’t for me.

There’s also one specific use case where 3D graphics acceleration does not work: dual display setups with one monitor connected to the HDMI, and the other through the USB-C port. In that case, the system will switch to the X11 windowing system, and 3D graphics acceleration is only supported with Wayland.

Khadas Edge2 NPU support

Another good news is that NPU support is working at launch with Python and C++ SDKs. I had to use the SDK and samples from a 7z file, but the code has now been released on Github.

We’ll first need to install dependencies and the NPU toolchain to run the Python samples:


We can now try a sample such as resnet18:


The program basically loads the image “space_shuttle_224.jpg” and a pre-trained model and finds it’s the Space Shuttle or maybe just a spaceship with 99.96% probability against other pre-trained objects.

We can also try the face_mask demo:


There’s nothing interesting about the terminal output, but the Python program will generate an image (out.jpg) with a box to show where the face mask(s) is/are.

I’ve replaced the image in /data/img/face.jpg with a crowd wearing face masks to check out the results:

As you can see above, the resulting out.jpg does not come with any boxes meaning the program did not detect any masks in the photo. I think we would have to change a few parameters in the Python program to match our image:


I’m just not sure which ones, and Khadas was not able to help in time for this review. I’ll update this section if a solution is found.

Storage testing and benchmarks

I’ve installed iozone3 to first test the 64GB eMMC flash performance:


We’ve got sequential reads up to 300 MB/s, writes up to 200 MB/s, and decent random R/W performance. For comparison, the eMMC flash in a Raspberry Pi CM4 is limited to 100MB/s.

Now let’s test the USB 3.0 Type-C (5Gbps) port with ORICO USB 3.2 Gen 1 enclosure fitted with an Apacer NVMe SSD capable of up to 1,800 MB/s reads, and 1,100 MB/s writes, and formatted with EXT-4.

This is tight as the USB Type-C cable and HDMI cable compete for space…


I’ve repeated the test several times, with the same results. about 342 MB/s sequential reads and 398MB/s write speeds. I think that’s roughly what we should expect over a 5 Gbps USB port although some optimizations may push that over 400MB/s.

Networking (WiFi & 2.5GbE)

Let’s check out WiFi 6 performance bearing in mind I only have the larger antenna connected:

  • Upload
  • Download

That’s pretty good, and the download speed is not that far from what we’d get with a Gigabit Ethernet port.

While Khadas Edge2 does not come with an Ethernet port at all, it’s still possible to add 2.5GbE through a 2.5GbE USB Type-C dongle.

Ultra-compact boards are nice, but as you can see, I had to remove the USB mouse and HDMI cable to test 2.5GbE. This could easily be resolved with an extension cable. Let’s get to the results:

  • Upload
  • Download

Truly horrific numbers, but I can see the cdc_ncm driver is loaded:


I wanted to use the r8152 driver instead, but the method I used on my laptop somehow did not work, and I’m not ready to spend countless hours again making a Realtek 2.5GbE USB dongle work properly…

So I switched to a MINI USB-C dock with Gigabit Ethernet.

and it works well in both directions:

  • Upload
  • Download

Bluetooth

I’ve tried Bluetooth by connecting my phone to the Khadas Edge2 Pro board. The good news is that Bluetooth is enabled and the connection was successful.

I was not able to send files though, as the Khadas board only shows up as an audio device. So I tried to use it as a speaker through the connected HDMI display, and the audio would consistently cut.

I could also connect the board to a Bluetooth headset, but I had the same problem with the audio cutting regularly.

It might work better with Bluetooth HID devices, but I don’t have any to test.

GPIO testing

The GPIO situation is exactly the same as on the Rock 5B board.


and we can control those through sysfs:


The main difference is on the hardware side since the Khadas Edge2 does not come with a typical female header, but instead two FPC connectors for I/O that require add-on boards.

I can also see WiringPiu library is installed, but could not test it due to time constraints:

VPU (Video Processing Unit)

Khadas told me both hardware and software video decoding work on the Khadas Edge2. I first tried a 4K YouTube video in Firefox.

It’s relying on software decode considering the relatively high CPU usage, but a 4K video @ 30 fps plays fine without any frames dropped, except a few at the beginning.

We’ll need to use gstreamer to play an H.264 video with hardware decoding. I was given this command line:


It just did not work for me:


That’s the tricky part of having to review a board before launch and without documentation…

We can try to find the proper decoder with gst-inpect:


It looks like mppvideodec should be used instead of v4l2h264dec, but I could not manage to find the right command…

[Update from Khadas:

Edge2 gstreamer hardware decoder under Ubuntu 22.04 still has some issues need to fix up, so at this moment it doesn’t work properly due to the waylans sink issue.
]

Power consumption

Some power consumption numbers for reference:

  • Power off – 0.0 Watt
  • Ilde – 2.9 Watts
  • 4K YouTube Video in Firefox (full screen) – 7.5 to 10.9 Watts
  • Stress test on all 8 cores (stress -c 8) – 9.0 Watts

That’s quite a power-efficient board considering the processing power of the device. It also further illustrates the CPU is only part of the equation in modern complex SoCs, as 4K video playback’s peak power consumption is close to 11 Watts.

Summary

The Khadas Edge2 Pro performs well in Ubuntu 22.04, and features on Linux are better supported than I would have expected at that time, with great progress since I tested Debian 11 on the Rock 5B board just two months ago. I still have several issues here and there, but that should be expected considering I got the board before it launched.

The Khadas Edge2 has just launched as part of Khadas’ Autumn launch event both as a maker kit as reviewed here and an Arm mini PC with enclosure. Other products part of the launch include the entry-level Khadas VIM1S SBC, and devices for audiophiles: the Tone2 DAC and BT Magic module. You can purchase the Khadas Edge2 on Amazon or Khadas online store.

Khadas Edge2 Price in US dollars at launch

Khadas promises to ship the Edge2 Maker Kits ship within 2 days once the order is confirmed, and Edge2 ARM PCs will ship on or before mid-December 2022.

Continue reading Khadas Edge2 review with Android 12.

Share this:

Support CNX Software! Donate via cryptocurrencies or become a Patron on Patreon

28 Replies to “Khadas Edge2 Pro review – A Rockchip RK3588S SBC tested with Ubuntu 22.04”

  1. As for the USB3 storage performance: since Rock 5B achieves 425/415 MB/s (write/read) Edge2 should do the same with appropriate USB-to-SATA bridge and of course appropriate settings as well (see these Rock5B suggestions though missing IRQ/SMP affinity settings there and in Khadas’s fenix-hardware-optimization service) 

  2. > Ilde – 2.9 Watts

    With a display connected?

    Honestly that’s quite high and most probably an indication for a few tunables missing or Khadas just playing safe with ‘benchmark optimized’ settings so far. Once they enable the dmc/dfi device-tree nodes DRAM will be clocked dynamically (600mW less in idle), changing cpufreq governor and checking ASPM (/sys/module/pcie_aspm/parameters/policy) is worth a look to.

      1. OK, (even blanked) display results in +300mW consumption and keyboard or not can make a real difference. 🙂

        That’s my Rock 5B headless (just Gigabit Ethernet): 1280mW. And with an USB keyboard with integrated USB hub it’s 800mW more: 2070mW

        What does cat /sys/module/pcie_aspm/parameters/policy say?

        1. Note that my results are fairly lower than with Rock 5B. I also have a WiFi 6 connection which needs to be taken into account.

          1. > default performance [powersave] powersupersave

            Would be worth further tests with both default and performance whether Wi-Fi bandwidth improves (worsening idle consumption most probably). But you’ve just one antenna working :\

  3. We have seen RK3588 boards now from Khadas, Pine64, Radxa and more (announcements and samples).

    Are there boards available for users currently?

  4. $100-$140 more than the rock5. Is there something special about this board that I’m not seeing? I like that it ships in 3 days but not sure about the additional costs

  5. > $100-$140 more than the rock5. Is there something special about this board that I’m not seeing?

    Probably Rock 5B using the more expensive RK3588 and not the RK3588s on Edge2? 😉

  6. I’d have loved to run RHEL on an RK3588, but Still in 2022 this is hassle!
    I’d rather go some low power Ryzens on which I can run what distro I want knowing it would use more power.

    1. wait for ryzen 7xxx. it has ~70% performance uplift vs ryzen 5xxx in 65w TDP. As for me, always underclock and undervolt itu to ~35W. I expect maybe ~40% perf uplift vs 5xxx ryzen in that tdp bracket.

  7. It was useful to make some comparison with an Intel based device in the N3350 CPU from 2016.

    However, when making the comment about it perhaps being comparable with Apollo Lake or Jasper Lake, then it is a little too vague because those ranges have variation in performances. So a more direct comparison test would be of more use because when you look at the Edge2 pricing, it is definitely in the Jasper lake territory, which may make the choice of the Edge2, even at the lowest price, difficult to justify in some areas.

    I suspect, that from all of the general RK3588 reviews that I have seen so far, Android is where it is at right now, specially when it comes to hardware accelerated video playback.

    The lack of Ethernet is a big downside for me and the lack of onboard support for M.2 NVME is is huge mistake.

    Right now, the Rock 5B looks like being the one to have the overall functionality that most will want and like and as they start to get them out of the door soon (supposedly) then we will get some reviews to put it through its real world paces.

    Bottom line for me is that the Edge2 doesn’t get a second thought based upon what I can see.

    And on their buy it page, there is mention of the optional Edge2 Active Cooling Kit but no option to purchase or show a price, which is poor.

    1. > M.2 NVME

      Edge2 is not based on expensive RK3588 but on the crippled RK3588s that has almost no I/O. Just two PCIe Gen2 lanes (both pinmuxed with SATA/USB3): one is used for the Wi-Fi/BT chip, the other is USB3. There’s no PCIe signals you could route to an M.2 slot 🙂

      > Active Cooling Kit

      KAHS-E-F02 for an additional 25 bucks

      1. I do not understand why you are fixated on the Rock5.
        This one integrates an RK3588 with its 4 PCIe lines, the only single-use protocol on an M.2 port.

        I wonder about the need to place an nvme module that will consume electricity and heat more than the system that uses it, moreover, it is the most expensive price/go memory on the market, after emmc.

        This being throttled by communication IOs below 5 and 2.5 Gbit.

        I think the industry is not yet mature enough to offer relevant solutions with the rk3588.

        Even the promise of a low price will not be enough.

        khadas offers its version on RK3588S,
        we understand that the cloud or a nas accessible from wifi is central here,
        a wifi module consumes practically nothing and does not heat up compared to an nvme memory,
        and in case of theft or destruction you lose your precious nvme memory which will have cost you so much,
        and all the data stored there.

        insofar as the box and the extension cards are missing,
        it is difficult for anyone to buy the edge2,
        only the people who have the ability to design stackable expansion cards can take full advantage of edge2’s capabilities today.

        1. > I do not understand why you are fixated on the Rock5.

          Huh? I just explained why there’s no M.2 slot on Edge2 which is the result of using the crippled RK3588 variant. Asides that there exists more than one use case in this world and your understanding of NVMe and PCIe seems not to be complete 🙂

          There’s a lot more that can be done with RK3588’s five PCIe 3.0 controllers 🙂

          1. Again why would you want PCIe controllers everywhere, as much as the StationPC M3 is just a boring NUC, here Khadas makes perfect use of the RK3588S and its I/O,
            In a very compact form factor that is a strong argument for many potential customers.
            > 82.0 x 57.5 x 5.7 mm
            something that is not possible with the PCIe bus, and an M.2 interface.

            > understanding of NVMe and PCIe seems not to be complete
            Surely and this is my wish to see boards in less compact form factors (10²/12²/10×15) for non-modular use,
            with different specific peripheral controllers integrated using one or two PCIe lines at a time because it is not conceivable for many of us, to manufacture aircraft carriers from an M.2 slot with only 4L Pcie.

            Nevertheless Khadas releases a product without the availability of I/O expansion boards, or the possibility to design them from a manufacturing platform,
            the EDGE2’s possibilities remain very limited for ambitious tinkerers.

            Radxa has been promising since January the release of the ROCK5 without memory and wifi module,
            tomorrow will be october and still no official release announcement.
            time goes by and projects and ideas move forward.

            At 199$ (8G/32G/WF6) it’s the cheapest board with a RK3588X (excluding TV box)

          2. > Again why would you want PCIe controllers everywhere

            Oh boy… it’s about use cases and the ones I’m interested in are about I/O. For other people that’s totally different and everything’s fine.

            M.2 is a connector with defined pinout and specific widths and the specs support various device lengths. I get a 256GB Samsung PM991 for 30€ (M.2 2242 that means 22mm wide, 42mm long). Compare with the $100 Khadas charges for the 8/32GB RAM/eMMC upgrade between ‘Basic’ and ‘Pro’ Edge2. eMMC storage per GB almost 10 times more expensive than NVMe, right?

            Your claims about M.2 slot only usable for NVMe storage and this resulting in high consumption and generated heat… plain BS 🙁

            You can route the PCIe signals to a ‘standard’ PCIe slot, RK3588 supports bifurcation down to 4 x x1 so a single M.2 slot could support four different PCIe devices (though so far e.g. Radxa only supports 2 x x2 since with only 5 PCIe controllers inside RK3588 this mode would result in no PCIe signals available in the 2nd key E M.2 slot)

            Then: why did Apple started to use NVMe storage in their iPad Pro line already half a decade ago? To generate more heat and ruin battery life? Nope, exactly the opposite: race to idle, finishing everything I/O related in as less time as possible to send everything storage back to deep sleep immediately. To save power of course!

            Think about this with consumer SSDs:

            An appropriate driver/OS tries to keep this thing in state 3 most of the time so only 0.05W (!) are ‘wasted’.

            This just for your (lack of) understanding about M.2, NVMe and PCIe. The Edge2 not having a M.2 slot is perfectly fine. I just explained why it’s impossible to have an M.2 slot (not to you but to Lucien) and I honestly don’t care because Edge2 is useless for every single use case I’m interested in. Which is fine too because there exists more than 1 use case in this world and fortunately more than 1 device as well.

          3. > Khadas releases a product without the availability of I/O expansion boards

            Huh? The so called ‘Edge2-IO Module’ is for UART, TF card, GPIOs, etc. – and the Pogo pads on both the bottom of the PCB and the enclosure carry USB2 and UART signals and provide 5V.

            > tomorrow will be october

            Huh?

    2. The Edge2 is better suited to robotics and space-constrained embedded applications. Similar Jasper Lake platforms for those target markets might be quite more expensive than a typical Jasper Lake mini PC.

  8. Nice to see proper software support from the hardware vendor and pretty good hardware too.

    Not sure how difficult it would be but perhaps another addition to the distros could be KDE Neon as a KDE/flatpak out of the box solution, they do make Arm builds.

Leave a Reply

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