เรามีตัวอย่างของคอมพิวเตอร์บอร์ดเดี่ยว Khadas Edge2 ที่ใช้โปรเซสเซอร์ Rockchip RK3588S octa-core Cortex-A76/A55 และตอนนี้บอร์ดเปิดตัวอย่างเป็นทางการแล้ว วันนี้เราสามารถโพสต์รีวิวบอร์ดของเรากับการทดสอบ Ubuntu 22.04 และเราจะทดสอบกับ Android 12 ในบทความต่อไป
Khadas Edge2 Pro พร้อมอุปกรณ์เสริม
Khadas Edge2 มีสองรุ่น คือ Basic และ Pro บอร์ดที่เราได้รับเป็น Edge2 Pro SBC พร้อม RAM ขนาด 16GB และแฟลช 64GB ที่มาพร้อมกับเสาอากาศ WiFi 2 อัน และบริษัทยังได้ส่ง fanink แบบบาง (low-profile) และ thermal pad เพื่อระบายความร้อนด้วย ในทางทฤษฎีจะเป็นทางเลือก แต่ในทางปฏิบัติมันเป็นสิ่งจำเป็น เนื่องจากในขณะที่บอร์ดทำงานจะไม่ร้อนมาก แต่ก็ยังต้องการฮีทซิงค์เพื่อป้องกันความร้อนสูงเกินไปและการควบคุมปริมาณ พัดลมอาจไม่จำเป็นจริงๆ ตามที่เราจะเห็นด้านล่าง
ฉันแนะนำให้ติดตั้งเสาอากาศก่อนพัดลมซิงค์ ขั้วต่อเสาอากาศ MHF4 มีขนาดเล็ก และฉันพบว่าเสาอากาศเสียบเข้ากับบอร์ดได้ยากมาก แต่สามารถถอดออกได้อย่างง่ายดาย และในที่สุดฉันก็ทำตัวเชื่อมต่ออันหนึ่งเสียหาย เหมือนที่ฉันทำกับ Khadas VIM4 ที่มีตัวเชื่อมต่อขนาดเล็กเหมือนกัน, Khadas VIM1S SBC มีขั้วต่อ u.FL ที่ใหญ่กว่า และสามารถติดตั้งเสาอากาศเดี่ยวที่มาพร้อมกับบอร์ดได้ง่ายกว่า ฉันหวังว่า Khadas จะใช้สิ่งนั้นกับบอร์ดทั้งหมดได้ แต่พื้นที่บน PCB อาจเป็นปัญหาได้
บอร์ดยังคงบางอยู่แม้จะติดตั้งฮีทซิงค์แล้ว ฉันวัดความหนาประมาณ 11 มม. ด้วยคาลิเปอร์
การติดตั้ง Ubuntu 22.04 ด้วยระบบ OOWOW
มาเชื่อมต่อบอร์ดกับขั้วต่อ HDMI และคีย์บอร์ดกัน เเนื่องจากมันเชื่อมต่อกับอะแดปเตอร์ USB PD เพื่อจ่ายไฟ หากคุณไม่ชอบใช้ MicroSD card และ/หรือสาย USB กับ Windows หรือเครื่องมือ command line (บรรทัดคำสั่ง) คุณจะต้องชอบบอร์ด Khadas เพราะตอนนี้มาพร้อมกับระบบ OOWOW ที่ให้ผู้ใช้ดาวน์โหลดและแฟลชอิมเมจ OS ทางเลือกด้วยอินเทอร์เฟซที่ใช้งานง่าย
เมื่อทำการบู๊ตครั้งแรก เราจะเห็น OOWOW Wizard เพื่อกำหนดค่า WiFi จากนั้นเลือกอิมเมจระบบปฏิบัติการ
ในขณะที่ทำการทดสอบ Android 11, Android 12, Ubuntu 22.04 Desktop และ Ubuntu 22.04 Server พร้อมใช้งานแล้ว ฉันใช้อิมเมจเดสก์ท็อป Ubuntu 22.04 (Gnome) และหลังจากนั้นไม่กี่นาทีฉันก็ได้รับข้อความแจ้งการเข้าสู่ระบบ
รหัสผ่านเริ่มต้นสำหรับผู้ใช้ Khadas คือ “khadas” การเข้าสู่ระบบครั้งแรกไม่ได้ขอให้เราเปลี่ยนชื่อผู้ใช้หรือรหัสผ่าน ดังนั้นจึงอาจจะต้องดำเนินการในภายหลังเพื่อให้สอดคล้องกับระเบียบใหม่ โดยเฉพาะอย่างยิ่ง ถ้าฉันจำไม่ผิด เซิร์ฟเวอร์ openssh-server จะถูกเปิดใช้งานโดยค่าเริ่มต้น ขณะนี้เราสามารถเปลี่ยนรหัสผ่านได้ด้วยตนเอง
ข้อมูลระบบ Ubuntu 22.04 บน Khadas Edge2
เริ่มต้นด้วยการดูข้อมูลระบบบางส่วนจากบันทึกเคอร์เนล ที่ได้รับจาก dmesg
หลังจากเชื่อมต่อกับเราเตอร์ WiFi ของฉันแล้ว ฉันได้ทำการอัปเกรดระบบและรีบูต ระบบแจ้งให้เราทราบรายละเอียดเพิ่มเติม:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
khadas@Khadas:~$ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=22.04 DISTRIB_CODENAME=jammy DISTRIB_DESCRIPTION="Ubuntu 22.04.1 LTS" khadas@Khadas:~$ uname -a Linux Khadas 5.10.66 #1.1.1 SMP Wed Sep 7 15:39:24 CST 2022 aarch64 aarch64 aarch64 GNU/Linux khadas@Khadas:~$ free -mh total used free shared buff/cache available Mem: 15Gi 524Mi 14Gi 33Mi 448Mi 14Gi Swap: 1.0Gi 0B 1.0Gi khadas@Khadas:~$ df -mh Filesystem Size Used Avail Use% Mounted on tmpfs 1.6G 11M 1.6G 1% /run /dev/mmcblk0p2 57G 3.4G 53G 7% / tmpfs 7.7G 0 7.7G 0% /dev/shm tmpfs 5.0M 4.0K 5.0M 1% /run/lock tmpfs 7.7G 8.0K 7.7G 1% /tmp /dev/mmcblk0p1 217M 47M 161M 23% /boot tmpfs 1.6G 76K 1.6G 1% /run/user/117 tmpfs 1.6G 68K 1.6G 1% /run/user/1000 |
มันกำลังรัน Ubuntu 22.04 บน Linux 5.10.66 และเรามี RAM ประมาณ 16 GB และพาร์ติชั่นรูท 57GB ตามที่คาดไว้ มาติดตั้งและเรียกใช้ 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 42 43 44 45 46 47 48 49 50 51 52 53 54 |
khadas@Khadas:~$ sudo inxi -Fc0 System: Host: Khadas Kernel: 5.10.66 aarch64 bits: 64 Console: pty pts/1 Distro: Ubuntu 22.04.1 LTS (Jammy Jellyfish) Machine: Type: ARM System: Khadas Edge2 details: N/A serial: 8a6cc05fd8d15662 CPU: Info: 3x 4-core model: N/A variant-1: cortex-a76 variant-2: cortex-a55 bits: 64 type: MCP AMP cache: L2: 3x 512 KiB (1.5 MiB) Speed (MHz): avg: 2052 min/max: 408/1800:2304 cores: 1: 1800 2: 1800 3: 1800 4: 1800 5: 2304 6: 2304 7: 2304 8: 2304 Graphics: Device-1: display-subsystem driver: rockchip_drm v: N/A Device-2: mali-bifrost driver: mali v: N/A Device-3: rk3588-dw-hdmi driver: dwhdmi_rockchip v: N/A Display: server: X.org v: 1.21.1.3 with: Xwayland v: 22.1.1 driver: gpu: rockchip_drm,mali,dwhdmi_rockchip note: X driver n/a tty: 80x24 resolution: 1280x800 Message: GL data unavailable in console for root. Audio: Device-1: simple-audio-card driver: N/A Device-2: hdmi driver: rk_hdmi_sound Device-3: simple-audio-card driver: asoc_simple_card Device-4: rk3588-dw-hdmi driver: dwhdmi_rockchip Device-5: simple-audio-card driver: asoc_simple_card Device-6: simple-audio-card driver: asoc_simple_card Sound Server-1: ALSA v: k5.10.66 running: yes Sound Server-2: PulseAudio v: 15.99.1 running: yes Sound Server-3: PipeWire v: 0.3.48 running: yes Network: Device-1: Broadcom driver: pcieh Device-2: wlan-platdata driver: wlan_platdata IF-ID-1: wlan0 state: up mac: 70:f7:54:b9:4f:73 Bluetooth: Device-1: rk3588-uart driver: dw_apb_uart Report: hciconfig ID: hci0 state: up address: 70:F7:54:B9:4F:74 bt-v: 3.0 Drives: Local Storage: total: 58.24 GiB used: 3.41 GiB (5.9%) ID-1: /dev/mmcblk0 model: CJTD4R size: 58.24 GiB Partition: ID-1: / size: 56.45 GiB used: 3.36 GiB (6.0%) fs: ext4 dev: /dev/mmcblk0p2 ID-2: /boot size: 216.5 MiB used: 46.8 MiB (21.6%) fs: ext4 dev: /dev/mmcblk0p1 Swap: ID-1: swap-1 type: zram size: 256 MiB used: 0 KiB (0.0%) dev: /dev/zram1 ID-2: swap-2 type: zram size: 256 MiB used: 0 KiB (0.0%) dev: /dev/zram2 ID-3: swap-3 type: zram size: 256 MiB used: 0 KiB (0.0%) dev: /dev/zram3 ID-4: swap-4 type: zram size: 256 MiB used: 0 KiB (0.0%) dev: /dev/zram4 Sensors: System Temperatures: cpu: 47.2 C mobo: N/A Fan Speeds (RPM): N/A Info: Processes: 284 Uptime: 2m Memory: 15.34 GiB used: 679.1 MiB (4.3%) Init: systemd runlevel: 5 Shell: Sudo inxi: 3.3.13 |
เราสามารถเห็น Cortex-A76 โอเวอร์คล็อกได้ถึง 2304 MHz และCortex-A55 ได้ถึง 1,800 MHz, ZRAM ยังเปิดใช้งานอยู่ (ดี!) แม้ว่าเราจะมีหน่วยความจำกายภาพ 16GB
Benchmarks Khadas Edge2 ใน Linux
ขณะนี้เราสามารถใช้ Linux benchmarks บนบอร์ด Khadas Edge2 เพื่อเปรียบเทียบกับ ROCK 5B ที่ใช้ Rockchip RK3588 , Raspberry Pi 4 และคอมพิวเตอร์บอร์ดเดี่ยวอื่นๆ โปรดทราบว่าหลังจากรีบูต CPU จะมีค่าเริ่มต้นเป็นผู้ควบคุมประสิทธิภาพ
1 2 3 4 5 6 7 8 9 |
khadas@Khadas:~$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor performance performance performance performance performance performance performance performance |
ฉันเริ่มต้นด้วย sbc-bench.sh ปกติจาก Thomas kaiser:
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 |
khadas@Khadas:~$ sudo ./sbc-bench.sh Average load and/or CPU utilization too high (too much background activity). Waiting... Too busy for benchmarking: 13:02:47 up 4 min, 2 users, load average: 0.12, 0.10, 0.04, cpu: 2% Too busy for benchmarking: 13:02:52 up 4 min, 2 users, load average: 0.11, 0.10, 0.04, cpu: 0% Too busy for benchmarking: 13:02:57 up 4 min, 2 users, load average: 0.10, 0.10, 0.04, cpu: 0% Too busy for benchmarking: 13:03:02 up 4 min, 2 users, load average: 0.09, 0.10, 0.04, cpu: 0% sbc-bench v0.9.8 Installing needed tools: apt -f -qq -y install lshw, tinymembench, ramlat, mhz.. Done. Checking cpufreq OPP. Done (results will be available in 22-34 minutes). Executing tinymembench. Done. Executing RAM latency tester. Done. Executing OpenSSL benchmark. Done. Executing 7-zip benchmark. Done. Checking cpufreq OPP. Done (23 minutes elapsed). Memory performance (different CPU cores measured individually): memcpy: 6246.4 MB/s memset: 21830.2 MB/s memcpy: 10855.0 MB/s memset: 29113.6 MB/s (0.6%) memcpy: 10849.5 MB/s memset: 29040.2 MB/s 7-zip total scores (3 consecutive runs): 16458,16469,16488 OpenSSL results (different CPU cores measured individually): type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes 16384 bytes aes-128-cbc 159159.98k 471394.54k 920594.26k 1219531.78k 1343911.25k 1354235.90k (Cortex-A55) aes-128-cbc 630376.10k 1255956.48k 1628019.54k 1746813.27k 1793103.19k 1797565.10k (Cortex-A76) aes-128-cbc 641552.95k 1274298.15k 1635059.46k 1751368.70k 1797278.38k 1802245.46k (Cortex-A76) aes-192-cbc 151839.98k 420351.79k 749525.76k 939204.95k 1013820.07k 1019740.16k (Cortex-A55) aes-192-cbc 593842.50k 1116928.60k 1384821.16k 1457585.49k 1498999.47k 1501959.51k (Cortex-A76) aes-192-cbc 599591.83k 1118869.76k 1385524.65k 1459217.75k 1499878.74k 1502866.09k (Cortex-A76) aes-256-cbc 147179.67k 386230.29k 647709.44k 784962.56k 835922.60k 840095.06k (Cortex-A55) aes-256-cbc 563814.41k 990876.86k 1197297.24k 1260580.86k 1284167.00k 1286427.99k (Cortex-A76) aes-256-cbc 571227.48k 994213.65k 1200338.09k 1261701.80k 1285199.19k 1287487.49k (Cortex-A76) Full results uploaded to http://ix.io/4a5U. |
หากเราดูผลลัพธ์ทั้งหมด จะพบว่าความถี่ที่วัดได้สำหรับ Corex-A76 cores คือ 2,257 MHz สำหรับคลัสเตอร์แบบดูอัลคอร์หนึ่งคลัสเตอร์ และ 2,259 สำหรับคลัสเตอร์แบบดูอัลคอร์อื่น ๆ ซึ่งใกล้เคียงกับที่ Khadas โฆษณาไว้ที่ 2.25 กิกะเฮิรตซ์ ในระหว่างการเปรียบเทียบในห้องที่มีอุณหภูมิแวดล้อม 28°C อุณหภูมิของระบบไม่เคยเกิน 61.9°C ดังนั้นระบบทำความเย็นจึงเหมาะสมและไม่มีการควบคุมเกิดขึ้น ตอนแรกฉันคิดว่าพัดลมไม่เคยใช้ แต่เมื่อมองเข้าไปใกล้ๆ พัดลมก็ถูกเปิดใช้งานจริงๆ แต่จะเงียบแล้ว
Khadas Edge2 SBC มีประสิทธิภาพใกล้เคียงกับ Rock 5B อย่างที่คาดไว้ และเร็วกว่า Khadas VIM4 ที่ใช้โปรเซสเซอร์ Amlogic A311D2 และเร็วกว่า Raspberry Pi 4 ถึงสองเท่า ODROID-N2+ SBC ที่ใช้โปรเซสเซอร์ Amlogic S922X รุ่นเก่า @ 2.4 GHz จะอยู่ตรงกลาง
ตอนนี้เรามาเปลี่ยนไปใช้ benchmarks ของเบราว์เซอร์ด้วยSpeedometer 2.0กัน
ฉันใช้หน้าจอแสดงผลขนาดเล็ก 10.1 นิ้วที่มีความละเอียด 1280 × 720 แต่ฉันบังคับให้เป็น 1920 × 1080 โดยมีการปรับขนาดเศษส่วน 125% ก่อนทำการทดสอบ
แต่เพื่อให้แน่ใจว่า ฉันทดสอบอีกครั้งเมื่อเชื่อมต่อกับจอภาพ Full HD ที่มีความละเอียด 1920×1080 และไม่มีสเกลแบบเศษส่วน ฉันได้ผลลัพธ์ที่คล้ายกันใน Chromium 78.84 คะแนน และ Firefox 53.14 คะแนน จึงไม่แตกต่างกันมากนัก
ใน ฺBenchmark บอร์ด Khadas Edge2 นั้นเร็วกว่า Raspberry Pi 4 ที่โอเวอร์คล็อกเกือบสี่เท่า โปรดทราบว่าการปรับปรุงการเร่งความเร็วของ Chromium และกราฟิก 3D อาจมีบทบาทที่นี่ แต่ประสิทธิภาพยังคงน่าประทับใจ เท่าที่เห็นใน Arm SBC อื่นๆ Chromium ทำงานได้ดีกว่า Firefox ที่มี Speedometer 2.0
ลองใช้ Benchmarks จาก Phoronix TestSuite โดยเปรียบเทียบ Khadas Edge2 กับ UP 4000 SBC กับโปรเซสเซอร์ Intel Celeron N3350 dual-core Apollo Lake ที่โอเวอร์คล็อกที่ 2.4 GHz พร้อมกับ Jetson Nano และ Raspberry Pi 4 คุณจะพบผลลัพธ์ทั้งหมดได้จากเว็ปไซด์ Openbenchmarking
ดังที่เราเห็น การทดสอบบางอย่างไม่สำเร็จ:
1 2 3 4 5 6 7 8 9 10 11 12 |
LAME MP3 Encoding 3.100: pts/encode-mp3-1.7.4 [WAV To MP3] Test 9 of 15 Estimated Trial Run Count: 3 Estimated Test Run-Time: 3 Minutes Estimated Time To Completion: 35 Minutes [04:01 CDT] Started Run 1 @ 03:27:03 The test quit with a non-zero exit status. Started Run 2 @ 03:27:07 The test quit with a non-zero exit status. Started Run 3 @ 03:27:11 The test quit with a non-zero exit status. |
แต่ในการทดสอบทั้งหมด Khadas Edge2 Pro ทำได้ดีกว่าแพลตฟอร์มอื่นๆ ทั้งหมด ยกเว้น SQLite ดังนั้นฉันคาดว่า Rockchip RK3588S จะให้ประสิทธิภาพที่คล้ายคลึงกันกับ Gemini Lake หรือ Jasper Lake
หมายเหตุ Khadas Edge2 เป็นแพลตฟอร์มที่ตั้งค่า governor ได้:
1 2 3 4 5 |
UP 4000 2GB: Scaling Governor: intel_pstate powersave - CPU Microcode: 0x28 - Thermald 1.9.1 UPboard 2GB: Scaling Governor: intel_pstate powersave - CPU Microcode: 0x411 - Thermald 1.9.1 Jetson Nano 4GB: Scaling Governor: tegra-cpufreq schedutil RPi4 4GB: Scaling Governor: cpufreq-dt ondemand Khadas Edge2 Pro 16GB: Scaling Governor: cpufreq-dt performance |
Phoronix ให้ “ประสบการณ์ benchmark” ที่นอกกรอบ และโปรดสังเกตว่าคะแนนของบอร์ดอื่นๆ สูงขึ้นหากตั้งค่า governor ให้ทำงาน, ยากที่จะทราบได้
กราฟิก 3D Acceleration ใน Ubuntu 22.04
ฉันทดสอบการรองรับกราฟิก 3D ครั้งแรก, ฉันรัน glxinfo:
1 2 3 4 5 6 7 8 9 10 11 12 |
Extended renderer info (GLX_MESA_query_renderer): Vendor: Mesa/X.org (0xffffffff) Device: llvmpipe (LLVM 13.0.1, 128 bits) (0xffffffff) Version: 22.0.5 Accelerated: no Video memory: 15704MB Unified memory: no Preferred profile: core (0x1) Max core profile version: 4.5 Max compat profile version: 4.5 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.2 |
ดูเหมือนว่าจะบ่งชี้ว่าไม่ได้เปิดใช้งานการเร่งกราฟิก 3D เนื่องจากต้องใช้ไดรเวอร์ซอฟต์แวร์ llvmpipe แต่คำสั่งนั้นใช้ได้กับ X11 เท่านั้นและอิมเมจ Ubuntu 22.04 ของ Khadas ใช้ Wayland แทน
ดังนั้นเราจึงต้องใช้ eglinfo แทน และเราจะเห็นว่ามีการใช้ไดรเวอร์ Mali GPU:
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 |
khadas@Khadas:~$ eglinfo EGL client extensions string: EGL_EXT_client_extensions EGL_EXT_platform_base EGL_KHR_client_get_all_proc_addresses EGL_KHR_platform_gbm EGL_KHR_platform_wayland EGL_EXT_platform_wayland GBM platform: arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '6'. eglinfo: eglInitialize failed Wayland platform: EGL API version: 1.4 EGL vendor string: ARM EGL version string: 1.4 Valhall-"g6p0-01eac0" EGL client APIs: OpenGL_ES EGL extensions string: EGL_WL_bind_wayland_display EGL_NV_context_priority_realtime EGL_KHR_partial_update EGL_EXT_swap_buffers_with_damage EGL_KHR_swap_buffers_with_damage EGL_KHR_config_attribs EGL_KHR_image EGL_KHR_image_base EGL_KHR_fence_sync EGL_KHR_wait_sync EGL_KHR_gl_colorspace EGL_KHR_get_all_proc_addresses EGL_IMG_context_priority EGL_KHR_no_config_context EGL_EXT_image_dma_buf_import EGL_EXT_image_dma_buf_import_modifiers EGL_EXT_yuv_surface EGL_EXT_pixel_format_float EGL_ARM_pixmap_multisample_discard EGL_KHR_gl_texture_2D_image EGL_KHR_gl_renderbuffer_image EGL_KHR_create_context EGL_KHR_surfaceless_context EGL_KHR_gl_texture_cubemap_image EGL_EXT_image_gl_colorspace EGL_EXT_create_context_robustness Configurations: bf lv colorbuffer dp st ms vis cav bi renderable supported id sz l r g b a th cl ns b id eat nd gl es es2 vg surfaces --------------------------------------------------------------------- 0x01 32 0 8 8 8 8 0 0 0 0 0x00-- a y y win,pb 0x02 32 0 8 8 8 8 24 0 0 0 0x00-- a y y win,pb 0x03 32 0 8 8 8 8 24 8 0 0 0x00-- a y y win,pb 0x04 32 0 8 8 8 8 24 8 4 1 0x00-- a y y win,pb 0x05 16 0 5 6 5 0 0 0 0 0 0x00-- y y y win,pb 0x06 16 0 5 6 5 0 24 0 0 0 0x00-- y y y win,pb 0x07 16 0 5 6 5 0 24 8 0 0 0x00-- y y y win,pb 0x08 16 0 5 6 5 0 24 8 4 1 0x00-- y y y win,pb 0x09 24 0 8 8 8 0 0 0 0 0 0x00-- y y y win,pb 0x0a 24 0 8 8 8 0 24 8 0 0 0x00-- y y y win,pb 0x0b 24 0 8 8 8 0 0 0 4 1 0x00-- y y y win,pb 0x0c 24 0 8 8 8 0 24 8 4 1 0x00-- y y y win,pb 0x0d 16 0 5 5 5 1 24 8 0 0 0x00-- a y y win,pb 0x0e 16 0 5 5 5 1 24 8 4 1 0x00-- a y y win,pb 0x0f 16 0 4 4 4 4 24 8 0 0 0x00-- a y y win,pb 0x10 16 0 4 4 4 4 24 8 4 1 0x00-- a y y win,pb 0x11 32 0 8 8 8 8 24 8 8 1 0x00-- a y y win,pb 0x12 16 0 5 6 5 0 24 8 8 1 0x00-- y y y win,pb 0x13 24 0 8 8 8 0 24 8 8 1 0x00-- y y y win,pb 0x14 32 0 8 8 8 8 24 8 16 1 0x00-- a y y win,pb 0x15 16 0 5 6 5 0 24 8 16 1 0x00-- y y y win,pb 0x16 24 0 8 8 8 0 24 8 16 1 0x00-- y y y win,pb 0x17 24 0 8 8 8 0 0 0 0 0 0x00-- y y pb 0x18 64 0 16 16 16 16 24 8 0 0 0x00-- y y pb 0x19 32 0 10 10 10 2 24 8 0 0 0x00-- a y y pb 0x1a 24 0 8 8 8 0 0 0 0 0 0x00-- y y y win,pb |
มีข้อผิดพลาดในผลลัพธ์ด้านบน แต่ฉันสามารถยืนยันได้โดยใช้ glmark2-es2-wayland พร้อมคำแนะนำจาก Khadas ก่อนอื่นเราขอให้ตั้งค่าเป็น GPU governor – performance:
1 2 3 |
sudo sh -c 'echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor' sudo sh -c 'echo performance > /sys/devices/system/cpu/cpufreq/policy4/scaling_governor' sudo sh -c 'echo performance > /sys/devices/system/cpu/cpufreq/policy6/scaling_governor' |
ตอนนี้เราสามารถติดตั้งโปรแกรมและรันโปรแกรมได้:
1 2 |
sudo apt install glmark2-es2-wayland glmark2-es2-wayland |
นี่คือผลลัพธ์จาก glmark2-es2-wayland:
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 |
khadas@Khadas:~$ glmark2-es2-wayland arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '6'. arm_release_ver of this libmali is 'g6p0-01eac0', rk_so_ver is '6'. ======================================================= glmark2 2021.02 ======================================================= OpenGL Information GL_VENDOR: ARM GL_RENDERER: Mali-LODX GL_VERSION: OpenGL ES 3.2 v1.g6p0-01eac0.ba52c908d926792b8f5fe28f383a2b03 ======================================================= [build] use-vbo=false: FPS: 4355 FrameTime: 0.230 ms [build] use-vbo=true: FPS: 4991 FrameTime: 0.200 ms [texture] texture-filter=nearest: FPS: 5970 FrameTime: 0.168 ms [texture] texture-filter=linear: FPS: 5893 FrameTime: 0.170 ms [texture] texture-filter=mipmap: FPS: 5608 FrameTime: 0.178 ms [shading] shading=gouraud: FPS: 4256 FrameTime: 0.235 ms [shading] shading=blinn-phong-inf: FPS: 4327 FrameTime: 0.231 ms [shading] shading=phong: FPS: 4161 FrameTime: 0.240 ms [shading] shading=cel: FPS: 4104 FrameTime: 0.244 ms [bump] bump-render=high-poly: FPS: 2764 FrameTime: 0.362 ms [bump] bump-render=normals: FPS: 6402 FrameTime: 0.156 ms [bump] bump-render=height: FPS: 6343 FrameTime: 0.158 ms [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 4992 FrameTime: 0.200 ms [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 3499 FrameTime: 0.286 ms [pulsar] light=false:quads=5:texture=false: FPS: 5799 FrameTime: 0.172 ms [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 1630 FrameTime: 0.613 ms [desktop] effect=shadow:windows=4: FPS: 4561 FrameTime: 0.219 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 556 FrameTime: 1.799 ms [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 505 FrameTime: 1.980 ms [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 856 FrameTime: 1.168 ms [ideas] speed=duration: FPS: 2402 FrameTime: 0.416 ms [jellyfish] <default>: FPS: 3955 FrameTime: 0.253 ms [terrain] <default>: FPS: 305 FrameTime: 3.279 ms [shadow] <default>: FPS: 3988 FrameTime: 0.251 ms [refract] <default>: FPS: 667 FrameTime: 1.499 ms [conditionals] fragment-steps=0:vertex-steps=0: FPS: 5024 FrameTime: 0.199 ms [conditionals] fragment-steps=5:vertex-steps=0: FPS: 4575 FrameTime: 0.219 ms [conditionals] fragment-steps=0:vertex-steps=5: FPS: 5055 FrameTime: 0.198 ms [function] fragment-complexity=low:fragment-steps=5: FPS: 4917 FrameTime: 0.203 ms [function] fragment-complexity=medium:fragment-steps=5: FPS: 4710 FrameTime: 0.212 ms [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 4959 FrameTime: 0.202 ms [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 5140 FrameTime: 0.195 ms [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 4913 FrameTime: 0.204 ms ======================================================= glmark2 Score: 4005 ======================================================= |
คะแนน 4,005 ค่อนข้างน่าประทับใจและเป็นสี่เท่าของคะแนน ODROID-N2+ (970 คะแนน) และ Khadas Edge2 ทำได้ดีกว่ามากแม้หลังจาก “optimizations” (เพิ่มประสิทธิภาพ) ซึ่งบอร์ด ODROID-N2+ จะได้รับ 1,244 คะแนน
เราสามารถเล่นเกมบางเกมโดยใช้โปรแกรมจำลอง PPSSPP:
1 2 |
wget https://dl.khadas.com/.test/.test/ppsspp_1.12.3-1138-g36bc7a3e6~jammy_arm64.deb sudo dpkg -i ppsspp_1.12.3-1138-g36bc7a3e6~jammy_arm64.deb |
เพียงพิมพ์ PPSSPP ในเส้น – , เพื่อเปิดใช้โปรแกรมจำลองและติดตั้งบางเกม
เกมที่เหมือน Tetris ด้านบนทำงานที่ 60 fps โดยไม่มีปัญหา ในท้ายที่สุด เราก็ได้รับแจ้งว่า SuperTuxkart ใช้งานได้ดี แต่มันแสดงให้เห็นเพียง 1 ใน 4 ของหน้าต่าง และการเปลี่ยนการตั้งค่าหน้าจอแสดงผลในเกมก็ไม่ได้ช่วยอะไร
สิ่งที่แปลกก็คือมันใช้งานได้กับ Khadas และฉันไม่แน่ใจว่าทำไมมันถึงใช้ไม่ได้กับฉัน
นอกจากนี้ยังมีกรณีการใช้งานเฉพาะที่การเร่งกราฟิก 3D ไม่ทำงาน: การตั้งค่าหน้าจอแสดงผลแบบ 2 จอด้วยจอภาพหนึ่งที่เชื่อมต่อกับ HDMI และอีกจอหนึ่งผ่านพอร์ต USB-C ในกรณีนี้ ระบบจะเปลี่ยนไปใช้ระบบหน้าต่าง X11 และมีเพียง Wayland เท่านั้นที่รองรับการเร่งกราฟิก 3 มิติ
Khadas Edge2 รองรับ NPU
การรองรับ NPU กำลังทำงานเมื่อเปิดตัวด้วย Python และ C++ SDK ฉันต้องใช้ SDK และตัวอย่างจากไฟล์ 7zแต่ตอนนี้โค้ดได้รับการเผยแพร่บน Github แล้ว
ก่อนอื่นเราต้องติดตั้ง Dependencies และ NPU toolchain เพื่อเรียกใช้ตัวอย่าง Python:
1 2 3 4 5 6 7 |
git clone https://github.com/rockchip-linux/rknpu2/ sudo cp rknpu2/runtime/RK3588/Linux/librknn_api/aarch64/librknnrt.so /usr/lib wget https://dl.khadas.com/.test/.test/edge2npu.7z 7z x edge2npu.7z cd edge2npu/Python sudo apt install -y python3-dev python3-pip python3-opencv python3-numpy pip3 install ./wheel/rknn_toolkit_lite2-1.3.0-cp310-cp310-linux_aarch64.whl |
ตอนนี้เราสามารถลองใช้ตัวอย่างเช่น resnet18:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
$ cd resnet18 $ python3 resnet18.py --> Load RKNN model done --> Init runtime environment I RKNN: [21:59:32.726] RKNN Runtime Information: librknnrt version: 1.4.0 (a10f100eb@2022-09-09T09:07:14) I RKNN: [21:59:32.726] RKNN Driver Information: version: 0.7.2 I RKNN: [21:59:32.726] RKNN Model Information: version: 1, toolkit version: 1.3.0-11912b58(compiler version: 1.3.0 (c193be371@2022-05-04T20:23:58)), target: RKNPU v2, target platform: rk3588, framework name: PyTorch, framework layout: NCHW done --> Running model resnet18 -----TOP 5----- [812]: 0.9996383190155029 [404]: 0.00028062646742910147 [657]: 1.632110434002243e-05 [833 895]: 1.015904672385659e-05 [833 895]: 1.015904672385659e-05 done |
โดยพื้นฐานแล้ว โปรแกรมจะโหลดรูปภาพ “space_shuttle_224.jpg” และเป็น pre-trained model
เราสามารถลองใช้การสาธิต face_mask:
1 2 3 4 5 6 7 8 9 10 11 |
$ cd ../face_mask/ $ python3 face_mask.py --> Load RKNN model done --> Init runtime environment I RKNN: [22:04:42.138] RKNN Runtime Information: librknnrt version: 1.4.0 (a10f100eb@2022-09-09T09:07:14) I RKNN: [22:04:42.139] RKNN Driver Information: version: 0.7.2 I RKNN: [22:04:42.139] RKNN Model Information: version: 1, toolkit version: 1.3.0-11912b58(compiler version: 1.3.0 (c193be371@2022-05-04T20:23:58)), target: RKNPU v2, target platform: rk3588, framework name: TensorFlow, framework layout: NHWC done --> Running model done |
ไม่มีอะไรน่าสนใจเกี่ยวกับเทอร์มินัลเอาท์พุต แต่โปรแกรม Python จะสร้างรูปภาพ (out.jpg) พร้อมกรอบสี่เหลี่ยมจะแสดงว่าหน้ากากอยู่ที่ไหน
ฉันได้รูปภาพใน /data/img/face.jpg ด้วยกลุ่มคนที่สวมหน้ากากเพื่อดูผลลัพธ์:
ดังที่คุณเห็นด้านบน ผลลัพธ์ out.jpg ไม่ได้มาพร้อมกับกรอบสี่เหลี่ยม ซึ่งหมายความว่าในภาพโปรแกรมตรวจไม่พบหน้ากาก ฉันคิดว่าเราจะต้องเปลี่ยนพารามิเตอร์บางอย่างในโปรแกรม Python เพื่อให้ตรงกับรูปภาพของเรา:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
INPUT_SIZE = 260 NUM_RESULTS = 1917 NUM_CLASSES = 91 Y_SCALE = 10.0 X_SCALE = 10.0 H_SCALE = 5.0 W_SCALE = 5.0 feature_map_sizes = [[33, 33], [17, 17], [9, 9], [5, 5], [3, 3]] anchor_sizes = [[0.04, 0.056], [0.08, 0.11], [0.16, 0.22], [0.32, 0.45], [0.64, 0.72]] anchor_ratios = [[1, 0.62, 0.42]] * 5 |
ฉันไม่แน่ใจว่าอันไหน และ มันไม่ทันสำหรับรีวิวนี้ ฉันจะอัปเดตส่วนนี้ในภายหลังหากพบวิธีแก้ไข
การทดสอบการเก็บข้อมูล และ benchmarks
ฉันได้ติดตั้ง iozone3 เพื่อทดสอบด้านประสิทธิภาพของ แฟลช eMMC ขนาด 64GB ก่อน:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
$ iozone -e -I -a -s 1000M -r 4k -r 16k -r 512k -r 1024k -r 16384k -i 0 -i 1 -i 2 Iozone: Performance Test of File I/O Version $Revision: 3.489 $ Compiled for 64 bit mode. Build: linux 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 1024000 4 27232 32682 26385 26384 21000 31066 1024000 16 74798 86684 75798 75628 64568 84228 1024000 512 204519 210910 241968 241825 227516 208831 1024000 1024 212747 214321 269673 269612 256720 206418 1024000 16384 197618 203153 307716 308170 306382 200012 iozone test complete. |
เรามีการอ่านต่อเนื่องสูงสุด 300 MB/s เขียนสูงสุด 200 MB/s และประสิทธิภาพ R/W แบบสุ่มที่เหมาะสม สำหรับการเปรียบเทียบ eMMC แฟลชใน Raspberry Pi CM4 จำกัดที่ 100MB/s
ตอนนี้ มาทดสอบพอร์ต USB 3.0 Type-C (5Gbps) กับ ORICO USB 3.2 Gen 1 ที่มี Apacer NVMe SSD ที่มีความสามารถในการอ่านสูงสุด 1,800 MB/s และเขียน 1,100 MB/s และฟอร์แมตด้วย EXT-4
1 2 3 4 5 6 7 8 9 |
khadas@Khadas:/media/sda1$ iozone -e -I -a -s 1000M -r 16384k -i 0 -i 1 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 1024000 16384 397606 398500 342547 342983 iozone test complete. |
ฉันทำการทดสอบซ้ำหลายครั้งด้วยผลลัพธ์เดียวกัน การอ่านตามลำดับประมาณ 342 MB/s และความเร็วในการเขียน 398MB/s ฉันคิดว่านั่นคือสิ่งที่เราคาดหวังจากพอร์ต USB 5 Gbps แม้ว่าการเพิ่มประสิทธิภาพบางอย่างอาจเกิน 400MB/s
ระบบเครือข่าย (WiFi & 2.5GbE)
มาดูประสิทธิภาพของ WiFi 6 โดยคำนึงถึงว่าฉันมีเฉพาะเสาอากาศที่ใหญ่กว่าเท่านั้นที่เชื่อมต่อ:
- ที่อัพโหลด
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$ iperf3 -t 60 -c 192.168.31.48 -i 10 Connecting to host 192.168.31.48, port 5201 [ 5] local 192.168.31.197 port 43180 connected to 192.168.31.48 port 5201 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 543 MBytes 455 Mbits/sec 0 3.15 MBytes [ 5] 10.00-20.00 sec 539 MBytes 452 Mbits/sec 0 3.15 MBytes [ 5] 20.00-30.00 sec 540 MBytes 453 Mbits/sec 1 2.97 MBytes [ 5] 30.00-40.00 sec 488 MBytes 409 Mbits/sec 0 3.01 MBytes [ 5] 40.00-50.00 sec 489 MBytes 410 Mbits/sec 0 3.01 MBytes [ 5] 50.00-60.00 sec 576 MBytes 483 Mbits/sec 0 3.01 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 3.10 GBytes 444 Mbits/sec 1 sender [ 5] 0.00-60.02 sec 3.10 GBytes 443 Mbits/sec receiver iperf Done. |
- ดาวน์โหลด
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- Accepted connection from 192.168.31.197, port 43182 [ 5] local 192.168.31.48 port 5201 connected to 192.168.31.197 port 43184 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 988 MBytes 829 Mbits/sec 0 3.03 MBytes [ 5] 10.00-20.00 sec 981 MBytes 823 Mbits/sec 0 3.03 MBytes [ 5] 20.00-30.00 sec 985 MBytes 826 Mbits/sec 0 3.03 MBytes [ 5] 30.00-40.00 sec 991 MBytes 832 Mbits/sec 0 3.03 MBytes [ 5] 40.00-50.00 sec 985 MBytes 826 Mbits/sec 0 3.03 MBytes [ 5] 50.00-60.00 sec 984 MBytes 825 Mbits/sec 0 3.03 MBytes [ 5] 60.00-60.02 sec 1.25 MBytes 663 Mbits/sec 0 3.03 MBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.02 sec 5.78 GBytes 827 Mbits/sec 0 sender ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- |
ค่อนข้างดี และความเร็วในการดาวน์โหลดนั้นอยู่ไม่ไกลจากที่เราได้รับจากพอร์ต Gigabit Ethernet
แม้ว่า Khadas Edge2 จะไม่มีพอร์ตอีเทอร์เน็ต แต่ก็ยังสามารถเพิ่ม 2.5GbE ผ่านด็องเกิล 2.5GbE USB Type-C ได้
บอร์ดขนาดกะทัดรัดเป็นพิเศษนั้นดี แต่อย่างที่คุณเห็น ฉันต้องถอดเมาส์ USB และสาย HDMI เพื่อทดสอบ 2.5GbE ซึ่งสามารถแก้ไขได้ง่ายด้วยสายต่อ มาดูผลลัพธ์กัน:
- ที่อัพโหลด
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Accepted connection from 192.168.31.112, port 33996 [ 5] local 192.168.31.48 port 5201 connected to 192.168.31.112 port 33998 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 702 MBytes 589 Mbits/sec [ 5] 10.00-20.00 sec 1.40 GBytes 1.20 Gbits/sec [ 5] 20.00-30.00 sec 1.09 GBytes 936 Mbits/sec [ 5] 30.00-40.00 sec 472 MBytes 396 Mbits/sec [ 5] 40.00-50.00 sec 1.30 GBytes 1.11 Gbits/sec [ 5] 50.00-60.00 sec 480 MBytes 403 Mbits/sec [ 5] 60.00-61.30 sec 0.00 Bytes 0.00 bits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-61.30 sec 5.40 GBytes 757 Mbits/sec receiver |
- ดาวน์โหลด
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Accepted connection from 192.168.31.112, port 33992 [ 5] local 192.168.31.48 port 5201 connected to 192.168.31.112 port 33994 [ ID] Interval Transfer Bitrate Retr Cwnd [ 5] 0.00-10.00 sec 509 MBytes 427 Mbits/sec 83 112 KBytes [ 5] 10.00-20.00 sec 460 MBytes 386 Mbits/sec 88 80.6 KBytes [ 5] 20.00-30.00 sec 479 MBytes 401 Mbits/sec 75 94.7 KBytes [ 5] 30.00-40.00 sec 507 MBytes 426 Mbits/sec 70 191 KBytes [ 5] 40.00-50.00 sec 500 MBytes 419 Mbits/sec 74 139 KBytes [ 5] 50.00-60.00 sec 470 MBytes 394 Mbits/sec 79 83.4 KBytes - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate Retr [ 5] 0.00-60.00 sec 2.86 GBytes 409 Mbits/sec 470 sender ----------------------------------------------------------- |
ตัวเลขที่น่ากลัวอย่างแท้จริง แต่ฉันเห็นว่าโหลดไดรเวอร์ cdc_ncm แล้ว:
1 2 3 4 5 6 |
$ lsmod Module Size Used by cdc_mbim 16384 0 cdc_wdm 24576 1 cdc_mbim cdc_ncm 28672 1 cdc_mbim cdc_ether 16384 1 cdc_ncm |
ฉันต้องการใช้ไดรเวอร์ r8152แทน แต่วิธีที่ฉันใช้กับแล็ปท็อปใช้ไม่ได้ผล และฉันไม่พร้อมที่จะใช้เวลาอีกนับไม่ถ้วนในการทำให้ดองเกิล USB Realtek 2.5GbE ทำงานอย่างถูกต้อง…
ดังนั้นฉันจึงเปลี่ยนไปใช้ด็อก MINI USB-C ที่มีกิกะบิตอีเทอร์เน็ต
และทำงานได้ดีทั้งสองทิศทาง:
- ที่อัพโหลด
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Accepted connection from 192.168.31.104, port 40016 [ 5] local 192.168.31.48 port 5201 connected to 192.168.31.104 port 40018 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 1.09 GBytes 932 Mbits/sec [ 5] 10.00-20.00 sec 1.09 GBytes 933 Mbits/sec [ 5] 20.00-30.00 sec 1.09 GBytes 933 Mbits/sec [ 5] 30.00-40.00 sec 1.09 GBytes 933 Mbits/sec [ 5] 40.00-50.00 sec 1.09 GBytes 933 Mbits/sec [ 5] 50.00-60.00 sec 1.09 GBytes 933 Mbits/sec [ 5] 60.00-60.00 sec 437 KBytes 902 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-60.00 sec 6.52 GBytes 933 Mbits/sec receiver |
- ดาวน์โหลด
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Accepted connection from 192.168.31.104, port 40016 [ 5] local 192.168.31.48 port 5201 connected to 192.168.31.104 port 40018 [ ID] Interval Transfer Bitrate [ 5] 0.00-10.00 sec 1.09 GBytes 932 Mbits/sec [ 5] 10.00-20.00 sec 1.09 GBytes 933 Mbits/sec [ 5] 20.00-30.00 sec 1.09 GBytes 933 Mbits/sec [ 5] 30.00-40.00 sec 1.09 GBytes 933 Mbits/sec [ 5] 40.00-50.00 sec 1.09 GBytes 933 Mbits/sec [ 5] 50.00-60.00 sec 1.09 GBytes 933 Mbits/sec [ 5] 60.00-60.00 sec 437 KBytes 902 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bitrate [ 5] 0.00-60.00 sec 6.52 GBytes 933 Mbits/sec receiver |
Bluetooth
ฉันลองใช้ Bluetooth โดยเชื่อมต่อโทรศัพท์กับบอร์ด Khadas Edge2 Pro แล้ว ข่าวดีก็คือเปิดใช้งาน Bluetooth แล้วและเชื่อมต่อสำเร็จ
ฉันไม่สามารถส่งไฟล์ได้ เนื่องจากบอร์ด Khadas จะแสดงเป็นอุปกรณ์เสียงเท่านั้น ดังนั้นฉันจึงลองใช้มันเป็นลำโพงผ่านหน้าจอแสดงผล HDMI ที่เชื่อมต่อ และเสียงจะขาดหายไป
ฉันสามารถเชื่อมต่อบอร์ดกับชุดหูฟังบลูทูธได้ แต่ฉันมีปัญหาการตัดเสียง
ซึ่งอาจทำงานได้ดีกว่ากับอุปกรณ์ Bluetooth HID แต่ฉันไม่มีอะไรจะทดสอบ
การทดสอบ GPIO
GPIO เหมือนกับในบอร์ด Rock 5B ทุกอย่าง
1 2 3 4 5 6 7 |
khadas@Khadas:~$ ls -l /dev/gpiochip? crw------- 1 root root 254, 0 Sep 18 21:42 /dev/gpiochip0 crw------- 1 root root 254, 1 Sep 18 21:42 /dev/gpiochip1 crw------- 1 root root 254, 2 Sep 18 21:42 /dev/gpiochip2 crw------- 1 root root 254, 3 Sep 18 21:42 /dev/gpiochip3 crw------- 1 root root 254, 4 Sep 18 21:42 /dev/gpiochip4 crw------- 1 root root 254, 5 Sep 18 21:42 /dev/gpiochip5 |
และเราสามารถควบคุมสิ่งเหล่านั้นผ่าน sysfs:
1 2 3 4 5 6 7 |
khadas@Khadas:~$ ls -l /dev/gpiochip? crw------- 1 root root 254, 0 Sep 18 21:42 /dev/gpiochip0 crw------- 1 root root 254, 1 Sep 18 21:42 /dev/gpiochip1 crw------- 1 root root 254, 2 Sep 18 21:42 /dev/gpiochip2 crw------- 1 root root 254, 3 Sep 18 21:42 /dev/gpiochip3 crw------- 1 root root 254, 4 Sep 18 21:42 /dev/gpiochip4 crw------- 1 root root 254, 5 Sep 18 21:42 /dev/gpiochip5 |
ความแตกต่างหลักอยู่ที่ฮาร์ดแวร์ เนื่องจาก Khadas Edge2 ไม่ได้มาพร้อมกับส่วนหัวของตัวเมียทั่วไป แต่มีตัวเชื่อมต่อ FPC 2 ตัวสำหรับ I/O ซึ่งต้องใช้บอร์ดเสริม
มีการติดตั้งไลบรารี WiringPiu แล้ว แต่ไม่สามารถทดสอบได้เนื่องจากมีเวลาที่จำกัด:
1 2 3 |
khadas@Khadas:~$ ls /usr/local/lib/ libwiringPi.so libwiringPiDev.so python3.10 libwiringPi.so.3.13 libwiringPiDev.so.3.13 |
VPU (หน่วยประมวลผลวิดีโอ)
Khadas ได้บอกว่าทั้งฮาร์ดแวร์และซอฟต์แวร์ถอดรหัสวิดีโอทำงานบน Khadas Edge2 และฉันก็ได้ทดสอบวิดีโอ YouTube 4K ใน Firefox
ด้วยการใช้งาน CPU ที่ค่อนข้างสูง มันจึงต้องอาศัยการถอดรหัสซอฟต์แวร์ แต่วิดีโอ 4K ที่ 30 fps เล่นได้ดี ยกเว้นบางเฟรมในตอนเริ่มต้น
เราจะต้องใช้ gstreamer เพื่อเล่นวิดีโอ H.264 ด้วยการถอดรหัสฮาร์ดแวร์ ฉันได้รับ command line (บรรทัดคำสั่ง) :
1 |
$ gst-launch-1.0 filesrc location=big_buck_bunny_4k_H264_60fps.mp4 ! qtdemux name=d d.video_0 ! h264parse ! v4l2h264dec capture-io-mode=4 ! video/x-raw,format=NV12 ! waylandsink |
มันไม่ได้ผล:
1 |
WARNING: erroneous pipeline: no element "v4l2h264dec" |
นั่นเป็นส่วนที่ยุ่งยากในการต้องตรวจสอบบอร์ดก่อนเปิดตัวและไม่มีเอกสารประกอบ…
เราสามารถลองค้นหาตัวถอดรหัสที่เหมาะสมโดยใช้ gst-inpect:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
$ gst-inspect-1.0 /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstrockchipmpp.so Plugin Details: Name rockchipmpp Description Rockchip Mpp Video Plugin Filename /usr/lib/aarch64-linux-gnu/gstreamer-1.0/libgstrockchipmpp.so Version 1.14.4 License LGPL Source module gst-rockchip Binary package GStreamer Rockchip Plug-ins Origin URL Unknown package origin mpph264enc: Rockchip Mpp H264 Encoder mpph265enc: Rockchip Mpp H265 Encoder mppjpegdec: Rockchip's MPP JPEG image decoder mppjpegenc: Rockchip Mpp JPEG Encoder mppvideodec: Rockchip's MPP video decoder mppvp8enc: Rockchip Mpp VP8 Encoder |
ดูเหมือนว่าควรใช้ mppvideodec แทน v4l2h264dec แต่ฉันไม่พบคำสั่งที่ถูกต้อง…
[ อัพเดทจาก Khadas :
ตัวถอดรหัสฮาร์ดแวร์ Edge2 gstreamer ภายใต้ Ubuntu 22.04 ยังคงมีปัญหาบางอย่างที่ต้องแก้ไข ดังนั้นในขณะนี้จึงไม่ทำงาน เนื่องจากปัญหาของ waylans sink
การใช้พลังงาน
ตัวเลขการใช้พลังงานบางส่วนสำหรับการอ้างอิง:
- ปิดเครื่อง – 0.0 วัตต์
- Ilde – 2.9 วัตต์
- วิดีโอ YouTube 4K ใน Firefox (full screen) – 7.5 ถึง 10.9 วัตต์
- ทดสอบ Stress test ทั้ง 8 คอร์ (stress -c 8) – 9.0 วัตต์
เมื่อพิจารณาถึงพลังการประมวลผลของอุปกรณ์ บอร์ดนี้เป็นบอร์ดที่ประหยัดพลังงานพอสมควร นอกจากนี้ยังแสดงให้เห็นเพิ่มเติมว่า CPU เป็นเพียงส่วนหนึ่งของ SoC ที่ซับซ้อนที่ทันสมัย เนื่องจากการใช้พลังงานสูงสุดของการเล่นวิดีโอ 4K นั้นใกล้เคียงกับ 11 วัตต์
สรุป
KKhadas Edge2 Pro ทำงานได้ดีใน Ubuntu 22.04 ฟีเจอร์บน Linux ได้รับการรองรับดีกว่าและมาไกลกว่าที่ฉันคาดไว้
Khadas Edge2 เพิ่งเปิดตัว จากงานการเปิดตัวของ Khadas ในฤดูใบไม้ร่วง (กันยายน-ตุลาคม) ทั้งในฐานะผู้ผลิต Khadas Edge2 ตามรีวิวนี้ และ Arm mini PC พร้อมเคส รวมถึงผลิตภัณฑ์อื่นๆ ได้แก่ Khadas VIM1S SBC รุ่น entry-level และอุปกรณ์ออดิโอไฟล์: Tone2 DAC และ BT Magic module คุณสามารถซื้อ Khadas Edge2 ได้จากร้านค้าออนไลน์ของAmazon หรือ Khadas
แปลจากบทความภาษาอังกฤษ : Khadas Edge2 Pro review – A Rockchip RK3588S SBC tested with Ubuntu 22.04
บรรณาธิการข่าวและบทความภาษาไทย CNX Software ได้มีความสนใจในด้านเทคโนโลยี โดยเฉพาะ Smart Home และ IoT