hyprwm / aquamarine

Aquamarine is a very light linux rendering backend library
BSD 3-Clause "New" or "Revised" License
280 stars 21 forks source link

Monitors attached to the 2º GPU are ignored #45

Open Zeioth opened 3 months ago

Zeioth commented 3 months ago

Short description

Out of my 6 monitors, only the 3 attached to the first GPU turn on.

Details

Everything was working fine until I upgraded from hyprland stable to hyprland-git (with aquamarine) today. I've read the docs A and B so I made the required change from

WLR_DRM_DEVICES=/dev/dri/card1:/dev/dri/card0

to

AQ_DRM_DEVICES=/dev/dri/card1:/dev/dri/card0

hyprctl monitors can list all my monitors correctly, it is just they don't turn on anymore.

screenshot_2024-08-10_23-34-29_798234812

Logs

Using Hyprland > mylog from TTY with HYPRLAND_TRACE=1. https://pastebin.com/raw/fubmZ0Ji

(Nothing super remarkable here)

Zeioth commented 3 months ago

also I haven't changed the config file, it is the same one as usual: https://github.com/Zeioth/zeioth-hyprland-config

romanstingler commented 3 months ago

probably related to #40

romanstingler commented 2 months ago

can you try building all packages new. Something like this. Meanwhile, I guess most outputs except Thunderbolt should be fixed/

yay -S aquamarine-git hyprlang-git hyprcursor-git hyprutils-git hyprland-git --overwrite="*"

Zeioth commented 2 months ago

@romanstingler yes i can test give me a sec

Zeioth commented 2 months ago

Issue remains

romanstingler commented 2 months ago

please build yay -S hyprland-git aquamarine-git new and add env = AQ_NO_MODIFIERS,1 to your hyperland.conf

Zeioth commented 2 months ago

Issue remains.

Zeioth commented 2 months ago

I've debugged this a bit more and all monitors turn on fine when the GPUs are passed in the default order.

AQ_DRM_DEVICES=/dev/dri/card0:/dev/dri/card1

Doing the opposite is what causes some monitors to not turn on at all.

AQ_DRM_DEVICES=/dev/dri/card1:/dev/dri/card0
Zeioth commented 2 months ago

The point is to be able to decide what GPU commands what monitors. This is important because the monitors attached to the secondary GPU will max 30 FPS (this also happened in wlroots).

vaxerski commented 2 months ago

is card1 nvidia? Reverse-feeding from nvidia to an igpu of any brand is physically impossible due to hardware limitations

Zeioth commented 2 months ago

@vaxerski both AMD. screenshot_2024-09-14_11-00-02_371730347

Zeioth commented 5 days ago

@vaxerski I've been able to discover the root issue by buying a new GPU. As I suspected:

So this is not a bug, this is the new minimum spec requirement for AMD gpus using multi GPU, and we should probably maybe indicate it on the hyprland manual here.

Zeioth commented 5 days ago

This one can be closed once we document.

vaxerski commented 4 days ago

right