Field guide · Omarchy on old Apple hardware
Omarchy on a MacBook Pro 7,1
A working setup for the 2010 MacBook Pro with a Core 2 Duo, GeForce 320M, Broadcom BCM4322 Wi-Fi, and a battery that has earned its retirement party.
Modern Linux on a fifteen-year-old Mac is a useful exercise in choosing the right compromises. This guide records the fixes that make Omarchy usable on a MacBook Pro 7,1, along with the limits that are better understood than fought.
What hardware is in the MacBook Pro 7,1?
| Component | Observed hardware | Practical implication |
|---|---|---|
| CPU | Intel Core 2 Duo P8600, 2 cores at 2.40 GHz | Fast enough for a light desktop, browsing, writing, and small development tasks. It has no AVX or AVX2. |
| Graphics | NVIDIA GeForce 320M, 256 MB, Nouveau/Mesa | Good enough for a light Wayland desktop, but old VRAM and Nouveau quirks can affect video and compositor textures. |
| Wireless | Broadcom BCM4322 AirPort Extreme | Works with the b43 driver once firmware is installed. 2.4 GHz is the reliable choice. |
| Memory | 9.5 GiB reported by the running system | Plenty for this desktop; browser tabs and video decoding remain the bigger constraints. |
Wi-Fi: install the firmware before troubleshooting NetworkManager
The card can be detected while still being unusable. The kernel will report the BCM4322 and load b43, but without the firmware it cannot initialise the radio. On Arch-based Omarchy, install the firmware package from the AUR while the LAN cable is connected:
yay -S --needed b43-firmware
sudo modprobe -r b43
sudo modprobe b43
Then scan from the network menu. For this MacBook’s older radio, save the connection on 2.4 GHz and disable power saving:
nmcli connection modify "YOUR-WIFI" \
802-11-wireless.band bg \
802-11-wireless.powersave 2
If Wi-Fi drops: check nmcli device status and journalctl -b -k | rg b43. Association failures on 5 GHz followed by a successful 2.4 GHz connection usually point to band steering or old-driver compatibility, not a dead card.
Graphics: Nouveau is the sensible driver
The GeForce 320M is listed by NVIDIA under its old 340.xx legacy driver family, which is not a practical match for a current Omarchy kernel and Wayland desktop. Nouveau is the usable driver here. Confirm it with:
lspci -nnk -d 10de:08a0
hyprctl systeminfo
Firefox can still use hardware compositing through WebRender and Mesa. In about:support, a healthy setup shows Compositing: WebRender and a renderer such as Mesa -- NVAF.
Fullscreen video and Chromium-based browsers can expose old Nouveau bugs. Garbled favicons, toolbar textures, or wallpaper fragments are usually compositor texture corruption rather than damaged bookmark data. Exiting fullscreen and restarting the affected browser is a reasonable first recovery. If it becomes frequent, disable hardware acceleration in that browser and let the CPU render the interface.
Trackpad and window layout
For MacBook-style natural scrolling, add a user override to ~/.config/hypr/input.lua:
hl.config({ input = { touchpad = { natural_scroll = true } } })
Reload and validate the Hyprland configuration:
hyprctl reload
hyprctl configerrors
With two tiled windows, focus either window and press Super + J to toggle between stacked rows and side-by-side columns.
Battery, heat, and lid sleep
Battery health is better represented by full-charge capacity and cycle count than by calendar age. A useful reading looks like this:
upower -i /org/freedesktop/UPower/devices/battery_BAT0
On one working 7,1 setup, the battery reported 83% of design capacity, 327 cycles, and a temperature around 34–39°C. That is serviceable. Video playback can push the Core 2 Duo and 320M into the 75–85°C range while the fan runs at several thousand RPM.
The fan is exposed by Apple SMC sensors, so check it before assuming it has failed:
sensors
Clean the heatsink and fan if temperatures approach 90–100°C during light work, the fan stays near maximum while idle, or airflow from the exhaust is weak. Power down before opening the bottom cover and use short bursts of compressed air.
Default systemd-logind behaviour suspends the laptop when the lid closes and wakes it when opened. A successful test will show PM: suspend exit in the journal.
Firefox, Brave, and browser defaults
Firefox and Brave can both use the Nouveau/Mesa renderer. Confirm a browser independently: Firefox uses about:support; Brave uses brave://gpu. Hardware compositing can make scrolling and video smoother, but it also makes old-driver glitches visible. Keep the browser that behaves better for your workload as the default rather than changing system graphics settings.
xdg-settings get default-web-browser
xdg-settings set default-web-browser firefox.desktop
Voxtype: an update caveat on pre-2013 CPUs
Recent Omarchy updates may install voxtype-bin. Its prebuilt Linux binaries target AVX2/x86-64-v3, while the Core 2 Duo P8600 has no AVX at all. The post-install message can therefore end with FATAL: Illegal CPU instruction (SIGILL).
This does not damage Omarchy, Firefox, Wi-Fi, or the display. Avoid the suggested GPU setup command; it cannot make an AVX2 binary run on a non-AVX CPU. If voice typing is not needed, leave the package unused. A compatible solution would require a separately compiled lower-instruction-set build.
Small checks worth keeping handy
Wi-Fi state
nmcli device status
Look for wlan0 wifi connected.
Driver state
lspci -nnk
Look for Kernel driver in use.
Thermals
sensors
Watch CPU, GPU, battery, and fan RPM together.
Sleep events
journalctl -b | rg 'suspend|Waking|Lid'
Useful after a lid test.
Need to make an inherited system usable?
This MacBook is a small example of a larger software pattern: old infrastructure can still be useful when someone diagnoses the actual constraint, changes the smallest safe thing, and leaves a clear runbook behind.
See inherited software support and staged modernisation or describe the system that needs a practical first scope.