ASRock J5005-ITX
Introduction
The board is well named: it is a mini-ITX board, with an on-board Intel J5005 CPU. The CPU has a passive cooler mounted on top. The J5005 has integrated graphics, capable of running 4k at 60 Hz over HDMI 2.0. There are two SO-DIMM memory slots allowing for dual lane memory access. The board has 4 SATA-3 6 GB/s ports to connect HDDs or SSDs. More specifications can be found at ASRock's website.
Reasons to build a rig using this board could be the combination of:
- Low power CPU with 10 W TDP: if placed in a spacious enough case then it can be run fanless
- A CPU with SSSE3, and AES instructions, perfect for fast disk encryption, vpn connections, and encrypted wireless
- An optical S/PDIF port allows for digital connection to an external audio amplifier
- 4 SATA-3 ports provide plenty of storage opportunity
- Capable of 4k graphics: good for HTPCs
- Small ITX form factor
Hardware
Device | Make/model | Status | Bus ID | Kernel driver(s) | Kernel version | Notes |
---|---|---|---|---|---|---|
CPU | Intel J5005 | Works | N/A | N/A | 5.4.18 | Goldmont Plus microarchitecure |
Video | Intel HD Graphics 605 | Works | 00:02.0 | i915 | 5.4.18 | Integrated graphics |
Audio | Intel Device 3198 | Works | 00:0e.0 | snd_hda_intel | 5.4.18 | Realtek ALC892 Audio Codec |
SATA controller | Intel Device 31e3 | Works | 00:12.0 | ahci | 5.4.18 | 2 x SATA3 6.0 Gb/s |
SATA controller | ASMedia ASM1062 | Works | 04:00.0 | ahci | 5.4.18 | 2 x SATA3 6.0 Gb/s |
Ethernet | Realtek RTL 8111H | Works | 03:00.0 | r8169 | 5.4.18 | Gigabit LAN 10/100/1000 Mb/s |
SMBus | ASMedia ASM1062 | Not tested | 00:1f.1 | i801_smbus, i2c_i801 | 5.4.18 |
The board also sports
- 1 M.2 Key E interface, meant for a wireless card
- 1 x PCI Express 2.0 x1 Slot
Installation
The installation is per the Gentoo AMD64 handbook.
Some specific configuration options are:
- If sys-kernel/gentoo-sources is emerged with the "experimental" USE flag, then it is possible to set the processor family to "Intel Goldmont Plus"
- Enable the kernel modules for encryption using SSE3 and AES instructions, see Iwd for an example of the options to enable
- Intel graphics, configuring the drivers for generation 9
- USB support, configuring xHCI, EHCI, and UHCI
- Audio according to ALSA and optionally PulseAudio. Make sure to enable build Realtek HD-audio codec support
Kernel configuration
CPU
Intel J5005:
- marketing name: Intel® Pentium® Silver J5005 Processor
- code name: Gemini Lake
- architecture: Goldmont plus
[*] 64-bit kernel Processor type and features ---> [*] Intel Low Power Subsystem Support -*- Intel SoC IOSF Sideband support for SoC platforms Processor family (Intel Goldmont Plus) ---> (4) Maximum number of CPUs [*] Multi-core scheduler support [*] Machine Check / overheating reporting [*] CPU microcode loading support [*] Intel microcode loading support <*> /dev/cpu/*/msr - Model-specific register support <*> /dev/cpu/*/cpuid - CPU information support Power management and ACPI options ---> CPU Frequency scaling ---> Default CPUFreq governor (performance) ---> -*- 'performance' governor [*] Intel P state control [*] Cpuidle Driver for Intel Processors -*- Cryptographic API ---> <M> Parallel crypto engine <*> CRC32c INTEL hardware acceleration <M> SHA1 digest algorithm (SSSE3/AVX/AVX2/SHA-NI) <M> SHA256 digest algorithm (SSSE3/AVX/AVX2/SHA-NI) <M> SHA512 digest algorithm (SSSE3/AVX/AVX) <*> AES cipher algorithms (AES-NI) <M> Triple DES EDE cipher algorithm (x86-64)
PCI Express
Device Drivers ---> [*] PCI support ---> [*] PCI Express Port Bus support [*] PCI Express Advanced Error Reporting support Bus options (PCI etc.) ---> [*] Support mmconfig PCI config space access
Storage controllers
Select "AHCI SATA support" module.
Device Drivers ---> <*> Serial ATA and Parallel ATA drivers (libata) ---> [*] ATA ACPI Support <*> AHCI SATA support
Video
The integrated video is Intel Gen 9.
Device Drivers ---> Graphics support ---> <M> /dev/agpgart (AGP Support) ---> <M> Intel 440LX/BX/GX, I8xx and E7x05 chipset support <M> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> [*] Enable legacy fbdev support for your modesetting driver <M> Intel 8xx/9xx/G3x/G4x/HD Graphics [*] Always enable userptr support
The required firmware is loaded automatically when the i915 driver is built as a module.
Provide configuration options for the i915 driver to enable functions of the Graphics micro (µ) Controller (GuC), the HEVC/H.265 micro (µ) Controller (HuC), as well as framebuffer compression (see here, and here for details):
/etc/modprobe.d/i915.conf
options i915 enable_fbc=1 enable_guc=2
Note that enable_guc shows the kernel as tainted:
root #
dmesg | grep -iE "huc|guc|dmc|i915|drm"
[ 3.770822] Setting dangerous option enable_guc - tainting kernel [ 3.771670] i915 0000:00:02.0: vgaarb: deactivate vga console [ 3.771758] [drm] couldn't get memory information [ 3.771760] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [ 3.771760] [drm] Driver supports precise vblank timestamp query. [ 3.771831] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem [ 3.772438] [drm] Applying Increase DDI Disabled quirk [ 3.772617] mei_hdcp 0000:00:0f.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915]) [ 3.775721] [drm] Finished loading DMC firmware i915/glk_dmc_ver1_04.bin (v1.4) [ 4.910767] [drm] failed to retrieve link info, disabling eDP [ 4.925196] [drm] GuC communication enabled [ 4.930132] i915 0000:00:02.0: GuC firmware i915/glk_guc_33.0.0.bin version 33.0 submission:disabled [ 4.930134] i915 0000:00:02.0: HuC firmware i915/glk_huc_ver03_01_2893.bin version 3.1 authenticated:yes [ 4.931417] [drm] Initialized i915 1.6.0 20190822 for 0000:00:02.0 on minor 0 [ 4.933150] snd_hda_intel 0000:00:0e.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915]) [ 4.969752] fbcon: i915drmfb (fb0) is primary device [ 5.151377] i915 0000:00:02.0: fb0: i915drmfb frame buffer device
Sound
Device Drivers ---> <M> Sound card support ---> <M> Advanced Linux Sound Architecture ---> <*> PCI sound devices ---> HD-Audio ---> <M> Build Realtek HD-audio codec support <M> Build HDMI/DisplayPort HD-audio codec support
USB
Device Drivers ---> [*] USB support ---> <*> Support for Host-side USB <M> xHCI HCD (USB 3.0) support <M> EHCI HCD (USB 2.0) support <M> UHCI HCD (most Intel and VIA) support
Network
Device Drivers ---> [*] Network device support ---> [*] Ethernet driver support ---> [*] Realtek devices <M> Realtek 8169/8168/8101/8125 ethernet support
Intel MEI
Device Drivers ---> Misc devices ---> {M} Intel Management Engine Interface {M} ME Enabled Intel Chipsets <M> Intel HDCP2.2 services of ME Interface
Sensors
Next to the standard Intel core temperature sensor, the board also contains a a Nuvoton NCT6796D Super I/O chip, which can be used for monitoring and fan control.
Device Drivers ---> <*> Hardware Monitoring support ---> <M> Intel Core/Core2/Atom temperature sensor <M> Nuvoton NCT6775F and compatibles
SMBus
Device Drivers ---> I2C support ---> {*} I2C support [*] ACPI I2C Operation region support <M> I2C device interface [*] Autoselect pertinent helper modules I2C Hardware Bus support ---> <M> Intel 82801 (ICH/PCH)
Portage make.conf
Many options of Gentoo are set in /etc/portage/make.conf. Some of the key aspects are:
/etc/portage/make.conf
CFLAGS="-march=goldmont-plus -O2 -pipe" CXXFLAGS="${CFLAGS} VIDEO_CARDS="intel i965" CPU_FLAGS_X86="aes mmx mmxext pclmul popcnt sha sse sse2 sse3 sse4_1 sse4_2 ssse3"