Review Video : Khadas VIM3 in Linux

Hi all.
I’ve finished my review of the Khadas VIM3.

It is an amazing SBC with unseen performance and amazingly power efficiency for this performance.

Here is my video:

In the 2nd post I’ll share all my gathered data.
Khadas VIM3
Ubuntu server - fan over fins 
Blender BMW no fan thermal pad      : 59m
                   with copper shim : 58m18s
       with 5V fan                  : 45m01s
       with 5V fan over CPU         : 43m28s	   

Ubuntu XFCE - fan over CPU, not over fins 
Blender no fan : 55m22s
Blender 3V fan : 43m03s	   
Blender 5V fan : 42m51s	   

Blender with fan : 48m45s	    Armbian Bionic Small cores @1.9Ghz Big cores @1.7Ghz
Blender with fan : 46m29s       Armbian Disco  Small cores @1.9Ghz Big cores @1.7Ghz
Blender with fan : 46m56s       Armbian Buster Small cores @1.9Ghz Big cores @1.7Ghz

Kdenlive 16m bench 3V lxde : 1h09m (using 1GB zram + 4GB swap file. Not enough ram with 2GB)

Video playback
Up to 4K 30fps with MPV. Very slight screen tearing. Anything lower is perfect
Youtube playback with Firefox up to 1440p 30fps perfect
KODI doesn't work (yet)
No VPU acceleration for now. All done by CPU.

Up to 4K 30fps with MPV. Very slight screen tearing. Anything lower is perfect
Wifi doesn't work.

power consumption
Idle no fan        : 0.27A  5V (governor set to interactive)
Maxed out with fan : 1.4A 5V (fan is 0.15A)

Temperatures (fan over CPU, not over fins)
Idle No fan        : 44°C
Maxed out No fan   : 75°C heavy throttling. 1Ghz small cores / 1.8Ghz big cores

Idle 3V fan        : 34°C
Maxed out 3V fan   : 73°C very light throttle. Takes 5min to reach 70°c. +10min to start throttling

Idle 5V fan        : 32°C
Maxed 5V           : 70°C no throttling 

Transfer speeds
eMMC 16GB                                : 60 MB/s write
                                         : 165.9 MB/s read
SSD over USB3                            : 380.3 MB/s write
                                         : 286.1 MB/s read
SSD over USB2                            : 40.2 MB/s
Samsung EVO plus with on-board sd-reader : 10.2MB/s write   22.1MB/s read 
                 with USB3 sd-reader     : 31.7MB/s write   88.6MB/s read 

Ethernet internet speed :   53.9 Mbps       11.5 Mbps   
Wifi internet speed     :   43.7 Mbps       11.2 Mbps 

When using a 2.4Ghz dongle for mouse in the right USB3 port, wifi connection is slow. 
When using a USB3 device in the USB3 port wifi stops working. Use left USB2 port for those.

Ubuntu server boots/shuts down slower than XFCE version. Shut down stop job for ifup for eth0 (not in use) 1m30s
                                                         Boot hangs a while. Can't find the reason. After -> Scanning for Btrfs filesystems. Done. about 30s
Can't install Tensorflow
khadas@Khadas:~/tensorflow$ pip3 install tensorflow-1.8.0-cp35-none-linux_aarch64.whl
tensorflow-1.8.0-cp35-none-linux_aarch64.whl is not a supported wheel on this platform.

Android : Can't connect wifi. I can type wifi password, but can't go further. No connect button.

Use interactive governor for better thermals and power consumption with low use/idle.

+ Best single core performance + best multi-core performance for an ARM SBC
+ Nice case + PSU + USB-c cable included + remote + eMMC
+ Amazing low power consumption / best performance per watt
+ Can be powered with 5V up to 20V

- Wifi issue with USB3/No 5Ghz wifi. Could have solved the USB3 interference
- Placing of the buttons would be better on the back. They often get pressed when plugging a USB device. You do get used to it.
- No VPU and X11 drivers (yet)
- Slow On-board SD-card reader

Here the benchmark results.

Reasons why benchmarks can be misleading
Difference in cores A53/A7/A15/A72
distro (ubuntu/debian...)
distro version
kernel version
driver versions
compiler version
software version/outdated repositories
desktop Mate/Xfce/LXDE/...
display resolution/headless
background processes
cpu clockspeed
ram clockspeed/latency
ram useage/swap/zram
process sheduler 
optimizations for the system/distro
crypto engine for encryption
config settings
Wifi dongle
CONFIG_HZ=250 - 1000 or any other

7-zip works a bit better on 32-bit vs 64-bit, it doesn't use all cores at 100% in multi-core scores. The percentage differs with different distro's and boards. So it's not completely exact.
7-zip has problems with big-LITTLE architecture for multi-core benchmark. Better to test the clusters seperately.
Blender works a lot better on 64-bit than on 32-bit. It uses 100% of the cores.
CPU Miner only works on 64-bit. Works better in Ubuntu Bionic than in Debian Stretch.

Blender : BMW render @ 1080p
7-zip : Numbers are average of 3 of decompressing only

All tests are done with a fan when necessary so no throttling occurs.

64-bit SBC's           
Khadas VIM3            |SBC bench result  |CPU Miner      |7-zip s/c A53 |7-zip b/c A73 |7-zip multi avg. of 3 |Blender 
Ubuntu 18.04.02  13.10kH/s           1577       2311           10578                  42m51s	

Odroid N2              |SBC bench result  |CPU Miner      |7-zip s/c A53 |7-zip b/c A73 |7-zip multi avg. of 3 |Blender    
Ubuntu Bionic   11.35kH/s           1564       1879           9988                   50m28s

NanoPC T3+             |SBC bench result  |CPU Miner          |7-zip s/c |7-zip b/c     |7-zip multi avg. of 3 |Blender    
Armbian Bionic  10.99kH/s           1290                      10254                  1h10m25s    
Arbmian Stretch  8.55kH/s            1275                      10149                  1h13m55s    

Rock Pi 4B             |SBC bench result  |CPU Miner          |7-zip s/c |7-zip b/c     |7-zip multi avg. of 3 |Blender    
Ubuntu          9.50kH/s            1242       1818           7802                   1h17m22s

NanoPi M4              |SBC bench result  |CPU Miner          |7-zip s/c |7-zip b/c     |7-zip multi avg. of 3 |Blender   
Armbian bionic hz1000  10.23kH/s           1335       2005           8352                   1h13m50s   
 CONFIG_HZ=250  10.45kH/s           1335       2007           8320                   1h08m28s
Armbionic@1.4/1.8 hz250                                        1253       1828           7821                   1h12m52s

Armbian bionic nightly  10.24kH/s           1329       1990           8292                   1h13m28s  
Armbian stretch desktop  8.66kH/s            1350       1977           8400                   1h14m12s   
Armbian stretch dsk nightly  //  8.80kH/s            1359       1993           8500                   1h15m04s   
Armbian stretch core no fan  //  8.80-8.65kH/s       1353       1989           8461
Armbian stretch core         //  8.76kH/s            1354       1988           8456
Armbian stretch core nightly //  8.82kH/s            1357       1994           8494
Lubuntu Bionic arm64  9.24kH/s CPU Miner  1056       1551           6943                   1h28m13s             
Lubuntu Bionic armhf                      1111       1769           7705                   2h02m54s   
Lubuntu Xenial armhf                      989        1507           6339                   2h20m51s  

Khadas Vim2 Max        |SBC bench result  |CPU Miner          |7-zip s/c |7-zip b/c     |7-zip multi avg. of 3 |Blender  
Ubuntu Xenial   6.86kH/s            823        1134           6682                   1h14m39s      7-zip only 600% of 800% used

Odroid C2              |SBC bench result  |CPU Miner          |7-zip big core           |7-zip multi avg. of 3 |Blender    
Armbian Stretch Core  4.65kH/s            1390                      5342
Armbian Stretch Core Nightly //  4.66kH/s            1391                      5340
Armbian Stretch Desktop  4.65kH/s            1394                      5363                              
Armbian Stretch Desktop NGHT //  4.59kH/s            1394                      5356                   2h38m18s    
Meveric Stetch  No-OC                                          1337                      5223                   2h40m00s   
Meveric Stretch Only RAM OC                                    1361                      5292                               
Meveric Stretch OC                                             1548                      6049                   2h14m17s               
Ubuntu Mate Bionic  clocked to 100Mhz                                                    2h35m10s  
Ubuntu Mate Bionic OC   Doesn't work/Clocked to 100Mhz         1607                      5960                   2h10m21s   

Rock64                 |SBC bench result  |CPU Miner          |7-zip small core         |7-zip multi avg. of 3 |Blender   
Armbian Stretch 1.5Ghz  4.06kH/s            1406                      5407                   3h00n32s   
OLD Armbian Stretch 1.3Ghz   //  3.80kH/s            1211                      4904
Armbian Bionic 1.5Ghz core   //  5.00kH/s            1384                      5379                                              
Armbian Bionic 1.5Ghz dsk    //  4.94kH/s            1379                      5326                   2h55m56s   

32-bit SBC's

Odroid XU4             |SBC bench result                      |7-zip s/c |7-zip b/c     |7-zip multi avg. of 3 |Blender   
Debian Jessie                       950        1653           8823                   1h12m19s   
Ubuntu Bionic                       1219       2094           9395                   1h44m19s   

Asus Tinker board      |SBC bench result                                 |7-zip big core|7-zip multi avg. of 3 |Blender   
Tinker OS 9.5 Stretch                                 1983           7536                   2h55m00s    

Raspberry Pi 3B+       |SBC bench result                      |7-zip small core         |7-zip multi avg. of 3 |Blender  
Raspbian Default no fan                      1471                      5027                             
Raspbian Default                      1411                      5371                   5h47m31s   
Raspbian OC                         1591                      6141                               
Ubuntu Mate Xenial 7-zip didn't work                                                                

Software versions
                                      GIMP        Blender      GTKPerf     SysBench                     SBC-bench
M4 : Lubuntu Xenial armhf             2.8.18      2.79b        0.40        0.4.12                       0.6.1
     Lubuntu Bionic armhf :           2.8.22      2.79b        0.40        1.0.11 LuaJIT 2.1.0-beta3    0.6.1
     Armbian Stretch desktop 9.5 :    2.8.18      2.79b        0.40        0.4.12                       0.6.1
     Armbian Bionic :                 2.8.22      2.79b        0.40        1.0.11 LuaJIT 2.1.0-beta3    0.6.1
Tinker : TinkerOS 9.5 Stretch :       2.8.18      2.79b        0.40        0.4.12                       0.6.1
Odroid C2 : Armbian Stretch 9.5 :     2.8.18      2.79b        0.40        0.4.12                       0.6.1
          : Ubuntu Mate Bionic :      2.8.22      2.79b        0.40        1.0.11 LuqJIT 2.1.0-beta3    0.6.1 Doesn't work clocks to 100Mhz
          : Meveric Stretch 9.5 :     2.8.18      2.79b        0.40        0.4.12                       Doesn't work
Rock64    : Armbian Stretch 9.5:      2.8.18      2.79b	       0.40        0.4.12                       0.6.1
          : Armbian Bionic :          2.8.22      2.79b        0.40        1.0.11                       0.6.2
RPi 3b+ : Raspbian Stretch 9.5 :      2.8.18      2.78a        0.40        0.4.12                       0.6.1
          Ubuntu Mate Xenial :        2.8.16                   0.40        0.4.12                       0.6.1
Odroid XU4 : Debian Jessie :          2.8.14      2.72b        0.40        0.4.12                       0.6.1 7-zip doesn't work
           : Ubuntu Bionic :          2.8.22      2.79b        0.40        1.0.11                       0.6.2 
NanoPC T3+ : Armbian Bionic :         2.8.22      2.79b	       0.40        1.0.11                       0.4.6
             Armbian Stretch :                    2.79b        0.40        0.4.12                       0.6.2
Khadas Vim2 Max : Ubuntu Xenial :     2.8.16      2.76b        0.40        0.4.12                       0.6.2
CPU Clocks
Khadas VIM3 :  Ubuntu Bionic          : 2x1.8Ghz(A53) + 4x2.2Ghz(A73)                         64-bit
Odroid N2 :    Ubuntu Bionic          : 2x1.9Ghz(A53) + 4x1.8Ghz(A73)                         64-bit
NanoPi M4 :    Armbian Bionic/Stretch : 2x2Ghz + 4X1.5Ghz                                     64-bit
               Lubuntu armhf/ARM64    : 2x1.8Ghz + 4X1.4Ghz                                   armhf 32-bit / ARM64 64-bit
Tinker Board : TinkerOS Stretch       : 4x1.8Ghz                                              32-bit
Odroid C2 :    Armbian Stretch        : 4x1.5Ghz                                              64-bit
               Ubuntu Mate Bionic     : 4x1.5Ghz RAM 912Mhz                                   64-bit
               Ubuntu Mate Bionic OC  : 4x1.75Ghz + RAM 1104Mhz                               64-bit
Rock64 :       Armbian Stretch        : 4x1.5Ghz                                              64-bit
               Armbian Bionic         : 4x1.5Ghz                                              64-bit
RPi 3B+ :      Raspbian Stretch       : 4x1.4Ghz no fan 4x1.2Ghz above 60°C                   32-bit
               Raspbian Stretch OC    : 4x1.570Ghz over_voltage=4 core_freq=500 sd_freq=510   32-bit
               Ubuntu Xenial          : 4x1.4Ghz                                              32-bit
Odroid XU4 :   Debian Stretch         : 4x1.4Ghz + 4x1.9Ghz                                   32-bit
           :   Ubuntu Mate Bionic     : 4x1.5Ghz + 4x2Ghz   Underclocks when above 75°C       32-bit
NanoPC T3+ :   Armbian Bionic         : 8x1.4Ghz                                              64-bit

Some benchmark tools can give an estimate of the performance. But they are never an exact reflection.

You start in Libreelec plaer MPV ???

In Ubuntu I need to use MPV for that, and with LE it also works to watch video(not with MPV).

I’ll make a video about LE seperately. People ask about a tutorial video for it.
Also about your Armbians I will make a seperate video to compare the performance of buster vs stretch, and bionic vs disco. Cheers


Thank you very much for what you did.


Great testing and sharing.
The thermal throttling and WiFi/USB3 issues makes upsets.

This should be resolved in the future.

There is no heat problem on the VIM3. The standard radiator provides 80% of the modes of use of all users without the use of a fan. This is the correct calculation. If you plan to use with a load factor of 100%, only the active cooling system (fan) can guarantee the correct operation of the system in all modes (at any ambient temeparutre). This applies to all models of this class on the market. The cost of a passive cooling system for a load of 100% is many times higher than the cost of an active cooling system. The passive system for 100% of the load is used only in special cases where the costs do not matter and there is a strict requirement to use only passive systems.


Have you tried the latest version Armbian with kernel 5.2.1 which enabled all cores at maximum frequency for a311d ?

Thanks for thermal clarifying and it makes confidence for VM3 :sunglasses:
Pls keep chasing and evaluating the WIFI/USB and SD performance issue.
Hope the new VM3 V12 will be rock-solid in hand soon.

It seems that many CE users(N2 funs :smile:) have not got your info.

With minimal HW support, All *elec give a miniscule load for which a piece of iron on N2 has no benefit. For reference, Libreelec works fine on VIM3 without any radiator at all. I have a regular radiator when working LE temperature does not exceed 40-45 degrees at maximum resolution.

PS I know who he was. :sunglasses:

1 Like

Yes I have. Already done a few benchmarks :wink: Great job.
The base clock of the big cores is 2.11Ghz, but 2.21Ghz is available. Also no thermals what could make it a bit dangerous since it’s not throttling.

I’ll try to make my video about it next week. Too much work now, thanks.

Khadas VIM3     | Clock S/C    | B/C         | Blender   | 7z S/C    | 7Z B/C  | glxgears | CPUMiner  | SBCBench
Ubuntu Bionic     1.80Ghz        2.21Ghz       13m22s      1582        2322       192FPS     12.90
Ubuntu XFCE       1.80Ghz        2.21Ghz       12m43s      1586        2316       355FPS     12.90
Armbian Bionic    1.80Ghz        2.11Ghz       11m48s      1610        2244       495FPS     
Armbian Bionic    1.80Ghz        2.21Ghz       11m28s      1613        2348       510FPS     12.85
Armbian Disco     1.80Ghz        2.21Ghz       11m11s                                          
Armbian Buster    1.80Ghz        2.21Ghz       11m21s      1644        2374       590FPS     12.80