Summary
Hi everyone! I enabled VRR in the settings, and now the screen flickers every time. It doesn't turn off completely; it specifically flickers and dims.
It's a Xiaomi 180Hz monitor that supports VRR, HDR, and Adaptive Sync.
Steps to reproduce
1.1. Go to settings
2.2. Go to the "Compositor" section
3.3. scroll down a bit to the "displays"
4.4. Enable BPP
Expected behavior
Screen does not flicker when VRR is enabled.
Logs
INFO: Crash handling disabled.
INFO: Saving logs to "/run/user/1000/quickshell/by-id/t3m1lja3it/log.qslog"
WARN: $HYPRLAND_INSTANCE_SIGNATURE is unset. Cannot connect to hyprland.
INFO qml: CompositorService: Detected Niri with socket: /run/user/1000/niri.wayland-1.1028.sock
DEBUG qml: [Translation] Language changed to ru_RU
INFO qml: [Boot] T+0ms: Component.onCompleted (shell.qml ready)
INFO: Configuration Loaded
INFO qml: [Boot] T+28ms: Config.ready (async)
INFO qt.multimedia.ffmpeg: Using Qt multimedia with FFmpeg version n8.1.2 GPL version 3 or later
WARN: spaVisitChoice: parse error "Object: size 144, type Spa:Pod:Object:Param:Format (262147), id Spa:Enum:ParamId:EnumFormat (3)" " Prop: key Spa:Pod:Object:Param:Format:mediaType (1), flags 00000000" " Id 1 (Spa:Enum:MediaType:audio)" " Prop: key Spa:Pod:Object:Param:Format:mediaSubtype (2), flags 00000000" " Id 3 (Spa:Enum:MediaSubtype:iec958)" " Prop: key Spa:Pod:Object:Param:Format:Audio:iec958Codec (65542), flags 00000000" " Choice: type Spa:Enum:Choice:Enum, flags 00000000 24 4" " Id 1 (Spa:Enum:AudioIEC958Codec:PCM)" " Id 1 (Spa:Enum:AudioIEC958Codec:PCM)" " Prop: key Spa:Pod:Object:Param:Format:Audio:rate (65539), flags 00000000" " Choice: type Spa:Enum:Choice:Range, flags 00000000 28 4" " Int 48000" " Int 32000" " Int 48000"
INFO qml: [Boot] T+267ms: shellEntryReady (first frame)
INFO qml: NiriService: Loaded 2 outputs
WARN qml: [NiriKeybinds] Parser failed (exit 2), using defaults
WARN qml: [NiriKeybinds] get-binds failed (exit 2), niri-config.py may not support get-binds yet
INFO qml: [Weather] Getting location from IP...
INFO qml: [Weather] Location: [redacted]
INFO qml: [Weather] Updated: 18°C [redacted]
INFO qml: [Weather] Air quality updated: 22 EAQI
DEBUG qml: [ShellUpdates] Loading repo path from version.json...
DEBUG qml: [ShellUpdates] Using repo path from version.json: /home/dvytvs/inir
DEBUG qml: [ShellUpdates] Git available: true
DEBUG qml: [ShellUpdates] Manifest: commit=01434067 date=2026-07-06T23:55:22+05:00
DEBUG qml: [ShellUpdates] Local version: 2.27.0
DEBUG qml: [ShellUpdates] Current branch: main
DEBUG qml: [ShellUpdates] Commits behind: 0, hasUpdate: false
DEBUG qml: [ShellUpdates] Up to date (01434067)
WARN scene: QML QQuickImage at @modules/settings/SettingsOverlay.qml[731:29]: Cannot open: file:///var/lib/AccountsService/icons/dvytvs
WARN scene: QML QQuickImage at @modules/settings/SettingsOverlay.qml[731:29]: Cannot open: file:///home/dvytvs/.face
WARN scene: QML QQuickImage at @modules/settings/SettingsOverlay.qml[731:29]: Cannot open: file:///home/dvytvs/.face.icon
WARN scene: qs:/home/dvytvs/.config/quickshell/inir/modules/settings/NiriConfig.qml[829:-1]: TypeError: Cannot call method 'restart' of undefined
INFO qml: [NiriKeybinds] Config changed, reloading...
WARN qml: [NiriKeybinds] get-binds failed (exit 2), niri-config.py may not support get-binds yet
WARN qml: [NiriKeybinds] Parser failed (exit 2), using defaults
INFO qml: NiriService: Loaded 2 outputs
WARN scene: QML QQuickImage at @modules/settings/SettingsOverlay.qml[731:29]: Cannot open: file:///var/lib/AccountsService/icons/dvytvs
WARN scene: QML QQuickImage at @modules/settings/SettingsOverlay.qml[731:29]: Cannot open: file:///home/dvytvs/.face
WARN scene: QML QQuickImage at @modules/settings/SettingsOverlay.qml[731:29]: Cannot open: file:///home/dvytvs/.face.icon
WARN scene: qs:/home/dvytvs/.config/quickshell/inir/modules/settings/NiriConfig.qml[829:-1]: TypeError: Cannot call method 'restart' of undefined
INFO qml: [NiriKeybinds] Config changed, reloading...
WARN qml: [NiriKeybinds] Parser failed (exit 2), using defaults
WARN qml: [NiriKeybinds] get-binds failed (exit 2), niri-config.py may not support get-binds yet
INFO qml: NiriService: Loaded 2 outputs
WARN scene: QML NumberAnimation at @modules/bar/Media.qml[370:13]: setPaused() cannot be used when animation isn't running.
WARN scene: QML QQuickImage at @modules/settings/SettingsOverlay.qml[731:29]: Cannot open: file:///var/lib/AccountsService/icons/dvytvs
WARN scene: QML QQuickImage at @modules/settings/SettingsOverlay.qml[731:29]: Cannot open: file:///home/dvytvs/.face
WARN scene: QML QQuickImage at @modules/settings/SettingsOverlay.qml[731:29]: Cannot open: file:///home/dvytvs/.face.icon
WARN scene: QML NumberAnimation at @modules/bar/Media.qml[370:13]: setPaused() cannot be used when animation isn't running.
WARN scene: QML NumberAnimation at @modules/bar/Media.qml[370:13]: setPaused() cannot be used when animation isn't running.
INFO qml: [Weather] Updated: 18°C [redacted]
INFO qml: [Weather] Air quality updated: 22 EAQI
Version
2.27.0
Compositor
Niri Wayland
Quickshell version
Quickshell 0.3.0 (revision , distributed by Arch Linux)
Qt version
Using Qt version 5.15.19 in /usr/lib
Distro
CachyOS
Panel family
ii
Relevant configuration
Additional notes
No response
Summary
Hi everyone! I enabled VRR in the settings, and now the screen flickers every time. It doesn't turn off completely; it specifically flickers and dims.
It's a Xiaomi 180Hz monitor that supports VRR, HDR, and Adaptive Sync.
Steps to reproduce
1.1. Go to settings
2.2. Go to the "Compositor" section
3.3. scroll down a bit to the "displays"
4.4. Enable BPP
Expected behavior
Screen does not flicker when VRR is enabled.
Logs
Version
2.27.0
Compositor
Niri Wayland
Quickshell version
Quickshell 0.3.0 (revision , distributed by Arch Linux)
Qt version
Using Qt version 5.15.19 in /usr/lib
Distro
CachyOS
Panel family
ii
Relevant configuration
Additional notes
No response