Skip to content

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 i965 VA-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.luahl.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 .desktop files (Brave, Chrome ×2, Edge) also patched for menu/rofi launches. ~/.config/environment.d/vaapi.conf also 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 with vainfo (install libva-utils) or chrome://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 /home are 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.

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-v3 repo (x86-64-v3 builds) with the cachyos-bore-lto kernel. Haswell (i7-4790) is the v3 baseline — there is no extra instruction -march=native would 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:

  1. 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, lscpu shows CPU(s): 8, Thread(s) per core: 2.
  2. dGPU (GT 1030 GDDR5 LP ~AU $75-170) — only if you need gaming, HEVC/h.265 decode, or multi-monitor
  3. Use idle SSDs — 840 EVO → Timeshift/snapshot target; Kingston SA400 → bulk storage. Do not migrate /home to the slower 840 EVO.
  4. 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
  • [[Index]]