-
Notifications
You must be signed in to change notification settings - Fork 276
disabling monitor outputs don't work that well #289
Comments
Hello @DarioTD, can you check which one works better? |
@sevz17 Both work great 👍 but when I disable a monitor the position of the active one stays the same ex: 1920x 0y |
I've discovered a bug from these fixes dwl gives me a segfault that I backtraced with gdb it seems to have problems with the |
I pushed some changes, can you try again? |
Yes I have tried again and now dwl doesn't crash anymore. |
I think I fixed it in #294, the clients will have the same tags that they have in the previous monitor |
@sevz17 segfaults again.
|
Can you give me the output of |
This time I used |
@DarioTD, I think I fixed the segfault. (the problem was that we tried to get the adjacent output from an output that wasn't in the layout) |
@sevz17 It stopped giving segfaults but the previously spawned clients stay on the disabled monitor instead of going back in the reattached active head. My workaround when I don't see the previously spawned clients in the only active monitor (being the reattached HDMI head) is
The following is when I reconnect the HDMI cable again:
|
Please try again, I think this time it will work as expected |
sadly for me it didn't work and sometimes I use sway and in sway it works |
Mmm, this time what was the result and what is the expected result? |
When I reconnect the HDMI it defaults it's position to 0,0 (before disconnection it was set to 1920,0) maybe because LVDS is taking that same 0,0 coordinates at the same time that the clients go to the disabled monitor? idk
1st_gdb.txt
2nd_gdb.txt
3rd_gdb.txt
4th_gdb.txt
|
Fixed
These two aren't of #294, right?
dwl needs at least one monitor in order to work properly. (I have doubts if dwl will ever work properly w/o monitor), however I pushed a change that may fix the crash if the monitor is just disabled. |
Oh, then, can you try in the main branch? If you are able to reproduce that crashes (either on main branch or #294), can you send me the backtraces without modifying dwl.c (to see the lines in which the functions are called) |
@sevz17 I had to dwl_gdb.txt
dwl_asan.txt
|
see #289 (comment) This reverts commit 2260519.
I revert that commit can you check again please? |
Yeah it's been working great since I reverted the commit in my local git repo no crashes not even the Xwayland clients (they freeze when unfocused and don't go fullscreen cuz I can see the top and left client border but that's another issue unrelated to this one) The only thing regarding this isssue which I have a workaround so I can bring the clients from LVDS (even though it is disabled) back to my HDMI monitor, by enabling LVDS and disabling it again |
Yeah, can you open a issue for it?
This should be fixed with the latest changes |
Yes, now clients don't go to LVDS anymore but only the clients that are tiled. And I got a segfault when I fullscreen a client with Mod+e and I reconnect the HDMI monitor while LVDS is disabled.
|
Can you try again, I did several changes that may solve that segfault, however if it persists I need you to compile wlroots with debug symbols and send me the backtrace (as you can see it doesn't say too much) |
It persisted but now I installed wlroots-debug and wayland-debug which gave me this backtrace:
|
Sorry for the late reply, I've pushed some changes, can you try again please, but with this patch added on top of #294? diff --git a/dwl.c b/dwl.c
index c8364e9..f21fb32 100644
--- a/dwl.c
+++ b/dwl.c
@@ -2666,6 +2666,7 @@ main(int argc, char *argv[])
/* Wayland requires XDG_RUNTIME_DIR for creating its communications socket */
if (!getenv("XDG_RUNTIME_DIR"))
die("XDG_RUNTIME_DIR must be set");
+ wlr_log_init(WLR_DEBUG, NULL);
setup();
run(startup_cmd);
cleanup(); |
|
Ah, my bad, can you send me the output of dwl (e.g The backtrace it's unclear about what we are calling to make it crash |
Info
dwl's commit: 0.3.1-74-g7a343b9-dirty
wlroots version: 0.15.1-6
Description
Hello I have 2 monitor LVDS-1 and HDMI-1
I've noticed that when I disable the LVDS-1 monitor with "wdisplays" or typing
wlr-randr --output LVDS-1 --off
it disables the monitor but the clients don't move to the active HDMI-1 monitor they stay in the disabled LVDS-1 monitor.The mouse pointer doesn't stay contained in the HDMI-1 monitor it goes through that disabled monitor.
Opinion
Maybe the culprit is in the
cleanupmon()
function or theclosemon()
function.I don't know how to use gdb to debug dwl so I might be wrong.
The text was updated successfully, but these errors were encountered: