Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: improve and expand DRM environment variable documentation #80

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 22 additions & 4 deletions docs/env.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,28 @@ Unless specified otherwise, a variable is enabled if and only if it's set to `1`

### DRM

`AQ_DRM_DEVICES` -> Set an explicit list of DRM devices (GPUs) to use. It's a colon-separated list of paths, with the first being the primary. E.g. `/dev/dri/card1:/dev/dri/card0`
`AQ_NO_ATOMIC` -> Disables drm atomic modesetting
`AQ_MGPU_NO_EXPLICIT` -> Disables explicit syncing on mgpu buffers
`AQ_NO_MODIFIERS` -> Disables modifiers for DRM buffers
### DRM Devices and Settings

`AQ_DRM_DEVICES` -> This option allows you to set a specific list of DRM devices (GPUs) for the system to use.
The list is separated by colons (:), and the first device listed will be the primary GPU.
For example: `/dev/dri/card1:/dev/dri/card0`.
This means the system will primarily use `card1` and then fall back to `card0` if needed.
Comment on lines +9 to +12
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May be good to add a part here about symlinking to ~/.config/hypr/card. There was a good section about that in the pre-aq docs.


`AQ_NO_ATOMIC` -> Disables atomic mode setting for the DRM.
Atomic mode setting is a feature that makes screen updates more reliable by grouping changes together.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this should not be encouraged whatsoever as legacy drm support is... poor in aq

Setting AQ_NO_ATOMIC to 1 can be useful on hardware or drivers that don’t fully support atomic mode setting,
as it can prevent crashes or freezes caused by incomplete or incorrect atomic updates.

`AQ_MGPU_NO_EXPLICIT` -> Disables explicit synchronization between buffers when using multiple GPUs (multi-GPU setups).
Without explicit syncing, the system handles buffer transfers between GPUs more automatically,
which can improve performance in some cases but might introduce errors in more complex setups.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

implicit sync is less peformant


`AQ_NO_MODIFIERS` -> Disables DRM modifiers for buffers.
This can also resolve issues where a monitor fails to turn on or is not detected properly.
DRM modifiers define how pixel data is stored in memory (e.g., in optimized formats).
Setting `AQ_NO_MODIFIERS` to `1` ensures simpler buffer handling,
which might be necessary on hardware that doesn’t support advanced memory layouts,
especially for high resolutions like 4K.

### Debugging

Expand Down
Loading