Frederic Cambus

Blog · Git · Contact

OpenBSD on the VIA Eden X2 powered HP t510 Thin Client

OpenBSD

Back in 2017, I bought two used HP thin clients on a local auction site, the t5570e and the t510, both of them powered by VIA x86-64 CPUs. In this article, I will focus on the t510, which is the more powerful of the two.

The CPU in this machine is a VIA Eden X2 U4200, which is a dual-core x86-64 CPU running at 1GHz released in 2011. For those interested about the status of those CPUs, I wrote an article about the future of VIA x86 processors back in 2018.

The machine came equipped with 4GB of RAM and a 16GB SATA module from Apacer which I replaced with a SSD. On the plus side, those machines are fanless and all x86-64 VIA CPUs have the PadLock features, making them an interesting alternative to older Celerons which were lacking AES-NI support. On the minus side, the CPU is quite slow and the power consumption of the device is not that light.

Xenocara works on this machine using the openchrome driver, which I updated to version 0.6.176 back in 2018 in order to fix display issues on my system, thanks to matthieu@ who was kind enough to give me some pointers about the process. I then updated it to the 0.6.182 version in 2019, and finally to the 0.6.409 version a couple days ago.

Here is the result of a quick md5 -t benchmark:

MD5 time trial.  Processing 10000 10000-byte blocks...
Digest = 52e5f9c9e6f656f3e1800dfa5579d089
Time   = 1.000000 seconds
Speed  = 100000000.000000 bytes/second

Here is the result of the sha1 -t benchmark:

SHA1 time trial.  Processing 10000 10000-byte blocks...
Digest = 74a57b897cc581defa5b3a359fa762a1b83a60e8
Time   = 1.800000 seconds
Speed  = 55555555.555556 bytes/second

For the record, LibreSSL speed benchmark results are available here.

System message buffer (dmesg output):

OpenBSD 7.0-current (GENERIC.MP) #117: Wed Nov 24 01:03:57 MST 2021
    deraadt@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 4143775744 (3951MB)
avail mem = 4002222080 (3816MB)
random: good seed from bootblocks
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.6 @ 0xfd6d0 (36 entries)
bios0: vendor American Megatrends Inc. version "786R11 v1.05" date 06/03/2013
bios0: Hewlett-Packard HP t510 Thin Client
acpi0 at bios0: ACPI 4.0
acpi0: sleep states S0 S5
acpi0: tables DSDT FACP APIC MCFG OEMB HPET SSDT
acpi0: wakeup devices NP2S(S0) NP3S(S0) USB0(S0) USB1(S0) USB2(S0) USB3(S0) EHCI(S0) SBRG(S5) P0P4(S5) AZAL(S0)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: VIA Eden X2 U4200 @ 1.0+ GHz, 1000.19 MHz, 06-0f-0d
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,SSSE3,CX16,xTPR,SSE4.1,POPCNT,NXE,LONG,LAHF,PERF
cpu0: 64KB 64b/line 16-way I-cache, 64KB 64b/line 16-way D-cache, 1MB 64b/line 16-way L2 cache
cpu0: ITLB 128 4KB entries 8-way
cpu0: DTLB 128 4KB entries 8-way
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 200MHz
cpu0: RNG AES AES-CTR SHA1 SHA256 RSA
cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2, IBE
cpu1 at mainbus0: apid 2 (application processor)
cpu1: VIA Eden X2 U4200 @ 1.0+ GHz, 1000.05 MHz, 06-0f-0d
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,CFLUSH,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,MWAIT,VMX,EST,TM2,SSSE3,CX16,xTPR,SSE4.1,POPCNT,NXE,LONG,LAHF,PERF
cpu1: 64KB 64b/line 16-way I-cache, 64KB 64b/line 16-way D-cache, 1MB 64b/line 16-way L2 cache
cpu1: ITLB 128 4KB entries 8-way
cpu1: DTLB 128 4KB entries 8-way
cpu1: disabling user TSC (skew=-220)
ioapic0 at mainbus0: apid 3 pa 0xfec00000, version 3, 24 pins
ioapic1 at mainbus0: apid 4 pa 0xfecc0000, version 3, 24 pins
acpimcfg0 at acpi0
acpimcfg0: addr 0xe0000000, bus 0-255
acpihpet0 at acpi0: 14318179 Hz
acpiprt0 at acpi0: bus 0 (PCI0)
acpiprt1 at acpi0: bus 1 (NBP0)
acpiprt2 at acpi0: bus 2 (NBP1)
acpiprt3 at acpi0: bus 3 (NBP2)
acpiprt4 at acpi0: bus 5 (NBP3)
acpiprt5 at acpi0: bus 6 (P0P4)
acpipci0 at acpi0 PCI0
acpicmos0 at acpi0
acpibtn0 at acpi0: SLPB
acpibtn1 at acpi0: PWRB
acpicpu0 at acpi0: C1(1000@1 halt), PSS
acpicpu1 at acpi0: C1(1000@1 halt), PSS
acpipwrres0 at acpi0: URP1
acpipwrres1 at acpi0: URP2
acpipwrres2 at acpi0: FDDP
acpipwrres3 at acpi0: LPTP
cpu0: Enhanced SpeedStep 1000 MHz: speeds: 1000, 900, 800 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "VIA VX900 Host" rev 0x80
pchb1 at pci0 dev 0 function 1 "VIA VX900 Error Reporting" rev 0x00
pchb2 at pci0 dev 0 function 2 "VIA VX900 Host" rev 0x00
pchb3 at pci0 dev 0 function 3 "VIA VX900 DRAM" rev 0x00
pchb4 at pci0 dev 0 function 4 "VIA VX900 Host" rev 0x00
pchb5 at pci0 dev 0 function 5 "VIA VX900 APIC" rev 0x00
pchb6 at pci0 dev 0 function 6 "VIA VX900 Scratch" rev 0x00
pchb7 at pci0 dev 0 function 7 "VIA VX900 Host" rev 0x00
vga1 at pci0 dev 1 function 0 "VIA Chrome9 HD" rev 0x00
wsdisplay0 at vga1 mux 1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
ppb0 at pci0 dev 3 function 0 "VIA VX900 PCIE" rev 0x00: msi
pci1 at ppb0 bus 1
ppb1 at pci0 dev 3 function 1 "VIA VX900 PCIE" rev 0x00: msi
pci2 at ppb1 bus 2
ppb2 at pci0 dev 3 function 2 "VIA VX900 PCIE" rev 0x00: msi
pci3 at ppb2 bus 3
ppb3 at pci0 dev 3 function 3 "VIA VX900 PCIE" rev 0x00: msi
pci4 at ppb3 bus 5
bge0 at pci4 dev 0 function 0 "Broadcom BCM57780" rev 0x01, BCM57780 A1 (0x57780001): msi, address c8:cb:b8:1f:42:6a
brgphy0 at bge0 phy 1: BCM57780 10/100/1000baseT PHY, rev. 1
pchb8 at pci0 dev 3 function 4 "VIA VX900 PCIE" rev 0x00
pciide0 at pci0 dev 15 function 0 "VIA VX900 IDE" rev 0x00: ATA133, channel 0 configured to compatibility, channel 1 configured to compatibility
wd0 at pciide0 channel 0 drive 1: <M4-CT128M4SSD1>
wd0: 16-sector PIO, LBA48, 122104MB, 250069680 sectors
wd0(pciide0:0:1): using PIO mode 4, Ultra-DMA mode 5
pciide0: channel 1 disabled (no drives)
uhci0 at pci0 dev 16 function 0 "VIA VT83C572 USB" rev 0xa0: apic 3 int 20
uhci1 at pci0 dev 16 function 1 "VIA VT83C572 USB" rev 0xa0: apic 3 int 22
uhci2 at pci0 dev 16 function 2 "VIA VT83C572 USB" rev 0xa0: apic 3 int 21
uhci3 at pci0 dev 16 function 3 "VIA VT83C572 USB" rev 0xa0: apic 3 int 23
ehci0 at pci0 dev 16 function 4 "VIA VT6202 USB" rev 0x90: apic 3 int 23
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "VIA EHCI root hub" rev 2.00/1.00 addr 1
viapm0 at pci0 dev 17 function 0 "VIA VX900 ISA" rev 0x00: SMI
iic0 at viapm0
pchb9 at pci0 dev 17 function 7 "VIA VX800 Host" rev 0x00
ppb4 at pci0 dev 19 function 0 "VIA VX800" rev 0x00
pci5 at ppb4 bus 6
azalia0 at pci0 dev 20 function 0 "VIA HD Audio" rev 0x20: msi
azalia0: codecs: VIA/0x0397
audio0 at azalia0
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 configuration 1 interface 0 "VIA UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "VIA UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "VIA UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci3: USB revision 1.0
uhub4 at usb4 configuration 1 interface 0 "VIA UHCI root hub" rev 1.00/1.00 addr 1
isa0 at mainbus0
isadma0 at isa0
com0 at isa0 port 0x3f8/8 irq 4: ns16550a, 16 byte fifo
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
lpt0 at isa0 port 0x378/4 irq 7
vmm0 at mainbus0: VMX (using slow L1TF mitigation)
dt: 445 probes
vscsi0 at root
scsibus1 at vscsi0: 256 targets
softraid0 at root
scsibus2 at softraid0: 256 targets
root on wd0a (4561d3363de7f2a6.a) swap on wd0b dump on wd0b

Sensors output:

$ sysctl hw.sensors
hw.sensors.cpu0.temp0=49.00 degC

PCI device data:

# pcidump
Domain /dev/pci0:
 0:0:0: VIA VX900 Host
 0:0:1: VIA VX900 Error Reporting
 0:0:2: VIA VX900 Host
 0:0:3: VIA VX900 DRAM
 0:0:4: VIA VX900 Host
 0:0:5: VIA VX900 APIC
 0:0:6: VIA VX900 Scratch
 0:0:7: VIA VX900 Host
 0:1:0: VIA Chrome9 HD
 0:3:0: VIA VX900 PCIE
 0:3:1: VIA VX900 PCIE
 0:3:2: VIA VX900 PCIE
 0:3:3: VIA VX900 PCIE
 0:3:4: VIA VX900 PCIE
 0:15:0: VIA VX900 IDE
 0:16:0: VIA VT83C572 USB
 0:16:1: VIA VT83C572 USB
 0:16:2: VIA VT83C572 USB
 0:16:3: VIA VT83C572 USB
 0:16:4: VIA VT6202 USB
 0:17:0: VIA VX900 ISA
 0:17:7: VIA VX800 Host
 0:19:0: VIA VX800
 0:20:0: VIA HD Audio
 5:0:0: Broadcom BCM57780