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

Second monitor flickering first time on boot #7724

Closed
1 task done
LukeXuan opened this issue Sep 9, 2024 · 10 comments
Closed
1 task done

Second monitor flickering first time on boot #7724

LukeXuan opened this issue Sep 9, 2024 · 10 comments
Labels
bug Something isn't working

Comments

@LukeXuan
Copy link
Contributor

LukeXuan commented Sep 9, 2024

Already reported ? *

  • I have searched the existing open and closed issues.

Regression?

Yes

System Info and Version

System/Version info
Hyprland, built from branch  at commit 0f594732b063a90d44df8c5d402d658f27471dfe  (props: bump version to 0.43.0).
Date: Sun Sep 8 16:48:21 2024
Tag: v0.43.0, commits: 5196

flags: (if any)


System Information:
System name: Linux
Node name: luke-desktop
Release: 6.10.7-200.fc40.x86_64
Version: #1 SMP PREEMPT_DYNAMIC Fri Aug 30 00:08:59 UTC 2024


GPU information: 
03:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 32 [Radeon RX 7700 XT / 7800 XT] [1002:747e] (rev c8) (prog-if 00 [VGA controller])
11:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c9) (prog-if 00 [VGA controller])


os-release: NAME="Fedora Linux"
VERSION="40 (Sway)"
ID=fedora
VERSION_ID=40
VERSION_CODENAME=""
PLATFORM_ID="platform:f40"
PRETTY_NAME="Fedora Linux 40 (Sway)"
ANSI_COLOR="0;38;2;60;110;180"
LOGO=fedora-logo-icon
CPE_NAME="cpe:/o:fedoraproject:fedora:40"
DEFAULT_HOSTNAME="fedora"
HOME_URL="https://fedoraproject.org/"
DOCUMENTATION_URL="https://docs.fedoraproject.org/en-US/fedora/f40/system-administrators-guide/"
SUPPORT_URL="https://ask.fedoraproject.org/"
BUG_REPORT_URL="https://gitlab.com/fedora/sigs/sway/SIG/-/issues"
REDHAT_BUGZILLA_PRODUCT="Fedora"
REDHAT_BUGZILLA_PRODUCT_VERSION=40
REDHAT_SUPPORT_PRODUCT="Fedora"
REDHAT_SUPPORT_PRODUCT_VERSION=40
SUPPORT_END=2025-05-13
VARIANT="Sway"
VARIANT_ID=sway


plugins:

======Config-Start======


Config File: /home/luke/.config/hypr/hyprland.conf: Read Succeeded
# monitors
# monitor=DP-1,disabled
monitor=DP-1,preferred,0x0,1.5
monitor=HDMI-A-1,preferred,2560x0,1.5

## exec_once applications
# services
exec-once = systemctl --user start hyprland-session.target
exec-once = hyprpaper
exec-once = hypridle

# xdg-autostart
exec-once = dex-autostart -a

# gtk settings
exec-once = gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
exec-once = gsettings set org.gnome.desktop.interface icon-theme 'breeze-dark'
exec-once = gsettings set org.gnome.desktop.interface gtk-theme 'Breeze-Dark'
exec-once = gsettings set org.gnome.desktop.interface cursor-theme 'breeze_cursors'

# programs
$scripts = ~/.config/hypr
$terminal = $scripts/term.sh
$fileManager = dolphin
$menu = rofi -terminal $scripts/kitty_new_tab.sh -show combi -show-icons -modes combi -combi-modes "window,drun,run,ssh"

# Some default env vars.
env = XCURSOR_THEME,breeze_cursors
env = XCURSOR_SIZE,24
env = QT_QPA_PLATFORMTHEME,qt6ct

# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
debug {
    disable_logs = false
}

input {
    kb_layout = us
    kb_variant =
    kb_model =
    kb_options =
    kb_rules =

    follow_mouse = 2

    touchpad {
        natural_scroll = false
    }

    special_fallthrough = true
    sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
}

general {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    # gaps_in = 5
    gaps_out = 10
    border_size = 2
    col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.inactive_border = rgba(595959aa)

    layout = dwindle

    # Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
    # allow_tearing = true

}

group {
    col.border_active = rgba(33ccffee) rgba(00ff99ee) 45deg
    col.border_inactive = rgba(595959aa)

    groupbar {
        font_family = JetBrains Mono
        font_size = 20
        height = 20
        text_color = rgba(6A7190ff)
        col.active = rgba(ffffffbb)
        col.inactive = rgba(aaaaaa64)
    }
}

decoration {
    # See https://wiki.hyprland.org/Configuring/Variables/ for more

    rounding = 10

    inactive_opacity = .9

    blur {
        enabled = true
        size = 10
        passes = 1
        
        vibrancy = 0.1696
    }

    drop_shadow = true
    shadow_range = 4
    shadow_render_power = 3
    col.shadow = rgba(1a1a1aee)
}

animations {
    enabled = true

    # Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more

    bezier = default, 0.22, 1, 0.36, 1

    animation = windows, 1, 7, default
    animation = windowsOut, 1, 7, default, popin 80%
    animation = border, 1, 10, default
    animation = borderangle, 1, 8, default
    animation = fade, 1, 7, default
    animation = workspaces, 1, 6, default, fade
}

dwindle {
    # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
    pseudotile = true # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
    preserve_split = true # you probably want this
}

render {
  # direct_scanout = true
}

xwayland {
  force_zero_scaling = true
}

misc {
    vrr = 0
    disable_hyprland_logo = true
    disable_splash_rendering = true
    force_default_wallpaper = 0
}

windowrulev2 = suppressevent maximize fullscreen, class:.* # You'll probably like this.

## application specific rules
# kitty
workspace = special:Terminal, on-created-empty:kitty
windowrulev2 = size 1920 1080, onworkspace:special:Terminal
windowrulev2 = pseudo, onworkspace:special:Terminal

# zoom
windowrulev2 = group barred,class:^(zoom)$
windowrulev2 = workspace name:Zoom,class:^(zoom)$
windowrulev2 = float,class:^(zoom)$
windowrulev2 = maxsize 1600 900,class:^(zoom)$

# steam
windowrulev2 = group barred,class:^(steam)$
windowrulev2 = workspace name:Steam silent,class:^(steam)$
windowrulev2 = float,class:^(steam)$
windowrulev2 = maxsize 1600 900,class:^(steam)$

# thunderbird
windowrulev2 = group barred,title:^(?!Mozilla Thunderbird$).*,class:^(org.mozilla.Thunderbird)$
windowrulev2 = float,title:^(?!Mozilla Thunderbird$).*,class:^(org.mozilla.Thunderbird)$
windowrulev2 = maxsize 1600 900,title:^(?!Mozilla Thunderbird$).*,class:^(org.mozilla.Thunderbird)$

# list of floating windows
$floating_pattern = lxqt-policykit-agent|gnome-abrt
windowrulev2 = float, class:^($floating_pattern)$

# fullscreen related setups
windowrulev2 = immediate, fullscreen:1
windowrulev2 = fullscreenstate 2 3, class:^(steam_.*)$
windowrule = idleinhibit fullscreen, .*

## bindings
$mainMod = SUPER

# the actual opening of kitty is handled in the related workspace rule above
bind = $mainMod, return, togglespecialworkspace, Terminal
bind = $mainMod SHIFT, Q, killactive,
bind = $mainMod ALT SHIFT, E, exit,
bind = $mainMod, E, exec, $fileManager
bind = $mainMod, SPACE, cyclenext
bind = $mainMod SHIFT, Space, togglefloating,
bind = $mainMod, D, exec, $menu
bind = $mainMod, P, exec, $scripts/grimblast --notify copy area
bind = $mainMod SHIFT, P, exec, $scripts/grimblast --notify copy output

#dwindle-layout
bind = $mainMod ALT, P, pseudo,
bind = $mainMod, T, togglesplit,
bind = $mainMod, W, togglegroup
bind = $mainMod, Tab, changegroupactive
bind = $mainMod, backslash, changegroupactive
bind = $mainMod, F, fullscreen, 0

# Move focus/window
bind = $mainMod, J, movefocus, l
bind = $mainMod, semicolon, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, L, movefocus, d
bind = $mainMod SHIFT, J, movewindoworgroup, l
bind = $mainMod SHIFT, semicolon, movewindoworgroup, r
bind = $mainMod SHIFT, K, movewindoworgroup, u
bind = $mainMod SHIFT, L, movewindoworgroup, d

# Switch workspaces with mainMod + [0-9]
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10

# Move active window to a workspace with mainMod + SHIFT + [0-9]
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10

# Move workspace to different monitors
bind = $mainMod SHIFT ALT, j, movecurrentworkspacetomonitor, l
bind = $mainMod SHIFT ALT, semicolon, movecurrentworkspacetomonitor, r

# Example special workspace (scratchpad)
bind = $mainMod, S, togglespecialworkspace, ScratchPad
bind = $mainMod SHIFT, S, movetoworkspace, special:ScratchPad

# Scroll through existing workspaces with mainMod + scroll
bind = $mainMod, mouse_down, workspace, m+1
bind = $mainMod, mouse_up, workspace, m-1
bind = $mainMod, page_up, workspace, m-1
bind = $mainMod, page_down, workspace, m+1


# Move/resize windows with mainMod + LMB/RMB and dragging
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow

======Config-End========

Description

The second monitor (HDMI) has a high probability flickers first time after boot. This issue clears itself if I turn off and turn on the monitor again. This issue doesn't reappear after logout and login.

This issue didn't exist on 0.39 (the version shipped by official fedora repo), but exists on 0.43.

How to reproduce

boot system

Crash reports, logs, images, videos

hyprctl monitor output when the monitor is flickering (only showing the relevant monitor):

Relevant logs (from start until opening the first window): https://pastebin.com/wjswQbU1

picture of flickering monitor (link to discord).

@LukeXuan LukeXuan added the bug Something isn't working label Sep 9, 2024
@vaxerski
Copy link
Member

please attach the image, it's gone.

Also, can you bisect?

@LukeXuan
Copy link
Contributor Author

LukeXuan commented Sep 10, 2024

11D41239-CF44-4FF3-912F-B5641352BB3F

Bisecting is gonna be tedious... As I mentioned, the problem only occurs right after boot, so simply running another Hyprland instance doesn't work. I need to hook it to SDDM and reboot everytime. Maybe I can figure out an ergonomic setup this weekend.

btw, what is the commit that Hyprland switched to aquamarine? The working version was using wlroots and I susepct the switch is the culprit.

@LukeXuan
Copy link
Contributor Author

OK, I found one more detail: The OSD for the flickering monitor shows that it is receiving signal of 3842x2160@60Hz, instead of 3840x2160@60Hz. That should narrow down the issue quite a lot?

photo_2024-09-10_13-46-44

It's kind of hilarious actually..

@LukeXuan
Copy link
Contributor Author

OK, after swapping the connection cables the problem seems to be fixed.

One thing that's definitely causing problem is that Dell P2715Q (the problematic monitor) has dubious HDMI 2.0 support. It worked without a problem for years, but I assume newer version of hyprland is less tolerant for some reason. It seems like DP cables works fine.

I will keep this issue open for a few days, in case the problem comes back.

@vaxerski
Copy link
Member

that's very odd indeed, dunno how that could happen

@erahhal
Copy link

erahhal commented Sep 11, 2024

Seeing this on a Lenovo Thinkpad P14s AMD 5th Gen (780M GPU) connected through DP. Doesn't seem HDMI specific.

@LukeXuan
Copy link
Contributor Author

I have not experienced this problem myself since I swapped the display cables. I will unsubscribe from this issue and maybe someone still affected by the problem can push for it.

@vaxerski
Copy link
Member

if nobody else has this on -git I'll close this

@devraza
Copy link

devraza commented Oct 24, 2024

Yeah, I'm running the same hardware as erahhal and didn't get an issue like this (NixOS, used the flake and compiled Hyprland myself, so I think it was on -git).

@erahhal
Copy link

erahhal commented Oct 30, 2024

I'm not seeing it anymore either.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants