Dell OptiPlex 7020 SFF — Upgrade Notes¶
System Specs¶
- Model: Dell OptiPlex 7020 SFF (Dell Inc. 02YYK5)
- BIOS: A18 (2019-05-30) — latest
- CPU: Intel Core i7-4790 (Haswell, 4th gen, 4C/8T, Hyper-Threading enabled)
- Chipset: Intel Q87
- RAM: DDR3 (max 16GB supported officially, 32GB unofficially)
- GPU: Integrated Intel HD Graphics 4600
- Form Factor: Small Form Factor (low-profile brackets required)
- PCIe: Physical x16 slot, but electrically x1 via PCH (PCIe 2.0, 5.0 GT/s)
- Power: ~255W–290W PSU, no extra PCIe power connectors
CPU Upgrade¶
| CPU | C/T | Freq | L3 | PassMark ST | PassMark MT | Est. Price |
|---|---|---|---|---|---|---|
| i5-4690 (was current) | 4/4 | 3.5-3.9 GHz | 6MB | ~2120 | ~5100 | — |
| i7-4790 (INSTALLED) | 4/8 | 3.6-4.0 GHz | 8MB | ~2220 | ~7700 | ~AU $50-100 used (2026) |
Notes¶
- i7-4790 is the best CPU this board supports. K-series (4790K) may not work on OptiPlex BIOS.
- Real-world gain: ~5% single-thread (similar desktop feel), ~50% multi-thread (compilation, archiving, VMs, multitasking).
- Hyper-Threading is the main differentiator.
- That said, it's still Haswell — same platform limits (DDR3, SATA-only, PCIe 3.0).
Benchmark (2026-07-19, after HT enabled) — Python CPU workload, N=5M iters¶
| Threads | Time | Speedup vs 1T |
|---|---|---|
| 1 | 1.143s | 1.00x |
| 2 | 0.632s | 1.81x |
| 4 | 0.450s | 2.54x |
| 8 | 0.416s | 2.75x |
- 8 logical CPUs confirmed live (
lscpu→ CPU(s): 8, Thread(s) per core: 2). - HT contributes the 4→8 thread bump (2.54x → 2.75x, ~8% from HT on pure-math load). HT helps more on I/O-bound / cache-waiting / mixed workloads.
- ST (1.14s) ≈ +5% vs i5-4690; main win is 4→8 thread capacity for compiles/VMs.
GPU: Realistic Expectations¶
A discrete GPU will not make general desktop / Hyprland feel snappier. The HD 4600 is sufficient for 2D compositing. The bottlenecks are CPU single-thread speed and DDR3 latency.
Free win — enable VA-API on the iGPU (2026-07-14). The
i965VA-API driver (libva-intel-driver-irql) was already installed but inactive. Three layers needed because browsers are launched by keybind, not the menu: 1.~/.config/hypr/modules/env.lua→hl.env("LIBVA_DRIVER_NAME", "i965")(exports the var to all Hyprland children — this is what actually reaches keybind-launched browsers). 2.~/.config/hypr/modules/keybinds.lua→ browser variable and the Claude-app launcher got--use-gl=angle --use-angle=gl --enable-features=VaapiVideoDecoder. 3. User-override.desktopfiles (Brave, Chrome ×2, Edge) also patched for menu/rofi launches.~/.config/environment.d/vaapi.confalso sets the var at the systemd-user level. Offloads H.264 / VP8 / MPEG-2 from the CPU at zero cost. Haswell cannot decode VP9 / HEVC / AV1 in hardware — those still need a dGPU (or CPU). Verify withvainfo(installlibva-utils) orchrome://gpu→ "Video Decode: Hardware accelerated". After editing, reload Hyprland and fully quit + relaunch the browser.
Where a dGPU does help: - Gaming - Video playback (HD 4600 lacks HEVC/h.265 decode — any modern card offloads this) - Multi-monitor at high refresh - GPU-accelerated apps (Blender, DaVinci Resolve, ML)
Low-Profile GPU Options (with HDMI)¶
All prices in AUD, 2026 local used/new market.
| Card | Est. Price (AUD) | Power | Notes |
|---|---|---|---|
| GT 1030 GDDR5 | ~AU $75–170 (used ~$75-110, new ~$110-170) | 30W | Best bang-for-buck. Must be GDDR5 version. HDMI 2.0b, no power cable needed. |
| RX 550 | ~AU $70–120 used | 50W | Similar tier. HDMI+DP+DVI. |
| GT 710 | ~AU $40–60 | 20W | Much weaker, budget option only. |
| Intel Arc A310 | ~AU $120–180 | 50W | Best video encoding (AV1), good for media. |
Key Considerations¶
- All options need a low-profile bracket (included or purchased separately)
- No card should require external PCIe power
- GT 1030 GDDR5 is the sweet spot for general performance + video playback
- Even on PCIe 2.0 x1, any of these is a massive upgrade over HD 4600 for media/gaming
Storage¶
Current Layout¶
| Device | Model | Size | Role |
|---|---|---|---|
| sda | Crucial CT250MX500SSD1 | 250GB | Root + home + var (btrfs subvols) |
| sdb | Kingston SA400S37240G | 240GB | Unmounted / idle |
| sdc | Samsung SSD 840 EVO 120GB | 120GB | Unmounted / idle |
- All SSDs. No spinning disks.
/and/homeare btrfs subvolumes on sda2 (MX500), not separate partitions.- Usage: 47 / 231 GB (21%) on sda.
- Mount options: noatime, compress=zstd:3, ssd, discard=async, space_cache=v2, commit=120.
Separating /home to the 120GB Samsung 840 EVO?¶
Not recommended. - The 840 EVO is slower than the MX500 (older 2013 TLC, known performance degradation issues). - MX500 has DRAM cache; 840 EVO does not in the same class — real-world performance is worse. - No capacity pressure (21% used). - btrfs subvolumes (@home) already isolate /home. - Adding a slower drive for /home would reduce desktop snappiness, not improve it.
Recommended Use for Idle Drives¶
| Drive | Recommendation |
|---|---|
| 120GB Samsung 840 EVO | Timeshift / snapshot target (so root drive snapshots survive failure) |
| 240GB Kingston SA400 | Bulk storage: games, media library, ISOs, torrents |
Software / Compile Tuning — Reality Check¶
Building the system from source (LFS-style) or recompiling userspace with -march=native yields marginal gains on this hardware and is not worth it:
- Already optimized: the system runs CachyOS on the
cachyos-v3repo (x86-64-v3 builds) with thecachyos-bore-ltokernel. Haswell (i7-4790) is the v3 baseline — there is no extra instruction-march=nativewould unlock. - Where tuning helps: CPU-bound work (compiles, encoding, archiving) by maybe 5–15%.
- Where it does nothing: I/O, graphics (Intel HD 4600), RAM-bound tasks. Those are the real bottlenecks.
- Hyprland: a native-built binary is imperceptible vs the repo one. Snappiness comes from config (disable animations/blur), not rebuild flags.
- Local LLMs: no GPU → Ollama is a non-starter here regardless of tuning. See [[Local LLM Hardware]].
Conclusion: the highest-leverage moves are hardware (below) and config, not recompiling. Spend effort on the upgrades listed, not LFS.
Overall Assessment¶
The OptiPlex 7020 is a capable but aged platform (verified against live system 2026-07-19 — i7-4790 @ 3.6GHz, HT enabled = 8 logical CPUs, 15 GB RAM, 3 SSDs present, on cachyos-v3). Practical upgrades ordered by impact:
- i7-4790 CPU (~AU $50-100 used) — INSTALLED 2026-07-19 — biggest general improvement (~50% multi-thread). Must enable Hyper-Threading in Dell BIOS (F2 → Performance) or only 4 logical CPUs show (siblings=4). After enabling,
lscpushows CPU(s): 8, Thread(s) per core: 2. - dGPU (GT 1030 GDDR5 LP ~AU $75-170) — only if you need gaming, HEVC/h.265 decode, or multi-monitor
- Use idle SSDs — 840 EVO → Timeshift/snapshot target; Kingston SA400 → bulk storage. Do not migrate
/hometo the slower 840 EVO. - Skip software rebuilds — CachyOS already ships v3-optimized packages; LFS/native builds give ~single-digit % at huge effort cost.
For true generational improvement — modern CPU + NVMe + DDR5 — a full platform swap is needed.
Display Output Identification¶
| Connector | Description |
|---|---|
| HDMI | Smaller, wider USB-like shape |
| DVI-D | Larger, white, wide connector with flat pin on one side |
| VGA | Trapezoid, blue, 15 holes |
| DisplayPort | Similar to HDMI, has a notch on one corner |
Related¶
- [[Index]]