alex-courtis / way-displays

way-displays: Auto Manage Your Wayland Displays
MIT License
239 stars 12 forks source link

[Need help] random black screen on high-dpi display with scaling in a multi-display configuration #163

Closed haug1 closed 2 months ago

haug1 commented 2 months ago

Background

First of all, sorry that this is probably not the most appropriate place to ask, but I need guidance with some wayland display issues and in terms of getting a good answer it seems like a good place to ask.

My config/setup/environment

I'm running arch/sway and have two displays connected to my ThinkPad laptop via HDMI through a Lenovo ThinkPad thunderbolt dock thing. Details about resolution/config see below (but TL;DR: auto resolution, scaling on).

Physical display connection: pc->thunderbolt->dock->hdmi->display. Both displays are connected like this, but only the LG display is having issues.

P.S.: I'm fairly new to sway and wayland in general, so don't rule out any problems between computer and chair.

Elaboration on the problem

Happens fairly frequently, multiple times per day, maybe once an hour, with varying "severity".

Most of the time, the screen will just blink once. Takes about 1-2 seconds.

Other times it will blink multiple times in a row ranging anywhere from 2 to 10 times, I would say.

On rare occasions the screen just stays black after the problem "stabilizes" itself.

When the problem is "quite severe", meaning the blinking is continuously happening while I have time to open a terminal, I can "manually" deal with the problem. I can run a "one-shot" configuration of way-displays to disable the display, then one-shot the normal config and the problem is fixed until next time(which can randomly vary from the next minute to hour).

In the worst-case scenario where the screen stays black until manual intervention, I would describe it as moderately disruptive for my workflow.

So it's not that critical because I always have the option to move my workspace to the working display(which always works btw, it's only the LG 4K display that misbehaves).

Troubleshooting

I've checked journalctl -b when the problem occurs, but found no good leads from that. However, it did make me uninstall autorandr as a possible suspect.

I ran busctl monitor in the background while the problem was occuring, but found no good leads from that.

way-displays output ``` stdout : I [13:20:33] way-displays version 1.10.2 stdout : I [13:20:33] stdout : I [13:20:33] Found configuration file: /home/main/repos/dotfiles/stow/.config/way-displays/cfg.dock.yaml stdout : W [13:20:33] stdout : W [13:20:33] WARNING: Ignoring invalid ALIGN LEFT for ROW arrange. Valid values are TOP, MIDDLE and BOTTOM. Using default TOP. stdout : I [13:20:33] stdout : I [13:20:33] Active configuration: stdout : I [13:20:33] Arrange in a ROW aligned at the TOP stdout : I [13:20:33] Order: stdout : I [13:20:33] LG HDR 4K stdout : I [13:20:33] ROG PG27V stdout : I [13:20:33] Scaling: ON stdout : I [13:20:33] Auto scale: ON (min: 1.000, max: 1.700) stdout : I [13:20:33] Disabled: stdout : I [13:20:33] eDP-1 stdout : I [13:20:34] stdout : I [13:20:34] Monitoring lid device: /dev/input/event1 stdout : I [13:20:34] stdout : I [13:20:34] Lid open stdout : I [13:20:34] stdout : I [13:20:34] DP-7 Arrived: stdout : I [13:20:34] info: stdout : I [13:20:34] name: 'DP-7' stdout : I [13:20:34] make: 'LG Electronics' stdout : I [13:20:34] model: 'LG HDR 4K' stdout : I [13:20:34] serial: '0x00074879' stdout : I [13:20:34] desc: 'LG Electronics LG HDR 4K 0x00074879 (DP-7)' stdout : I [13:20:34] width: 600mm stdout : I [13:20:34] height: 340mm stdout : I [13:20:34] dpi: 161.96 @ 3840x2160 stdout : I [13:20:34] mode: 3840 x 2160 @ 60 Hz 60,000 mHz (preferred) 60,000 mHz 59,940 mHz stdout : I [13:20:34] mode: 3840 x 2160 @ 50 Hz 50,000 mHz stdout : I [13:20:34] mode: 3840 x 2160 @ 30 Hz 30,000 mHz 30,000 mHz 29,970 mHz stdout : I [13:20:34] mode: 3840 x 2160 @ 25 Hz 25,000 mHz stdout : I [13:20:34] mode: 3840 x 2160 @ 24 Hz 24,000 mHz 23,976 mHz stdout : I [13:20:34] mode: 2560 x 1440 @ 60 Hz 59,951 mHz stdout : I [13:20:34] mode: 1920 x 1080 @ 60 Hz 60,000 mHz 59,940 mHz stdout : I [13:20:34] mode: 1920 x 1080 @ 50 Hz 50,000 mHz stdout : I [13:20:34] mode: 1920 x 1080 @ 30 Hz 30,000 mHz 29,970 mHz stdout : I [13:20:34] mode: 1920 x 1080 @ 24 Hz 24,000 mHz 23,976 mHz stdout : I [13:20:34] mode: 1600 x 900 @ 60 Hz 60,000 mHz stdout : I [13:20:34] mode: 1280 x 1024 @ 60 Hz 60,020 mHz stdout : I [13:20:34] mode: 1280 x 800 @ 60 Hz 59,910 mHz stdout : I [13:20:34] mode: 1280 x 720 @ 60 Hz 60,000 mHz 60,000 mHz 59,940 mHz stdout : I [13:20:34] mode: 1152 x 864 @ 60 Hz 59,967 mHz stdout : I [13:20:34] mode: 1024 x 768 @ 60 Hz 60,004 mHz stdout : I [13:20:34] mode: 800 x 600 @ 60 Hz 60,317 mHz stdout : I [13:20:34] mode: 720 x 576 @ 50 Hz 50,000 mHz stdout : I [13:20:34] mode: 720 x 480 @ 60 Hz 60,000 mHz 59,940 mHz stdout : I [13:20:34] mode: 640 x 480 @ 60 Hz 60,000 mHz 59,940 mHz 59,940 mHz stdout : I [13:20:34] current: stdout : I [13:20:34] scale: 1.625 (1.687) stdout : I [13:20:34] position: 0,0 stdout : I [13:20:34] mode: 3840x2160@60Hz (60,000mHz) (preferred) stdout : I [13:20:34] VRR: off stdout : I [13:20:34] stdout : I [13:20:34] DP-5 Arrived: stdout : I [13:20:34] info: stdout : I [13:20:34] name: 'DP-5' stdout : I [13:20:34] make: 'ASUSTek COMPUTER INC' stdout : I [13:20:34] model: 'ROG PG27V' stdout : I [13:20:34] serial: 'K3LMQS069452' stdout : I [13:20:34] desc: 'ASUSTek COMPUTER INC ROG PG27V K3LMQS069452 (DP-5)' stdout : I [13:20:34] width: 610mm stdout : I [13:20:34] height: 350mm stdout : I [13:20:34] dpi: 105.55 @ 2560x1440 stdout : I [13:20:34] mode: 2560 x 1440 @ 60 Hz 59,951 mHz (preferred) stdout : I [13:20:34] mode: 1920 x 1080 @ 50 Hz 50,000 mHz stdout : I [13:20:34] mode: 1280 x 720 @ 60 Hz 60,000 mHz 59,940 mHz stdout : I [13:20:34] mode: 1280 x 720 @ 50 Hz 50,000 mHz stdout : I [13:20:34] mode: 1024 x 768 @ 60 Hz 60,004 mHz stdout : I [13:20:34] mode: 800 x 600 @ 60 Hz 60,317 mHz stdout : I [13:20:34] mode: 720 x 576 @ 50 Hz 50,000 mHz stdout : I [13:20:34] mode: 720 x 480 @ 60 Hz 60,000 mHz 59,940 mHz stdout : I [13:20:34] mode: 640 x 480 @ 60 Hz 60,000 mHz 59,940 mHz 59,940 mHz stdout : I [13:20:34] current: stdout : I [13:20:34] scale: 1.125 (1.099) stdout : I [13:20:34] position: 2363,0 stdout : I [13:20:34] mode: 2560x1440@60Hz (59,951mHz) (preferred) stdout : I [13:20:34] VRR: off stdout : I [13:20:34] stdout : I [13:20:34] eDP-1 Arrived: stdout : I [13:20:34] info: stdout : I [13:20:34] name: 'eDP-1' stdout : I [13:20:34] make: 'BOE' stdout : I [13:20:34] model: '0x0B66' stdout : I [13:20:34] desc: 'BOE 0x0B66 (eDP-1)' stdout : I [13:20:34] width: 300mm stdout : I [13:20:34] height: 190mm stdout : I [13:20:34] dpi: 161.49 @ 1920x1200 stdout : I [13:20:34] mode: 1920 x 1200 @ 60 Hz 60,003 mHz (preferred) stdout : I [13:20:34] mode: 1920 x 1200 @ 48 Hz 48,001 mHz stdout : I [13:20:34] current: stdout : I [13:20:34] (no mode) stdout : I [13:20:34] VRR: off stdout : I [13:20:34] (disabled) stdout : I [13:20:34] stdout : I [13:20:34] DP-7 Changing: stdout : I [13:20:34] from: stdout : I [13:20:34] scale: 1.625 (1.687) stdout : I [13:20:34] position: 0,0 stdout : I [13:20:34] mode: 3840x2160@60Hz (60,000mHz) (preferred) stdout : I [13:20:34] VRR: off stdout : I [13:20:34] to: stdout : I [13:20:34] VRR: on stdout : I [13:20:34] stdout : I [13:20:34] DP-7: stdout : I [13:20:34] Cannot enable VRR: this display or compositor may not support it. stdout : I [13:20:34] To speed things up you can disable VRR for this display by adding the following or similar to your cfg.yaml stdout : I [13:20:34] VRR_OFF: stdout : I [13:20:34] - 'LG HDR 4K' ```
way-displays config file ``` ARRANGE: ROW ALIGN: LEFT AUTO_SCALE_MAX: 1.7 ORDER: - "LG HDR 4K" - "ROG PG27V" VRR_OFF: - "ROG PG27V" LOG_THRESHOLD: INFO DISABLED: # I comment/uncomment this when the blinking screen behavior gets crazy # - "LG HDR 4K" - eDP-1 ```

Thunderbolt dock is properly "authorized" through udev rule config.

P.S.: it's not a cable issue!

Need more info?

Let me know, I will do some extra effort to provide snippets of my journalctl/busctl monitor output or any other suggested strategies while the problem is occuring.

Un-educated guess

For no reason that I can explain or have tested well, I heavily suspect it's related to scaling and high-dpi on a multi-display configuration. (maybe also specifically via HDMI? maybe also specifically when connected via dock?)

Plea for help

I've really tried, to the best of my capability and patience, the things I could find from searching. Except for compromising on scaling or connection via docking station because that's not a desirable solution for me. We should be able to have all these nice things in wayland, right?! :baby:

Hope someone can help me! Also, let me know if you know a better place for me to post this.

haug1 commented 2 months ago

Feel free to close issue and please allow for continuing discussion. I acknowledge it's likely not a way-displays issue.

alex-courtis commented 2 months ago

You might want to look at sway (and wlroots) log files - they provide quite a bit of information about what's going on with the displays.

You can collect debug level logs as per https://github.com/swaywm/sway/wiki#troubleshooting

haug1 commented 2 months ago

Not much of an update, but I've inspected the logs of sway and it looks like there's nothing interesting or out of the ordinary even during symptoms. It looked completely idle one of the times I checked.

But I'll close the issue anyway, since it's definitely nothing to do with way-displays.

alex-courtis commented 2 months ago

Sorry to hear you can't find anything. Perhaps you could try another wlroots compositor like river or hyprland or vivarium. That might indicate whether it's a sway or wlroots issue.

haug1 commented 2 months ago

Thanks for the suggestions. I might try that at some point when I have time, but it's too much for me right now. I'll remember to give an update here when/if I get around to more troubleshooting. :smile:

haug1 commented 2 months ago

Some news regarding this which may be interesting to you, @alex-courtis. Been using kanshi now and suddenly had no issues with my second screen going black. Note that I was using way-displays probably a little bit different than expected user behavior. I usually just ran it until it had applied the config and then shut it down. Not letting it run as a daemon. However, it seems whether I run kanshi as a daemon or in a similar way that I ran way-displays (shutting it down once it idles), I have no issues with my 2nd screen randomly blinking black. So it is probably some persistent setting that way-displays was setting and that kanshi is not setting that is causing the symptoms, I'm guessing. I couldn't say for 100% certainty these things, but this is my interpretation right now.

haug1 commented 2 months ago

I thought I'd also share some pros/cons I've felt in terms of using kanshi compared to way-displays.

Pros of kanshi:

Cons of kanshi:

alex-courtis commented 2 months ago
  • my second screen is not going black (the killer feature forcing me to use kanshi)

That's a bug that we must resolve. It's clear now that it is specific to way-displays.

Note that I was using way-displays probably a little bit different than expected user behavior. I usually just ran it until it had applied the config and then shut it down.

That is not the intended way to run way-displays. It must run as a daemon as there are events it needs to handle.

Why are you shutting it down? What happens when you leave way-displays running?

I'd be most grateful for you running it as a daemon and attaching your logs so that this issue can be resolved.

We will fix this.

haug1 commented 2 months ago
  • my second screen is not going black (the killer feature forcing me to use kanshi)

That's a bug that we must resolve. It's clear now that it is specific to way-displays.

Note that I was using way-displays probably a little bit different than expected user behavior. I usually just ran it until it had applied the config and then shut it down.

That is not the intended way to run way-displays. It must run as a daemon as there are events it needs to handle.

Why are you shutting it down? What happens when you leave way-displays running?

I'd be most grateful for you running it as a daemon and attaching your logs so that this issue can be resolved.

We will fix this.

I'll be happy to provide logs and test running as a daemon when I have time. For the time being I'm traveling and no access to my multi-monitor setup, so not much I can do right now. I'll let you know when I've had the time. P.S.: might take a week or so.

haug1 commented 2 months ago

Why are you shutting it down? What happens when you leave way-displays running?

It's a bit of a story. First I was running the daemon, but struggled a bit because I had to connect my PC to different display setups and have different configurations. Profiles are not a feature (at least that was my conclusion at the time seeing an open issue about it).

So my first solution was writing a shellscript that detected the connected displays from swaymsg CLI and apply the necessary way-displays CLI commands to adjust the configuration.

I really can't remember my issue with the initial solution, if the black screen was even an issue at this point, but it evolved into writing multiple cfg.yaml files instead and running way-displays -c cfg-file.yaml in the shellscript on-demand when I connected to the new display setup. In order for this to work I concluded that the daemon could not be running, because the CLI can not do way-displays -c cfg-file.yaml while the daemon is running.

From here it evolved into something quite crazy (mostly for fun and learning purposes), I wrote a golang CLI tool that executes the given command until a pattern is matched or a timeout is reached and then kills the process.

This was actually working quite great(except from the 2nd screen issue in the one setup). With the detection shellscript and the CLI tool I had a single keymap in sway to apply the correct configuration. Probably a super weird way of handling all this though.

EDIT: (Sorry for lots of edits. Tried my best to boil it down.)

alex-courtis commented 2 months ago

I'll be happy to provide logs and test running as a daemon when I have time. For the time being I'm traveling and no access to my multi-monitor setup, so not much I can do right now. I'll let you know when I've had the time. P.S.: might take a week or so.

That would be most gratefully appreciated!

In order for this to work I concluded that the daemon could not be running, because the CLI can not do way-displays -c cfg-file.yaml while the daemon is running.

You can make changes at runtime by:

alex-courtis commented 2 months ago

Added section to wiki: https://github.com/alex-courtis/way-displays/wiki/FAQ#can-i-make-changes-while-way-displays-is-running

haug1 commented 2 months ago

Added section to wiki: https://github.com/alex-courtis/way-displays/wiki/FAQ#can-i-make-changes-while-way-displays-is-running

As mentioned, I was using the CLI(way-displays --set or --delete) initially. During writing my last comment I also thought about that, how I could have overwritten the cfg.yaml file based on detected displays in my shellscript. So it's not news to me, I did already understand these things from the existing documentation. So it's probably just me doing stupid things, but I guess the added FAQ may still be useful for someone. I think maybe a section explaining that there may be issues (and what issues exactly) if you try to use the app without running the daemon, this could be useful documentation too. I know at least one other user(a co-worker) who is also using way-displays in the same way, killing it after it applies a config. I guess he was the one who inspired me to try that approach.

alex-courtis commented 2 months ago

I think maybe a section explaining that there may be issues (and what issues exactly) if you try to use the app without running the daemon, this could be useful documentation too. I know at least one other user(a co-worker) who is also using way-displays in the same way, killing it after it applies a config. I guess he was the one who inspired me to try that approach.

That's great feedback, thank you. I'll add some clarifications.

https://github.com/alex-courtis/way-displays?tab=readme-ov-file#usage needs a refactor.

166

haug1 commented 2 months ago

I think maybe a section explaining that there may be issues (and what issues exactly) if you try to use the app without running the daemon, this could be useful documentation too. I know at least one other user(a co-worker) who is also using way-displays in the same way, killing it after it applies a config. I guess he was the one who inspired me to try that approach.

That's great feedback, thank you. I'll add some clarifications.

https://github.com/alex-courtis/way-displays?tab=readme-ov-file#usage needs a refactor.

166

Nice, left you a comment you may want to handle on that PR.

Nevermind, noticed you already handled it in master branch! 👍

haug1 commented 2 months ago

Here are the way-displays log of a session where it ran as a daemon and the symptoms were showing again.

❯ cat /tmp/way-displays.2.main.log
I [17:40:15] way-displays version 1.11.0
I [17:40:15]
I [17:40:15] Found configuration file: /home/main/repos/dotfiles/stow/.config/way-displays/cfg.yaml
I [17:40:15]
I [17:40:15] Active configuration:
I [17:40:15]   Arrange in a ROW aligned at the MIDDLE
I [17:40:15]   Order:
I [17:40:15]     LG HDR 4K
I [17:40:15]     ROG PG27V
I [17:40:15]   Scaling: ON
I [17:40:15]   Auto scale: ON (min: 1.000, max: 1.700)
I [17:40:15]   Disabled:
I [17:40:15]     eDP-1
I [17:40:15]
I [17:40:15] Monitoring lid device: /dev/input/event1
I [17:40:15]
I [17:40:15] Lid open
I [17:40:15]
I [17:40:15] DP-7 Arrived:
I [17:40:15]   info:
I [17:40:15]     name:      'DP-7'
I [17:40:15]     make:      'LG Electronics'
I [17:40:15]     model:     'LG HDR 4K'
I [17:40:15]     serial:    '0x00074879'
I [17:40:15]     desc:      'LG Electronics LG HDR 4K 0x00074879 (DP-7)'
I [17:40:15]     width:     600mm
I [17:40:15]     height:    340mm
I [17:40:15]     dpi:       161.96 @ 3840x2160
I [17:40:15]     mode:      3840 x 2160 @  60 Hz   60,000 mHz (preferred)  60,000 mHz  59,940 mHz
I [17:40:15]     mode:      3840 x 2160 @  50 Hz   50,000 mHz
I [17:40:15]     mode:      3840 x 2160 @  30 Hz   30,000 mHz  30,000 mHz  29,970 mHz
I [17:40:15]     mode:      3840 x 2160 @  25 Hz   25,000 mHz
I [17:40:15]     mode:      3840 x 2160 @  24 Hz   24,000 mHz  23,976 mHz
I [17:40:15]     mode:      2560 x 1440 @  60 Hz   59,951 mHz
I [17:40:15]     mode:      1920 x 1080 @  60 Hz   60,000 mHz  59,940 mHz
I [17:40:15]     mode:      1920 x 1080 @  50 Hz   50,000 mHz
I [17:40:15]     mode:      1920 x 1080 @  30 Hz   30,000 mHz  29,970 mHz
I [17:40:15]     mode:      1920 x 1080 @  24 Hz   24,000 mHz  23,976 mHz
I [17:40:15]     mode:      1600 x  900 @  60 Hz   60,000 mHz
I [17:40:15]     mode:      1280 x 1024 @  60 Hz   60,020 mHz
I [17:40:15]     mode:      1280 x  800 @  60 Hz   59,910 mHz
I [17:40:15]     mode:      1280 x  720 @  60 Hz   60,000 mHz  60,000 mHz  59,940 mHz
I [17:40:15]     mode:      1152 x  864 @  60 Hz   59,967 mHz
I [17:40:15]     mode:      1024 x  768 @  60 Hz   60,004 mHz
I [17:40:15]     mode:       800 x  600 @  60 Hz   60,317 mHz
I [17:40:15]     mode:       720 x  576 @  50 Hz   50,000 mHz
I [17:40:15]     mode:       720 x  480 @  60 Hz   60,000 mHz  59,940 mHz
I [17:40:15]     mode:       640 x  480 @  60 Hz   60,000 mHz  59,940 mHz  59,940 mHz
I [17:40:15]   current:
I [17:40:15]     scale:     1.000 (1.687)
I [17:40:15]     size:      3840x2160
I [17:40:15]     position:  4480,0
I [17:40:15]     mode:      3840x2160@60Hz (60,000mHz) (preferred)
I [17:40:15]     VRR:       off
I [17:40:15]
I [17:40:15] DP-5 Arrived:
I [17:40:15]   info:
I [17:40:15]     name:      'DP-5'
I [17:40:15]     make:      'ASUSTek COMPUTER INC'
I [17:40:15]     model:     'ROG PG27V'
I [17:40:15]     serial:    'K3LMQS069452'
I [17:40:15]     desc:      'ASUSTek COMPUTER INC ROG PG27V K3LMQS069452 (DP-5)'
I [17:40:15]     width:     610mm
I [17:40:15]     height:    350mm
I [17:40:15]     dpi:       105.55 @ 2560x1440
I [17:40:15]     mode:      2560 x 1440 @  60 Hz   59,951 mHz (preferred)
I [17:40:15]     mode:      1920 x 1080 @  50 Hz   50,000 mHz
I [17:40:15]     mode:      1280 x  720 @  60 Hz   60,000 mHz  59,940 mHz
I [17:40:15]     mode:      1280 x  720 @  50 Hz   50,000 mHz
I [17:40:15]     mode:      1024 x  768 @  60 Hz   60,004 mHz
I [17:40:15]     mode:       800 x  600 @  60 Hz   60,317 mHz
I [17:40:15]     mode:       720 x  576 @  50 Hz   50,000 mHz
I [17:40:15]     mode:       720 x  480 @  60 Hz   60,000 mHz  59,940 mHz
I [17:40:15]     mode:       640 x  480 @  60 Hz   60,000 mHz  59,940 mHz  59,940 mHz
I [17:40:15]   current:
I [17:40:15]     scale:     1.000 (1.099)
I [17:40:15]     size:      2560x1440
I [17:40:15]     position:  1920,0
I [17:40:15]     mode:      2560x1440@60Hz (59,951mHz) (preferred)
I [17:40:15]     VRR:       off
I [17:40:15]
I [17:40:15] eDP-1 Arrived:
I [17:40:15]   info:
I [17:40:15]     name:      'eDP-1'
I [17:40:15]     make:      'BOE'
I [17:40:15]     model:     '0x0B66'
I [17:40:15]     desc:      'BOE 0x0B66 (eDP-1)'
I [17:40:15]     width:     300mm
I [17:40:15]     height:    190mm
I [17:40:15]     dpi:       161.49 @ 1920x1200
I [17:40:15]     mode:      1920 x 1200 @  60 Hz   60,003 mHz (preferred)
I [17:40:15]     mode:      1920 x 1200 @  48 Hz   48,001 mHz
I [17:40:15]   current:
I [17:40:15]     scale:     1.000 (1.682)
I [17:40:15]     size:      1920x1200
I [17:40:15]     position:  0,0
I [17:40:15]     mode:      1920x1200@60Hz (60,003mHz) (preferred)
I [17:40:15]     VRR:       off
I [17:40:15]
I [17:40:15] DP-7 Changing:
I [17:40:15]   from:
I [17:40:15]     scale:     1.000 (1.687)
I [17:40:15]     size:      3840x2160
I [17:40:15]     position:  4480,0
I [17:40:15]     mode:      3840x2160@60Hz (60,000mHz) (preferred)
I [17:40:15]     VRR:       off
I [17:40:15]   to:
I [17:40:15]     scale:     1.625
I [17:40:15]     position:  0,0
I [17:40:15]
I [17:40:15] DP-5 Changing:
I [17:40:15]   from:
I [17:40:15]     scale:     1.000 (1.099)
I [17:40:15]     size:      2560x1440
I [17:40:15]     position:  1920,0
I [17:40:15]     mode:      2560x1440@60Hz (59,951mHz) (preferred)
I [17:40:15]     VRR:       off
I [17:40:15]   to:
I [17:40:15]     scale:     1.125
I [17:40:15]     position:  2363,25
I [17:40:15]
I [17:40:15] eDP-1 Changing:
I [17:40:15]   from:
I [17:40:15]     scale:     1.000 (1.682)
I [17:40:15]     size:      1920x1200
I [17:40:15]     position:  0,0
I [17:40:15]     mode:      1920x1200@60Hz (60,003mHz) (preferred)
I [17:40:15]     VRR:       off
I [17:40:15]   to:
I [17:40:15]      (disabled)
I [17:40:16]
I [17:40:16] Changes successful

I noticed it blinked once at two separate occasions earlier in the session, but right before I snapped the logs (~2hrs after the most recent timestamp) it was really spazzing out blinking black multiple times for probably 10 seconds.

haug1 commented 2 months ago

I'm not going to say anything more than this; it happened also under kanshi so probably nothing with way-displays, although it seemed to happen much more frequently. Maybe coincidence, I don't know anymore. I'm done hypothesizing. If I ever figure something concrete out and I know for sure, I'll post an update. Sorry for wasting your time.

alex-courtis commented 2 months ago

I'm not going to say anything more than this; it happened also under kanshi so probably nothing with way-displays, although it seemed to happen much more frequently. Maybe coincidence, I don't know anymore. I'm done hypothesizing. If I ever figure something concrete out and I know for sure, I'll post an update. Sorry for wasting your time.

There is indeed something strange going on, at least at the wlroots level, maybe at the wayland/drm level.

No apologies needed! This behaviour is not acceptable. If you do ever catch something useful when this bad behaviour occurs I would be most grateful.