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
