Fixing Brave Origin Scaling on Omarchy (Hyprland)
Brave Origin's UI looks too big on Omarchy (Hyprland)? Force it onto native Wayland, dial in a device scale factor, and make the fix permanent in the flags file — with a full troubleshooting section.
TL;DR
- Make sure Brave runs natively on Wayland, not through XWayland.
- Test scale values with
brave-origin --force-device-scale-factor=<value>. - Make the value permanent in
~/.config/brave-origin-flags.conf.
Symptom
After installing Brave Origin on Omarchy 4, the browser UI (tabs, toolbar, menus, pages) looks noticeably bigger than the rest of the system.
Why this happens. Hyprland scales X11 apps (run through XWayland)
differently from native Wayland apps. Omarchy also sets GDK_SCALE=2, so an app
running under XWayland is drawn bigger than everything else. Omarchy's bundled
Chromium already has a flags file that forces Wayland. A browser you install
yourself doesn't get that file.
Even when Brave runs natively on Wayland, its default size may still be bigger than you like. That's a separate issue, covered in Step 3.
Step 1: Confirm the session type
echo $XDG_CURRENT_DESKTOP # should print: Hyprland
echo $XDG_SESSION_TYPE # should print: waylandWhy: This confirms you're checking from inside the Hyprland desktop. Commands
like hyprctl only work in a terminal opened inside the Hyprland session, not over
SSH or in a TTY.
Step 2: Check whether Brave runs on Wayland or XWayland
Open Brave first, then use either method.
Option A: from the terminal
hyprctl clients | grep -iE "class:|xwayland"Look at the entry with class: brave-origin:
| Output | Meaning |
|---|---|
xwayland: 1 | Running through XWayland, so it gets X11 scaling (the likely cause) |
xwayland: 0 | Running natively on Wayland ✅ |
Spelling. It's hyprctl, not hyprctrl or hyperctl. A typo gives
command not found.
Only your terminal shows up? If the output only lists foot (the terminal),
Brave isn't open. Open it and run the command again.
Option B: from inside Brave
Go to brave://gpu, press Ctrl+F, and search for Ozone
platform. It shows either x11 or wayland.
Fix: switch to native Wayland
- Go to
brave://flags - Search for Preferred Ozone platform and set it to Wayland
- Relaunch Brave and check again with Step 2
Why: Ozone is Chromium's display layer. Setting it to Wayland makes Brave use Hyprland's scaling directly instead of going through the X11 compatibility layer. This setting is saved in your Brave profile and survives restarts.
Step 3: Test scale values
Once Brave runs natively on Wayland, adjust its size if needed. Close Brave completely, then launch it from the terminal with a test value:
pkill -f brave-origin
brave-origin --force-device-scale-factor=0.75Try a few values and keep the one you like:
| Value | Effect |
|---|---|
1.0 | Default |
0.9 | Slightly smaller |
0.8 | Noticeably smaller |
0.75 | Much smaller (my pick ✅) |
Close Brave fully between tests. If a Brave process is still running, the new
launch just opens a window in the existing process and ignores the flag.
Always run pkill -f brave-origin first.
Scale factor vs. page zoom
--force-device-scale-factorscales everything: tabs, toolbar, menus and pages.- Page zoom (
brave://settings/appearance) scales only the websites and leaves the browser's own interface alone.
If only the web pages feel too big, use page zoom instead.
Step 4: Make the scale permanent
A flag passed in the terminal only lasts for that launch. To apply it every time, including from the Omarchy launcher, save it in the flags file.
Find which flags file the launcher reads
grep -i "flags" "$(which brave-origin)"Result on my system:
CONF_FILE="${XDG_CONFIG_HOME}/brave-origin-flags.conf"
Why: On Arch, brave-origin is a wrapper script. It reads extra startup flags
from this file before starting the real browser. Different Brave packages use
different filenames (brave-flags.conf, brave-origin-flags.conf, …), so check
instead of guessing.
Add the flag
echo "--force-device-scale-factor=0.75" >> ~/.config/brave-origin-flags.conf
cat ~/.config/brave-origin-flags.confThen relaunch from the Omarchy launcher, not the terminal, to test it the way you'll normally open it:
pkill -f brave-originRecommended: pin Wayland in the same file. The brave://flags setting lives
in your profile, so resetting flags or creating a new profile loses it. Put it in
the flags file too, as a backup:
echo "--ozone-platform=wayland" >> ~/.config/brave-origin-flags.confFinal file:
--ozone-platform=wayland
--force-device-scale-factor=0.75
Put one flag per line, and make sure there are no duplicates.
Step 5: Verify the flags were applied
Go to brave://version and look at the Command Line row. It should include
--force-device-scale-factor=0.75 (and --ozone-platform=wayland if you added
it).
Why: This is the most reliable check. It shows exactly which flags Brave started with, so you don't have to judge by eye.
Troubleshooting
hyprctl: command not found
- Check the spelling:
hyprctl. - Run it from a terminal inside Hyprland, not over SSH or in a TTY.
- Check that it's installed:
ls /usr/bin | grep -i hypr
The flag has no effect
- A Brave process was still running. Run
pkill -f brave-originand relaunch. - Check that the filename matches what the
grepin Step 4 returned. - Check
brave://version→ Command Line.
The flags file isn't read
- Run
echo $XDG_CONFIG_HOME. If it's empty, the wrapper should fall back to~/.config. If it's set to another path, put the file there instead. - Fallback: override the desktop entry.
Then add the flag to every
cp /usr/share/applications/brave-origin*.desktop ~/.local/share/applications/Exec=line in the copy:Exec=brave-origin --force-device-scale-factor=0.75 %U
Brave looks blurry This usually means it's running through XWayland with scaling applied. Go back to Step 2 and switch to native Wayland.
Other apps look wrong too
The problem is probably global rather than Brave-specific. Check the monitor
scale in ~/.config/hypr/monitors.conf.
Want to undo everything
rm ~/.config/brave-origin-flags.confIn brave://flags, click Reset all.
Applies to other apps too
The same approach works for other Chromium-based browsers and Electron apps:
| App | Flags file |
|---|---|
| Chromium | ~/.config/chromium-flags.conf |
| Brave (standard) | ~/.config/brave-flags.conf |
| Brave Origin | ~/.config/brave-origin-flags.conf |
| Electron apps (VS Code, etc.) | ~/.config/electron-flags.conf or ~/.config/code-flags.conf |
When unsure, run grep -i flags "$(which <app>)" to see which file the launcher
reads.