Review : Khadas VIM3


2 2

Recommended Posts

Hi all.
I've just finished reviewing the Khadas VIM3.
It's an amazing SBC with unmatched performance. It's got the Amlogic A311D SoC. Comparable with the S922X of the Odroid N2.

But the 4x A73 cores are clocked at 2.2Ghz and the 2 x A53 cores to 1.8Ghz. So it performs a lot better.
It also comes with an NPU, MIPI-DSI and MIPI-CSI. And can be powered with USB type-c from 5V up to 20V.
Here my review video.


Here all my gathered information.

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



Link to post
Share on other sites

Armbian is a community driven open source project. Do you like to contribute your code?

@lanefu Sorry, I forgot to share my benchmark file.
I did find out that 7-zip multicore results are not to be trusted on SBC's with different cluster performance. The VIM3 has a very big difference so it only uses 500% of 600%. The N2 has a smaller difference in performance between A73/A53 so uses 550% in 7-zip multicore scores. (also lack of memory is a problem)

CPU Miner is good, 7zip single core benchmarks are good. And for me Blender is important too.

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	
Armbian@1.9S.C./1.7B.C.                                                                       48m45s

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.


Link to post
Share on other sites

This topic is now closed to further replies.

2 2