Framework 13" Laptop with Debian

Recently GMU decided to tighten their Jamf Pro management on Apple laptops. The new policy has several new restrictions that I didn’t like (e.g., cannot install software, cannot ssh in, etc). So I decided to switch to a Linux laptop.
After some research, I decided to get a Framework (FW) laptop because I like the idea of a modular laptop that can last “forever” because I can just replace/upgrade any component (e.g., RAM, HD, Wifi, Sound, Video, the whole motherboard to change from Intel to AMD CPU). I also like that FW is a small company and I want to support them. I got the Framework 13" laptop with AMD Ryzen AI, DYI version (no OS, no RAM, no storage). Below I just document my journey with it.
1. Timeline
- Went to a Computer Science conference (Allerton at UIUC) and saw several people use FW laptops. Pretty cool.
- Didn’t realize the keyboard as a fingerprint reader! So I set it up and now I can use my fingerprint to login. Pretty cool.
- Replaced the new motherboard. Everything works fine.
- Install Ram, HD, and OS (Debian Testing). Motherboard has issue on the right RAM module, and so was only using the left one until it the MB got replaced on 9/5.
- --- Ordered the FW 13" laptop on 8/16, shipped from Taiwan on 8/19, and received it on 8/25 (FedEx had some hard time finding my location).
2. Machine Specs
_,met$$$$$gg. tnguyen@Framework ,g$$$$$$$$$$$$$$$P. ----------------- ,g$$P"" """Y$$.". OS: Debian GNU/Linux forky/sid x86_64 ,$$P' `$$$. Host: Laptop 13 (AMD Ryzen AI 300 Series) (A5) ',$$P ,ggs. `$$b: Kernel: Linux 6.16.7-manassas `d$$' ,$P"' . $$$ Uptime: 5 hours, 22 mins $$P d$' , $$P Packages: 3166 (dpkg) $$: $$. - ,d$$' Shell: fish 4.0.2 $$; Y$b._ _,d$P' Display (BOE0BCA): 2256x1504 @ 60 Hz (as 1503x1002) in 13" [Built-in] Y$$. `.`"Y$$$$P"' DE: GNOME 48.4 `$$b "-.__ WM: Mutter (Wayland) `Y$$b WM Theme: Breeze `Y$$. Theme: Breeze [GTK2/3/4] `$$b. Icons: breeze [GTK2/3/4] `Y$$b. Font: Noto Sans (10pt) [GTK2/3/4] `"Y$b._ Cursor: breeze (24px) `"""" Terminal: GNOME Terminal 3.56.2 Terminal Font: Monospace (11pt) CPU: AMD Ryzen AI 5 340 (12) @ 4.90 GHz GPU: AMD Radeon 840M Graphics [Integrated] Memory: 12.68 GiB / 46.35 GiB (27%) Swap: 8.16 MiB / 23.29 GiB (0%) Disk (/): 29.27 GiB / 91.11 GiB (32%) - ext4 Disk (/home): 101.12 GiB / 1.68 TiB (6%) - ext4 Local IP (wlp192s0): 10.0.0.5/32 Battery (FRANGWA): 87% (5 hours, 22 mins remaining) [Discharging] Locale: en_US.UTF-8
2.1. What came from Framework
- Framework 13" Laptop (DIY Edition, no OS, no RAM, no storage).
- AMD Ryzen AI 300 Series (6 cores, 12 threads). This is the “mid”range CPU option from FW. I figure I don’t need the top of the line as it will burn more battery.
- Integrated AMD Radeon 840M Graphics. I don’t do any gaming, so this is OK.
- 14" Matte Display (2256x1504). I can’t really tell the difference btw this and my Macbook’s Retina. I am not picky about display. However, I do get compliment from others on how good and bright the screen looks.
- 3 expansion cards: 2x USB-C, 1x USB-A. In hindsight I should have gotten an additional card, not really because I need more ports, but because the laptop looks missing something with only 3 cards. I will likely get another card later.

2.2. What I bought
- RAM: Crucial 48 GB kit (2x 24GB SODIMM DDR5-5600). Apparently Framework can be picky about RAM brands and models, but this kit (CT2K24G56C46S5) works fine.
- Hard Drive: WD BLACK 2TB SN850X (WDS200T2X0E). Unlike RAM, you should be able to use pretty much any NVMe SSD.
- Power Adapter. I didn’t really buy this and instead just use my current Macbook USB-C charger. Pretty much any USB-C charger should work fine.
3. Framework Assembly and Customer Support
3.1. Assembly
- Installing components in the FW was easy and straight-forward, with detailed instructions and even videos on their website. This is not surprising because the whole idea of FW is to be modular and easy to upgrade and repair.
- For the replacement motherboard, the removal process was also straight-forward but a bit more involved because I had to remove many tiny wires and cables. But the instructions were again very detailed and I had no problem doing it myself.
3.2. Customer Support
- I find customer support to be excellent. Just send an email and get a reply within a day. They identified and acknowledged the motherboard issue right away and shipped me a new one immediately. Shipment was also very fast though I can’t figure out why FedEx had some hard time finding my location (it was on FedEx truck for delivery for 3 days and everyday the driver could not find my location).
4. Linux Debian Installation and Usage
4.1. Why Debian
I have been using Debian for many years (since 2001 during college), and since it works well for me, I just stick with it. I use the Testing branch (currently “forky”) because I like to have newer software but don’t want to deal with breakage often. My reserach lab has three servers also running Debian stable.
4.2. Installation
Installation was straight-forward by downloading and installing the ISO. I just accepted most default options. I also installed GNOME/Wayland though I will likely switch to something lighter later.
I don’t remember if there was anything special I had to do during installation. It seems everything works out of the box and I don’t remember having to install any special driver.
4.3. Using
BIOS Update: After Linux installation the first thing I did was updating the BIOS to the latest 3.04
. This was surprisingly easy because FW’s bios is supported by fwupdmgr
, and so I was able to update it from Linux without having to create a bootable USB drive.
tnguyen@Framework ~ [127]> echo "BIOS: $(sudo dmidecode -s bios-version) ($(sudo dmidecode -s bios-release-date))" && \ echo "Framework: $(sudo dmidecode -s system-product-name) $(sudo dmidecode -s system-version)" Place your finger on the fingerprint reader BIOS: 03.04 (06/10/2025) Framework: Laptop 13 (AMD Ryzen AI 300 Series) A5
Kernel: I also downloaded the newest version of the kernel and compiled it. I didn’t do much customization and just reuse Debian’s config file in /boot
. After installing the new kernel, I did have to go to the BIOS to disable Secure Boot because I don’t sign my kernel.
tnguyen@Framework ~> uname -a Linux Framework 6.16.7-manassas #1 SMP PREEMPT_DYNAMIC Sun Sep 14 09:23:21 EDT 2025 x86_64 GNU/Linux
Wifi: I heard complaints about the MediaTek wifi not working well and people replacing it with Intel. However, I didn’t have any problem with it at all. Perhaps because I am using a newer kernel (6.16.5+
).
# c0:00.0 Network controller: MEDIATEK Corp. MT7925 (RZ717) Wi-Fi 7 160MHz tnguyen@Framework ~> iw dev $(iw dev | awk '$1=="Interface"{print $2}') link | grep "bitrate" && speedtest-cli --simple rx bitrate: 1297.1 MBit/s 160MHz EHT-MCS 6 EHT-NSS 2 EHT-GI 0 # receive at 1.3Gb/s tx bitrate: 2401.9 MBit/s 160MHz EHT-MCS 11 EHT-NSS 2 EHT-GI 0 # transmit at 2.4Gb/s
Sound: Sound works out of the box. I can’t really comment on sound quality because I am not too picky aboutit. Oh and of course bluetooth works well too, and I was able to connect my Sony headset to it.
5. Things that I don’t like
- As mentioned, the laptop arrived with a defected Motherboard. The right RAM slot does not work, so I was only using 24GB of RAM until I got the MB replaced. Framework’s support was very good and they shipped me a new MB right away. The MB replacement process was also easy, which confirmed that the modular design is really nice. However, I wished that Framework does a better quality check before shipping the laptop – several people mentioned about defective MBs on FW forum.
The laptop can run hot at the bottom when compiling code (e.g., the kernel) or watching videos (on my large Dell U4320Q monitor). I think the Macbook is way better in this regard. Overal it’s not dangerous for the hardware or anything – they all run within normal temp range. But it can be uncomfortable if you are using the laptop on your lap. I might need to get a cooling pad for it.
# while compiling the kernel mt7925_phy0-pci-c000 Adapter: PCI adapter temp1: +107.6°F # Wi-Fi card temp (normal, low 40s °C) amdgpu-pci-c100 Adapter: PCI adapter vddgfx: 0.00 V vddnb: 0.00 V edge: +152.6°F # iGPU edge temp (~67 °C, normal) PPT: 25.00 W # GPU package power sclk: 608 MHz # GPU clock spd5118-i2c-3-51 Adapter: SMBus PIIX4 adapter port 0 at 0b00 temp1: +151.2°F # DIMM temperature (~66 °C, flagged "ALARM" but normal for DDR5) (low = +32.0°F, high = +131.0°F) ALARM (HIGH) (crit low = +32.0°F, crit = +185.0°F) ucsi_source_psy_USBC000:003-isa-0000 Adapter: ISA adapter in0: 5.00 V curr1: 0.00 A k10temp-pci-00c3 Adapter: PCI adapter Tctl: +178.9°F # CPU package temp (~81 °C, normal under heavy load) ucsi_source_psy_USBC000:001-isa-0000 Adapter: ISA adapter in0: 0.00 V curr1: 0.00 A BAT1-acpi-0 Adapter: ACPI interface in0: 17.78 V curr1: 596.00 mA # Battery charging acpitz-acpi-0 Adapter: ACPI interface temp1: +139.6°F # ACPI thermal zone temp2: +163.0°F temp3: +119.8°F temp4: +177.4°F # Matches CPU package (ACPI view, ~81 °C) cros_ec-isa-000c Adapter: ISA adapter fan1: 6182 RPM # Fan running at max local_f75303@4d: +139.7°F cpu_f75303@4d: +163.1°F ddr_f75303@4d: +119.9°F cpu@4c: +177.5°F # Confirms CPU temp (~81 °C) ucsi_source_psy_USBC000:004-isa-0000 Adapter: ISA adapter in0: 20.00 V curr1: 4.50 A # USB-C charger, ~90 W power delivery spd5118-i2c-3-50 Adapter: SMBus PIIX4 adapter port 0 at 0b00 temp1: +138.2°F # Another DIMM (~59 °C, alarm due to low threshold) (low = +32.0°F, high = +131.0°F) ALARM (HIGH) (crit low +32.0°F, crit = +185.0°F) ucsi_source_psy_USBC000:002-isa-0000 Adapter: ISA adapter in0: 0.00 V curr1: 0.00 A nvme-pci-bf00 Adapter: PCI adapter Composite: +139.7°F # NVMe SSD (~60 °C, normal under I/O load) (low = +22.7°F, high = +193.7°F) (crit = +200.9°F) acpi_fan-acpi-0 Adapter: ACPI interface fan1: 6182 RPM power1: N/A
- This is not a FW issue and more of Linux/Gnome/KDE/Wayland. When I connect to my external monitor (a 42" Dell). It would work fine but then after unplug and plug in again, the monitor would flicker. If I close the laptop lid and just use the monitor then it works fine. Moreover, often it will not remember the monitor (e.g., saying unknown monitor) and forgot my custom setting. This is quite annoying because Macbook never had this problem.
6. Thoughts
I think everything was very straightforward and all hardware components work out of the box. I was able to quickly get to work on it, which is important for me. I think this was both due to rent Linux kernel and FW for using standard and well-suport hardware.
Aethestically I don’t think the laptop looks as nice as my Macbook Pro—I prefer gray/dark cover over silver one. Battery is also not as good as Apple but it’s still OK for daily usage. I also know I can replace the battery (and anything) in the future if it degrades—something I cannot do with Macbook.
In summary, the FW 13“ + Linux is a good combination for daily usage, and makes me feel ”nerdy" again after years of using Apple products.