Skip to content

Framework Desktop Mainboard #80

Description

@geerlingguy

Image

Basic information

  • Board URL (official): https://frame.work/desktop
  • Board purchased from: Provided by Framework
  • Board purchase date: July 2025
  • Board specs (as tested): Ryzen AI Max+ 395 w/ Radeon 8060S / 128 GB RAM
  • Board price (as tested): $2000 (approx)

Linux/system information

# output of `screenfetch`
           /:-------------:\          jgeerling@framework-1
        :-------------------::        OS: Fedora 
      :-----------/shhOHbmp---:\      Kernel: x86_64 Linux 6.15.7-200.fc42.x86_64
    /-----------omMMMNNNMMD  ---:     Uptime: 2d 15h 19m
   :-----------sMMMMNMNMP.    ---:    Packages: 2062
  :-----------:MMMdP-------    ---\   Shell: sshdsession: jgeerling@notty
 ,------------:MMMd--------    ---:   Disk: 13G / 1.9T (1%)
 :------------:MMMd-------    .---:   CPU: AMD RYZEN AI MAX+ 395 w/ Radeon 8060S @ 32x 5.1875GHz
 :----    oNMMMMMMMMMNho     .----:   RAM: 56440MiB / 128079MiB
 :--     .+shhhMMMmhhy++   .------/  
 :-    -------:MMMd--------------:   
 :-   --------/MMMd-------------;    
 :-    ------/hMMMy------------:     
 :-- :dMNdhhdNMMNo------------;      
 :---:sdNMMMMNds:------------:       
 :------:://:-------------::         
 :---------------------://           
                                     

# output of `uname -a`
Linux framework-1 6.15.7-200.fc42.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Jul 17 17:57:16 UTC 2025 x86_64 GNU/Linux

Benchmark results

CPU

Power

  • Idle power draw (at wall): 12.5 W (2.5W sleep)
  • Maximum simulated power draw (stress-ng --matrix 0): 154.7 W (after 10s, 135.9 W)
  • During Geekbench multicore benchmark: 146 W
  • During top500 HPL benchmark: 136 W

Disk

WD_BLACK SN7100 1TB

Benchmark Result
iozone 4K random read 115.84 MB/s
iozone 4K random write 206.89 MB/s
iozone 1M random read 26851.30 MB/s
iozone 1M random write 2778.50 MB/s
iozone 1M sequential read 25601.88 MB/s
iozone 1M sequential write 2533.84 MB/s

Network

iperf3 results:

Built-in 5 Gbps NIC

  • iperf3 -c $SERVER_IP: 4.71 Gbps
  • iperf3 -c $SERVER_IP --reverse: 4.71 Gbps
  • iperf3 -c $SERVER_IP --bidir: 4.70 Gbps up, 4.70 Gbps down

Thunderbolt0 interface

  • iperf3 -c $SERVER_IP: 8.80 Gbps
  • iperf3 -c $SERVER_IP --reverse: 8.80 Gbps
  • iperf3 -c $SERVER_IP --bidir: 9.40 Gbps up, 9.40 Gbps down

Thunderbolt networking seemed to function well under Fedora Rawhide, but I was unable to get more than 10 Gbps of traffic, using a known-good Thunderbolt 4 cable connected directly between the first Thunderbolt port (closest to left side of IO shield) on two Framework Desktop mainboards, both running Fedora 42, upgraded to Rawhide.

GPU

glmark2

glmark2-es2 / glmark2-es2-wayland results:

=======================================================
    glmark2 2023.01
=======================================================
    OpenGL Information
    GL_VENDOR:      AMD
    GL_RENDERER:    Radeon 8060S Graphics (radeonsi, gfx1151, LLVM 20.1.6, DRM 3.63, 6.15.7-200.fc42.x86_64)
    GL_VERSION:     OpenGL ES 3.2 Mesa 25.1.4
    Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
    Surface Size:   800x600 windowed
=======================================================
[build] use-vbo=false: FPS: 26352 FrameTime: 0.038 ms
[build] use-vbo=true: FPS: 37774 FrameTime: 0.026 ms
[texture] texture-filter=nearest: FPS: 37702 FrameTime: 0.027 ms
[texture] texture-filter=linear: FPS: 37331 FrameTime: 0.027 ms
[texture] texture-filter=mipmap: FPS: 37218 FrameTime: 0.027 ms
[shading] shading=gouraud: FPS: 35814 FrameTime: 0.028 ms
[shading] shading=blinn-phong-inf: FPS: 36754 FrameTime: 0.027 ms
[shading] shading=phong: FPS: 36782 FrameTime: 0.027 ms
[shading] shading=cel: FPS: 36493 FrameTime: 0.027 ms
[bump] bump-render=high-poly: FPS: 34888 FrameTime: 0.029 ms
[bump] bump-render=normals: FPS: 36864 FrameTime: 0.027 ms
[bump] bump-render=height: FPS: 36390 FrameTime: 0.027 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 36691 FrameTime: 0.027 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 35921 FrameTime: 0.028 ms
[pulsar] light=false:quads=5:texture=false: FPS: 34700 FrameTime: 0.029 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 21219 FrameTime: 0.047 ms
[desktop] effect=shadow:windows=4: FPS: 23036 FrameTime: 0.043 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 3508 FrameTime: 0.285 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 4659 FrameTime: 0.215 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 4435 FrameTime: 0.225 ms
[ideas] speed=duration: FPS: 18401 FrameTime: 0.054 ms
[jellyfish] <default>: FPS: 30954 FrameTime: 0.032 ms
[terrain] <default>: FPS: 5543 FrameTime: 0.180 ms
[shadow] <default>: FPS: 29662 FrameTime: 0.034 ms
[refract] <default>: FPS: 7786 FrameTime: 0.128 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 36116 FrameTime: 0.028 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 35918 FrameTime: 0.028 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 36176 FrameTime: 0.028 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 36124 FrameTime: 0.028 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 35876 FrameTime: 0.028 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 36042 FrameTime: 0.028 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 35692 FrameTime: 0.028 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 35228 FrameTime: 0.028 ms
=======================================================
                                  glmark2 Score: 29515 
=======================================================

vkmark

vkmark results:

=======================================================
    vkmark 2025.01
=======================================================
    Vendor ID:      0x1002
    Device ID:      0x1586
    Device Name:    Radeon 8060S Graphics (RADV GFX1151)
    Driver Version: 104861700
    Device UUID:    3463bb8e6798aa55bcf6157b2a62d501
=======================================================
[vertex] device-local=true: FPS: 49669 FrameTime: 0.020 ms
[vertex] device-local=false: FPS: 49179 FrameTime: 0.020 ms
[texture] anisotropy=0: FPS: 49154 FrameTime: 0.020 ms
[texture] anisotropy=16: FPS: 49072 FrameTime: 0.020 ms
[shading] shading=gouraud: FPS: 50538 FrameTime: 0.020 ms
[shading] shading=blinn-phong-inf: FPS: 50412 FrameTime: 0.020 ms
[shading] shading=phong: FPS: 50645 FrameTime: 0.020 ms
[shading] shading=cel: FPS: 50326 FrameTime: 0.020 ms
[effect2d] kernel=edge: FPS: 49716 FrameTime: 0.020 ms
[effect2d] kernel=blur: FPS: 48861 FrameTime: 0.020 ms
[desktop] <default>: FPS: 45325 FrameTime: 0.022 ms
[cube] <default>: FPS: 50327 FrameTime: 0.020 ms
[clear] <default>: FPS: 46790 FrameTime: 0.021 ms
=======================================================
                                   vkmark Score: 49231
=======================================================

Note: vkmark needs to be compiled from source on Debian 12 and earlier.

GravityMark

GravityMark result (720p, 50k asteroids): 75,997 (455.1 fps at 144 W)

Image

Note: These benchmarks require an active display on the device. Not all devices may be able to run glmark2-es2, so in that case, make a note and move on!

LLMs / AI Inference

ollama, llama.cpp, and distributed-llama LLM model inference results: Framework AI model benchmarks

Memory

tinymembench results:

Click to expand memory benchmark result
tinymembench v0.4.10 (simple benchmark for memory throughput and latency)

==========================================================================
== Memory bandwidth tests                                               ==
==                                                                      ==
== Note 1: 1MB = 1000000 bytes                                          ==
== Note 2: Results for 'copy' tests show how many bytes can be          ==
==         copied per second (adding together read and writen           ==
==         bytes would have provided twice higher numbers)              ==
== Note 3: 2-pass copy means that we are using a small temporary buffer ==
==         to first fetch data into it, and only then write it to the   ==
==         destination (source -> L1 cache, L1 cache -> destination)    ==
== Note 4: If sample standard deviation exceeds 0.1%, it is shown in    ==
==         brackets                                                     ==
==========================================================================

 C copy backwards                                     :  25369.9 MB/s
 C copy backwards (32 byte blocks)                    :  25387.4 MB/s (1.3%)
 C copy backwards (64 byte blocks)                    :  25367.0 MB/s
 C copy                                               :  25428.6 MB/s
 C copy prefetched (32 bytes step)                    :  30317.3 MB/s (0.3%)
 C copy prefetched (64 bytes step)                    :  29750.4 MB/s (0.6%)
 C 2-pass copy                                        :  25570.1 MB/s (0.1%)
 C 2-pass copy prefetched (32 bytes step)             :  22799.0 MB/s (0.2%)
 C 2-pass copy prefetched (64 bytes step)             :  23396.6 MB/s
 C fill                                               :  59135.0 MB/s (0.4%)
 C fill (shuffle within 16 byte blocks)               :  58667.5 MB/s (0.2%)
 C fill (shuffle within 32 byte blocks)               :  58754.6 MB/s (0.3%)
 C fill (shuffle within 64 byte blocks)               :  58738.5 MB/s (0.3%)
 ---
 standard memcpy                                      :  40108.9 MB/s (0.2%)
 standard memset                                      :  87463.7 MB/s (0.2%)
 ---
 MOVSB copy                                           :  52800.7 MB/s (0.2%)
 MOVSD copy                                           :  52784.0 MB/s
 SSE2 copy                                            :  26891.4 MB/s
 SSE2 nontemporal copy                                :  50898.6 MB/s (0.2%)
 SSE2 copy prefetched (32 bytes step)                 :  31466.0 MB/s (0.1%)
 SSE2 copy prefetched (64 bytes step)                 :  31253.4 MB/s (0.4%)
 SSE2 nontemporal copy prefetched (32 bytes step)     :  51249.8 MB/s
 SSE2 nontemporal copy prefetched (64 bytes step)     :  50681.6 MB/s (0.2%)
 SSE2 2-pass copy                                     :  26755.1 MB/s
 SSE2 2-pass copy prefetched (32 bytes step)          :  27869.3 MB/s
 SSE2 2-pass copy prefetched (64 bytes step)          :  27919.5 MB/s
 SSE2 2-pass nontemporal copy                         :   4112.0 MB/s (0.3%)
 SSE2 fill                                            :  79992.5 MB/s (0.8%)
 SSE2 nontemporal fill                                :  58385.9 MB/s (0.2%)

==========================================================================
== Memory latency test                                                  ==
==                                                                      ==
== Average time is measured for random memory accesses in the buffers   ==
== of different sizes. The larger is the buffer, the more significant   ==
== are relative contributions of TLB, L1/L2 cache misses and SDRAM      ==
== accesses. For extremely large buffer sizes we are expecting to see   ==
== page table walk with several requests to SDRAM for almost every      ==
== memory access (though 64MiB is not nearly large enough to experience ==
== this effect to its fullest).                                         ==
==                                                                      ==
== Note 1: All the numbers are representing extra time, which needs to  ==
==         be added to L1 cache latency. The cycle timings for L1 cache ==
==         latency can be usually found in the processor documentation. ==
== Note 2: Dual random read means that we are simultaneously performing ==
==         two independent memory accesses at a time. In the case if    ==
==         the memory subsystem can't handle multiple outstanding       ==
==         requests, dual random read has the same timings as two       ==
==         single reads performed one after another.                    ==
==========================================================================

block size : single random read / dual random read, [MADV_NOHUGEPAGE]
      1024 :    0.0 ns          /     0.0 ns 
      2048 :    0.0 ns          /     0.0 ns 
      4096 :    0.0 ns          /     0.0 ns 
      8192 :    0.0 ns          /     0.0 ns 
     16384 :    0.0 ns          /     0.0 ns 
     32768 :    0.0 ns          /     0.0 ns 
     65536 :    0.5 ns          /     0.8 ns 
    131072 :    1.2 ns          /     1.6 ns 
    262144 :    1.6 ns          /     1.9 ns 
    524288 :    2.2 ns          /     2.5 ns 
   1048576 :    3.3 ns          /     3.8 ns 
   2097152 :    6.9 ns          /     8.6 ns 
   4194304 :    8.5 ns          /    10.3 ns 
   8388608 :    9.5 ns          /    10.8 ns 
  16777216 :   11.2 ns          /    11.2 ns 
  33554432 :   28.3 ns          /    42.6 ns 
  67108864 :   87.8 ns          /   126.0 ns 

block size : single random read / dual random read, [MADV_HUGEPAGE]
      1024 :    0.0 ns          /     0.0 ns 
      2048 :    0.0 ns          /     0.0 ns 
      4096 :    0.0 ns          /     0.0 ns 
      8192 :    0.0 ns          /     0.0 ns 
     16384 :    0.0 ns          /     0.0 ns 
     32768 :    0.0 ns          /     0.0 ns 
     65536 :    0.5 ns          /     0.8 ns 
    131072 :    1.2 ns          /     1.6 ns 
    262144 :    1.6 ns          /     1.9 ns 
    524288 :    1.8 ns          /     1.9 ns 
   1048576 :    2.0 ns          /     2.1 ns 
   2097152 :    5.5 ns          /     7.5 ns 
   4194304 :    7.3 ns          /     9.0 ns 
   8388608 :    8.3 ns          /     9.5 ns 
  16777216 :    8.6 ns          /     9.7 ns 
  33554432 :    9.3 ns          /    10.6 ns 
  67108864 :   80.4 ns          /   118.4 ns 

sbc-bench results

Run sbc-bench and paste a link to the results here:

ThomasKaiser/sbc-bench#123

Phoronix Test Suite

Results from pi-general-benchmark.sh:

  • pts/encode-mp3: TODO sec
  • pts/x264 4K: 70.18 fps
  • pts/x264 1080p: 266.59 fps
  • pts/phpbench: 1381266
  • pts/build-linux-kernel (defconfig): 57.660 sec

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions