← Back to Notes

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.

N
NOTE

TL;DR

  1. Make sure Brave runs natively on Wayland, not through XWayland.
  2. Test scale values with brave-origin --force-device-scale-factor=<value>.
  3. 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.

N
NOTE

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: wayland

Why: 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:

OutputMeaning
xwayland: 1Running through XWayland, so it gets X11 scaling (the likely cause)
xwayland: 0Running natively on Wayland ✅
W
WARN

Spelling. It's hyprctl, not hyprctrl or hyperctl. A typo gives command not found.

T
TIP

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

  1. Go to brave://flags
  2. Search for Preferred Ozone platform and set it to Wayland
  3. 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.75

Try a few values and keep the one you like:

ValueEffect
1.0Default
0.9Slightly smaller
0.8Noticeably smaller
0.75Much smaller (my pick ✅)
W
WARN

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.

N
NOTE

Scale factor vs. page zoom

  • --force-device-scale-factor scales 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.conf

Then relaunch from the Omarchy launcher, not the terminal, to test it the way you'll normally open it:

pkill -f brave-origin
T
TIP

Recommended: 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.conf

Final 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

!
BUG

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
!
BUG

The flag has no effect

  • A Brave process was still running. Run pkill -f brave-origin and relaunch.
  • Check that the filename matches what the grep in Step 4 returned.
  • Check brave://version → Command Line.
!
BUG

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.
    cp /usr/share/applications/brave-origin*.desktop ~/.local/share/applications/
    Then add the flag to every Exec= line in the copy:
    Exec=brave-origin --force-device-scale-factor=0.75 %U
    
!
BUG

Brave looks blurry This usually means it's running through XWayland with scaling applied. Go back to Step 2 and switch to native Wayland.

!
BUG

Other apps look wrong too The problem is probably global rather than Brave-specific. Check the monitor scale in ~/.config/hypr/monitors.conf.

!
BUG

Want to undo everything

rm ~/.config/brave-origin-flags.conf

In brave://flags, click Reset all.


Applies to other apps too

The same approach works for other Chromium-based browsers and Electron apps:

AppFlags 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.