User:Brendlefly62/Radxa x4 N100 sbc with RP2040

From Gentoo Wiki
Jump to:navigation Jump to:search

Construction of this page began 5 March 2025 (Work in Progress)

The Radxa X4 is a small, low power (6 Watt) sbc with a form-factor very similar to raspberry pi 5, but it is based on a quad-core Intel N100 cpu supported by Ami UEFI bios and has a raspberry pi 2040 (pico) microcontroller on-board, to provide control of the sbc's 40 GPIO pins.

Tip
* Since this is actually an x86_64 "motherboard", despite the tiny size, the install procedure is basically the same as for any other x86_64. Follow the Gentoo Handbook:AMD64. The layout and procedures documented below show how this installation was performed, taking advantage of the "joetoo" ecosystem available to support a wide variaety of sbcs. Mini-PCs excluded, this is the first x86_64 sbc in the joetoo umbrella sbc project.

Overall status: up and running. see performance section below Several RP2040 example programs validated; see two of them at Use_the_RP2040_Microcontroller

"Radxa X4 SBC with M.2 nvme main storage"


Board Specs[1]

Hardware

X4 SBC, shwon in image to the right, mounted on cooler, with USB-C power (3A switched Raspberry Pi wall-wart PSU) and micro HDMI cable connected, and USB storage, USB keyboard/mouse dongle inserted. The device is actually shown inverted here, since the N100 cpu is mounted on the bottom of the sbc, and it is affixed to its cooler from "below", so the cooler can vent to open space above the device. For normal operation, the entire unit is turned over, to sit on 4 x rubber feet depicted in this photo. Note also visible in the picture are 128G NVMe M.2 stick, real-time clock battery, and wifi antennae. In this project, the nvme stick holds bootfs and rootfs partitions, with the luks-encrypted rootfs consisting of several lvm lvs unlocked and mounted via custom initramfs that resides with the kernel on the bootfs. The lunks encryption key can be provided by external usb storage device as shown here. Note also that the 40 x GPIO pins are controlled by an on-board Raspberry Pi RP2040 (pico).

Specifications

Make/model Notes
Board Radxa X4(8 GB) https://radxa.com/products/x/x4/
RAM LPDDR5

- Maximum Frequency of 4800 MT/s - 8GB (4GB, 12GB, 16GB options)

Firmware UEFI merican Megatrends International, LLC. version: 5.27 (08/19/2024) Size: 64KiB; capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppynec int13floppytoshiba int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer int10video acpi usb biosbootspecification uefi


Boot media 128GB nvme stick in M.2 slot for this application (use uefi bios [and in this project, grub] to boot )

SoC

Note
The hardware is tested on kernel version 6.12.16-gentoo as described below
Device Make/model Status kernel drivers Notes
CPU Intel® Processor N100 (Alder Lake-N)
  • Family: 6; Model: 190
  • Total Cores: 4
  • Total Threads: 4
  • Max Turbo Frequency: 3.40 GHz
  • Cache: 6 MB Intel® Smart Cache
  • Intel® Gaussian & Neural Accelerator 3.0
  • Intel® Image Processing Unit 6.0
  • Support for Intel® Virtualization Technology (VT-x)
Works (see lscpu output, under "performance" section below)
GPU Intel® UHD Graphics
  • Graphics Max Dynamic Frequency: 750 MHz
  • DirectX Support: 12.1
  • OpenGL Support: 4.6
  • OpenCL Support: 3.0
Works intel[2]
i915, xe
firmware: i915/tgl_guc_70.bin i915/tgl_huc.bin i915/adlp_dmc.bin i915/adlp_dmc_ver2_16.bin i915/tgl_guc_70.1.1.bin i915/tgl_guc_69.0.3.bin) should auto-load if i915 is a module (m), else they must be built-in with CONFIG_EXTRA_FIRMWARE
NPU Intel® Gaussian & Neural Accelerator 3.0 Not tested
Memory LPDDR5 8GB Works
Storage M.2 nvme slot (2230 only) Works nvme populated with 2230mm 128GB nvme stick
Display Dual Display Outputs via Two Micro HDMI up to 4Kp60 HDMI Works
Audio 1x Headphone Jack with Microphone Input Not tested HDMI audio works; 3.5mm jack not yet tested
Ethernet 1x 2.5G Ethernet Port with PoE Support(Additional PoE HAT Required) Works igc
Wi-Fi, BT module IEEE 802.11 a/b/g/n/ac/ax (WiFi 6) and Bluetooth 5.2 with BLE Works rtw89_8852be
USB USB 3.0 , 2.0
  • 1x USB 2.0 HOST Type A Port
  • 3x USB 3.0 HOST Type A Ports
Works hub
IO Connectivity
  • 1x RTC Battery Socket (comes with)
  • 1x 2-Pin Fan Header
  • 1x 2-Pin Power Input Header
  • 40-Pin Color GPIO Header
  • - Up to 2x SPI
  • - Up to 2x UART
  • - Up to 2x I2C
  • - Up to 16x PWM
  • - Up to 8x PIO(Programmable IO)
  • - 2 x 5V DC power out
  • - 2 x 3.3V power out
Works UART and PWM validated; SPI, I2C not yet tested. libgpiod can be used to put the rp2040 in usb-storage mode, but it is not used to control the board's extermal GPIO pins. That is done with uf2 firware "flashed" to the rp2040 (see using the RP2040, below)

Accessories

  • Active cooler (heatsink/fan) which functions as case (Sold only with SBC board)
  • 3A Power supply (re-used old switched 27W Raspberry Pi USB-C PSU $17.99 at this link, "found lying around")
  • Keyboard, mouse, micro-HDMI cable (re-used Logitech nano receiver w kbd/mouse $34.99 at this link, "found lying around")
  • 2230mm KIOXIA 128GB NVMe SSD stick (reused from old Tinker 2s project, "found lying around")
  • 16GB micro SD card in USB uSD reader ($5.59 at this link, "found lying around")

Pictures

Layout[3]

GCC optimization

Use app-misc/resolve-march-native to identify cflags[4]

FILE /etc/portage/make.confX4 example
COMMON_FLAGS=" -O2 -pipe"
COMMON_FLAGS=${COMMON_FLAGS}" -march=alderlake -mabm -mno-cldemote -mno-hreset -mno-kl -mno-pconfig -mno-sgx -mno-widekl -mshstk --param=l1-cache-line-size=64 --param=l1-cache-size=32 --param=l2-cache-size=6144"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
Note
For a hardened system consider appending -fstack-protector-all

Assemble a Working Gentoo System on the Radxa X4 SBC

To assemble a working Gentoo system with minimal effort, consult Assemble_a_Gentoo_System

Use the RP2040 Microcontroller to manipulate GPIO pins

To flash a program to the RP2040 microcontroller, consult Use_the_RP2040_Microcontroller

Performance

lscpu output

root #lscpu
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
  Model name:             Intel(R) N100
    CPU family:           6
    Model:                190
    Thread(s) per core:   1
    Core(s) per socket:   4
    Socket(s):            1
    Stepping:             0
    CPU(s) scaling MHz:   21%
    CPU max MHz:          3400.0000
    CPU min MHz:          700.0000
    BogoMIPS:             1613.00
    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 ar
                          ch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc 
                          cpuid aperfmperf tsc_known_freq pni pclmulqdq dtes64 mon
                          itor ds_cpl vmx est tm2 ssse3 sdbg fma cx16 xtpr pdcm ss
                          e4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes x
                          save avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fau
                          lt epb cat_l2 cdp_l2 ssbd ibrs ibpb stibp ibrs_enhanced 
                          tpr_shadow flexpriority ept vpid ept_ad fsgsbase tsc_adj
                          ust bmi1 avx2 smep bmi2 erms invpcid rdt_a rdseed adx sm
                          ap clflushopt clwb intel_pt sha_ni xsaveopt xsavec xgetb
                          v1 xsaves split_lock_detect avx_vnni dtherm ida arat pln
                           pts hwp hwp_notify hwp_act_window hwp_epp hwp_pkg_req v
                          nmi umip pku ospke waitpkg gfni vaes vpclmulqdq rdpid mo
                          vdiri movdir64b fsrm md_clear serialize arch_lbr ibt flu
                          sh_l1d arch_capabilities
Virtualization features:  
  Virtualization:         VT-x
Caches (sum of all):      
  L1d:                    128 KiB (4 instances)
  L1i:                    256 KiB (4 instances)
  L2:                     2 MiB (1 instance)
  L3:                     6 MiB (1 instance)
NUMA:                     
  NUMA node(s):           1
  NUMA node0 CPU(s):      0-3
Vulnerabilities:          
  Gather data sampling:   Not affected
  Itlb multihit:          Not affected
  L1tf:                   Not affected
  Mds:                    Not affected
  Meltdown:               Not affected
  Mmio stale data:        Not affected
  Reg file data sampling: Vulnerable: No microcode
  Retbleed:               Not affected
  Spec rstack overflow:   Not affected
  Spec store bypass:      Mitigation; Speculative Store Bypass disabled via prctl
  Spectre v1:             Mitigation; usercopy/swapgs barriers and __user pointer 
                          sanitization
  Spectre v2:             Mitigation; Enhanced / Automatic IBRS; IBPB conditional;
                           RSB filling; PBRSB-eIBRS Not affected; BHI BHI_DIS_S
  Srbds:                  Not affected
  Tsx async abort:        Not affected

lshw output

root #lshw
x401                        
    description: Desktop Computer
    product: Default string (Default string)
    vendor: Default string
    version: Default string
    serial: Default string
    width: 64 bits
    capabilities: smbios-3.6.0 dmi-3.6.0 smp vsyscall32
    configuration: boot=normal chassis=desktop family=Default string sku=Default string uuid=03000200-0400-0500-0006-000700080009
  *-core
       description: Motherboard
       product: Default string
       vendor: Default string
       physical id: 0
       version: Default string
       serial: Default string
       slot: Default string
     *-firmware
          description: BIOS
          vendor: American Megatrends International, LLC.
          physical id: 0
          version: 5.27
          date: 08/19/2024
          size: 64KiB
          capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppynec int13floppytoshiba int13floppy360 int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int14serial int17printer int10video acpi usb biosbootspecification uefi
     *-memory
          description: System Memory
          physical id: 27
          slot: System board or motherboard
          size: 8GiB
        *-bank:0
             description: [empty]
             physical id: 0
             slot: Controller0-ChannelA-DIMM0
        *-bank:1
             description: [empty]
             physical id: 1
             slot: Controller0-ChannelB-DIMM0
        *-bank:2
             description: DIMM LPDDR4 Synchronous 6400 MHz (0.2 ns)
             vendor: Samsung
             physical id: 2
             serial: 20000000
             slot: Controller0-ChannelC
             size: 4GiB
             width: 16 bits
             clock: 2105MHz (0.5ns)
        *-bank:3
             description: DIMM LPDDR4 Synchronous 6400 MHz (0.2 ns)
             vendor: Samsung
             physical id: 3
             serial: 20000000
             slot: Controller0-ChannelD
             size: 4GiB
             width: 16 bits
             clock: 2105MHz (0.5ns)
     *-cache:0
          description: L1 cache
          physical id: 36
          slot: L1 Cache
          size: 128KiB
          capacity: 128KiB
          capabilities: synchronous internal write-back data
          configuration: level=1
     *-cache:1
          description: L1 cache
          physical id: 37
          slot: L1 Cache
          size: 256KiB
          capacity: 256KiB
          capabilities: synchronous internal write-back instruction
          configuration: level=1
     *-cache:2
          description: L2 cache
          physical id: 38
          slot: L2 Cache
          size: 2MiB
          capacity: 2MiB
          capabilities: synchronous internal write-back unified
          configuration: level=2
     *-cache:3
          description: L3 cache
          physical id: 39
          slot: L3 Cache
          size: 6MiB
          capacity: 6MiB
          capabilities: synchronous internal write-back unified
          configuration: level=3
     *-cpu
          description: CPU
          product: Intel(R) N100
          vendor: Intel Corp.
          physical id: 3a
          bus info: cpu@0
          version: 6.190.0
          serial: To Be Filled By O.E.M.
          slot: U3E1
          size: 3363MHz
          capacity: 3400MHz
          width: 64 bits
          clock: 100MHz
          capabilities: lm fpu fpu_exception wp 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 x86-64 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 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 cpufreq
          configuration: cores=4 enabledcores=4 microcode=15 threads=4
     *-pci
          description: Host bridge
          product: Intel Corporation
          vendor: Intel Corporation
          physical id: 100
          bus info: pci@0000:00:00.0
          version: 00
          width: 32 bits
          clock: 33MHz
        *-display
             description: VGA compatible controller
             product: Alder Lake-N [UHD Graphics]
             vendor: Intel Corporation
             physical id: 2
             bus info: pci@0000:00:02.0
             logical name: /dev/fb0
             version: 00
             width: 64 bits
             clock: 33MHz
             capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
             configuration: depth=32 driver=i915 latency=0 mode=1920x1080 resolution=1920,1080 visual=truecolor xres=1920 yres=1080
             resources: iomemory:600-5ff iomemory:400-3ff irq:125 memory:6000000000-6000ffffff memory:4000000000-400fffffff ioport:4000(size=64) memory:c0000-dffff memory:4010000000-4016ffffff memory:4020000000-40ffffffff
        *-generic:0 UNCLAIMED
             description: Signal processing controller
             product: Platform Monitoring Technology
             vendor: Intel Corporation
             physical id: a
             bus info: pci@0000:00:0a.0
             version: 01
             width: 64 bits
             clock: 33MHz
             capabilities: pciexpress pm cap_list
             configuration: latency=0
             resources: iomemory:600-5ff memory:6001130000-6001137fff
        *-usb:0
             description: USB controller
             product: Alder Lake-N Thunderbolt 4 USB Controller
             vendor: Intel Corporation
             physical id: d
             bus info: pci@0000:00:0d.0
             version: 00
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi xhci cap_list
             configuration: driver=xhci_hcd latency=0
             resources: iomemory:600-5ff irq:133 memory:6001120000-600112ffff
           *-usbhost:0
                product: xHCI Host Controller
                vendor: Linux 6.12.16-gentoo-x86_64-n100-joetoo xhci-hcd
                physical id: 0
                bus info: usb@1
                logical name: usb1
                version: 6.12
                capabilities: usb-2.00
                configuration: driver=hub slots=1 speed=480Mbit/s
           *-usbhost:1
                product: xHCI Host Controller
                vendor: Linux 6.12.16-gentoo-x86_64-n100-joetoo xhci-hcd
                physical id: 1
                bus info: usb@2
                logical name: usb2
                version: 6.12
                capabilities: usb-3.10
                configuration: driver=hub slots=1 speed=10000Mbit/s
        *-communication:0 UNCLAIMED
             description: Serial controller
             product: Intel Corporation
             vendor: Intel Corporation
             physical id: 12
             bus info: pci@0000:00:12.0
             version: 00
             width: 64 bits
             clock: 33MHz
             capabilities: pm 8250 cap_list
             configuration: latency=0
             resources: iomemory:600-5ff memory:6001110000-600111ffff
        *-usb:1
             description: USB controller
             product: Alder Lake-N PCH USB 3.2 xHCI Host Controller
             vendor: Intel Corporation
             physical id: 14
             bus info: pci@0000:00:14.0
             version: 00
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi xhci bus_master cap_list
             configuration: driver=xhci_hcd latency=0
             resources: iomemory:600-5ff irq:138 memory:6001100000-600110ffff
           *-usbhost:0
                product: xHCI Host Controller
                vendor: Linux 6.12.16-gentoo-x86_64-n100-joetoo xhci-hcd
                physical id: 0
                bus info: usb@3
                logical name: usb3
                version: 6.12
                capabilities: usb-2.00
                configuration: driver=hub slots=12 speed=480Mbit/s
              *-usb:0
                   description: Keyboard
                   product: Yubico YubiKey OTP+FIDO+CCID
                   vendor: Yubico
                   physical id: 1
                   bus info: usb@3:1
                   logical name: input13
                   logical name: /dev/input/event12
                   logical name: input13::capslock
                   logical name: input13::compose
                   logical name: input13::kana
                   logical name: input13::numlock
                   logical name: input13::scrolllock
                   version: 5.12
                   capabilities: usb-2.00 usb
                   configuration: driver=usbhid maxpower=30mA speed=12Mbit/s
              *-usb:1
                   description: Mass storage device
                   product: Mass Storage Device
                   vendor: Generic
                   physical id: 3
                   bus info: usb@3:3
                   logical name: scsi0
                   version: 1.00
                   serial: 121220160204
                   capabilities: usb-2.00 scsi emulated scsi-host
                   configuration: driver=usb-storage maxpower=100mA speed=480Mbit/s
                 *-disk
                      description: SCSI Disk
                      product: Storage Device
                      vendor: Mass
                      physical id: 0.0.0
                      bus info: scsi@0:0.0.0
                      logical name: /dev/sda
                      version: 1.00
                      size: 14GiB (15GB)
                      capabilities: removable
                      configuration: logicalsectorsize=512 sectorsize=512
                    *-medium
                         physical id: 0
                         logical name: /dev/sda
                         size: 14GiB (15GB)
                         capabilities: partitioned partitioned:dos
                       *-volume
                            description: Windows FAT volume
                            vendor: mkfs.fat
                            physical id: 1
                            logical name: /dev/sda1
                            version: FAT32
                            serial: 4467-b236
                            size: 14GiB
                            capacity: 14GiB
                            capabilities: primary fat initialized
                            configuration: FATs=2 filesystem=fat label=KEY
              *-usb:2
                   description: Keyboard
                   product: USB Receiver
                   vendor: Logitech
                   physical id: 5
                   bus info: usb@3:5
                   version: 29.01
                   capabilities: usb-2.00
                   configuration: driver=usbhid maxpower=98mA speed=12Mbit/s
                 *-input:0
                      product: Logitech Wireless Keyboard PID:4075
                      physical id: 0
                      logical name: input5
                      logical name: /dev/input/event5
                      logical name: input5::capslock
                      logical name: input5::compose
                      logical name: input5::kana
                      logical name: input5::numlock
                      logical name: input5::scrolllock
                      capabilities: usb
                 *-input:1
                      product: Logitech Wireless Mouse
                      physical id: 1
                      logical name: input6
                      logical name: /dev/input/event6
                      logical name: /dev/input/mouse0
                      capabilities: usb
              *-usb:3
                   description: Bluetooth wireless interface
                   product: Bluetooth Radio
                   vendor: Realtek
                   physical id: 7
                   bus info: usb@3:7
                   version: 0.00
                   serial: 00e04c000001
                   capabilities: bluetooth usb-1.00
                   configuration: driver=btusb maxpower=500mA speed=12Mbit/s
           *-usbhost:1
                product: xHCI Host Controller
                vendor: Linux 6.12.16-gentoo-x86_64-n100-joetoo xhci-hcd
                physical id: 1
                bus info: usb@4
                logical name: usb4
                version: 6.12
                capabilities: usb-3.10
                configuration: driver=hub slots=4 speed=10000Mbit/s
        *-memory UNCLAIMED
             description: RAM memory
             product: Alder Lake-N PCH Shared SRAM
             vendor: Intel Corporation
             physical id: 14.2
             bus info: pci@0000:00:14.2
             version: 00
             width: 64 bits
             clock: 33MHz (30.3ns)
             capabilities: pm cap_list
             configuration: latency=0
             resources: iomemory:600-5ff iomemory:600-5ff memory:6001144000-6001147fff memory:600114b000-600114bfff
        *-communication:1
             description: Communication controller
             product: Alder Lake-N PCH HECI Controller
             vendor: Intel Corporation
             physical id: 16
             bus info: pci@0000:00:16.0
             version: 00
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi bus_master cap_list
             configuration: driver=mei_me latency=0
             resources: iomemory:600-5ff irq:126 memory:600114a000-600114afff
        *-generic:1
             description: MMC Host
             product: Intel Corporation
             vendor: Intel Corporation
             physical id: 1a
             bus info: pci@0000:00:1a.0
             logical name: mmc0
             version: 00
             width: 64 bits
             clock: 33MHz
             capabilities: pm bus_master cap_list
             configuration: driver=sdhci-pci latency=0
             resources: iomemory:600-5ff irq:16 memory:6001149000-6001149fff
        *-pci:0
             description: PCI bridge
             product: Intel Corporation
             vendor: Intel Corporation
             physical id: 1c
             bus info: pci@0000:00:1c.0
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
             configuration: driver=pcieport
             resources: irq:122 ioport:3000(size=4096) memory:80800000-808fffff
           *-network
                description: Wireless interface
                product: RTL8852BE PCIe 802.11ax Wireless Network Controller
                vendor: Realtek Semiconductor Co., Ltd.
                physical id: 0
                bus info: pci@0000:01:00.0
                logical name: wlan0
                version: 00
                serial: 60:ff:9e:d1:ce:64
                width: 64 bits
                clock: 33MHz
                capabilities: pm msi pciexpress bus_master cap_list ethernet physical wireless
                configuration: broadcast=yes driver=rtw89_8852be driverversion=6.12.16-gentoo-x86_64-n100-joet firmware=N/A ip=192.168.7.122 latency=0 link=yes multicast=yes wireless=IEEE 802.11
                resources: irq:148 ioport:3000(size=256) memory:80800000-808fffff
        *-pci:1
             description: PCI bridge
             product: Alder Lake-N PCI Express Root Port #7
             vendor: Intel Corporation
             physical id: 1c.6
             bus info: pci@0000:00:1c.6
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
             configuration: driver=pcieport
             resources: irq:123 memory:80400000-806fffff
           *-network
                description: Ethernet interface
                product: Ethernet Controller I226-V
                vendor: Intel Corporation
                physical id: 0
                bus info: pci@0000:02:00.0
                logical name: eth0
                version: 04
                serial: 10:02:b5:86:0c:cb
                capacity: 2500Mbit/s
                width: 32 bits
                clock: 33MHz
                capabilities: pm msi msix pciexpress bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd 2500bt-fd autonegotiation
                configuration: autonegotiation=on broadcast=yes driver=igc driverversion=6.12.16-gentoo-x86_64-n100-joet firmware=2017:888d latency=0 link=no multicast=yes port=twisted pair
                resources: irq:18 memory:80500000-805fffff memory:80600000-80603fff memory:80400000-804fffff
        *-pci:2
             description: PCI bridge
             product: Alder Lake-N PCI Express Root Port #9
             vendor: Intel Corporation
             physical id: 1d
             bus info: pci@0000:00:1d.0
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: pci pciexpress msi pm normal_decode bus_master cap_list
             configuration: driver=pcieport
             resources: irq:124 memory:80700000-807fffff
           *-nvme
                description: NVMe device
                product: KBG40ZNS128G NVMe KIOXIA 128GB
                vendor: KIOXIA Corporation
                physical id: 0
                bus info: pci@0000:03:00.0
                logical name: /dev/nvme0
                version: 10410105
                serial: Y0CPG9T7QUL1
                width: 64 bits
                clock: 33MHz
                capabilities: nvme pciexpress pm msi msix nvm_express bus_master cap_list
                configuration: driver=nvme latency=0 nqn=nqn.2018-06.com.toshiba-memory:KBG40ZNS128G NVMe KIOXIA 128GB:Y0CPG9T7QUL1 state=live
                resources: irq:16 memory:80700000-80703fff
              *-namespace:0
                   description: NVMe disk
                   physical id: 0
                   logical name: hwmon1
              *-namespace:1
                   description: NVMe disk
                   physical id: 2
                   logical name: /dev/ng0n1
              *-namespace:2
                   description: NVMe disk
                   physical id: 1
                   bus info: nvme@0:1
                   logical name: /dev/nvme0n1
                   size: 119GiB (128GB)
                   capabilities: gpt-1.00 partitioned partitioned:gpt
                   configuration: guid=2e29cdd5-2bd7-8047-868b-05bfa27f25e9 logicalsectorsize=512 sectorsize=512 wwid=eui.01000000000000008ce38e040164bd04
                 *-volume:0
                      description: BIOS Boot partition
                      vendor: EFI
                      physical id: 1
                      bus info: nvme@0:1,1
                      logical name: /dev/nvme0n1p1
                      serial: 92c01d6f-7b4e-e14d-bfec-183ea09b6f23
                      capacity: 4095KiB
                      capabilities: nofs
                 *-volume:1
                      description: Windows FAT volume
                      vendor: mkfs.fat
                      physical id: 2
                      bus info: nvme@0:1,2
                      logical name: /dev/nvme0n1p2
                      logical name: /efi
                      version: FAT32
                      serial: 05e5-2509
                      size: 244MiB
                      capacity: 249MiB
                      capabilities: boot fat initialized
                      configuration: FATs=2 filesystem=fat label=efi_fs mount.fstype=vfat mount.options=rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro state=mounted
                 *-volume:2
                      description: EXT4 volume
                      vendor: Linux
                      physical id: 3
                      bus info: nvme@0:1,3
                      logical name: /dev/nvme0n1p3
                      logical name: /boot
                      version: 1.0
                      serial: 211a8f1c-8da1-4ffd-9a55-9aaf2ec2a06d
                      size: 500MiB
                      capabilities: journaled extended_attributes large_files huge_files dir_nlink recover 64bit extents ext4 ext2 initialized
                      configuration: created=2020-12-31 19:44:54 filesystem=ext4 label=boot_fs lastmountpoint=/boot modified=2025-03-09 16:27:01 mount.fstype=ext4 mount.options=rw,relatime mounted=2025-03-09 16:27:01 state=mounted
                 *-volume:3
                      description: LVM Physical Volume
                      vendor: Linux
                      physical id: 4
                      bus info: nvme@0:1,4
                      logical name: /dev/nvme0n1p4
                      serial: e52063fa-e14f-457f-bd57-c288c7982d52
                      size: 118GiB
                      capacity: 118GiB
                      width: 834914416 bits
                      capabilities: multi encrypted luks initialized
                      configuration: bits=18014783600 filesystem=luks hash=sha256 version=2
        *-isa
             description: ISA bridge
             product: Alder Lake-N PCH eSPI Controller
             vendor: Intel Corporation
             physical id: 1f
             bus info: pci@0000:00:1f.0
             version: 00
             width: 32 bits
             clock: 33MHz
             capabilities: isa bus_master
             configuration: latency=0
           *-pnp00:00
                product: Motherboard registers
                physical id: 0
                capabilities: pnp
                configuration: driver=system
           *-pnp00:01
                product: Motherboard registers
                physical id: 1
                capabilities: pnp
                configuration: driver=system
           *-pnp00:02
                product: Motherboard registers
                physical id: 2
                capabilities: pnp
                configuration: driver=system
           *-pnp00:03
                product: Motherboard registers
                physical id: 3
                capabilities: pnp
                configuration: driver=system
           *-pnp00:04
                product: Motherboard registers
                physical id: 4
                capabilities: pnp
                configuration: driver=system
           *-pnp00:05
                product: 16550A-compatible COM port
                physical id: 5
                capabilities: pnp
                configuration: driver=serial
        *-multimedia
             description: Audio device
             product: Alder Lake-N PCH High Definition Audio Controller
             vendor: Intel Corporation
             physical id: 1f.3
             bus info: pci@0000:00:1f.3
             logical name: card0
             logical name: /dev/snd/controlC0
             logical name: /dev/snd/hwC0D0
             logical name: /dev/snd/hwC0D2
             logical name: /dev/snd/pcmC0D0c
             logical name: /dev/snd/pcmC0D0p
             logical name: /dev/snd/pcmC0D3p
             logical name: /dev/snd/pcmC0D7p
             logical name: /dev/snd/pcmC0D8p
             logical name: /dev/snd/pcmC0D9p
             version: 00
             width: 64 bits
             clock: 33MHz
             capabilities: pm msi bus_master cap_list
             configuration: driver=snd_hda_intel latency=32
             resources: iomemory:600-5ff iomemory:600-5ff irq:147 memory:6001140000-6001143fff memory:6001000000-60010fffff
           *-input:0
                product: HDA Intel PCH HDMI/DP,pcm=8
                physical id: 0
                logical name: input10
                logical name: /dev/input/event10
           *-input:1
                product: HDA Intel PCH HDMI/DP,pcm=9
                physical id: 1
                logical name: input11
                logical name: /dev/input/event11
           *-input:2
                product: HDA Intel PCH Headphone
                physical id: 2
                logical name: input7
                logical name: /dev/input/event7
           *-input:3
                product: HDA Intel PCH HDMI/DP,pcm=3
                physical id: 3
                logical name: input8
                logical name: /dev/input/event8
           *-input:4
                product: HDA Intel PCH HDMI/DP,pcm=7
                physical id: 4
                logical name: input9
                logical name: /dev/input/event9
        *-serial:0
             description: SMBus
             product: Alder Lake-N SMBus
             vendor: Intel Corporation
             physical id: 1f.4
             bus info: pci@0000:00:1f.4
             version: 00
             width: 64 bits
             clock: 33MHz
             configuration: driver=i801_smbus latency=0
             resources: iomemory:600-5ff irq:16 memory:6001148000-60011480ff ioport:efa0(size=32)
        *-serial:1 UNCLAIMED
             description: Serial bus controller
             product: Alder Lake-N SPI (flash) Controller
             vendor: Intel Corporation
             physical id: 1f.5
             bus info: pci@0000:00:1f.5
             version: 00
             width: 32 bits
             clock: 33MHz
             configuration: latency=0
             resources: memory:80900000-80900fff
  *-power:0 UNCLAIMED
       description: Default string
       product: Default string
       vendor: Default string
       physical id: 1
       version: Default string
       serial: Default string
       capacity: 32768mWh
  *-power:1 UNCLAIMED
       description: Default string
       product: Default string
       vendor: Default string
       physical id: 2
       version: Default string
       serial: Default string
       capacity: 32768mWh
  *-power:2 UNCLAIMED
       description: Default string
       product: Default string
       vendor: Default string
       physical id: 3
       version: Default string
       serial: Default string
       capacity: 32768mWh
  *-input:0
       product: Sleep Button
       physical id: 4
       logical name: input0
       logical name: /dev/input/event0
       capabilities: platform
  *-input:1
       product: Power Button
       physical id: 5
       logical name: input1
       logical name: /dev/input/event1
       capabilities: platform
  *-input:2
       product: Power Button
       physical id: 6
       logical name: input2
       logical name: /dev/input/event2
       capabilities: platform
  *-input:3
       product: Video Bus
       physical id: 7
       logical name: input3
       logical name: /dev/input/event3
       capabilities: platform
  *-input:4
       product: PC Speaker
       physical id: 8
       logical name: input4
       logical name: /dev/input/event4
       capabilities: isa

Geekbench6 results

System Information
Header text Header text
Operating System Gentoo Linux
Kernel Linux 6.12.16-gentoo-x86_64-n100-joetoo x86_64
Model Default string Default string (Radxa X4)
Motherboard Default string Default string (Radxa X4)
BIOS American Megatrends International, LLC. 5.27
CPU Information
Header text Header text
Name Intel N100
Topology 1 Processor, 4 Cores
Identifier GenuineIntel Family 6 Model 190 Stepping 0
Base Frequency 3.40 GHz
L1 Instruction Cache 64.0 KB x 2
L1 Data Cache 32.0 KB x 2
L2 Cache 2.00 MB
L3 Cache 6.00 MB
Instruction Sets se2 sse3 pclmul fma3 sse41 aesni avx avx2 shani vaes avx-vnni
Memory Information
Header text Header text
Size 7.53 GB
Scores
Header text Header text
Single-Core Score 1215
Multi-Core Score 2972


OpenCL Information
Header text Header text
Platform Vendor Intel(R) Corporation
Platform Name Intel(R) OpenCL Graphics
Device Vendor Intel(R) Corporation
Device Name Intel(R) UHD Graphics
Device Driver Version 24.35 .030872
Maximum Frequency 750 MHz
Compute Units 24
Device Memory 6.62 GB
Graphics performance information
Background Blur 1541 6.38 images/sec
Face Detection 1113 3.63 images/sec
Horizon Detection 4361 135.7 Mpixels/sec
Edge Detection 5452 202.3 Mpixels/sec
Gaussian Blur 2851 124.2 Mpixels/sec
Feature Matching 1068 42.1 Mpixels/sec
Stereo Matching 9874 9.39 Gpixels/sec
Particle Physics 9559

btop views

Pretty high temp and cpu utilization - it may be oscillating in and out of throttling...

X4 compiling the cross-gcc for its RP2040

X4 compiles gcc as part of cross-toolchain for its rp2040 microcontroller

X4 compiling pico-examples for its RP2040

X4 compiles pico-examples (c software) for its rp2040 microcontroller

Temp/Freq Monitoring

joetoo's joetoolkit package has a temp_freq tool --

user $cat /usr/local/sbin/temp_freq
cpufreq=()
c_temp=()
f_temp=()

echo "temp data:"
i=0
for x in /sys/class/thermal/thermal_zone*
do
  c_temp[$i]=$(echo "scale=2; $(cat $x/temp)/1000" | bc)
  f_temp[$i]=$(echo "scale=2; (9/5) * ${c_temp[$i]} + 32" | bc)
  echo "  thermal_zone $i: ${c_temp[$i]} C; ${f_temp[$i]} F"
  let "i++"
done
echo
echo "freq data:"
f_max=$( echo "scale=2; $(lscpu | grep -i 'max' | awk '{print $4}')/1000" | bc)
echo "  f_max: $f_max MHz"
f_min=$( echo "scale=2; $(lscpu | grep -i 'min' | awk '{print $4}')/1000" | bc)
echo "  f_min: $f_min MHz"
echo
i=0
while read line
do
  cpufreq[$i]=$( echo "scale=2; $(echo $line | awk '{print $4}') / 1000" | bc)
  echo "  cpu $i: ${cpufreq[$i]} MHz"
  let "i++"
done <<< $(cat /proc/cpuinfo | grep -i mhz)


user $watch -n2 temp_freq
temp data:
  thermal_zone 0: 27.80 C; 82.04 F
  thermal_zone 1: 35.00 C; 95.00 F

freq data:
  f_max: 3.40 MHz
  f_min: .70 MHz

  cpu 0: 1.40 MHz
  cpu 1: 1.40 MHz
  cpu 2: 1.40 MHz
  cpu 3: 1.40 MHz

References