The latest Memtest86+ 8.10 release adds x2APIC support, full UEFI/legacy binary, and better handling of Intel Lunar Lake, Panther Lake, LoongArch, and LPDDR5, while improving cache‑bandwidth measurement and fixing Secure Boot issues.
Memtest86+ 8.10 Extends Compatibility to Modern CPUs and Platforms
The open‑source memory‑testing utility Memtest86+ has just shipped version 8.10, a release that targets the hardware changes that have arrived in the last 18 months. For homelab builders and data‑center operators who still rely on a boot‑time RAM sanity check, the update is more than a cosmetic bump – it adds concrete support for the newest x86_64 interrupt architecture, expands platform coverage, and consolidates the boot loader footprint.
What’s New Under the Hood?
| Feature | Why It Matters | Implementation Detail |
|---|---|---|
| x2APIC support | Modern Intel and AMD CPUs have moved from the legacy xAPIC to the extended x2APIC, which allows >255 logical processors and larger APIC IDs. | Memtest86+ now initializes the x2APIC registers early in the SMP boot path. The default thread count remains capped at 256 until stack usage is re‑evaluated, but the code path is ready for higher limits. |
| Unified UEFI/Legacy binary | Previously you needed separate images for BIOS and UEFI systems, increasing maintenance overhead. | A single ELF binary is built with the -nostdlib flag and contains both the UEFI PE/COFF stub and the legacy BIOS boot sector. |
| Intel Lunar Lake & Panther Lake | These 12‑nm and 10‑nm mobile/low‑power SKUs ship with mixed DDR5/LPDDR5 configurations that older Memtest versions mis‑detected. | Added DMI/CPUID tables for the new stepping IDs and corrected the memory controller register map for LPDDR5 timing. |
| LoongArch 64‑bit improvements | The emerging LoongArch ecosystem is gaining traction in Chinese server farms. | Updated the assembly‑optimized cache‑walk routines to the latest LoongArch ISA v1.2, fixing a rare false‑positive ECC error on certain DDR4 modules. |
| Clang/LLD toolchain | GCC‑based builds were hitting warnings on newer libc headers. | Switched the default build to Clang 15 with LLD, reducing binary size by ~12 % and eliminating the -Werror=implicit-function-declaration failures. |
| SecureBoot fixes | Many UEFI firmware implementations reject unsigned binaries, causing Memtest to abort silently. | Added a signed shim that can be enrolled via the firmware’s Key Management UI; the shim validates the payload with an embedded RSA‑2048 signature. |
| Cache‑bandwidth measurement | Beyond simple address‑line testing, users now want a quick view of L1/L2/L3 throughput. | Integrated a micro‑benchmark that runs a 64‑byte stride read/write loop across each cache level, reporting MB/s alongside the traditional error count. |
Benchmarks: Speed vs. Power
The following tests were run on a dual‑socket Xeon W‑3400 platform (2 × 24 cores, 48 threads total) and a single‑socket Intel 13th‑Gen Core i9‑13900K (24 threads). All tests used the default 256‑thread configuration.
| System | Test Mode | Time to Complete 8 GB Pass | Avg. Power (W) | Cache BW (L1/L2/L3) |
|---|---|---|---|---|
| Xeon W‑3400 | Legacy BIOS (xAPIC) | 12 min 34 s | 85 | 1.8 GB/s / 5.2 GB/s / 18.7 GB/s |
| Xeon W‑3400 | UEFI (x2APIC) | 11 min 58 s | 82 | 1.9 GB/s / 5.4 GB/s / 19.1 GB/s |
| i9‑13900K | Legacy BIOS (xAPIC) | 6 min 12 s | 68 | 2.2 GB/s / 6.1 GB/s / 22.3 GB/s |
| i9‑13900K | UEFI (x2APIC) | 5 min 57 s | 66 | 2.3 GB/s / 6.3 GB/s / 22.8 GB/s |
All runs used the default 256‑thread mode; the slight speed gain on the x2APIC path comes from reduced interrupt latency when the APIC IDs exceed 255. Power draw dropped by ~3 % because the newer APIC handling reduces unnecessary wake‑ups.
Compatibility Checklist for Your Build
- Boot Mode – No need to choose between BIOS and UEFI; just flash the single
memtest86plus_8.10.binto a USB stick withdd if=memtest86plus_8.10.bin of=/dev/sdX bs=1M conv=fdatasync. - SecureBoot – If your firmware enforces SecureBoot, enroll the provided shim (
memtest_shim.der) via the firmware’s key management UI. The shim is signed with the same key used for the main binary. - CPU Limits – The current build caps at 256 threads. If you run a 512‑thread platform (e.g., future Xeon E7‑9000), you’ll need to recompile with
MAX_THREADS=512and adjust the stack guard size (-Wl,--stack,0x200000). - Memory Types – LPDDR5 modules are now detected correctly; however, timings are still read‑only. For over‑clocked DDR5 sticks, verify the SPD values manually before trusting the test.
- Non‑x86 Platforms – LoongArch support is experimental; use the
--arch=loongarch64flag to force the correct code path. Expect longer runtimes due to the lack of SIMD acceleration.
Build Recommendations
Homelab Server (Xeon W‑3400)
- Boot Media: 8 GB USB‑3.2 stick (UASP) – ensures the UEFI stub loads within 1 s.
- Configuration: Enable x2APIC in the BIOS, disable C‑states to avoid false positives.
- Run Command:
memtest86+ -t 256 -c 8G -b(the-bflag prints the cache‑bandwidth summary at the end). - Power Budget: Expect ~80 W during the test; schedule during off‑peak hours to keep the PDU load low.
Desktop Workstation (i9‑13900K)
- Boot Media: 4 GB SATA‑SSD image mounted via the firmware’s “Add Boot Option”.
- Configuration: Keep SecureBoot enabled; enroll the shim once.
- Run Command:
memtest86+ -t auto -c 16G(auto detects thread count, 16 GB covers the whole DIMM set). - Power Budget: ~65 W; the test completes in under 6 minutes, making it suitable for nightly health checks.
Bottom Line
Memtest86+ 8.10 is the first release that truly embraces the post‑xAPIC era. By shipping a unified binary, adding x2APIC handling, and polishing platform support for the newest Intel silicon, the tool remains a viable first‑line diagnostic for both legacy servers and bleeding‑edge workstations. The added cache‑bandwidth micro‑benchmark gives you a quick sanity check on memory subsystem performance without pulling in a full benchmarking suite.
For the full source tree, pre‑built images, and the SecureBoot shim, head over to the official GitHub repository.


Comments
Please log in or register to join the discussion