หลังจากที่เราได้แกะกล่องและทดสอบ LattePanda Mu พร้อมอุปกรณ์เสริมไปแล้วบน Windows ซึ่งได้ทดสอบการใช้งาน Lite Carrier Board และ Full-Function Evaluation ไปแล้วในรีวิวแกะกล่องและทดสอบการใช้งานบน Windows นั้น
ในรีวิวนี้เราจะมาทดสอบใช้งาน LattePanda Mu บนระบบปฎิบัติการ Ubuntu 24.04 กัน โดยทำการทดสอบมาตรฐานเช่นเดียวกันกับบอร์ดอื่น ๆ คือ
- การตรวจสอบข้อมูลระบบเบื้องต้น
- การทดสอบ Benchmark
- CPU
- Disk
- Peripherals
- Network
- การทดสอบการใช้งานเว็บและมัลติมีเดียร์
- การตรวจสอบการใช้พลังงาน
ข้อมูลระบบเบื้องต้น
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
root@UnoIoT-PC:~# cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=24.04 DISTRIB_CODENAME=noble DISTRIB_DESCRIPTION="Ubuntu 24.04 LTS" root@UnoIoT-PC:~# uname -a Linux UnoIoT-PC 6.8.0-38-generic #38-Ubuntu SMP PREEMPT_DYNAMIC Fri Jun 7 15:25:01 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux root@UnoIoT-PC:~# df -mh Filesystem Size Used Avail Use% Mounted on tmpfs 765M 2.4M 763M 1% /run /dev/mmcblk0p2 56G 14G 40G 25% / tmpfs 3.8G 0 3.8G 0% /dev/shm tmpfs 5.0M 8.0K 5.0M 1% /run/lock efivarfs 192K 86K 102K 46% /sys/firmware/efi/efivars /dev/mmcblk0p1 1.1G 6.2M 1.1G 1% /boot/efi tmpfs 765M 92K 765M 1% /run/user/120 tmpfs 765M 76K 765M 1% /run/user/0 |
โดยเราทำการติดตั้ง Ubuntu 24.04 ลงไปบน eMMC ขนาด 64MB และแรมขนาด 8GB ถูกใช้โดยระบบไปเพียง 933MB เท่านั้น จากนั้นเราทำการอ่านข้อมูลเพิ่มเติมด้วยคำสั่ง inxi เพื่อตรวจสอบอุปกรณ์อื่น ๆ ในระบบ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
root@UnoIoT-PC:~# inxi -Fc0 System: Host: UnoIoT-PC Kernel: 6.8.0-38-generic arch: x86_64 bits: 64 Console: pty pts/0 Distro: Ubuntu 24.04 LTS (Noble Numbat) Machine: Type: Desktop Mobo: N/A model: ADL-N v: Prod serial: W43211146A000820 UEFI: American Megatrends LLC. v: 5.27 date: 03/12/2024 CPU: Info: quad core model: Intel N100 bits: 64 type: MCP cache: L2: 2 MiB Speed (MHz): avg: 700 min/max: 700/3400 cores: 1: 700 2: 700 3: 700 4: 700 Graphics: Device-1: Intel Alder Lake-N [UHD Graphics] driver: i915 v: kernel Display: server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.6 driver: N/A tty: 120x30 API: EGL v: 1.5 drivers: iris,swrast platforms: gbm,surfaceless,device API: OpenGL v: 4.6 compat-v: 4.5 vendor: mesa v: 24.0.9-0ubuntu0.1 note: console (EGL sourced) renderer: Mesa Intel Graphics (ADL-N), llvmpipe (LLVM 17.0.6 256 bits) Audio: Device-1: Intel Alder Lake-N PCH High Definition Audio driver: snd_hda_intel API: ALSA v: k6.8.0-38-generic status: kernel-api Network: Device-1: Realtek RTL8822CE 802.11ac PCIe Wireless Network Adapter driver: rtw_8822ce IF: wlp1s0 state: up mac: 34:7d:e4:ba:cc:4a Device-2: Intel Ethernet I225-V driver: igc IF: enp2s0 state: down mac: 00:e0:4c:09:d8:bc Bluetooth: Device-1: Realtek Bluetooth Radio driver: btusb type: USB Report: hciconfig ID: hci0 state: up address: 34:7D:E4:BA:CC:4B bt-v: 5.1 Drives: Local Storage: total: 58.24 GiB used: 13.24 GiB (22.7%) ID-1: /dev/mmcblk0 vendor: Samsung model: CUTA42 size: 58.24 GiB type: Removable Partition: ID-1: / size: 55.99 GiB used: 13.23 GiB (23.6%) fs: ext4 dev: /dev/mmcblk0p2 ID-2: /boot/efi size: 1.05 GiB used: 6.1 MiB (0.6%) fs: vfat dev: /dev/mmcblk0p1 Swap: ID-1: swap-1 type: file size: 4 GiB used: 0 KiB (0.0%) file: /swap.img Sensors: System Temperatures: cpu: 38.0 C mobo: N/A Fan Speeds (rpm): N/A Info: Memory: total: 8 GiB available: 7.47 GiB used: 933.6 MiB (12.2%) igpu: 128 MiB Processes: 207 Uptime: 2m Init: systemd Shell: Bash inxi: 3.3.34 |
การทดสอบประสิทธิภาพของ LattePanda Mu
หลังจากตรวจสอบข้อมูลของระบบไปแล้ว เราเริ่มการวัดประสิทธิภาพของ LattePanda Mu ด้วยสคริปต์ Thomas sbc-bench.sh กันเป็นอันดับแรก โดยสามารถอ่านผลการทดสอบฉบับเต็มได้ที่ 0x0.st/XpX6.bin
ข้อมูลของระบบที่ได้จากการทดสอบ
จะแสดงค่าคุณสมบัติของ CPU Intel(R) N100 ตามข้อมูลด้านล่าง โดยชื่อของ Bios model แสดงว่า CPU ถูกจำกัดความเร็วไว้ที่ 2.8GHz
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Address sizes: 39 bits physical, 48 bits virtual Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Vendor ID: GenuineIntel BIOS Vendor ID: Intel(R) Corporation Model name: Intel(R) N100 BIOS Model name: Intel(R) N100 To Be Filled By O.E.M. CPU @ 2.8GHz BIOS CPU family: 1 CPU family: 6 Model: 190 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 Stepping: 0 CPU(s) scaling MHz: 89% CPU max MHz: 3400.0000 CPU min MHz: 700.0000 BogoMIPS: 1612.80 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid rdt_a rdseed adx smap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetbv1 xsaves split_lock_detect user_shstk avx_vnni dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req vnmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid movdiri movdir64b fsrm md_clear serialize arch_lbr ibt flush_l1d arch_capabilities Virtualization: VT-x L1d cache: 128 KiB (4 instances) L1i cache: 256 KiB (4 instances) L2 cache: 2 MiB (1 instance) L3 cache: 6 MiB (1 instance) |
การทดสอบ Benchmark ด้วย 7-zip
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
########################################################################## Thermal source: /sys/devices/virtual/thermal/thermal_zone1/ (x86_pkg_temp) System health while running tinymembench: Time CPU load %cpu %sys %usr %nice %io %irq Temp 17:34:32: 3094MHz 0.34 14% 0% 13% 0% 0% 0% 59.0°C 17:34:42: 2900MHz 0.45 25% 0% 25% 0% 0% 0% 62.0°C 17:34:52: 2900MHz 0.53 25% 0% 25% 0% 0% 0% 63.0°C 17:35:02: 2911MHz 0.60 25% 0% 25% 0% 0% 0% 63.0°C 17:35:13: 3094MHz 0.75 25% 0% 25% 0% 0% 0% 63.0°C 17:35:23: 2950MHz 0.78 25% 0% 25% 0% 0% 0% 62.0°C 17:35:33: 2900MHz 0.82 25% 0% 25% 0% 0% 0% 52.0°C 17:35:43: 2917MHz 0.85 25% 0% 24% 0% 0% 0% 50.0°C System health while running ramlat: Time CPU load %cpu %sys %usr %nice %io %irq Temp 17:35:46: 2900MHz 0.86 14% 0% 13% 0% 0% 0% 59.0°C 17:35:49: 2900MHz 0.87 25% 0% 25% 0% 0% 0% 56.0°C 17:35:52: 2943MHz 0.87 25% 0% 25% 0% 0% 0% 57.0°C 17:35:55: 3109MHz 0.88 25% 0% 24% 0% 0% 0% 51.0°C 17:35:58: 2932MHz 0.88 25% 0% 25% 0% 0% 0% 49.0°C 17:36:01: 2900MHz 0.89 25% 0% 25% 0% 0% 0% 49.0°C 17:36:04: 2976MHz 0.90 25% 0% 25% 0% 0% 0% 51.0°C 17:36:07: 2992MHz 0.90 25% 0% 25% 0% 0% 0% 52.0°C 17:36:10: 2920MHz 0.91 25% 0% 24% 0% 0% 0% 51.0°C 17:36:13: 2915MHz 0.91 25% 0% 24% 0% 0% 0% 51.0°C System health while running OpenSSL benchmark: Time CPU load %cpu %sys %usr %nice %io %irq Temp 17:36:14: 2900MHz 0.92 14% 0% 14% 0% 0% 0% 73.0°C 17:36:30: 2972MHz 1.07 25% 0% 25% 0% 0% 0% 63.0°C 17:36:46: 2900MHz 1.05 25% 0% 25% 0% 0% 0% 63.0°C 17:37:03: 3056MHz 1.04 25% 0% 25% 0% 0% 0% 62.0°C 17:37:19: 2959MHz 1.03 25% 0% 24% 0% 0% 0% 62.0°C 17:37:35: 2904MHz 1.02 25% 0% 25% 0% 0% 0% 64.0°C 17:37:51: 2900MHz 1.02 25% 0% 25% 0% 0% 0% 64.0°C System health while running 7-zip single core benchmark: Time CPU load %cpu %sys %usr %nice %io %irq Temp 17:38:02: 2900MHz 1.01 14% 0% 14% 0% 0% 0% 62.0°C 17:38:07: 2900MHz 1.01 25% 0% 24% 0% 0% 0% 63.0°C 17:38:12: 2900MHz 1.01 25% 0% 24% 0% 0% 0% 66.0°C 17:38:17: 2917MHz 1.01 25% 0% 24% 0% 0% 0% 62.0°C 17:38:22: 2992MHz 1.01 25% 0% 24% 0% 0% 0% 63.0°C 17:38:28: 2900MHz 1.01 25% 0% 24% 0% 0% 0% 61.0°C 17:38:33: 2914MHz 1.01 25% 0% 24% 0% 0% 0% 61.0°C 17:38:38: 3095MHz 1.01 25% 0% 24% 0% 0% 0% 66.0°C System health while running 7-zip multi core benchmark: Time CPU load %cpu %sys %usr %nice %io %irq Temp 17:38:40: 2900MHz 1.01 14% 0% 14% 0% 0% 0% 75.0°C 17:38:51: 2900MHz 1.47 97% 0% 97% 0% 0% 0% 79.0°C 17:39:01: 2900MHz 1.86 97% 0% 97% 0% 0% 0% 80.0°C 17:39:11: 2891MHz 2.19 95% 1% 93% 0% 0% 0% 79.0°C 17:39:22: 2900MHz 2.22 96% 0% 96% 0% 0% 0% 81.0°C 17:39:32: 2900MHz 2.50 97% 0% 96% 0% 0% 0% 81.0°C 17:39:43: 2900MHz 2.66 94% 1% 93% 0% 0% 0% 80.0°C 17:39:53: 2900MHz 2.86 97% 0% 96% 0% 0% 0% 82.0°C 17:40:04: 2900MHz 3.27 97% 0% 97% 0% 0% 0% 84.0°C 17:40:14: 2900MHz 3.38 95% 1% 94% 0% 0% 0% 84.0°C System health while running cpuminer: Time CPU load %cpu %sys %usr %nice %io %irq Temp 17:40:16: 2900MHz 3.38 15% 0% 15% 0% 0% 0% 84.0°C 17:40:56: 2900MHz 3.68 100% 0% 99% 0% 0% 0% 84.0°C 17:41:37: 2900MHz 3.84 100% 0% 99% 0% 0% 0% 84.0°C 17:42:17: 2900MHz 3.92 100% 0% 99% 0% 0% 0% 84.0°C 17:42:58: 2900MHz 3.96 100% 0% 99% 0% 0% 0% 84.0°C 17:43:39: 2900MHz 3.98 100% 0% 99% 0% 0% 0% 84.0°C 17:44:19: 2900MHz 4.03 100% 0% 99% 0% 0% 0% 85.0°C 17:45:00: 2900MHz 4.01 100% 0% 99% 0% 0% 0% 84.0°C ########################################################################## |
โดยจากผลการทดสอบเมื่อทดสอบ stress แบบ full load ด้วย 7-zip multi core จนอุณหภูมิขึ้นไปที่ 84.0 °C พบว่ามีการจำกัดความเร็วของสัญญาณนาฬิกา CPU จากการทดสอบสูงสุดอยู่ที่ 3,100MHz ที่อุณหภูมิ CPU 60°C และค่อยๆ ลดลงเหลืออยู่ที่ 2,900MHz ที่อุณหภูมิเกิน 75°C แสดงให้เห็นถึงประสิทธิภาพของ Active cooling Fan ที่ไม่สามารถระบายความร้อนเมื่อ CPU ทำงานหนักมากได้ดีพอ โดยในห้องทดสอบที่มีอุณหภูมิแวดล้อมประมาณ 29°C พัดลมทำงานตลอดเวลาที่ทดสอบ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
========================================================================== == Memory bandwidth tests == == == == Note 1: 1MB = 1000000 bytes == == Note 2: Test result is the best of repeated runs. Number of repeats == == is shown in brackets == == Note 3: Results for 'copy' tests show how many bytes can be == == copied per second (adding together read and writen == == bytes would have provided twice higher numbers) == == Note 4: 2-pass copy means that we are using a small temporary buffer == == to first fetch data into it, and only then write it to the == == destination (source -> L1 cache, L1 cache -> destination) == == Note 5: If sample standard deviation exceeds 0.1%, it is shown in == == brackets == ========================================================================== C copy backwards : 8240.4 MB/s (3, 5.1%) C copy backwards (32 byte blocks) : 8248.7 MB/s (2) C copy backwards (64 byte blocks) : 8252.2 MB/s (2) C copy : 7861.4 MB/s (3, 0.1%) C copy prefetched (32 bytes step) : 5309.3 MB/s (2) C copy prefetched (64 bytes step) : 5482.6 MB/s (3, 0.1%) C 2-pass copy : 6869.0 MB/s (3, 0.3%) C 2-pass copy prefetched (32 bytes step) : 3857.1 MB/s (3, 0.3%) C 2-pass copy prefetched (64 bytes step) : 3861.2 MB/s (2) C scan 8 : 2714.6 MB/s (2) C scan 16 : 5178.5 MB/s (2) C scan 32 : 5943.0 MB/s (2) C scan 64 : 9711.8 MB/s (2) C fill : 10662.7 MB/s (2) C fill (shuffle within 16 byte blocks) : 10645.6 MB/s (2) C fill (shuffle within 32 byte blocks) : 10646.9 MB/s (2) C fill (shuffle within 64 byte blocks) : 10622.2 MB/s (2) --- libc memcpy copy : 10698.1 MB/s (3, 0.2%) libc memchr scan : 17212.3 MB/s (3, 0.3%) libc memset fill : 11010.9 MB/s (2) --- MOVSB copy : 8187.8 MB/s (2) MOVSD copy : 8185.8 MB/s (2) STOSB fill : 10997.3 MB/s (2) SSE2 copy : 8180.9 MB/s (3, 0.1%) SSE2 nontemporal copy : 11161.3 MB/s (2) SSE2 copy prefetched (32 bytes step) : 6991.5 MB/s (3, 0.3%) SSE2 copy prefetched (64 bytes step) : 7226.8 MB/s (2) SSE2 nontemporal copy prefetched (32 bytes step) : 8345.5 MB/s (2) SSE2 nontemporal copy prefetched (64 bytes step) : 8700.0 MB/s (2) SSE2 2-pass copy : 6482.3 MB/s (2) SSE2 2-pass copy prefetched (32 bytes step) : 4889.4 MB/s (2) SSE2 2-pass copy prefetched (64 bytes step) : 5030.9 MB/s (3, 0.2%) SSE2 2-pass nontemporal copy : 3662.9 MB/s (3, 0.1%) SSE2 fill : 11004.0 MB/s (2) SSE2 nontemporal fill : 19688.6 MB/s (2) |
ในส่วนของแบนด์วิดท์หน่วยความจำและผลลัพธ์แบบ 7-zip ทำได้ดี โดยเมื่อเปรียบเทียบผลลัพธ์ของ memcpy และ memset แล้วทำได้ดีกว่า Intel N95 และ Celeron N5100
ในขณะที่ประสิทธิภาพ 7-zip ของ ODROID-M1S นั้นดีกว่า Celeron N5105 อ้างอิง: https://github.com/ThomasKaiser/sbc-bench/blob/master/Results.md
การทดสอบประสิทธิภาพของ eMMC และ NVMe SSD
- eMMC
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
root@UnoIoT-PC:/home/arnon# sudo iozone -e -I -a -s 512M -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.506 $ Compiled for 64 bit mode. Build: linux-AMD64 Contributors:William Norcott, Don Capps, Isom Crawford, Kirby Collins Al Slater, Scott Rhine, Mike Wisner, Ken Goss Steve Landherr, Brad Smith, Mark Kelly, Dr. Alain CYR, Randy Dunlap, Mark Montague, Dan Million, Gavin Brebner, Jean-Marc Zucconi, Jeff Blomberg, Benny Halevy, Dave Boone, Erik Habbinga, Kris Strecker, Walter Wong, Joshua Root, Fabrice Bacchella, Zhenghua Xue, Qin Li, Darren Sawyer, Vangel Bojaxhi, Ben England, Vikentsi Lapa, Alexey Skidanov, Sudhir Kumar. Run began: Sun Jul 21 18:08:16 2024 Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 524288 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 512M -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 524288 1024 103772 107436 295798 294323 296530 106148 524288 16384 107652 106822 307988 308700 309198 107570 iozone test complete. |
เราทดสอบโดยการให้อ่านเขียนข้อมูล raw โดยปิดการใช้งาน cache ค่าความเร็วในการอ่านอยู่ที่ประมาณ 301 MB/s และความเร็วในการเขียนอยู่ที่ 104 MB/s ซึ่งความเร็วถือว่าอยู่ในเกณฑ์ของ eMMC 5.1 ตามที่ระบุไว้
- NVMe SSD
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
Include fsync in write timing O_DIRECT feature enabled Auto Mode File size set to 524288 kB Record Size 1024 kB Record Size 16384 kB Command line used: iozone -e -I -a -s 512M -r 1024k -r 16384k -i 0 -i 1 -i 2 Output is in kBytes/sec Time Resolution = 0.000001 seconds. Processor cache size set to 1024 kBytes. Processor cache line size set to 32 bytes. File stride size set to 17 * record size. random random bkwd record stride kB reclen write rewrite read reread read write read rewrite read fwrite frewrite fread freread 524288 1024 1888958 1850547 2903661 2451318 2587007 1894214 524288 16384 1826768 1887713 3138602 3144076 3143191 1934963 iozone test complete. |
ในส่วนของการทดสอบ NVMe นั้นรุ่นที่ใช้ทดสอบเป็น WD_BLACK SN770 NVMe™ SSD ซึ่งเป็น SSD NVMe รุ่นที่รองรับ PCIe 4.0 (ความเร็ว Sequential Read ที่ 4,000 MBps และ Sequential Write ที่ 2,000 MBps )แต่เนื่องจากบอร์ด LattePanda Mu นั้นรองรับเฉพาะ PCIe 3.0 X4 ทำให้ค่าความเร็วในการอ่านอยู่ที่ประมาณ 2.994 GB/s และความเร็วในการเขียนอยู่ที่ 1.742 GB/s ใกล้เคียงกับการทดสอบด้วย CrystalDiskMark บน windows ในรีวิวก่อนหน้านี้ [เปรียบเทียบ]
การท่องเว็บ
ถึงเวลาดูประสิทธิภาพการท่องเว็บ โดยเราจะใช้ Speedometer 2.0 เพื่อตรวจสอบประสิทธิภาพในแต่ละเว็บบราวเซอร์ ซึ่งบน Ubuntu จะมีเพียง Firefox ติดตั้งมาให้ เราต้องทำการติดตั้ง Chromium เพิ่มด้วยตัวเอง
Chromium
โดยค่าจากการทดสอบอยู่ที่ 181 บน chromium ซึ่งสูงกว่าบน firefox ราว ๆ 12%
Firefox
ผลการทดสอบบน firefox ได้คะแนนที่ 160 โดยเมื่อเปรียบเทียบกับบอร์ด Raspberry Pi ที่ได้คะแนนที่ 56 แล้วจะพบว่า คะแนนของ LattePanda Mu สูงกว่าราว ๆ 3 เท่า
การทดสอบกราฟฟิค
Glmark2
เราทดสอบด้วยคำสั่ง glmark2-es2-wayland เพื่อทดสอบประสิทธิภาพ โดย glmark2 Score ได้ค่าที่ 3220 คะแนน ซึ่งสูงกว่า Raspberry Pi 5 ที่ได้ 2036 แต่ก็ต่ำกว่า RK3588 ที่ได้สูงถึง 4,500 คะแนน
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
arnon@UnoIoT-PC:/media/arnon/New Volume$ glmark2-es2-wayland ======================================================= glmark2 2023.01 ======================================================= OpenGL Information GL_VENDOR: Intel GL_RENDERER: Mesa Intel(R) Graphics (ADL-N) GL_VERSION: OpenGL ES 3.2 Mesa 24.0.9-0ubuntu0.1 Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0 Surface Size: 800x600 windowed ======================================================= [build] use-vbo=false: FPS: 2723 FrameTime: 0.367 ms [build] use-vbo=true: FPS: 2849 FrameTime: 0.351 ms [texture] texture-filter=nearest: FPS: 3446 FrameTime: 0.290 ms [texture] texture-filter=linear: FPS: 3950 FrameTime: 0.253 ms [texture] texture-filter=mipmap: FPS: 3847 FrameTime: 0.260 ms [shading] shading=gouraud: FPS: 2339 FrameTime: 0.428 ms [shading] shading=blinn-phong-inf: FPS: 3080 FrameTime: 0.325 ms [shading] shading=phong: FPS: 3977 FrameTime: 0.251 ms [shading] shading=cel: FPS: 3761 FrameTime: 0.266 ms [bump] bump-render=high-poly: FPS: 2439 FrameTime: 0.410 ms [bump] bump-render=normals: FPS: 6197 FrameTime: 0.161 ms [bump] bump-render=height: FPS: 4713 FrameTime: 0.212 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 3135 FrameTime: 0.319 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 1341 FrameTime: 0.746 ms [pulsar] light=false:quads=5:texture=false: FPS: 5095 FrameTime: 0.196 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 1249 FrameTime: 0.801 ms [desktop] effect=shadow:windows=4: FPS: 2600 FrameTime: 0.385 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 828 FrameTime: 1.208 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1421 FrameTime: 0.704 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1050 FrameTime: 0.953 ms [ideas] speed=duration: FPS: 3296 FrameTime: 0.303 ms [jellyfish] <default>: FPS: 2420 FrameTime: 0.413 ms [terrain] <default>: FPS: 216 FrameTime: 4.645 ms [shadow] <default>: FPS: 3549 FrameTime: 0.282 ms [refract] <default>: FPS: 523 FrameTime: 1.914 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 4548 FrameTime: 0.220 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 4497 FrameTime: 0.222 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 4554 FrameTime: 0.220 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 4533 FrameTime: 0.221 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 4551 FrameTime: 0.220 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 4531 FrameTime: 0.221 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 4552 FrameTime: 0.220 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 4513 FrameTime: 0.222 ms ======================================================= glmark2 Score: 3220 ======================================================= |
WebGL Aquarium demo
การทดสอบด้วย WebGL Aquarium demo บน Chromium ได้ผลลัพธ์ที่น่าพอใจสามารถทดสอบได้ 37 fps ที่ปลาจำนวน 30,000 ตัว ซึ่งถ้าเปรียบกับตัวแรงอย่าง RK3588s ทำได้ 31 fps ที่ 5,000 ตัว [อ้างอิง]
การทดสอบเล่น YouTube และวิดีโอ
ในส่วนของการทดสอบการเล่นวิดีโอบน Youtube ด้วยความละเอียด 4k ที่ 30 fps สามารถเล่นไฟล์ได้โดยไม่ปรากฎ frame drop ให้เห็น
จากนั้นเราการทดสอบการเล่นวิดีโอบน Youtube ด้วยความละเอียด 4k ที่ 60 fps สามารถเล่นไฟล์ได้โดยมี frame drop ที่ราว ๆ 4.5 % ซึ่งน้อยมากไม่สามารถสังเกตการกระตุกได้ด้วยสายตา
การเล่นไฟล์ Video
การทดสอบเล่นไฟล์ codec H.264 ความละเอียด Full HD(1920 x 1080) ด้วยโปรแกรม VLC สามารถเล่นได้ ดีโดยไมี frame drop ที่ต่ำมาก
ข้อสังเกตคือพัดลมทำงานเต็มรอบทันทีที่เริ่มเล่นไฟล์วิดีโอโดยเราทดสอบด้วยวิดีโอ Big Bug Bunny เรื่องการถอดรหัสเสียงต่าง ๆทำได้ครบถ้วน
จากนั้นเราทดสอบเล่นไฟล์ที่เป็น H.265 ที่ความละเอียด 4K@30fps ก็สามารถเล่นไฟล์ได้โดยไม่มีการกระตุกเมื่อเปิดดูค่าสถิติก็จะพบว่ามี frame drop ที่น้อยมาก ๆ
ทดสอบประสิทธิภาพของ LAN และ Wi-Fi
ในการทดสอบประสิทธิภาพของเครือข่ายเราจะทำการทดสอบความเร็วของ LAN และ Wi-Fi โดยการทดสอบด้วยโปรแกรม iperf3
iperf3 บน ETH0 ซึ่งบอร์ด Full-Function Evaluation ระบุไว้ว่า ethernet มีความเร็วที่ 2.5Gbps แต่ในสถานที่เขียนรีวิวนี้มี gigabit switch ธรรมดาเท่านั้น จึงทดสอบได้เพียงความเร็วสูงสุดที่ 1Gbps
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
arnon@UnoIoT-PC:~$ iperf3 -c 192.168.31.232 Connecting to host 192.168.31.232, port 5201 [ 5] local 192.168.31.124 port 52360 connected to 192.168.31.232 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 114 MBytes 960 Mbits/sec 0 393 KBytes [ 5] 1.00-2.00 sec 112 MBytes 935 Mbits/sec 0 393 KBytes [ 5] 2.00-3.00 sec 112 MBytes 943 Mbits/sec 0 393 KBytes [ 5] 3.00-4.00 sec 112 MBytes 943 Mbits/sec 0 393 KBytes [ 5] 4.00-5.00 sec 112 MBytes 942 Mbits/sec 0 393 KBytes [ 5] 5.00-6.00 sec 112 MBytes 943 Mbits/sec 0 393 KBytes [ 5] 6.00-7.00 sec 112 MBytes 942 Mbits/sec 0 393 KBytes [ 5] 7.00-8.00 sec 112 MBytes 943 Mbits/sec 0 393 KBytes [ 5] 8.00-9.00 sec 112 MBytes 943 Mbits/sec 0 393 KBytes [ 5] 9.00-10.00 sec 112 MBytes 941 Mbits/sec 0 393 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 1.10 GBytes 943 Mbits/sec 0 sender [ 5] 0.00-10.04 sec 1.10 GBytes 938 Mbits/sec receiver iperf Done. |
จากคุณสมบัติของบอร์ดที่แจ้งว่า ethernet port เป็น gigabit เมื่อเราทดสอบที่ port ETH0 ก็พบว่าความเร็วในการส่งข้อมูลทำได้ที่ 943 Mbits ต่อวินาที เป็นความเร็วที่ทำได้ดี โดยตอนทดสอบได้ทำการเชื่อมต่อระหว่างเครื่อง server และ client ของ iperf3 ผ่าน router Xiaomi Router AX3200
iperf3 บน WLAN0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
arnon@UnoIoT-PC:~$ iperf3 -c 192.168.31.232 Connecting to host 192.168.31.232, port 5201 [ 5] local 192.168.31.80 port 52458 connected to 192.168.31.232 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-1.00 sec 75.8 MBytes 635 Mbits/sec 0 3.02 MBytes [ 5] 1.00-2.00 sec 69.9 MBytes 586 Mbits/sec 0 3.02 MBytes [ 5] 2.00-3.00 sec 66.0 MBytes 553 Mbits/sec 0 3.02 MBytes [ 5] 3.00-4.00 sec 69.2 MBytes 581 Mbits/sec 0 3.02 MBytes [ 5] 4.00-5.00 sec 67.0 MBytes 562 Mbits/sec 0 3.02 MBytes [ 5] 5.00-6.00 sec 69.0 MBytes 579 Mbits/sec 0 3.02 MBytes [ 5] 6.00-7.00 sec 75.0 MBytes 629 Mbits/sec 0 3.02 MBytes [ 5] 7.00-8.00 sec 73.9 MBytes 619 Mbits/sec 0 3.02 MBytes [ 5] 8.00-9.00 sec 74.5 MBytes 625 Mbits/sec 0 3.02 MBytes [ 5] 9.00-10.00 sec 70.9 MBytes 595 Mbits/sec 0 3.02 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-10.00 sec 711 MBytes 596 Mbits/sec 0 sender [ 5] 0.00-10.08 sec 711 MBytes 592 Mbits/sec receiver iperf Done. |
ในการทดสอบความเร็วของ Wi-Fi นั้น เราใช้โมดูล M.2 RTL8822CE (Wi-Fi 5) เราทำทดสอบโดยใช้เน็ตเวิร์ค 5GHz ของ Xiaomi Router AX3200 ซึ่งความเร็วในการรับส่งข้อมูลเฉลี่ยนอยู่ที่ 592 Mbps ก็ถือว่าเป็นไปตามมาตรฐาน AC600
การทดลองใช้งาน GPIO
เนื่องจากข้อมูลจากทาง LattePanda มีน้อยมากเกี่ยวกับการใช้งาน GPIO ทั้งในแง่ของ IO และการใช้งานเป็น UART,I2C และ SPI โอยอ้างอิงจากเอกสารจะมีข้อมูลว่าการสนับสนุนดังนี้
- 4x UART, 4x I2C
- สูงสุด 64x GPIO
ซึ่งไม่พบเอกสารที่เป็นข้อมูลสำคัญที่จะทำให้เราสามารถต่ออุปกรณ์ต่าง ๆ ร่วมกับบอร์ด LattePanda Mu ได้ โดยข้อมูลที่พบมีเพียง Dev Status เท่านั้น ที่แจ้งให้ทราบว่าการพัฒนาส่วนของ GPIO ยังไม่สมบูรณ์ แต่ I2C,SPI และ UART ใช้งานได้แล้ว
แต่ก็ไม่มีข้อมูลเพิ่มเติมใด ๆ ซึ่งเราจะทำการตรวจสอบดังแต่ในส่วนของไฟล์ และการใช้งานเท่าที่พอจะทำได้กัน
- I2C
เริ่มต้นจากการที่เราตรวจสอบระบบไฟล์ I2C ในเครื่องก่อนได้ผลลัพธ์ดังนี้
1 2 3 |
root@UnoIoT-PC:~# ls /dev/i2c- i2c-0 i2c-10 i2c-12 i2c-14 i2c-2 i2c-4 i2c-6 i2c-8 i2c-1 i2c-11 i2c-13 i2c-15 i2c-3 i2c-5 i2c-7 i2c-9 |
จากนั้ันเราได้ทำการติดตั้ง i2c-tools ลงไปเพื่อทำการตรวจสอบข้อมูลของ I2C ของ LattePanda Mu ซึ่งพบว่าเราสามารถ scan ตรวจพบ port ต่าง ๆ เพื่อดูการตอบกลับของอุปกรณ์เชื่อมต่อที่ address ต่าง ๆ ได้ เพียงสอบพอร์ตเท่านั้นคือ I2C-5 และ I2C-7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
root@UnoIoT-PC:~# i2cdetect -y 5 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: 08 -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 40: -- -- -- -- 44 -- -- -- -- -- -- -- -- -- -- -- 50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- root@UnoIoT-PC:~# i2cdetect -y 7 0 1 2 3 4 5 6 7 8 9 a b c d e f 00: -- -- -- -- -- -- -- -- 10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 20: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 30: -- -- -- -- -- -- -- 37 -- -- -- -- -- -- -- -- 40: -- -- -- -- -- -- -- -- -- 49 -- -- -- -- -- -- 50: 50 51 -- -- 54 -- -- -- -- 59 -- -- -- -- -- -- 60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- 70: -- -- -- -- -- -- -- -- |
โดยหลังจากทดสอบเชื่อมต่อ Proximity sensor ที่เป็น I2C เข้าไปยังบอร์ด ก็ไม่สามารถ scan พบอุปกรณ์ได้ ดังนั้นข้อมูลในส่วนนี้คงต้องรอเอกสารจาก LattePanda ต่อไป โดยไม่ได้ทำการทดสอบต่อในส่วนของ UART และ GPIO
ทดสอบการใช้พลังงาน
การทดสอบวัดการใช้พลังงานของ LattePanda Mu บนบอร์ด โดยใช้ USB power meter ได้ค่าผลลัพธ์ขณะทดสอบดังนี้
- ปิดเครื่อง – 0.33 วัตต์
- ช่วงบูตเครื่อง – 9.9 วัตต์
- ไม่ได้ใช้งาน 5.6วัตต์ (ต่อจอ HDMI, WiFi, LAN เท่านั้น)
- วิดีโอ YouTube 4K@60FPS ใน Chromium (เต็มหน้าจอ) – เฉลี่ยที่ 20 วัตต์
- การทดสอบแบบทำงานเต็มที่บนทั้ง 4 คอร์ ด้วย 7Zip Benchmark –เฉลี่ยที่ 22 วัตต์
สรุปการใช้งานและทดสอบประสิทธิ์ภาพของ LattePanda Mu บน Ubuntu 24.04
จากการทดสอบการใช้งาน LattePanda Mu บน Ubuntu 24.04 นั้นพบว่าการใช้งานเป็นไปได้อย่างราบรื่น สามารถตรวจพบอุปกรณ์ต่าง ๆ และมีไดรเวอร์รองรับทั้งหมด
การทดสอบประสิทธิภาพต่าง ๆ ให้ผลลัพธ์ใกล้เคียงกับที่ทดสอบบน Windows เลยทีเดียว แต่การพยายามจะใช้งานเป็นคอมพิวเตอร์ประจำวันก็พบปัญหาเรื่องของประสิทธิภาพการระบายความร้อนของชุดพัดลม Active cooling ที่ยังระบายความร้อนได้ดีไม่เพียงพอที่โหลดของ CPU สูง ๆ และต้องประสบความล้มเหลวจากการพยายามประกอบลงในเคส ITX เรื่องจากบอร์ด Full carrier นั้นมีขนาดใน form factor ITX แต่การจัดวางตำแหน่งของพอร์ตต่าง ๆ ไม่เป็นไปตามมาตรฐานของเมนบอร์ดเลยไม่สามารถประกอบลงไปในเคสได้
และที่น่าเสียดายคือในขณะนี้ GPIO ยังไม่มีไดรเวอร์ให้สามารถทำการทดสอบได้ [อ้างอิง] หากมีการอัพเดตจาก LattePanda จะทำการมาเพิ่มเติมเนื้อหาส่วนนี้ในภายหลัง
แต่อย่างไรก็ตาม LattePanda Mu ถือว่าเป็น Compute Module ที่ใช้งานได้ง่าย สามารถทำให้เราออกแบบโซลูชั่นงานของเราได้ง่าย เพราะส่วนประมวลผลทั้งหมดอยู่บน Compute Module อยู่แล้ว เพียงทำ breakout สำหรับจ่ายไฟและการเชื่อมต่อเครือข่ายก็พร้อมใช้งานได้ทันที หรือหากต้องการเชื่อมต่ออุปกรณ์เพิ่มก็สามารถออกแบบเพิ่มได้ทันทีเพราะบน Compute Module มี USB,PCIe และ GPIO ให้พร้อม บน SO-DIMM ขนาด 260 ขา
ซึ่งต้องขอขอบคุณ DFRobot ที่ได้ส่งบอร์ด LattePanda Mu และ carrier บอร์ดรวมถึงอุปกรณ์เสริมมาให้ทำการรีวิว หากสนใจในตัวผลิตภัณฑ์นี้ สามารถสั่งซื้อได้ทาง เว็บไซต์ของ DFRobot ราคาขึ้นอยู่กับตัวเลือก เช่น บอร์ด LattePanda $139.00 + Full-Function + Fanless Heatsink + Power Supply 19V 90W AC/DC ราคา $274.90 (~10,000฿) หรือบน Amazon ราคา $199(~7,100฿) สำหรับโมดูล, Lite carrier board, และ active cooler
Fulltime Maker
ปัจจุบันดูแลส่วนงาน R&D และ Innovation
ความสนใจคือ Single Board Computer และงานด้าน IoT