Xfce Forum

Sub domains
 

You are not logged in.

#1 2024-01-06 23:48:32

beekeep
Member
Registered: 2024-01-06
Posts: 3

multiple monitor wakeup/sleep related issues

I have a dual monitor setup and XFCE behaves weird for me when my monitors wake up after going to sleep. There seem to be multiple related issues:

1. I have at the moment 2 identical monitors that support 60, 100, 120, ... Hz. I set them to 120 Hz but they revert to 60 Hz when waking up. This also overwrites the settings for Default and Fallback in displays.xml.

This doesn't happen when setting the refresh rate, logging out, and then logging back in. There the refresh rate stays at 120 Hz.

I have a third disabled VGA monitor managed by an AST2500 where nothing is connected. Normally it is disabled, but sometimes this gets enabled, too.

2. Sometimes when waking up there is a chance the monitors switch to mirrored which then sometimes crashes the panel. This happens both when the power manager turns off the displays or when I call xset dpms force off.

The normally disabled VGA monitor may get enabled here, too.

3. In Display / Advanced when adding profiles they don't appear there, the list stays empty, but the profiles appear in displays.xml and trying to add a second profile with the same name gives the error that a profile with the name already exists.

4. Windows on the secondary monitor often move to the primary monitor after waking up. This happens for fullscreen windows and some windows that got placed with the Xfce provided in keyboard shortcuts. Manually placed and resized displays seem to be unaffected.

5. probably related - power manager often fails to recognize that something is running that should block it from turning displays off in the first place. E.g. There is a youtube video running in firefox in the foreground. This doesn't affect manually putting all monitors to sleep with xset dpms force off.

I had the same issues on a different setup before - a mainboard without a VGA output managed by an AST2500 and 2x 60 Hz monitors. Only issue 1 was not visible.

All issues except issue 5 exists since at least a year. In the past I turned my displays off by using their power buttons.

I used a mainboard in the past that didn't have a VGA port managed by an AST but the issues existed there, too.

Things I already tried but that didn't work:

1. deleting .config/xfce4/xfconf/xfce-perchannel-xml/ and .cache/xfce4
2. killing xfce4-power-manager and then putting the displays manually to sleep with xset dpms force off
3. disabling the compositor

Xfce version: 4.18
GTK version: 3.24.39

Has anyone a clue how to fix this or should I go straight to writing a bug report?

Offline

#2 2024-01-07 10:09:40

Tamaranch
Member
Registered: 2020-12-31
Posts: 279

Re: multiple monitor wakeup/sleep related issues

Unfortunately, there are quite a few outstanding bugs concerning display settings and resuming from sleep. You can have a look at https://gitlab.xfce.org/xfce/xfce4-settings/-/issues, for example for your first point there is https://gitlab.xfce.org/xfce/xfce4-sett … issues/364, I don't know if it corresponds exactly.

For the power-manager, there's a recent fix included in 4.18.3 which ensures that at least activating presentation mode inhibits screen shutdown (there's actually also a bug in firefox which doesn't correctly activate inhibition via d-bus in this case): see https://gitlab.xfce.org/xfce/xfce4-powe … d6dd536a85.

Anyway, if you ever want to open a new bug, it should only concern one of the above points (so you need to open one new bug per point potentially).

Offline

#3 2024-01-07 11:09:26

Tamaranch
Member
Registered: 2020-12-31
Posts: 279

Re: multiple monitor wakeup/sleep related issues

Ah, I forgot the second point I wanted to ask you more about (proof that there are too many points in this post wink)
Could you extract a backtrace from the coredump generated during the crash? See https://wiki.archlinux.org/title/Core_d … _core_dump

Offline

#4 2024-01-09 15:05:34

beekeep
Member
Registered: 2024-01-06
Posts: 3

Re: multiple monitor wakeup/sleep related issues

Thank you for the information. Good I asked before throwing it all over the wall wink

One of the backtraces you asked for, the other 3 I have looked very similar:

(gdb) bt
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1  0x00007fa4e12ad8a3 in __pthread_kill_internal (signo=6, threadid=<optimized out>) at pthread_kill.c:78
#2  0x00007fa4e125d668 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3  0x00007fa4e1245542 in __GI_abort () at abort.c:100
#4  0x00007fa4e164f0ee in g_assertion_message
    (domain=domain@entry=0x7fa4e24ab0ac "Wnck", file=file@entry=0x7fa4e24ab091 "../libwnck/libwnck/pager.c", line=line@entry=593, func=func@entry=0x7fa4e24acd90 <__func__.13.lto_priv.1> "wnck_pager_size_request", message=message@entry=0x55a49510cf40 "assertion failed: (pager->priv->screen != NULL)")
    at ../glib/glib/gtestutils.c:3497
#5  0x00007fa4e16b01e0 in g_assertion_message_expr
    (domain=domain@entry=0x7fa4e24ab0ac "Wnck", file=file@entry=0x7fa4e24ab091 "../libwnck/libwnck/pager.c", line=line@entry=593, func=func@entry=0x7fa4e24acd90 <__func__.13.lto_priv.1> "wnck_pager_size_request", expr=expr@entry=0x7fa4e24ab49e "pager->priv->screen != NULL") at ../glib/glib/gtestutils.c:3523
#6  0x00007fa4e248c380 in wnck_pager_size_request (widget=0x55a4957d0ed0, requisition=requisition@entry=0x7ffe8429eed0) at ../libwnck/libwnck/pager.c:593
#7  0x00007fa4e248c428 in wnck_pager_get_preferred_height (widget=<optimized out>, minimum_height=0x7ffe8429ef64, natural_height=0x7ffe8429ef60)
    at ../libwnck/libwnck/pager.c:716
#8  0x00007fa4e1e92ba0 in gtk_widget_query_size_for_orientation
    (widget=widget@entry=0x55a4957d0ed0, orientation=orientation@entry=GTK_ORIENTATION_VERTICAL, for_size=<optimized out>, 
    for_size@entry=-1, minimum_size=0x7ffe8429eff4, minimum_size@entry=0x0, natural_size=0x7ffe8429eff0, 
    natural_size@entry=0x55a494f06b70, minimum_baseline=0x0, minimum_baseline@entry=0x1, natural_baseline=0x0) at ../gtk/gtk/gtksizerequest.c:219
#9  0x00007fa4e1e92e49 in gtk_widget_compute_size_for_orientation
    (widget=widget@entry=0x55a4957d0ed0, orientation=orientation@entry=GTK_ORIENTATION_VERTICAL, for_size=for_size@entry=-1, minimum=0x0, 
    minimum@entry=0x7ffe8429eff4, natural=0x55a494f06b70, natural@entry=0x7ffe8429eff0, minimum_baseline=0x1, 
    minimum_baseline@entry=0x0, natural_baseline=<optimized out>) at ../gtk/gtk/gtksizerequest.c:399
#10 0x00007fa4e1e930c2 in gtk_widget_get_preferred_height
    (widget=0x55a4957d0ed0, minimum_height=minimum_height@entry=0x7ffe8429eff4, natural_height=natural_height@entry=0x7ffe8429eff0)
    at ../gtk/gtk/gtksizerequest.c:527
#11 0x00007fa4dde83591 in pager_plugin_get_preferred_height (widget=0x55a494f6f090, minimum_height=0x7ffe8429f0a4, natural_height=0x7ffe8429f0a0)
    at /usr/src/debug/xfce4-panel/xfce4-panel-4.18.5/plugins/pager/pager.c:919
#12 0x00007fa4e1e92ba0 in gtk_widget_query_size_for_orientation
    (widget=widget@entry=0x55a494f6f090, orientation=orientation@entry=GTK_ORIENTATION_VERTICAL, for_size=<optimized out>, 
    for_size@entry=-1, minimum_size=0x7ffe8429f150, minimum_size@entry=0x0, natural_size=0x7ffe8429f154, 
    natural_size@entry=0x55a494f6e6f0, minimum_baseline=0x0, minimum_baseline@entry=0x1, natural_baseline=0x0) at ../gtk/gtk/gtksizerequest.c:219
#13 0x00007fa4e1e92e49 in gtk_widget_compute_size_for_orientation
    (widget=widget@entry=0x55a494f6f090, orientation=orientation@entry=GTK_ORIENTATION_VERTICAL, for_size=for_size@entry=-1, minimum=0x0, 
    minimum@entry=0x7ffe8429f150, natural=0x55a494f6e6f0, natural@entry=0x7ffe8429f154, minimum_baseline=0x1, 
    minimum_baseline@entry=0x0, natural_baseline=<optimized out>) at ../gtk/gtk/gtksizerequest.c:399
#14 0x00007fa4e1e930c2 in gtk_widget_get_preferred_height (widget=0x55a494f6f090, minimum_height=0x7ffe8429f150, natural_height=0x7ffe8429f154)
    at ../gtk/gtk/gtksizerequest.c:527
#15 0x000055a4945bcb66 in panel_itembar_get_preferred_length (widget=0x55a494d9a870, minimum_length=0x7ffe8429f204, natural_length=0x7ffe8429f200)
    at /usr/src/debug/xfce4-panel/xfce4-panel-4.18.5/panel/panel-itembar.c:376
#16 0x00007fa4e1e92ba0 in gtk_widget_query_size_for_orientation
    (widget=widget@entry=0x55a494d9a870, orientation=orientation@entry=GTK_ORIENTATION_VERTICAL, for_size=<optimized out>, 
    for_size@entry=-1, minimum_size=0x7ffe8429f294, minimum_size@entry=0x0, natural_size=0x7ffe8429f290, 
    natural_size@entry=0x55a494d9b590, minimum_baseline=0x0, minimum_baseline@entry=0x1, natural_baseline=0x0) at ../gtk/gtk/gtksizerequest.c:219
#17 0x00007fa4e1e92e49 in gtk_widget_compute_size_for_orientation
    (widget=widget@entry=0x55a494d9a870, orientation=orientation@entry=GTK_ORIENTATION_VERTICAL, for_size=for_size@entry=-1, minimum=0x0, 
    minimum@entry=0x7ffe8429f294, natural=0x55a494d9b590, natural@entry=0x7ffe8429f290, minimum_baseline=0x1, 
    minimum_baseline@entry=0x0, natural_baseline=<optimized out>) at ../gtk/gtk/gtksizerequest.c:399
#18 0x00007fa4e1e930c2 in gtk_widget_get_preferred_height
    (widget=0x55a494d9a870, minimum_height=minimum_height@entry=0x7ffe8429f294, natural_height=natural_height@entry=0x7ffe8429f290)
    at ../gtk/gtk/gtksizerequest.c:527
#19 0x000055a4945cc3cb in panel_window_get_preferred_height (widget=0x55a494c1d6d0, minimum_height=0x7ffe8429f334, natural_height=0x7ffe8429f330)
    at /usr/src/debug/xfce4-panel/xfce4-panel-4.18.5/panel/panel-window.c:1349
#20 0x00007fa4e1e92ba0 in gtk_widget_query_size_for_orientation
    (widget=widget@entry=0x55a494c1d6d0, orientation=orientation@entry=GTK_ORIENTATION_VERTICAL, for_size=<optimized out>, 
    for_size@entry=-1, minimum_size=0x7ffe8429f3e0, minimum_size@entry=0x0, natural_size=0x7ffe8429f3e4, 
    natural_size@entry=0x55a494c1f710, minimum_baseline=0x0, minimum_baseline@entry=0x1, natural_baseline=0x0) at ../gtk/gtk/gtksizerequest.c:219
#21 0x00007fa4e1e92e49 in gtk_widget_compute_size_for_orientation
    (widget=widget@entry=0x55a494c1d6d0, orientation=orientation@entry=GTK_ORIENTATION_VERTICAL, for_size=for_size@entry=-1, minimum=0x0, 
    minimum@entry=0x7ffe8429f3e0, natural=0x55a494c1f710, natural@entry=0x7ffe8429f3e4, minimum_baseline=0x1, 
    minimum_baseline@entry=0x0, natural_baseline=<optimized out>) at ../gtk/gtk/gtksizerequest.c:399
#22 0x00007fa4e1e93300 in gtk_widget_get_preferred_height_and_baseline_for_width
    (widget=0x55a494c1d6d0, width=-1, minimum_height=0x7ffe8429f3e0, natural_height=0x7ffe8429f3e4, minimum_baseline=0x0, natural_baseline=0x0)
    at ../gtk/gtk/gtksizerequest.c:642
#23 0x00007fa4e2009fdc in _gtk_widget_get_preferred_size_and_baseline.constprop.0
    (widget=0x55a494c1d6d0, minimum_size=0x7ffe8429f480, natural_size=0x0, minimum_baseline=0x0, natural_baseline=0x0) at ../gtk/gtk/gtksizerequest.c:703
#24 0x00007fa4e1f602e4 in gtk_window_compute_hints (new_flags=<synthetic pointer>, new_geometry=0x7ffe8429f490, window=0x55a494c1d6d0)
    at ../gtk/gtk/gtkwindow.c:10334
#25 gtk_window_compute_configure_request
    (window=window@entry=0x55a494c1d6d0, request=request@entry=0x7ffe8429f570, geometry=geometry@entry=0x7ffe8429f590, flags=flags@entry=0x7ffe8429f568)
    at ../gtk/gtk/gtkwindow.c:9646
Python Exception <class 'gdb.error'>: value has been optimized out
(gdb) 

Offline

#5 2024-01-09 15:49:50

Tamaranch
Member
Registered: 2020-12-31
Posts: 279

Re: multiple monitor wakeup/sleep related issues

This one is already fixed on the 4.18 branch, to be released in xfce4-panel 4.18.6 (I don't know exactly when, but at least before the release of glib 2.80): see https://gitlab.xfce.org/xfce/xfce4-panel/-/issues/806

Offline

#6 2024-01-19 12:21:34

beekeep
Member
Registered: 2024-01-06
Posts: 3

Re: multiple monitor wakeup/sleep related issues

Thanks, I had the time to look at all the bugs and with your information it boils down to

1 - solved - https://gitlab.xfce.org/xfce/xfce4-sett … issues/364
2a - reverts to mirrored - not solved (workaround doesn't apply anymore) - https://gitlab.xfce.org/xfce/xfce4-sett … issues/158
2b - panel crash - solved - https://gitlab.xfce.org/xfce/xfce4-panel/-/issues/806
3 - not solved - https://gitlab.xfce.org/xfce/xfce4-sett … issues/386
4 - not solved, probaby - https://gitlab.xfce.org/xfce/xfce4-sett … issues/121
5 - probably solved - https://gitlab.xfce.org/xfce/xfce4-powe … d6dd536a85

For now posting this here as notes.

Offline

Board footer

Powered by FluxBB