A modern, native driver for the Brother HL-2030 laser printer on Apple Silicon and Intel Macs.
The Brother HL-2030 is a great little printer, but Brother stopped updating its Mac driver years ago. The old driver only runs today because of Rosetta 2, the compatibility layer that lets Intel-only apps run on Apple Silicon Macs, and Apple has announced that a future version of macOS will remove Rosetta 2 entirely. When that happens, the official Brother driver will simply stop working, and an otherwise perfectly good printer would become e-waste.
SisterHL2030 is a from-scratch driver, built natively for both Apple Silicon and Intel, so your HL-2030 keeps working long after Rosetta 2 is gone.
While rebuilding the driver, it also picked up a feature Brother's own driver never had: AirPrint. With the printer connected to your Mac over USB, every device on your network (other Macs, iPhones, iPads) can print to it wirelessly, no drivers required on their end. This Mac has to stay awake.
On an Intel Mac Brother's driver still runs natively today; SisterHL2030 is still worth installing there for AirPrint and the supply levels panel, and it means nothing changes if you later move to Apple Silicon.
If you have a Brother HL-2030 series printer connected by USB to a Mac, yes: running macOS 11 or later. One installer covers both Apple Silicon and Intel computers.
SisterHL2030 ships as two installers that differ in exactly one thing: how photos and shaded areas are turned into the dots this laser actually prints. Everything else — quality modes, AirPrint, supply levels — is identical either way, and you can install the other one later if you change your mind; it just replaces the one already there.
- Newspaper style —
InstallSisterDrivers.NewspaperStyle.pkg. Dots are grouped into a crisp, evenly-spaced grid, the way a halftone photo looks in a printed newspaper. Better for documents, line art, small text, and color graphics: the pattern is clearer on this printer, at the cost of a coarser look on photos. - Pencil style —
InstallSisterDrivers.PencilStyle.pkg. Dots are scattered individually (a technique called Atkinson dithering, the one classic Mac graphics software used), giving a soft, sketchy texture like pencil shading. Smoother gradients on photos; softer edges on line art and text.
Not sure which? Pencil style is the one this driver has always shipped with — reach for Newspaper style if what you print is mostly documents, line art, text, or color graphics rather than photos.
| Newspaper style | Pencil style |
|---|---|
![]() |
![]() |
- Go to the Releases page
and download the latest set of installer packages, including whichever
one of
InstallSisterDrivers.NewspaperStyle.pkgorInstallSisterDrivers.PencilStyle.pkgmatches the style you want (see above). - Plug the printer into your Mac with a USB cable and turn it on. The installer needs it connected so it can find the printer.
- If you still have Brother's official driver installed, double-click
UninstallBrotherDrivers.pkgfirst and follow the prompts. The two drivers can't be installed side by side. - Double-click the installer you picked and follow the prompts. macOS will ask for your administrator password, which is normal for anything that installs system software.
The printer will now show up in System Settings → Printers & Scanners on this Mac, and you can print to it right away from here.
All installers are signed with a Developer ID certificate, so macOS will let you open them normally (you may still see a first-run Gatekeeper prompt, which is expected for software from outside the App Store).
Once the driver is installed, the printer is plugged in, and this Mac is awake, other Macs, iPhones, and iPads on the same network see it as Brother HL-2030 and can print to it with no extra software.
Double-click UninstallSisterDrivers.pkg from the same release. It
removes the driver, its background service, and the printer queue.
- Native on Apple Silicon and Intel: one universal build, no Rosetta 2, no emulation.
- AirPrint: print from any Mac, iPhone, or iPad on the network, once the printer is connected to one Mac over USB and that Mac is awake.
- Correct scaling: pages print at 100% by default.
- Good-looking output: a choice of two halftone styles for photos and shading, Newspaper or Pencil (see above), each tuned for this printer's resolutions.
- Toner and drum levels: shown right in System Settings' Supply Levels panel, same as a modern printer.
- Three quality modes: Draft (300 dpi), Normal (600 dpi), and Fine (1200×600 dpi).
- Implicit tonner saving mode: Draft and Normal quality modes automatically active the tonner saving mode.
The HL-2030 is a "host-based" printer: it has no PostScript, PCL, or AirPrint smarts of its own, so whatever computer it's plugged into has to do all the work: turning the page into dots, choosing which dots become toner, and speaking Brother's own compressed language over USB. That's what this driver does. It runs as a small background service (a "printer application") that takes over the job the manual work would otherwise require, then advertises AirPrint on the network.
The wire format was recovered by studying Brother's own Linux drivers and
double-checking the result against the real, official macOS driver on
actual hardware; see docs/protocol.md if you're
curious about the details. None of Brother's proprietary code is compiled
into this driver; it's a clean-room reimplementation.
Building from source requires CMake 3.20+ and a C++17 compiler (Apple Clang is enough):
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
ctest --test-dir build --output-on-failureThat builds the encoder library, the tests, and the CLI tools. The printer application itself is built with an extra flag, since it downloads and builds PAPPL 1.4.x (pinned by checksum) the first time:
cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DSISTER_WITH_PAPPL=ON
cmake --build build --target sister-printer-appScripts/ has the shell-based install/uninstall path used during
development (as opposed to the .pkg installers used for releases):
"Scripts/Uninstall Official Brother Drivers.sh" # if needed, run first
"Scripts/Install Sister HL2030.sh"Both ask for an administrator password and refuse to run if the official
Brother package is still present; the install script also asks which
halftone style to build (see Two print styles above).
Scripts/Uninstall Sister HL2030.sh reverses it.
Scripts/build_distribution_packages.sh builds the four signed .pkg
files that ship in each release: one InstallSisterDrivers per style, plus
the two uninstallers. Their binaries are universal (arm64 + x86_64).
Builds target the architecture of the Mac you run them on. To build the
other one, pass -DCMAKE_OSX_ARCHITECTURES=x86_64 (or arm64) to CMake;
the printer application takes one architecture per build directory, since
the static OpenSSL, libpng and libusb it links are single-architecture. For
Intel from an Apple Silicon Mac, Scripts/build_x86_64_deps.sh builds static
x86_64 copies of those three libraries from source (Homebrew is arm64-only
on current macOS); configure with PKG_CONFIG_PATH pointing at its output.
The packaging script does all of this and joins the two builds with lipo;
SISTER_ARCHS="arm64" or "x86_64" limits it to one.
To turn a bitmap into a HL-2030 job stream directly, without printing:
python3 Scripts/make_test_pbm.py > page.pbm
./build/sister-rawtobr < page.pbm > job.binAnd to decode a job stream back into a bitmap, to check what would land on paper without spending any:
python3 Scripts/decode_job.py job.bin out.pbmSee CLAUDE.md for the full architecture writeup, and
docs/protocol.md /
docs/reverse-engineering.md for how the
wire format was recovered.
| Model | Brother HL-2030 series |
| USB | Vendor 0x04f9, product 0x0027 |
| Connection | USB only |
| Paper | A4, Letter, Legal, Executive, Folio, A5, A6, B5, B6; Com-10 and DL from the manual slot |
| Resolutions | 300, 600, and 1200×600 (Fine) dpi |
| Duplex | Not supported |
GNU GPL v2 or later. See LICENSE.
Brother's original Linux packages were used locally, during development only, as a protocol reference; they are not included in this repository and none of their proprietary code is compiled into this driver. This project's license matches the GPL-2 CUPS wrapper sources Brother already shipped, and stays compatible with brlaser, an independent open-source driver for related Brother models.



