On Tue, 26 Aug 2025 12:44:54 -0700 Ross Vandegrift <[email protected]> said:

> On Sat, Aug 23, 2025 at 01:02:11AM +0100, Carsten Haitzler wrote:
> > On Fri, 22 Aug 2025 08:42:07 -0700 Ross Vandegrift <[email protected]> said:
> > > Oh I spoke too soon - "use command" turns off eDP-1 when the laptop is
> > > undocked.  Looks like the fallback to prevent zero screens doesn't
> > > support the xrandr command?
> > 
> > you'd have to open the lid again too... otherwise it has nowhere to display
> > anything and it'll kind of just leave everything where it is (root window ==
> > screen) until it has at least one to connect to...
> 
> Yea, the lid is open.  Log is below - it shows the lid is not closed,
> but xrandr runs with --off for every screen.

ok - from the log it says:

RRR: 'eDP-1': 0 0 1920x1200
RRR: result max: 1920x1200
RRR: apply config...
RRR: apply 'eDP-1'...
RRR: check lid for eDP-1...
RRR: connected =  1
RRR: ... disabled

just before running the xrandr cmd...  that means:

        cs = NULL;
        if ((!_screen_closed(s)) && (s->info.connected))
          cs = e_randr2_config_screen_find(s, cfg);
        if ((cs) && (cs->enabled))
...
        else
          {
             printf("RRR: ... disabled\n");


so it either cannot find  any config blob (cs) for that screen (based on output
+ edid) or ... that config blob says it's disabled.

e_randr2_config_screen_find() looks though all your screen configs and matches
up output + edid. the best you can do is put some debug in this function
(printf's) and see what it sees? what is the id? it's
OUTPUT/004fe3ba87010562.... (some long hex for edid data).

is it that your monitor edid keeps changing? because that is how e matches up
your screen to a stored config.

so as above. in e_randr2.c - see what e_randr2_config_screen_find( finds - is
it finding something - if not then well.. why? if it is ... why is enabled
false?

> I noticed that eDP-1 has a configured=0 log - maybe E clears the On bit for
> eDP-1 when I shutdown docked, since the lid is closed?
> 
> Ross
> 
> RRR: ................. info get!
> RRR: NEW SCREEN ...
> RRR: .... out eDP-1
> RRR: ...... lid_closed = 0 (1 && 0)
> RRR: ...... connected 1
> RRR: ...... modes 0x55ea807ac520
> RRR: 'eDP-1' 0 0 1920x1200
> RRR: NEW SCREEN ...
> RRR: .... out HDMI-1
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-1
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-2
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-3
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-4
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR:-------------------------------- 2
> RRR: 'eDP-1': 0 0 1920x1200
> RRR: result max: 1920x1200
> RRR: loaded existing config
> RRR: check lid for eDP-1...
> RRR: check lid for eDP-1...
> RRR: check lid for eDP-1...
> RRR: out
> id=eDP-1/00ffffffffffff0026cf4a8500000000001e0104a51d127802de50a3544c99260f5054000000010101010101010101010101010101010f3c80a070b0204018303c001eb310000019000000000000000000000000000000000000000000fe00496e666f566973696f6e0a2020000000fe004d3133334e57344a205233200a0055:
> connected=1 enabled=1 configured=0 RRR: check lid for eDP-1... RRR: out
> id=HDMI-1/:  connected=0 enabled=0 configured=0 RRR: out id=DP-1/:
> connected=0 enabled=0 configured=0 RRR: out id=DP-2/:  connected=0 enabled=0
> configured=0 RRR: out id=DP-3/:  connected=0 enabled=0 configured=0
> RRR: out id=DP-4/:  connected=0 enabled=0 configured=0
> RRR: re-get info before applying..
> RRR: ................. info get!
> RRR: NEW SCREEN ...
> RRR: .... out eDP-1
> RRR: ...... lid_closed = 0 (1 && 0)
> RRR: ...... connected 1
> RRR: ...... modes 0x55ea807ac520
> RRR: 'eDP-1' 0 0 1920x1200
> RRR: NEW SCREEN ...
> RRR: .... out HDMI-1
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-1
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-2
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-3
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-4
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR:-------------------------------- 2
> RRR: 'eDP-1': 0 0 1920x1200
> RRR: result max: 1920x1200
> RRR: apply config...
> RRR: apply 'eDP-1'...
> RRR: check lid for eDP-1...
> RRR: connected =  1
> RRR: ... disabled
> RRR: apply 'HDMI-1'...
> RRR: check lid for HDMI-1...
> RRR: connected =  0
> RRR: ... disabled
> RRR: apply 'DP-1'...
> RRR: check lid for DP-1...
> RRR: connected =  0
> RRR: ... disabled
> RRR: apply 'DP-2'...
> RRR: check lid for DP-2...
> RRR: connected =  0
> RRR: ... disabled
> RRR: apply 'DP-3'...
> RRR: check lid for DP-3...
> RRR: connected =  0
> RRR: ... disabled
> RRR: apply 'DP-4'...
> RRR: check lid for DP-4...
> RRR: connected =  0
> RRR: ... disabled
> RRR: takeover config...
> RRR: eval config...
> RRR:--------------------------------1
> RRR: screen config eval this...
> RRR: screen do 'eDP-1'
> RRR: 'eDP-1' cloneset 0x55ea807b9710 1
> RRR: find base/root for list=0x55ea807b9710 count=1
> RRR: clone=0x55ea807b7b30 mode=1
> RRR: _screen_config_do 2
> RRR: _screen_config_do 3
> RRR: screen config do 0x0 rotation=0
> RRR: _screen_config_do 4
> RRR: _screen_config_do 6
> RRR: screen config eval this...
> RRR: screen do 'HDMI-1'
> RRR: 'HDMI-1' cloneset 0x55ea807b9730 1
> RRR: find base/root for list=0x55ea807b9730 count=1
> RRR: clone=0x55ea807b7c00 mode=1
> RRR: _screen_config_do 2
> RRR: _screen_config_do 3
> RRR: screen config do 0x0 rotation=0
> RRR: _screen_config_do 4
> RRR: _screen_config_do 6
> RRR: screen config eval this...
> RRR: screen do 'DP-1'
> RRR: 'DP-1' cloneset 0x55ea807b9750 1
> RRR: find base/root for list=0x55ea807b9750 count=1
> RRR: clone=0x55ea807b8920 mode=1
> RRR: _screen_config_do 2
> RRR: _screen_config_do 3
> RRR: screen config do 0x0 rotation=0
> RRR: _screen_config_do 4
> RRR: _screen_config_do 6
> RRR: screen config eval this...
> RRR: screen do 'DP-2'
> RRR: 'DP-2' cloneset 0x55ea807b9770 1
> RRR: find base/root for list=0x55ea807b9770 count=1
> RRR: clone=0x55ea807b8a10 mode=1
> RRR: _screen_config_do 2
> RRR: _screen_config_do 3
> RRR: screen config do 0x0 rotation=0
> RRR: _screen_config_do 4
> RRR: _screen_config_do 6
> RRR: screen config eval this...
> RRR: screen do 'DP-3'
> RRR: 'DP-3' cloneset 0x55ea807b9790 1
> RRR: find base/root for list=0x55ea807b9790 count=1
> RRR: clone=0x55ea807b8b00 mode=1
> RRR: _screen_config_do 2
> RRR: _screen_config_do 3
> RRR: screen config do 0x0 rotation=0
> RRR: _screen_config_do 4
> RRR: _screen_config_do 6
> RRR: screen config eval this...
> RRR: screen do 'DP-4'
> RRR: 'DP-4' cloneset 0x55ea807b97b0 1
> RRR: find base/root for list=0x55ea807b97b0 count=1
> RRR: clone=0x55ea807b8bf0 mode=1
> RRR: _screen_config_do 2
> RRR: _screen_config_do 3
> RRR: screen config do 0x0 rotation=0
> RRR: _screen_config_do 4
> RRR: _screen_config_do 6
> RRR:--------------------------------2
> RRR:--- 65535 65535 -> -65536 -65536
> RRR: really apply config...
> RRR: crtcs=0x55ea807b3e20 outputs=0x55ea807b0f50
> RRR: crtcs:  62 63 64 65
> RRR: find output for 'eDP-1'
> RRR:   enabled: 0
> RRR:       assign slot off 2
> RRR: find output for 'HDMI-1'
> RRR:   enabled: 0
> RRR:       assign slot off 2
> RRR: find output for 'DP-1'
> RRR:   enabled: 0
> RRR:       assign slot off 2
> RRR: find output for 'DP-2'
> RRR:   enabled: 0
> RRR:       assign slot off 2
> RRR: find output for 'DP-3'
> RRR:   enabled: 0
> RRR:       assign slot off 2
> RRR: find output for 'DP-4'
> RRR:   enabled: 0
> RRR:       assign slot off 2
> RRR: crtc off: 0
> RRR: crtc off: 1
> RRR: crtc off: 2
> RRR: crtc off: 3
> RRR: crtc off: 4
> RRR: crtc off: 5
> RRR: XRANDR: xrandr --output 'eDP-1' --off --output 'HDMI-1' --off --output
> 'DP-1' --off --output 'DP-2' --off --output 'DP-3' --off --output 'DP-4'
> --off RRR: done config... RRR: CB screen change...
> RRR: CB crtc change...
> RRR: CB output change...
> RRR: CB screen change...
> RRR: ... 1 0
> RRR: reconfigure screens due to event...
> RRR: ................. info get!
> RRR: NEW SCREEN ...
> RRR: .... out eDP-1
> RRR: ...... lid_closed = 0 (1 && 0)
> RRR: ...... connected 1
> RRR: ...... modes 0x55ea80cfb6a0
> RRR: NEW SCREEN ...
> RRR: .... out HDMI-1
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-1
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-2
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-3
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-4
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: check fingerprint...
> RRR: ... fingerprint says 0
> RRR: screens lists 6 -> 6
> RRR: --------
> RRR: --------
> RRR: --------
> RRR: screens 1 -> 1
> RRR: --------
> RRR: look at r2 screen ID
> eDP-1/00ffffffffffff0026cf4a8500000000001e0104a51d127802de50a3544c99260f5054000000010101010101010101010101010101010f3c80a070b0204018303c001eb310000019000000000000000000000000000000000000000000fe00496e666f566973696f6e0a2020000000fe004d3133334e57344a205233200a0055
> RRR: look at r1 screen ID
> eDP-1/00ffffffffffff0026cf4a8500000000001e0104a51d127802de50a3544c99260f5054000000010101010101010101010101010101010f3c80a070b0204018303c001eb310000019000000000000000000000000000000000000000000fe00496e666f566973696f6e0a2020000000fe004d3133334e57344a205233200a0055
> RRR: look at r2 screen ID HDMI-1/ RRR: look at r1 screen ID
> eDP-1/00ffffffffffff0026cf4a8500000000001e0104a51d127802de50a3544c99260f5054000000010101010101010101010101010101010f3c80a070b0204018303c001eb310000019000000000000000000000000000000000000000000fe00496e666f566973696f6e0a2020000000fe004d3133334e57344a205233200a0055
> RRR: look at r1 screen ID HDMI-1/ RRR: look at r2 screen ID DP-1/ RRR: look
> at r1 screen ID
> eDP-1/00ffffffffffff0026cf4a8500000000001e0104a51d127802de50a3544c99260f5054000000010101010101010101010101010101010f3c80a070b0204018303c001eb310000019000000000000000000000000000000000000000000fe00496e666f566973696f6e0a2020000000fe004d3133334e57344a205233200a0055
> RRR: look at r1 screen ID HDMI-1/ RRR: look at r1 screen ID DP-1/ RRR: look
> at r2 screen ID DP-2/ RRR: look at r1 screen ID
> eDP-1/00ffffffffffff0026cf4a8500000000001e0104a51d127802de50a3544c99260f5054000000010101010101010101010101010101010f3c80a070b0204018303c001eb310000019000000000000000000000000000000000000000000fe00496e666f566973696f6e0a2020000000fe004d3133334e57344a205233200a0055
> RRR: look at r1 screen ID HDMI-1/ RRR: look at r1 screen ID DP-1/
> RRR: look at r1 screen ID DP-2/
> RRR: look at r2 screen ID DP-3/
> RRR: look at r1 screen ID
> eDP-1/00ffffffffffff0026cf4a8500000000001e0104a51d127802de50a3544c99260f5054000000010101010101010101010101010101010f3c80a070b0204018303c001eb310000019000000000000000000000000000000000000000000fe00496e666f566973696f6e0a2020000000fe004d3133334e57344a205233200a0055
> RRR: look at r1 screen ID HDMI-1/ RRR: look at r1 screen ID DP-1/
> RRR: look at r1 screen ID DP-2/
> RRR: look at r1 screen ID DP-3/
> RRR: look at r2 screen ID DP-4/
> RRR: look at r1 screen ID
> eDP-1/00ffffffffffff0026cf4a8500000000001e0104a51d127802de50a3544c99260f5054000000010101010101010101010101010101010f3c80a070b0204018303c001eb310000019000000000000000000000000000000000000000000fe00496e666f566973696f6e0a2020000000fe004d3133334e57344a205233200a0055
> RRR: look at r1 screen ID HDMI-1/ RRR: look at r1 screen ID DP-1/
> RRR: look at r1 screen ID DP-2/
> RRR: look at r1 screen ID DP-3/
> RRR: look at r1 screen ID DP-4/
> RRR: --------
> RRR: changed = 0
> RRR: out
> id=eDP-1/00ffffffffffff0026cf4a8500000000001e0104a51d127802de50a3544c99260f5054000000010101010101010101010101010101010f3c80a070b0204018303c001eb310000019000000000000000000000000000000000000000000fe00496e666f566973696f6e0a2020000000fe004d3133334e57344a205233200a0055:
> connected=1 enabled=0 configured=0 RRR: check lid for eDP-1... RRR: out
> id=HDMI-1/:  connected=0 enabled=0 configured=0 RRR: out id=DP-1/:
> connected=0 enabled=0 configured=0 RRR: out id=DP-2/:  connected=0 enabled=0
> configured=0 RRR: out id=DP-3/:  connected=0 enabled=0 configured=0
> RRR: out id=DP-4/:  connected=0 enabled=0 configured=0
> RRR: scr:
> eDP-1/00ffffffffffff0026cf4a8500000000001e0104a51d127802de50a3544c99260f5054000000010101010101010101010101010101010f3c80a070b0204018303c001eb310000019000000000000000000000000000000000000000000fe00496e666f566973696f6e0a2020000000fe004d3133334e57344a205233200a0055
> lid=1 conn=1 RRR: is lid, lid++ RRR: scr: HDMI-1/ lid=0 conn=0
> RRR: is not lid, is not connected
> RRR: scr: DP-1/ lid=0 conn=0
> RRR: is not lid, is not connected
> RRR: scr: DP-2/ lid=0 conn=0
> RRR: is not lid, is not connected
> RRR: scr: DP-3/ lid=0 conn=0
> RRR: is not lid, is not connected
> RRR: scr: DP-4/ lid=0 conn=0
> RRR: is not lid, is not connected
> RRR: prev_scr:
> eDP-1/00ffffffffffff0026cf4a8500000000001e0104a51d127802de50a3544c99260f5054000000010101010101010101010101010101010f3c80a070b0204018303c001eb310000019000000000000000000000000000000000000000000fe00496e666f566973696f6e0a2020000000fe004d3133334e57344a205233200a0055
> lid=1 conn=1 RRR: prev_scr: HDMI-1/ lid=0 conn=0 RRR: prev_scr: DP-1/ lid=0
> conn=0 RRR: prev_scr: DP-2/ lid=0 conn=0
> RRR: prev_scr: DP-3/ lid=0 conn=0
> RRR: prev_scr: DP-4/ lid=0 conn=0
> RRR: lids=1 closed=0 ext=0 prev_ext=0
> RRR: change = 0
> RRR: ................. info get!
> RRR: NEW SCREEN ...
> RRR: .... out eDP-1
> RRR: ...... lid_closed = 0 (1 && 0)
> RRR: ...... connected 1
> RRR: ...... modes 0x55ea80cfb6a0
> RRR: NEW SCREEN ...
> RRR: .... out HDMI-1
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-1
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-2
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-3
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR: NEW SCREEN ...
> RRR: .... out DP-4
> RRR: ...... lid_closed = 0 (0 && 0)
> RRR: ...... connected 0
> RRR: ...... modes (nil)
> RRR:-------------------------------- 2
> RRR: result max: -65536x-65536
> RRR: New unconfigured screen on eDP-1
> RRR: New unconfigured screen on HDMI-1
> RRR: New unconfigured screen on DP-1
> RRR: New unconfigured screen on DP-2
> RRR: New unconfigured screen on DP-3
> RRR: New unconfigured screen on DP-4
> 


-- 
------------- Codito, ergo sum - "I code, therefore I am" --------------
Carsten Haitzler - [email protected]



_______________________________________________
enlightenment-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-users

Reply via email to