hyprwm / hyprland-wiki

The Hyprland Wiki Pages, automatically synced with the website.
BSD 3-Clause "New" or "Revised" License
253 stars 386 forks source link

Inconsistency in hyprland Multi-GPU docs #807

Open admiral0 opened 1 month ago

admiral0 commented 1 month ago

Already reported ? *

Regression?

No

System Info and Version

irrelevant - not a software bug - documentation bug

Description

On the Multi-GPU page there is a contradiction between first paragraph and second:

First instance:

Do not use the card1 symlink indicated here. It is dynamically assigned at boot and is subject to frequent change, making it unsuitable as a marker for GPU selection.

Second instance:

Here, we tell Hyprland to set priorities. If card0 isn’t available for whatever reason, use card1.

There is an advice to not use card* symlinks, but there is no mention that symlinks are not supported by AQ - possibly a miss during the documentation update.

How to reproduce

Crash reports, logs, images, videos

I would recommend adding a section suggesting a script to generate AQ_DRM_DEVICES env var before the start.

Something like:

#!/bin/bash

G_INTEGRATED="/dev/dri/by-path/pci-0000:00:02.0-card"
G_DISCRETE="/dev/dri/by-path/pci-0000:01:00.0-card"

export AQ_DRM_DEVICES="$(readlink -f $G_INTEGRATED):$(readlink -f $G_DISCRETE)"

exec Hyprland "$@"
admiral0 commented 1 month ago

There is another bug then preventing those paths to be used. Probably https://github.com/hyprwm/hyprutils/blob/3f5293432b6dc6a99f26aca2eba3876d2660665c/src/string/VarList.cpp#L16

It seems there's no way to escape a : in the path - which is part of PCI stable paths, so probably that should be mentioned instead

admiral0 commented 1 month ago

Fixing that is probably non backwards compatible unless hyprland introduces a new env variable.

vaxerski commented 1 month ago

wrong repo dude