-
-
Notifications
You must be signed in to change notification settings - Fork 21
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
modesetting failing on external monitor #59
Comments
oh, and, an attempt to make search / google eventually work for future travellers -> |
0.43 doesn't exist xd can you try on aq-git and hl-git |
lol sorry, typo. what i meant by "between 0.3.3 and git" is that it did not work on 0.43 and 0.3.3 and it still doesn't work but different on git and git. |
can you get a drm log? https://wiki.hyprland.org/Crashes-and-Bugs/#debugging-drm-issues |
ok, a pretty useful thing happened and I done this:
so it seems to depend on the state drm/i915 is in before hypr is started (and 0.41 leaves it in a good state.) #!/bin/bash
sudo dmesg -C
logname=$$
echo 0x19F | sudo tee /sys/module/drm/parameters/debug
sudo dmesg -w > /home/mark/hypr_logging/$logname.dmesg.log &
logger_pid=$!
sudo cat /sys/kernel/debug/dri/128/i915_display_info > /home/mark/hypr_logging/$logname.i915_display_info_1_no_mon.log
echo "Plug in the monitor, press CTRL+D once the terminal shows on the screen to launch Hyprland."
cat
sudo cat /sys/kernel/debug/dri/128/i915_display_info > /home/mark/hypr_logging/$logname.i915_display_info_2_mon_vt.log
export HYPRLAND_TRACE=1
export HYPRLAND_LOG_WLR=1
export AQ_TRACE=1
sudo bash -c "sleep 5; cat /sys/kernel/debug/dri/128/i915_display_info" > /home/mark/hypr_logging/$logname.i915_display_info_3_hypr.log &
Hyprland > $logname.hyprstdout.log 2>&1
echo "Press CTRL+D again after a sec or two"
cat
sudo cat /sys/kernel/debug/dri/128/i915_display_info > /home/mark/hypr_logging/$logname.i915_display_info_4.mon_vt_after_hypr.log
sudo kill $logger_pid
echo 0 | sudo tee /sys/module/drm/parameters/debug
echo "go get the logs from XDG_RUNTIME_DIR"
|
ps: the "right" solution might be implement tiling : ) although this is probably still some kind of bug for other weird setups. see below for a wlroots patch which won't get merged because they think that a "tiled display" is not a "display" and that some downstream thing should put a surface over two "displays", or a compositor should put one desktop over two surfaces. https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/4154 imo the two surfaces thing is a non starter due to screen tearing - mutter does it and its absolutely horrific. but i don't know enough to know whether that's because it's a broken implementation or because it's fundamentally a bad idea. there's lots of discussion in the above thread, would be interested to hear your take |
@maaarghk |
which commit are you thinking of? I retried recently, I'll check whether I had it or not at the time |
865cd94 which has a very similar drm error message
to yours
|
good spot @ikalco - latest hyprland-git and aquamarine-git do improve the situation. thanks! For completeness sake here's an equivalent dump of logs from latest git. Maybe it will one day be useful for writing regression tests 😁 aqua_fixed.zip. fwiw: This is a thunderbolt monitor which is going via a thunderbolt dock. I also am using prime render offload for firefox, and everything seems to work fine. anyway, I still see bad behaviour which I did not see before on wlroots, which is that I can't reactivate eDP-1 after Hyprland has already started. (I have not tested whether both monitors activate properly if I save the config then fully exit and re-start Hyprland, so that may also be broken.) my Hyprland config looks like this:
if I swap the commented line at the top, eDP-1 does not reactivate.
I have to do something else now so it'll be later (probably tomorrow) before I get more detailed logs if they're required. Maybe (on the hyprland side) eDP-1 shouldn't be added to the layout since it's probably possible to detect that it can't be displaying anything. I think the format is usually XRGB8888. |
brief update - upgraded to latest git just now, still see this issue; I can't convince Hyprland to activate both displays at the same time, even by restarting. Unfortunately don't have enough time to do a better bug report at the moment |
please build if it resolves your issue, please close the ticket, thx |
Hi there, I seem to be having a similar issue as above. I can reproduce a condition where Aquamarine fails to reinitialize some monitors connected to a USB-C dock with or without AQ_NO_MODIFIERS set. If starting Hyprland with the monitors connected, it works fine, but it cannot handle (re-)attaching them after it has started. I can not reproduce this in sway or Hyprland 0.40 (last version I was on), leading me to believe it is an issue in Aquamarine still. I have a trace log from Hypr/Aquamarine plus the DRM logs. If this is a different issue than above, let me know and I can create a new issue for this. Running latest Hyprland-git and Aquamarine-git on Guix built from the Nix flakes. Test below was ran with DRM logging, Aquamarine, and Hyprland logging where no monitors other than the laptop internal was plugged in, then the monitors were plugged in after starting hyprland. DP-3 and DP-4 were the monitors that should have activated. DP-4 was the one that failed to turn on. Kernel: 6.10.11
flake.nix inputs:
Hardware: Lenovo Thinkpad T480 with Integrated Graphics only (i915 driver), Anker 553 USB-C Hub Only log I didn't get was the File explanations: after_kill_drm_status: dmesg_drm_trace: Self explanatory. Best guess as to where I initiated the re-plug event was around 55%-60% into the file after_plug_drm_status: trace_log: after_plug_drm: before_plug_drm: sway_dmesg_drm_trace: Same trace as with Hyprland, same testing scenario, but running Sway 1.9 after_kill_drm_status.txt |
Since hyprland 0.42 / aquamarine I can't use my external monitor anymore. its an LG Ultrafine which is a 5k tiling monitor. I don't know my jargon particularly well but I believe it exposes 2xPHYs, to do 5k mode you set both to 2560x2880, OR, you can just disable DP-1 and set DP-2 to 3840x2160 and it'll upscale it for you. which is what I do because I got fucked off with having to manually build wlroots with the tiling patch applied all the time.
I think maybe there are several issues, firstly, since aqua, DP-1 is not getting disabled according to i915_display_info (even though it is not showing up in hyprctl monitors), when I've done this before the monitor just decides it is misconfigured and displays nothing.
Also between 0.3.3 and git, currentFormat goes from
XRGB8888
toA XBGR8888 H Invalid
. on wlroots it uses XRGB8888 and works fine.But either way I can get it into several broken states and can't seem to make an image come up. Here's a log with tracing enabled, and various i915_display_info dumps - wlroots one works, term one mirrors e-DP1, the rest are various kinds of not working on aquamarine.
hyprland.log
i915_display_info_hypr_wlroots.txt
i915_display_info_on_term.txt
i915_display_info_hypr_aqua4.txt
i915_display_info_on_hypr_aqua3.txt
i915_display_info_on_hypr_aqua2.txt
i915_display_info_on_hypr_aqua.txt
The text was updated successfully, but these errors were encountered: