Printers and printing on Omarchy
CUPS ships enabled on Omarchy 4.0.4, but automatic printer discovery was removed in 4.0.2 and no HP or scanner drivers ship. What works and what to install.
CUPS and Avahi are installed and enabled on Omarchy 4.0.4, so printing works once you add the queue yourself in Print Settings. Automatic network discovery was removed in 4.0.2 with cups-browsed. No hplip, gutenprint or SANE packages ship, so HP inkjets and all scanners need manual package installs. Driverless IPP Everywhere queues work best on modern printers.
On this page
Printing on Omarchy is close to plain Arch with CUPS. The daemon is installed and enabled for you, and the GUI is the standard system-config-printer, which shows up as Print Settings in the launcher. What changed in the 4.x line is discovery: Omarchy 4.0.2 pulled cups-browsed out of the default set, so printers no longer appear on their own.
Everything below was checked against the v4.0.4 source tree and against open issues as of 2026-09-16.
Status on 4.0.4
Verdict: partial. The print stack is present and works, but three things are on you.
- CUPS itself works.
cups,cups-filtersandcups-pk-helperare ininstall/omarchy-base.packages, andinstall/config/enable-services.shrunssystemctl enable cups.service. avahiandnss-mdnsare installed andavahi-daemon.serviceis enabled, so mDNS name resolution for network printers is available.- Automatic discovery is gone. There is no
cups-browsedon a 4.0.2 or later machine, and no queues appear by themselves. - No vendor drivers ship.
hplip,gutenprintand thefoomaticPPD databases are not in the base package list. Neither is any scanning software: there is nosane,simple-scanorxsaneanywhere in the install tree.
If your printer speaks IPP Everywhere or AirPrint, which covers most machines sold in the last decade, you add it once and you are done. If it is an older PCL or PostScript model, or an HP inkjet, you are installing packages by hand.
What Omarchy does automatically
Unlike GPUs or fingerprint readers, printing has no omarchy-hw-* detection script and no install/hardware/ quirk file. Nothing probes your printer at install time. What Omarchy does is limited and worth knowing precisely.
- Installs and enables the stack. CUPS, cups-filters, the Polkit helper, Avahi and nss-mdns, plus
system-config-printeras the GUI. - Uses cups-pk-helper instead of group membership. Migration
1787815267addscups-pk-helperbecause CUPS on Omarchy no longer treats thewheelgroup as@SYSTEM. You administer printers through Polkit, not by being inlporsys. - Dropped cups-pdf. The same migration removes
cups-pdf, on the reasoning that its backend runs a job-controlled post-processing command as root and that applications have their own print-to-file. Use your app’s own Print to File or Save as PDF instead of aPDFqueue. - Removed cups-browsed. Migration
1788009111, shipped by PR #8951 in v4.0.2, disables the service, deletes idleimplicitclass://queues that discovery created, leaves queues that still have jobs, and drops the package. PR #8951 says manually added IPP and USB printers are left untouched. - Protects one config file.
install/post-install/pacman.shreinstalls Omarchy’scups-files.confoverride and deletes the.pacnewthat pacman would otherwise leave. See /fix/pacnew-and-pacsave-files-after-update/ for the general pattern. - Hides two launcher entries.
default/omarchy/launcher.hideshidescupsandavahi-discoverso only Print Settings shows up.
Known problems
The two migrations above are the source of most 4.x printing reports, and the rest are upstream Arch package problems that land on you through omarchy update.
| Issue | Models affected | Status | Fixed in |
|---|---|---|---|
| #9377 Migration 1788009111 aborts the whole update when cups.service is stopped | Any machine with CUPS disabled | open | not yet |
#9640 Same migration aborts on non-English locales because LC_ALL=C does not translate lpstat |
Any non-English system, reported on pt_BR | open | not yet |
| #11186 Browser print gives one page then PJL garbage and blank sheets | HP LaserJet P2055dn over USB, hplip backend | open | not yet |
#11814 Driverless queue fails every job with universal filter failed |
HP Smart Tank 520/540 series over USB | open | not yet |
#3790 GUI print dialogs hang forever while lp works |
Canon MF210 on 3.2.2, reported by several users | workaround | closed by package reinstall, no release fix |
#9311 Updates rewrite /etc/nsswitch.conf and put mdns_minimal before files |
Anyone using .local hostnames |
open | not yet |
Two of these deserve detail.
The migration failures (#9377, #9640). omarchy-update runs under set -e and migrations run early, so the abort skips the AUR update, mise update and orphan cleanup that come after. joselberg’s report and the code both show the script only accepts lpstat: No destinations added. as an empty queue list. A stopped scheduler says Scheduler is not running. instead, and a Portuguese system says it in Portuguese. rafaelclima traced that to gettext’s LANGUAGE overriding LC_ALL, and confirmed LC_MESSAGES=C does force English. PR #9406 proposed the one-line fix for the stopped-scheduler half and PR #9650 the locale half. Both were closed unmerged on 2026-09-16 and folded into PR #12101, which covers both cases and is still open. Neither half is fixed in 4.0.4.
The blank-page regression (#11186). This one looks like the cups-browsed removal and is not. docPoacher first blamed the migration, then disproved it with a single-variable test: downgrading libcupsfilters from 2.2.1-2 back to 2.1.1-4 restored correct two-page output while cups-browsed stayed installed. The report is that pacman -Syu pulled libcupsfilters across a major version while cups-filters stayed at 2.0.1-2. Command line lp jobs printed fine in the broken state, which is why it reads as a browser bug.
Fixes that work
Work in this order.
- Check the daemon.
systemctl status cups.service. If it is disabled, enable it before you touch anything else, and before you runomarchy update. - Add the queue by hand. Open Print Settings from the launcher and choose Add. The manual FAQ walks through it: USB and most network printers are found by the wizard, and if yours is not, pick Network Printer then Internet Printing Protocol and enter the address, typically the printer’s IP with a queue of
ipp/print. Modern printers want the driverless IPP Everywhere profile. - If the update stops on the printer migration, give it a running scheduler, following joselberg’s and arkmpm’s workaround:
sudo systemctl start cups.socket cups.service, rerunomarchy update, then stop the units again if you want them off. See /fix/migration-failed-mid-update/. - If GUI dialogs hang but
lpprints, reinstall the CUPS libraries so their versions match. EERomeo’s fix in #3790 wassudo pacman -S cups cups-filters libcups --overwrite='*'followed bysudo systemctl restart cups. daviewales noted this downgraded two packages on their machine, which is the tell that the freeze is a version mismatch. - If pages come out blank or full of PJL text, check whether
libcupsfiltersis 2.2.x whilecups-filtersis still 2.0.x. docPoacher’s workaround is a downgrade from the pacman cache plus anIgnorePkgpin. - For HP hardware, install the vendor stack. HIMANSHU11827’s verified recipe on a Smart Tank 529 installs
hplip,gutenprint,foomatic-db-gutenprint-ppdsand friends, disablesipp-usbso it stops fighting the kernelusblpdriver, then creates the queue withlpadminagainst the model’s hpcups PPD. curtisspendlove’s older guide in discussion #250 covers thehp-setup -iroute. - If
.localnames stop resolving after an update, that is #9311, not your printer. Reorderfilesahead ofmdns_minimalin thehosts:line of/etc/nsswitch.conf.
Two gaps to set expectations. There is no built-in print dialog for images: jonnyace opened discussion #10417 and PR #10418 asking for one, and the PR is still open. And scanning is entirely unaddressed by the distribution.
Report it
Printing reports are worth filing because nothing in the hardware scripts covers printers, so issues are the only place the problems get recorded.
Run omarchy debug to collect inxi, dmesg, the boot journal and your full package list into /tmp/omarchy-debug.log. Add --no-sudo to skip dmesg if you would rather not share it. See /reference/commands/omarchy-debug/.
For a printing report specifically, attach these on top of the debug log, because the good reports above all had them:
pacman -Q cups cups-filters libcupsfilters libcups hplipso the version-mismatch class is visible immediately.- The device URI from
lpstat -v, and the job failure line from/var/log/cups/error_log. - Your printer’s IEEE-1284 string and USB vendor:product id.
- Whether
lp -d <queue> <file>behaves differently from printing in an app. That single comparison is what separated #11186 from a browser bug.
File at github.com/omacom/omarchy/issues, and if your machine’s printer situation is worth recording here, use /hardware/submit/.
Related
Most-discussed upstream issues
The most-discussed upstream issues for this subsystem (58 total, 39 open).
| Issue | State | Comments | Opened |
|---|---|---|---|
| #6762 ttfx dumps core on every idle lock: omarchy-system-lock kills the screensaver terminal before the renderer · fixed by #6764 #6773 #18 #160 | closed | 22 | 2026-08-12 |
| #2064 Omarchy do not recognize my fringerprint reader | closed | 12 | 2025-09-29 |
| #7025 omarchy-menu-keybindings hangs forever when a user Lua config iterates hl.get_monitors() | open | 9 | 2026-08-15 |
| #6995 Idle cycle restarts during a pending lock and launches a second screensaver into it — new ttfx aborts (isLocked guard passes while lock-pending) | open | 8 | 2026-08-15 |
| #9698 omarchy-windows-vm: setgid on ~/Windows silently blocks every privileged VM action | closed | 7 | 2026-09-01 |
| #3790 GUI applications freeze when attempting to print (CUPS works via command line) | closed | 3 | 2025-12-06 |
| #11049 Triage data: 78 open PRs are 16 distinct fixes (verified by shared file) · fixed by #3 #4 | open | 3 | 2026-09-09 |
| #2046 Cannot Enroll Fingerprint – NoSuchDevice Error | closed | 3 | 2025-09-28 |
| #7535 Fingerprint reader not detected: Minisforum AI X1 Pro (Realtek 2541:fa03) | open | 3 | 2026-08-19 |
| #7896 omarchy.network widget triggers Wi-Fi scans while closed, causing packet loss on slow-scanning cards | open | 4 | 2026-08-23 |
| #9826 limine-mkinitcpio-install calls limine-entry-tool --get-cmdline with wrong argument count, silently dropping root= from UKI cmdline | open | 4 | 2026-09-02 |
| #776 "Enter Password" after screensaver has a fingerprint icon even though I don't have a fingerprint scanner | closed | 3 | 2025-08-14 |
Questions people ask
- Why does my network printer no longer appear by itself?
- Omarchy 4.0.2 removed cups-browsed and its automatic discovery. Add the printer once in Print Settings, by IPP address if it is not found by the Add wizard. The manual FAQ says discovery is off while it is reworked.
- Does Omarchy ship scanner support?
- No. There is no sane, simple-scan or xsane package in install/omarchy-base.packages at v4.0.4. Scanning needs packages you install yourself, and multifunction HP devices need hplip too.
- My update stops at "Temporarily remove automatic printer discovery". What now?
- That is migration 1788009111. Start CUPS, rerun the update, then stop CUPS again. See issues #9377 and #9640 for the two causes.
Sources and credit
Fixes on this page were worked out by joselberg (Traced the failed 1788009111 migration to lpstat reporting a stopped scheduler), rafaelclima (Showed that LC_ALL=C does not force English for lpstat, breaking the migration on non-English locales), docPoacher (Isolated the blank-page regression to libcupsfilters 2.2.x by single-variable downgrade), HIMANSHU11827 (Documented the working hplip PPD setup for HP Smart Tank USB printers), EERomeo (Found the cups reinstall that unfreezes GUI print dialogs). Text here is our own paraphrase; follow the links for the original threads.
- commitinstall/omarchy-base.packages at v4.0.4 · 2026-09-15
- commitinstall/config/enable-services.sh at v4.0.4 · 2026-09-15
- commitmigrations/1788009111.sh at v4.0.4 · 2026-09-15
- commitmigrations/1787815267.sh at v4.0.4 · 2026-09-15
- prPR #8951: Temporarily remove automatic printer discovery · omarchybot · 2026-08-29
- issueIssue #9377: Migration 1788009111 fails when CUPS scheduler is not running · joselberg · 2026-08-31
- issueIssue #9640: 1788009111.sh fails on pt_BR (and other non-English locales) · rafaelclima · 2026-09-01
- prPR #9406: Let cups-browsed removal proceed when CUPS isn't running · Chessing234 · 2026-08-31
- prPR #9650: Force English lpstat messages in cups-browsed migration · Chessing234 · 2026-09-01
- prPR #12101: Cups-browsed migration: locale-safe empty queue and CUPS-down · Chessing234 · 2026-09-16
- issueIssue #11186: Printing from Firefox to a local USB HP printer produces PJL garbage + blank pages · docPoacher · 2026-09-10
- issueIssue #11814: HP Smart Tank 520/540 USB printer not plug-and-play (universal filter failed) · HIMANSHU11827 · 2026-09-14
- issueIssue #3790: GUI applications freeze when attempting to print (CUPS works via command line) · clwalker85 · 2025-12-06
- issueIssue #9311: The update breaks the edits in /etc/nsswitch.conf · ramzlab000 · 2026-08-31
- discussionDiscussion #250: Guide - Install HP Printer · curtisspendlove · 2025-07-20
- discussionDiscussion #10417: Add a default picture-printing dialog and right-click Print action · jonnyace · 2026-09-06
- manualOmarchy Manual: FAQ, How do I add a printer? · 2026-09-16