Skip to content

Commit

Permalink
explicit stuff (#739)
Browse files Browse the repository at this point in the history
  • Loading branch information
vaxerski authored Aug 6, 2024
1 parent b4c6775 commit 1a403ce
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 6 deletions.
9 changes: 8 additions & 1 deletion pages/Configuring/Variables.md
Original file line number Diff line number Diff line change
Expand Up @@ -367,7 +367,6 @@ _Subcategory `group:groupbar:`_
| swallow_regex | The *class* regex to be used for windows that should be swallowed (usually, a terminal). To know more about the list of regex which can be used [use this cheatsheet](https://github.com/ziishaned/learn-regex/blob/master/README.md). | str | \[\[Empty\]\] |
| swallow_exception_regex | The *title* regex to be used for windows that should *not* be swallowed by the windows specified in swallow_regex (e.g. wev). The regex is matched against the parent (e.g. Kitty) window's title on the assumption that it changes to whatever process it's running. | str | \[\[Empty\]\] |
| focus_on_activate | Whether Hyprland should focus an app that requests to be focused (an `activate` request) | bool | false |
| no_direct_scanout | Disables direct scanout. Direct scanout attempts to reduce lag when there is only one fullscreen application on a screen (e.g. game). It is also recommended to set this to true if the fullscreen application shows graphical glitches. | bool | true |
| mouse_move_focuses_monitor | Whether mouse moving into a different monitor should focus it | bool | true |
| render_ahead_of_time | [Warning: buggy] starts rendering _before_ your monitor displays a frame in order to lower latency | bool | false |
| render_ahead_safezone | how many ms of safezone to add to rendering ahead of time. Recommended 1-2. | int | 1 |
Expand Down Expand Up @@ -408,6 +407,14 @@ _Subcategory `group:groupbar:`_
| nvidia_anti_flicker | reduces flickering on nvidia at the cost of possible frame drops on lower-end GPUs. On non-nvidia, this is ignored. | bool | true |
| force_introspection | forces introspection at all times. Introspection is aimed at reducing GPU usage in certain cases, but might cause graphical glitches on nvidia. 0 - nothing, 1 - force always on, 2 - force always on if nvidia | int | 2 |

### Render

| name | description | type | default |
| --- | --- | --- | --- |
| explicit_sync | Whether to enable explicit sync support. Requires a hyprland restart. 0 - no, 1 - yes, 2 - auto based on the gpu driver | int | 2 |
| explicit_sync_kms | Whether to enable explicit sync support for the KMS layer. Requires explicit_sync to be enabled. 0 - no, 1 - yes, 2 - auto based on the gpu driver | int | 2 |
| direct_scanout | Enables direct scanout. Direct scanout attempts to reduce lag when there is only one fullscreen application on a screen (e.g. game). It is also recommended to set this to false if the fullscreen application shows graphical glitches. | bool | false |

### Cursor

| name | description | type | default |
Expand Down
11 changes: 6 additions & 5 deletions pages/Nvidia/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,8 @@ Wayland, the flickering will likely be solved in the 555 series of Nvidia driver
### Flickering in XWayland games

XWayland games may flicker or present frames out-of-order in a way which makes them unplayable.
This is due to the lack of explicit synchronization in older versions of the proprietary driver.
This is due to the lack of implicit synchronization in the driver, and/or flaky explicit sync support
in newer ones.

There are a few fixes:

Expand All @@ -212,11 +213,11 @@ There are a few fixes:
These enable explicit sync on the Nvidia driver and should avoid flickering.

2. If your GPU is no longer supported by the 555 driver, install older Nvidia drivers which do not exhibit this issue. The
last ones which would work will be the 535xx series of drivers. These
can be installed on Arch via [these AUR packages](https://aur.archlinux.org/packages?O=0&K=535xx)
last ones which would work will be the 535xx series of drivers. These
can be installed on Arch via [these AUR packages](https://aur.archlinux.org/packages?O=0&K=535xx)

More info about explicit sync is available
[on this blog](https://planet.kde.org/xavers-blog-2024-04-05-explicit-sync/).
3. Try disabling explicit sync. In some select cases, explicit sync may actually cause issues due to the flaky nature of Nvidia drivers.
Set `render:explicit_sync = 0` in your hyprland config.

### Fixing other random flickering (nuclear method)

Expand Down

0 comments on commit 1a403ce

Please sign in to comment.