hyprwm / aquamarine

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

no signal on screen connected per HDMI over USB-C - getCurrentCRTC: No CRTC 0 #36

Open niklas opened 1 month ago

niklas commented 1 month ago

I have a similar Problem as in #25: My third screen appears in hyprctl monitors, but stays blank with "no signal" message.

My Setup: Thinkpad T490 with i915. lspci.log

Screens connected:

Connector descriptors change from time to time. The Dell is connected using DP-5 or DP-4. Swapping ports on the Docking station does not show picture on Dell.

Cables seem to be OK. I see outputs on all monitors with stable hyprland arch package (0.41.2-3), and on Xorg (sddm).

This card does not seem to be evdi:

 ls -l /dev/dri/by-path
 lrwxrwxrwx 1 root root  8 Jul 29 13:28 pci-0000:00:02.0-card -> ../card1
 lrwxrwxrwx 1 root root 13 Jul 29 13:28 pci-0000:00:02.0-render -> ../renderD128

I rebuild aquamarine with the if (drmVerName == "evdi") from #25 commented out, so primary is always {}, but to no avail. I tried reconnecting the dock, rebooted the system serveral times and tried suspend/wakeup, which had fixed some monitor issues before, but not now.

I enabled debugging in hyprland and that message stood out:

[LOG] [AQ] drm: Initializing connector id 139
[LOG] [AQ] drm: Connector gets name DP-5
[ERR] [AQ] drm: getCurrentCRTC: No CRTC 0
[LOG] [AQ] drm: Ignoring connector 139 because it has no CRTC

hyprland-no-dell.log

If you need any more info, I am ready to provide them.

vaxerski commented 1 month ago

are you on aq-git

niklas commented 1 month ago

yes, https://github.com/hyprwm/aquamarine/commit/4918e57979bbdbd05aabb20f63e1cb5dc289bcbd

nktnet1 commented 1 month ago

Yeah, #25 won't work since you're not using DisplayLink - looks like you're using DP Alt Mode, is this correct?

Also, have you tried looking for similar issues relating to the lines below on wlroots?

hyrpland-no-dell.log L189-227 ``` [LOG] [AQ] drm: Physical size [Vector2D: x: 670, y: 280] (mm) [LOG] [AQ] drm: crtc is incapable of vrr: props.vrr_capable -> 0, crtc->props.vrr_enabled -> 24 [LOG] [AQ] drm: Explicit sync supported [LOG] [AQ] drm: Description Dell Inc. DELL U2913WM 5YD8C2AV419L (DP-4) [LOG] [AQ] drm: Scanning connector id 139 [LOG] [AQ] drm: Initializing connector id 139 [LOG] [AQ] drm: Connector gets name DP-5 [ERR] [AQ] drm: getCurrentCRTC: No CRTC 0 [LOG] [AQ] drm: Ignoring connector 139 because it has no CRTC [LOG] [AQ] drm: Rechecking CRTCs [LOG] [AQ] drm: connector eDP-1, has crtc -1, will be rechecked [LOG] [AQ] drm: connector DP-1, has crtc -1, will be rechecked [LOG] [AQ] drm: connector HDMI-A-1, has crtc -1, will be rechecked [LOG] [AQ] drm: connector DP-2, has crtc -1, will be rechecked [LOG] [AQ] drm: Skipping connector HDMI-A-2, has crtc 51 and is connected [LOG] [AQ] drm: Skipping connector DP-3, has crtc 72 and is connected [LOG] [AQ] drm: Skipping connector DP-4, has crtc 93 and is connected [LOG] [AQ] drm: connector DP-5, has crtc -1, will be rechecked [LOG] [AQ] drm: slot 0 crtc 51 taken by HDMI-A-2, skipping [LOG] [AQ] drm: slot 1 crtc 72 taken by DP-3, skipping [LOG] [AQ] drm: slot 2 crtc 93 taken by DP-4, skipping [LOG] [AQ] drm: Connector DP-1 is not connected [LOG] [AQ] drm: Connector HDMI-A-1 is not connected [LOG] [AQ] drm: Connector DP-2 is not connected [LOG] [AQ] drm: Connector DP-5 is not connected [LOG] [AQ] drm: rescanning after realloc [LOG] [AQ] drm: Scanning connectors for /dev/dri/card1 [LOG] [AQ] drm: Scanning connector id 95 [LOG] [AQ] drm: Connector id 95 already initialized [LOG] [AQ] drm: Ignoring connector 95 because it has no CRTC [LOG] [AQ] drm: Scanning connector id 105 [LOG] [AQ] drm: Connector id 105 already initialized [LOG] [AQ] drm: Ignoring connector 105 because it has no CRTC [LOG] [AQ] drm: Scanning connector id 115 [LOG] [AQ] drm: Connector id 115 already initialized [LOG] [AQ] drm: Ignoring connector 115 because it has no CRTC [LOG] [AQ] drm: Scanning connector id 121 [LOG] [AQ] drm: Connector id 121 already initialized [LOG] [AQ] drm: Ignoring connector 121 because it has no CRTC ```

I think some other information that may help are:

  1. Comparing the logs with the old Hyprland + wlroots-hyprland (e.g. v0.41.2)

  2. How have you configured your monitors in ~/.config/hypr/hyprland.conf? For me, it's:

    # https://wiki.hyprland.org/Configuring/Monitors
    monitor = desc:BOE 0x0A2C,2560x1600@60, auto, 1.6, bitdepth, 10
    monitor = desc:Hewlett Packard HP LA2206 CNC1320BJL, 1920x1080@60, auto-left, 1, bitdepth, 10
    monitor = desc:LG Electronics LG FULL HD 0x01010101, 1920x1080@60, auto-right, 1, bitdepth, 10
  3. What are your findings when using tools like nwg-displays?

niklas commented 1 month ago

DP Alt Mode

Seem like, I am using this gadget: https://icybox.de/product/dockingstation/IB-DK4050-CPD

Logs from Hyprland with wlroots

I see some errors there, but the screen still shows what it is supposed to:

[backend/drm/drm.c:875] connector HDMI-A-2: Failed to page-flip output: a page-flip is already pending
[wlr] [backend/drm/atomic.c:79] connector DP-4: Atomic commit failed: Device or resource busy

Complete log: hyprland-0.4.1.log

Monitor configuration

monitor=desc:Chimei Innolux Corporation 0x14E4,disable monitor=desc:LG Electronics 24MB56 0x0004B721,1920x1080@60,2560x0,1,transform,1 monitor=desc:Dell Inc. DELL U2913WM 5YD8C2AV419L,2560x1080@60,0x570,1 monitor=desc:Acer Technologies V246HL LXXEE0058520,1920x1080@60,3640x570,1

(First one is the internal display of the Laptop. If I don't disable it, I cannot use a third external monitor at all, also not on Xorg.)

Be aware: I use a script for setting this config, to switch between mobile and desktop workflow.

nwg-displays

All 3 monitors are shown and claim to be active and present the proper resolution, position and orientation. I did not manage to force the screen in question to turn on.

nktnet1 commented 1 month ago

If I don't disable it, I cannot use a third external monitor at all, also not on Xorg

I think this may be because intel only supports up to 3 displays at once, according to this source.

Not too sure what may be causing the main issue after briefly comparing the source code in hyprland-wlroots and aquamarine. However, have you tried:

  1. Manually disabling DP-1, DP-2, etc (anything that shows up in logs, but you're not using) in your hyprland config
  2. Unplug all monitors except for your primary one and the Dell one (i.e. the one that isn't working) - does anything change? How about other combinations of plug/unplug?
romanstingler commented 1 month ago

could be related to #40 and #45

romanstingler commented 6 days ago

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

if it resolves your issue, please close the ticket, thx