---
title: "Persistent CLI flags for Vivaldi on Linux"
date: 2026-04-25
tags: [linux, vivaldi, browsers, desktop, troubleshooting]
summary: Vivaldi's launcher reads extra command-line flags from a config file in your home directory on every launch. That's where `--disable-gpu-compositing` and friends belong. Don't edit the .desktop file.
aliases: [vivaldi-persistent-flags, vivaldi-flags, vivaldi-conf]
---

Vivaldi's launcher script (`/opt/vivaldi/vivaldi`, with `/usr/bin/vivaldi-stable` symlinked to it) reads extra CLI flags from a config file in `~/.config/` on every launch. That's the right place for `--disable-gpu-compositing`, `--enable-features=...`, `--ozone-platform-hint=auto`, and other flags you want Vivaldi to use.

## Where to write it

Config filename comes from the channel:

- **Stable:** `~/.config/vivaldi-stable.conf`
- **Snapshot:** `~/.config/vivaldi-snapshot.conf`

One flag per line. (`#` is a comment). Example:

```
# ~/.config/vivaldi-stable.conf
--disable-gpu-compositing
--ozone-platform-hint=auto
```

Quit and relaunch Vivaldi for changes to take effect. Closing the last window doesn't quit Vivaldi if you have a tray icon enabled.

## Confirm the flags are active

Open `vivaldi://version` and check the **Command Line** field. Every flag you set should be visible there alongside the defaults. Missing flag usually means a typo or a syntax issue (forgetting the leading `--` is a common one).

## Why not the .desktop file

It's tempting to edit `/usr/share/applications/vivaldi-stable.desktop` and append to `Exec=`. Don't:

- Package manager rewrites that file on every Vivaldi update. Your changes drop silently.
- Only affects launches from the desktop application menu, not the CLI or other launchers.
- The launcher reads the conf file *in addition to* `Exec=`, so you'd still need the conf file for command-line launches.

If you genuinely need a per-application override (different flags for a launcher icon vs. a CLI alias), copy the .desktop file to `~/.local/share/applications/` first and edit the copy.

## When something breaks

- **GPU glitches on Wayland.** `--disable-gpu-compositing` usually fixes things, but expect higher CPU load since the CPU now handles compositing. `--ozone-platform-hint=auto` can also help.
- **`vivaldi://flags` overrides.** Those persist in the user profile, separate from CLI flags. If a flag from `~/.config/vivaldi-stable.conf` doesn't seem to take effect, check `vivaldi://flags` for a conflicting override.
- **Vivaldi as Flatpak.** Conf file path is sandboxed to `~/.var/app/com.vivaldi.Vivaldi/config/vivaldi-stable.conf`. Same syntax. Useful when Vivaldi is installed via Flatpak (e.g. on [[bazzite-overview|Bazzite]]).

## Related

- [[bazzite-overview]]. Flatpak browsers on immutable Fedora.
- [[flatpak-1password-browser-bridge]]. When the password manager extension can't talk to the desktop app.

## References

- [Vivaldi help: command-line switches](https://help.vivaldi.com/desktop/install-update/command-line-switches/)
- [Chromium command-line switches list](https://peter.sh/experiments/chromium-command-line-switches/). Vivaldi accepts all of these.
