---
title: "My hardware"
description: "ZenBook A16 (ARM) + Galaxy S26+, and what changed because of it."
source: "Obsidian Academy"
source_url: https://obsidian-academy.pages.dev/setup/01-my-hardware/
saved: 2026-05-16
tags: [obsidian-academy, saved-from-web, setup]
---

## ZenBook A16 — Snapdragon X2 Elite Extreme

Your laptop runs **Windows 11 on ARM** with the Snapdragon X2 Elite Extreme chip. That's a Copilot+ class machine: powerful, efficient, and 100% ARM-native at the CPU layer.

Most software now has native ARM builds. Some doesn't. Here's what mattered during setup:

| Tool | Status | Notes |
|---|---|---|
| Node.js | ✅ ARM64 | Installed via nodejs.org official .msi. `node -p "process.arch"` should say `arm64` |
| Git | ✅ ARM64 | Git for Windows ships ARM64 |
| gh CLI | ✅ ARM64 | Latest releases include ARM64 |
| Syncthing | ✅ ARM64 | Native build from winget `Syncthing.Syncthing` (we explicitly grabbed ARM64) |
| Syncthing Tray | ✅ ARM64 | Native via winget `Martchus.syncthingtray` |
| uv (Python) | ✅ ARM64 | `uv` from astral.sh ships ARM64 |
| Gemini CLI | ✅ Cross-platform JS | Runs on Node, arch-agnostic |
| Obsidian | ⚠️ Mostly x64 | Runs under emulation. Fine for normal use; some plugins with native deps may quirk |
| SyncTrayzor | ❌ x64 only | .NET WPF — we picked Syncthing Tray instead |

> [!NOTE]
> **Battery vs emulation.** Tools running under x64 emulation cost more battery than native ARM ones. For background daemons (sync, MCPs), always prefer native ARM. For occasional GUI apps (Obsidian itself), emulation is fine.

## Galaxy S26+ — Android One UI

Your phone is a Samsung Galaxy S26+ on Android with One UI. Samsung's flavor adds **aggressive battery optimization** that suspends background apps. For long-running services (Syncthing, Tailscale), you must explicitly exempt them.

For each background app, do all three:

1. **Settings → Apps → [App] → Battery → "Unrestricted"**
2. **Settings → Battery → Background usage limits → Never sleeping apps → +** (add the app)
3. **Settings → Battery → Background usage limits → Sleeping apps** — make sure the app is NOT here

We did this for Syncthing-Fork during setup. Do it for any other background-running app you add.

## Why ARM matters

The Snapdragon X2 series benefits:

- ~24+ hour battery (vs ~10 for an x86 equivalent)
- Cool/quiet operation
- Wake-from-sleep is instant
- Strong AI/ML perf for on-device models (you can run small LMs locally for things like Smart Connections embeddings)

The trade-off:

- ~5% of Windows software has compatibility issues (mostly older niche apps)
- Some games / GPU-intensive workloads underperform vs an x86 + dedicated GPU laptop
- Driver maturity is still improving

For a knowledge-work + Claude Code + Obsidian stack: ARM is an excellent choice. We confirmed it.

## What broke and what we fixed

During setup we hit two ARM-specific issues:

1. **SyncTrayzor wouldn't have run natively.** Solution: switched to Syncthing Tray (native ARM Qt app). Same job, no emulation tax.
2. **gemini-cli extension list bug** — shows empty in non-tty mode on Windows. Solution: read the enablement file directly at `~/.gemini/extensions/extension-enablement.json` to verify state.

Both documented in [Troubleshooting](/reference/03-troubleshooting/).
