Jump to content

Review : Khadas VIM3

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 comment
Share on other sites

Armbian Linux community supported weekly builds download

@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         http://ix.io/1MFD  13.10kH/s           1577       2311           10578                  42m51s	
Armbian@1.9S.C./1.7B.C. http://ix.io/1NRJ                                                                       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           http://ix.io/1Brv  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          http://ix.io/1iRJ  10.99kH/s           1290                      10254                  1h10m25s    
Arbmian Stretch         http://ix.io/1qiF  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                  http://ix.io/1uVr  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   http://ix.io/1nLh  10.23kH/s           1335       2005           8352                   1h13m50s   
 CONFIG_HZ=250          http://ix.io/1BLW  10.45kH/s           1335       2007           8320                   1h08m28s
Armbionic@1.4/1.8 hz250                                        1253       1828           7821                   1h12m52s

Armbian bionic nightly  http://ix.io/1pDo  10.24kH/s           1329       1990           8292                   1h13m28s  
Armbian stretch desktop http://ix.io/1odF  8.66kH/s            1350       1977           8400                   1h14m12s   
Armbian stretch dsk nightly  //ix.io/1pM0  8.80kH/s            1359       1993           8500                   1h15m04s   
Armbian stretch core no fan  //ix.io/1pKU  8.80-8.65kH/s       1353       1989           8461
Armbian stretch core         //ix.io/1pL9  8.76kH/s            1354       1988           8456
Armbian stretch core nightly //ix.io/1pLf  8.82kH/s            1357       1994           8494
Lubuntu Bionic arm64    http://ix.io/1oGJ  9.24kH/s CPU Miner  1056       1551           6943                   1h28m13s             
Lubuntu Bionic armhf    http://ix.io/1pJ1                      1111       1769           7705                   2h02m54s   
Lubuntu Xenial armhf	http://ix.io/1oCb                      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           http://ix.io/1qkA  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    http://ix.io/1pZu  4.65kH/s            1390                      5342
Armbian Stretch Core Nightly //ix.io/1pZJ  4.66kH/s            1391                      5340
Armbian Stretch Desktop http://ix.io/1q1C  4.65kH/s            1394                      5363                              
Armbian Stretch Desktop NGHT //ix.io/1p02  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      http://ix.io/1q2S  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  http://ix.io/1nCj  4.06kH/s            1406                      5407                   3h00n32s   
OLD Armbian Stretch 1.3Ghz   //ix.io/1iHB  3.80kH/s            1211                      4904
Armbian Bionic 1.5Ghz core   //ix.io/1qbK  5.00kH/s            1384                      5379                                              
Armbian Bionic 1.5Ghz dsk    //ix.io/1qcb  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           http://ix.io/1q6X                      950        1653           8823                   1h12m19s   
Ubuntu Bionic           http://ix.io/1qbL                      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   http://ix.io/1pRN  				                  1983	         7536                   2h55m00s    

Raspberry Pi 3B+       |SBC bench result                      |7-zip small core         |7-zip multi avg. of 3 |Blender  
Raspbian Default no fan http://ix.io/1q10                      1471                      5027                             
Raspbian Default        http://ix.io/1q1Q                      1411                      5371                   5h47m31s   
Raspbian OC             http://ix.io/1q5J                      1591                      6141                               
Ubuntu Mate Xenial      http://ix.io/1q65 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 comment
Share on other sites

This topic is now closed to further replies.

  • Create New...