You are not logged in.

#1 2020-11-19 23:18:31

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Can't see my login manager when second display is connected

I have an external monitor connected to my PC (DisplayPort) and a TV (HDMI). The problem is that X server thinks that the TV is the primary output, despite the fact that it's actually disconnected from the electric socket:

xrandr 
Screen 0: minimum 320 x 200, current 3840 x 1200, maximum 16384 x 16384
HDMI-A-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm
   1920x1080     60.00*+  50.00    59.94    30.00    25.00    24.00    29.97    23.98  
 [...]
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 connected 1920x1200+1920+0 (normal left inverted right x axis y axis) 518mm x 324mm
   1920x1200     59.95*+
 [...]
DisplayPort-2 disconnected (normal left inverted right x axis y axis)

I'm not quite sure what is 1920x1200+1920+0 part here, but I guess this is the screen size taken by the TV. So my actual screen is 1920x1200 + additional 1920px TV width. That would explain why I see blue background with a cursor when starting the login manager.

This is how this line is supposed to look like:

DisplayPort-1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm

Okay, so the solution in general is:

xrandr --output HDMI-A-0 --off

I'm doing it in a bit fancier way during LXDM startup via /etc/lxdm/LoginReady script.

Okay, so now my problem comes up when I use the "switch user" feature:

/usr/bin/lxdm -c USER_SWITCH

LXDM basically starts another Xserver:

root         513 10.3  0.7 1429028 119148 tty1   Rsl+ lis19   4:10 /usr/lib/Xorg -background none :0 vt01 -nolisten tcp -novtswitch -auth /var/run/lxdm/lxdm-:0.auth
root         878  0.1  0.5 1390540 91256 tty7    Ssl+ lis19   0:03 /usr/lib/Xorg -background none :1 vt07 -nolisten tcp -novtswitch -auth /var/run/lxdm/lxdm-:1.auth

and it does NOT execute the /etc/lxdm/LoginReady file again. So again I don't see LXDM.


So I'm trying to connect to this second Xserver:

export XAUTHORITY='/var/run/lxdm/lxdm-:1.auth'
export DISPLAY=':1'
$ sudo xhost +
access control disabled, clients can connect from any host

Xrandr starts to work on the second server but I can't find a way to do what I want.

xrandr --output HDMI-A-0 --off
xrandr: Configure crtc 0 failed

xrandr --output HDMI-A-0 --off --crtc 1
xrandr: Configure crtc 0 failed

xrandr --output DisplayPort-1 --pos 0x0 --verbose
crtc 0: disable
xrandr: Configure crtc 0 failed
crtc 0: disable
crtc 1: disable
crtc 2: disable
crtc 3: disable
screen 0: revert
crtc 0: revert
crtc 1: revert
crtc 2: revert
crtc 3: revert

Last edited by mkkot (2020-11-19 23:20:17)

Offline

#2 2020-11-20 06:47:50

seth
Member
Registered: 2012-09-03
Posts: 49,953

Re: Can't see my login manager when second display is connected

/etc/X11/xorg.conf.d/11-monitor.conf

Section "Monitor"
	Identifier "DisplayPort-1"
#	Option	"Enable"	"False"
	Option	"Primary"	"True"
EndSection

Section "Monitor"
	Identifier "HDMI-A-0"
#	Option	"Primary"	"True"
	Option	"Enable"	"False"
EndSection

But the behavior is odd - you might either have added a config explcitly enabling the Tv (beware the /etc/X11/xorg.conf - a static config will override the above configlet) or LXDM has another script somewhere to add that output.

Online

#3 2020-11-20 15:29:01

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: Can't see my login manager when second display is connected

Hi seth,
thanks for your time.

I think my TV behaves like that because:

ddcutil detect
Invalid display
   I2C bus:             /dev/i2c-0
   EDID synopsis:
      Mfg id:           SAM
      Model:            SAMSUNG
      Serial number:    
      Manufacture year: 2006
      EDID version:     1.3
   DDC communication failed

ddcutil probe -b 0
DDC communication failed for monitor on I2C bus /dev/i2c-0

System just can't tell what the state of the TV is.

About your question, I'm not using any Xorg config except of keyboard layout and:

Section "Monitor"
	Identifier "Monitor0"
	Option "DPMS" "true"
EndSection

Section "ServerLayout"
    Identifier "ServerLayout0"
    Option "BlankTime" "20"
EndSection

The DIsplayPort outputs are assigned in random order, so I can't set primary output. Setting it in xorg.conf causes also that the monitor can't wake up from standby mode.

Offline

#4 2020-11-20 15:40:48

seth
Member
Registered: 2012-09-03
Posts: 49,953

Re: Can't see my login manager when second display is connected

You actually only need the "Option    "Enable"    "False"" for the "HDMI-A-0" Monitor

Section "Monitor"
	Identifier "Monitor0"
	Option "DPMS" "true"
EndSection

This does nothing because "Monitor0" is referenced nowhere and also doesn't match an output name.
Also dpms is enabled by default.

Section "ServerLayout"
    Identifier "ServerLayout0"
    Option "BlankTime" "20"
EndSection

This should be a "ServerFlags" section (doesn't take nor need an Identifier)

Online

#5 2020-11-20 16:09:45

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: Can't see my login manager when second display is connected

Seth,
I fixed blanking. No idea how it worked before, maybe it was using default settings.

So I put a file:

/etc/X11/xorg.conf.d/10-monitor.conf 
Section "Monitor"
  Identifier "HDMI-A-0"
  Option	"Primary"	"False"
  Option	"Enable"	"False"
EndSection

And:

 cat /etc/lxdm/LoginReady
#!/bin/bash
export DISPLAY=':0'
export XAUTHORITY='/var/run/lxdm/lxdm-:0.auth'

xrandr >>/tmp/info

So /tmp/info has xrandr output while on LXDM screen and:

HDMI-A-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 connected 1920x1200+1920+0 (normal left inverted right x axis y axis) 518mm x 324mm
DisplayPort-2 disconnected (normal left inverted right x axis y axis)

Of course it doesn't work...

But please mind the part: DisplayPort-1 connected 1920x1200+1920+0

When I log in to DE and it sets the display correctly, xrandr looks like that:

HDMI-A-0 connected primary (normal left inverted right x axis y axis)
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
DisplayPort-2 disconnected (normal left inverted right x axis y axis)

1920x1200+0+0 vs 1920x1200+1920+0

HDMI is still connected but somehow XFCE manages to shrink screen size to the actual monitor.

Offline

#6 2020-11-20 21:29:47

seth
Member
Registered: 2012-09-03
Posts: 49,953

Re: Can't see my login manager when second display is connected

Probably still accepted for (very ;-) historic reasons.

/tmp/info suggests that (please check the xorg log on the original config and subsequent changes) something™ overrides the xorg config and I suspect something™ to be LXDM.
Anything suspicious in the config files in /etc/lxdm/ ?

Online

#7 2020-11-20 21:58:24

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: Can't see my login manager when second display is connected

Actually exactly same thing happens with SDDM and I keep almost vanilla config for LXDM. My environment is also quite minimalistic, so I don't see what this something could be.

To solve this problem I prepared a script which runs on LXDM start. The main part is:

xrandr --output 'HDMI-A-0' --off
xrandr --output "${dp}" --auto --primary

So it does what it's supposed to do, only it doesn't work on "change user"...

Offline

#8 2020-11-21 15:14:40

seth
Member
Registered: 2012-09-03
Posts: 49,953

Re: Can't see my login manager when second display is connected

Well, either the /etc/X11/xorg.conf.d/10-monitor.conf is ignored or overridden or something™ alters the screenlayout afterwards.

HDMI-A-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 160mm x 90mm

means the output is enabled what contradicts the config.

Can you please post the complete Xorg log?

Online

#9 2020-11-21 22:32:53

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: Can't see my login manager when second display is connected

Sure. I haven't found anything interesting there, though..
https://pastebin.com/tRWxGuaW

Also, I must say that this is driving me crazy:
https://wiki.archlinux.org/index.php/xr … _xrasengan

When I disable my monitor and switch to TV to watch some movie and then I want to get back to my monitor, X server usually hangs. I can't move my cursor and the monitor doesn't wake up.

Last edited by mkkot (2020-11-21 22:36:59)

Offline

#10 2020-11-22 09:14:24

seth
Member
Registered: 2012-09-03
Posts: 49,953

Re: Can't see my login manager when second display is connected

Reads the config options

[    12.318] (II) AMDGPU(0): Output HDMI-A-0 using monitor section HDMI-A-0
[    12.318] (**) AMDGPU(0): Option "Enable" "False"
[    12.318] (**) AMDGPU(0): Option "Primary" "False"

… and happily ignores them…

[    12.352] (II) AMDGPU(0): Using spanning desktop for initial modes
[    12.352] (II) AMDGPU(0): Output HDMI-A-0 using initial mode 1920x1080 +0+0
[    12.352] (II) AMDGPU(0): Output DisplayPort-1 using initial mode 1920x1200 +1920+0

If you replace

Option	"Enable"	"False"

with

Option	"Ignore"	"True"

does it then disappear?

this is driving me crazy

Do you currently engage in anything like this? Some daemon to keep outputs busy?

get back to my monitor

How exactly?

I can't move my cursor

Can you still switch to another VT (ctrl+alt+f2 etc.) and login there?

Because of the various issues: try to remove xf86-video-amdgpu (you'll use the modesetting driver) and see whether the issues remain.
nb. that the output names will likely change, so you'll have to adjust the 11-monitor.conf

Online

#11 2020-11-22 14:30:15

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: Can't see my login manager when second display is connected

Hi Seth,
after setting

Option	"Ignore"	"True"

finally:

DisplayPort-1 connected primary 1920x1200+0+0

In xorg logs I can see HDMI is detected but it not shown in GUI nor xrandr. Of course I want to display picture on my TV quite often during evenings, so it can't stay this way.

Do you currently engage in anything like this? Some daemon to keep outputs busy?

No sir wink

mkkot wrote:

    get back to my monitor

seth wrote:

How exactly?

I go into xfce settings dialog > Display and then I enable my monitor. Sometimes it works, but more often monitor is not enabled and picture on TV freezes. Can't move my cursor. SysRq sometimes enables me to kill X and get back into TTY where I can restart my PC.

Just before I posted here I was trying to wake up my monitor after some time in standby mode - pc was playing music and I was doing sth else. And the screen remained black. Changing to different tty was a workaround this time.

lis 22 14:09:10 linux kernel: [drm] Failed to add display topology, DTM TA is not initialized.
lis 22 14:09:10 linux kernel: perf: interrupt took too long (2541 > 2500), lowering kernel.perf_event_max_sample_rate to 78600
lis 22 15:00:24 linux kernel: [drm] DM_MST: stopping TM on aconnector: 00000000fb8f39fb [id: 80]
lis 22 15:00:28 linux kernel: [drm] Failed to add display topology, DTM TA is not initialized.
lis 22 15:00:28 linux kernel: [drm] DM_MST: starting TM on aconnector: 00000000fb8f39fb [id: 80]
lis 22 15:00:48 linux kernel: [drm] Failed to add display topology, DTM TA is not initialized.
lis 22 15:00:48 linux kernel: [drm] Failed to add display topology, DTM TA is not initialized.

I actually did change my driver few weeks earlier to resolve this issue. I changed from radeon to amdgpu. Except of different device naming, I don't see any improvement. I can try with modesetting driver but this is not a real solution as I need GPU acceleration, for example for web browsing.

/EDIT

modesetting driver:

[    12.689] (II) modeset(0): Output HDMI-1 using monitor section HDMI-1
[    12.689] (**) modeset(0): Option "Enable" "False"
[    12.689] (**) modeset(0): Option "Primary" "False"
[...]
[    12.691] (II) modeset(0): Output HDMI-1 connected
[...]
[    12.691] (II) modeset(0): Output HDMI-1 using initial mode 1920x1080 +0+0

The final effect is the same, LXDM is displayed on (disconnected) TV and on DisplayPort monitor I only see mouse cursor.

Last edited by mkkot (2020-11-22 14:45:07)

Offline

#12 2020-11-22 14:50:25

seth
Member
Registered: 2012-09-03
Posts: 49,953

Re: Can't see my login manager when second display is connected

"radeon to amdgpu" sounds more like the kernel module but in any case the xorg log suggests that you've an AMD renoir and I doubt the radeon kernel module supports that?
(xf86-video-ati on the amdgpu kernel module won't work - you then *are* running the modesetting driver)

lis 22 15:00:48 linux kernel: [drm] Failed to add display topology, DTM TA is not initialized.

Try to pass this to the kernel parameters and see whether it makes a difference

amdgpu.dc=0 amdgpu.dpm=0 amdgpu.aspm=0 amdgpu.runpm=0 amdgpu.bapm=0

(most likely contenders are the *pm ones, dc=0 might actually inhibit the boot)

Do you get dmesg output while starting X11 (w/ hdmi not ignored)?

Online

#13 2020-11-22 15:10:04

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: Can't see my login manager when second display is connected

It seems I've been happily ignorant about kernel/Xorg driver difference. I was using ati driver:

[2020-11-09T18:52:21+0100] [PACMAN] Running 'pacman -R xf86-video-ati

Actually I upgraded my PC recently, read about ATI cards and then switched to amdgpu, so when I initiated this thread, I was using amdgpu which you can see in my logs. Now I'm on modesetting on your request.

I just checked how does the TV/monitor switching look like on modesetting and basically it works the same way (sometimes it does, sometimes it doesn't). But this time I cought something interesting:

lis 22 15:50:17 linux kernel: [drm] DM_MST: stopping TM on aconnector: 00000000df3da12a [id: 80]
lis 22 15:50:21 linux kernel: [drm] Failed to add display topology, DTM TA is not initialized.
lis 22 15:50:21 linux kernel: [drm] pstate TEST_DEBUG_DATA: 0x10007767
lis 22 15:50:21 linux kernel: [drm] DM_MST: starting TM on aconnector: 00000000df3da12a [id: 80]
lis 22 15:50:22 linux kernel: [drm] Failed to updateMST allocation table forpipe idx:1
lis 22 15:50:22 linux kernel: ------------[ cut here ]------------
lis 22 15:50:22 linux kernel: WARNING: CPU: 0 PID: 523 at drivers/gpu/drm/amd/amdgpu/../display/dc/core/dc_link.c:2925 dc_link_allocate_mst_payload+0x21d/0x230 [amdgpu]
lis 22 15:50:22 linux kernel: Modules linked in: fuse hid_logitech_hidpp input_leds joydev mousedev hid_logitech_dj hid_generic usbhid hid uas ipt_REJECT nf_reject_ipv4 usb_storage xt_tcpudp xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 libcrc32c iptable_filter edac_mce_amd amdgpu snd_hda_codec_realtek snd_hda_codec_generic ledtrig_audio snd_hda_codec_hdmi nls_iso8859_1 kvm snd_hda_intel nls_cp437 snd_intel_dspcfg snd_hda_codec gpu_sched vfat i2c_algo_bit wmi_bmof fat ttm irqbypass crct10dif_pclmul drm_kms_helper crc32_pclmul ghash_clmulni_intel snd_hda_core aesni_intel snd_hwdep cec r8169 snd_pcm crypto_simd realtek mdio_devres snd_timer rc_core of_mdio cryptd glue_helper syscopyarea fixed_phy sysfillrect sysimgblt rapl libphy pcspkr snd i2c_piix4 k10temp ccp fb_sys_fops soundcore rng_core wmi acpi_cpufreq evdev mac_hid pinctrl_amd gpio_amdpt lp parport drm hwmon_vid i2c_dev msr sg agpgart ip_tables x_tables ext4 crc32c_generic crc16 mbcache jbd2 dm_mod xhci_pci crc32c_intel xhci_pci_renesas
lis 22 15:50:22 linux kernel:  xhci_hcd
lis 22 15:50:22 linux kernel: CPU: 0 PID: 523 Comm: Xorg Not tainted 5.9.9-arch1-1 #1
lis 22 15:50:22 linux kernel: Hardware name: Gigabyte Technology Co., Ltd. B550M AORUS PRO/B550M AORUS PRO, BIOS F11d 10/29/2020
lis 22 15:50:22 linux kernel: RIP: 0010:dc_link_allocate_mst_payload+0x21d/0x230 [amdgpu]
lis 22 15:50:22 linux kernel: Code: 00 00 00 5b 41 5a 41 5c 41 5d 41 5e 41 5f 5d 49 8d 62 f8 c3 89 d8 ba 85 eb 51 f8 48 f7 e2 48 c1 e8 20 48 89 c3 e9 60 ff ff ff <0f> 0b e9 e1 fe ff ff e8 67 a4 9f e3 0f 1f 80 00 00 00 00 0f 1f 44
lis 22 15:50:22 linux kernel: RSP: 0018:ffffb90a80db7660 EFLAGS: 00010246
lis 22 15:50:22 linux kernel: RAX: 0000000000000000 RBX: ffff9ae1ca4ce800 RCX: 0000000000000000
lis 22 15:50:22 linux kernel: RDX: 0000000000000005 RSI: ffffffffc1583d28 RDI: 0000000000000000
lis 22 15:50:22 linux kernel: RBP: ffffb90a80db76c0 R08: 0000000000000005 R09: 0000000000000000
lis 22 15:50:22 linux kernel: R10: 0000000000000000 R11: 0000000000000001 R12: ffff9ae1bd8da800
lis 22 15:50:22 linux kernel: R13: ffff9ae157d00690 R14: 0000000000000006 R15: ffff9ae1ca4cea80
lis 22 15:50:22 linux kernel: FS:  00007f8aabbd9540(0000) GS:ffff9ae1cf200000(0000) knlGS:0000000000000000
lis 22 15:50:22 linux kernel: CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
lis 22 15:50:22 linux kernel: CR2: 00007f8a893ab000 CR3: 0000000409062000 CR4: 0000000000350ef0
lis 22 15:50:22 linux kernel: Call Trace:
lis 22 15:50:22 linux kernel:  ? core_link_enable_stream+0x71e/0x840 [amdgpu]
lis 22 15:50:22 linux kernel:  core_link_enable_stream+0x71e/0x840 [amdgpu]
lis 22 15:50:22 linux kernel:  dce110_apply_ctx_to_hw+0x52d/0x570 [amdgpu]
lis 22 15:50:22 linux kernel:  dc_commit_state+0x34a/0x990 [amdgpu]
lis 22 15:50:22 linux kernel:  amdgpu_dm_atomic_commit_tail+0x38c/0x23b0 [amdgpu]
lis 22 15:50:22 linux kernel:  commit_tail+0x94/0x130 [drm_kms_helper]
lis 22 15:50:22 linux kernel:  drm_atomic_helper_commit+0x113/0x140 [drm_kms_helper]
lis 22 15:50:22 linux kernel:  drm_atomic_helper_set_config+0x70/0xb0 [drm_kms_helper]
lis 22 15:50:22 linux kernel:  drm_mode_setcrtc+0x233/0x770 [drm]
lis 22 15:50:22 linux kernel:  ? drm_mode_getcrtc+0x180/0x180 [drm]
lis 22 15:50:22 linux kernel:  drm_ioctl_kernel+0xb2/0x100 [drm]
lis 22 15:50:22 linux kernel:  drm_ioctl+0x215/0x390 [drm]
lis 22 15:50:22 linux kernel:  ? drm_mode_getcrtc+0x180/0x180 [drm]
lis 22 15:50:22 linux kernel:  amdgpu_drm_ioctl+0x49/0x80 [amdgpu]
lis 22 15:50:22 linux kernel:  __x64_sys_ioctl+0x83/0xb0
lis 22 15:50:22 linux kernel:  do_syscall_64+0x33/0x40
lis 22 15:50:22 linux kernel:  entry_SYSCALL_64_after_hwframe+0x44/0xa9
lis 22 15:50:22 linux kernel: RIP: 0033:0x7f8aac59cf6b
lis 22 15:50:22 linux kernel: Code: 89 d8 49 8d 3c 1c 48 f7 d8 49 39 c4 72 b5 e8 1c ff ff ff 85 c0 78 ba 4c 89 e0 5b 5d 41 5c c3 f3 0f 1e fa b8 10 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d d5 ae 0c 00 f7 d8 64 89 01 48
lis 22 15:50:22 linux kernel: RSP: 002b:00007ffd2d2c9bd8 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
lis 22 15:50:22 linux kernel: RAX: ffffffffffffffda RBX: 00007ffd2d2c9c10 RCX: 00007f8aac59cf6b
lis 22 15:50:22 linux kernel: RDX: 00007ffd2d2c9c10 RSI: 00000000c06864a2 RDI: 0000000000000010
lis 22 15:50:22 linux kernel: RBP: 00000000c06864a2 R08: 0000000000000000 R09: 000055c550e3dd80
lis 22 15:50:22 linux kernel: R10: 0000000000000000 R11: 0000000000000246 R12: 000055c550e37500
lis 22 15:50:22 linux kernel: R13: 0000000000000010 R14: 000055c550cb7e88 R15: 0000000000000001
lis 22 15:50:22 linux kernel: ---[ end trace bb641ea5336b4df2 ]---
lis 22 15:50:22 linux kernel: [drm] Failed to add display topology, DTM TA is not initialized.
lis 22 15:50:22 linux kernel: [drm] DM_MST: stopping TM on aconnector: 00000000df3da12a [id: 80]
lis 22 15:50:26 linux kernel: [drm] Failed to add display topology, DTM TA is not initialized.
lis 22 15:50:26 linux kernel: [drm] DM_MST: starting TM on aconnector: 00000000df3da12a [id: 80]
lis 22 15:50:27 linux kernel: [drm] Failed to updateMST allocation table forpipe idx:1
lis 22 15:50:27 linux kernel: [drm] Failed to add display topology, DTM TA is not initialized.
lis 22 15:50:27 linux kernel: [drm] Failed to updateMST allocation table forpipe idx:2
lis 22 15:50:29 linux kernel: [drm] Failed to add display topology, DTM TA is not initialized.
lis 22 15:50:29 linux kernel: [drm] DM_MST: stopping TM on aconnector: 00000000df3da12a [id: 80]
lis 22 15:50:32 linux kernel: [drm] Failed to add display topology, DTM TA is not initialized.
lis 22 15:50:32 linux kernel: [drm] DM_MST: starting TM on aconnector: 00000000df3da12a [id: 80]

And this is Xorg0.log from this:
https://pastebin.com/MERyfqZu

I will check the kernel parameters later, thanks smile

seth wrote:

Do you get dmesg output while starting X11 (w/ hdmi not ignored)?

I don't see anything like that

Last edited by mkkot (2020-11-22 15:12:19)

Offline

#14 2020-11-22 16:25:51

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: Can't see my login manager when second display is connected

Okay, this is the setting that does allow my pc to boot up:

quiet amdgpu.dc=1 amdgpu.dpm=0 amdgpu.aspm=0 amdgpu.runpm=0 amdgpu.bapm=0

There is the same problem with switching between tv and monitor. I collected some more stack traces and will report it to kernel developers. Let's maybe skip this and focus on the issue of HDMI output taking over my login screen.

//edit:
https://bugzilla.kernel.org/show_bug.cgi?id=210303

Last edited by mkkot (2020-11-22 17:29:31)

Offline

#15 2020-11-23 11:36:51

seth
Member
Registered: 2012-09-03
Posts: 49,953

Re: Can't see my login manager when second display is connected

I had actually hoped that this was related.
The config is clearly applied, but the HDMI output gets enabled afterward regardless and I've no idea why.

Back to the config, /etc/X11/xorg.conf.d/10-monitor.conf (more of a mitigation effort - and to see whether sth. steamrolls over even this)

Section "Monitor"
  Identifier "HDMI-A-0"
  Option	"Primary"	"False"
  Option	"Enable"	"False"
  Option	"Position"	"0 0"
EndSection

Section "Monitor"
  Identifier "DisplayPort-0"
  Option	"Position"	"0 0"
EndSection

Section "Monitor"
  Identifier "DisplayPort-1"
  Option	"Position"	"0 0"
EndSection

Section "Monitor"
  Identifier "DisplayPort-2"
  Option	"Position"	"0 0"
EndSection

Online

#16 2020-11-24 16:20:37

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: Can't see my login manager when second display is connected

Hi seth,
thanks for preparing the config.
So it kinda works, I can see LXDM on system start:

HDMI-A-0 connected (normal left inverted right x axis y axis)
DisplayPort-1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm

So as I thought, this is due to position.

It's still not perfect as DisplayPort output names are dynamic, so I would have to create probably something like 5-7 entries for displayport wink

However, on "change user" action I again don't see LXDM. And from Xorg.1.log I can see that LXDM does not honour 10-monitor.conf. So on "change user" it ignores Xorg configuration and /etc/lxdm/LoginReady where I could run xrandr. This way it seems I'm forced to use GDM (and install half of GNOME dekstop + bluez which I don't use) as it supports monitors.xml.

Theoretically "change user" is scriptable in Xfce but I already tried that and for some reason I can't run xrandr action from it.

Offline

#17 2020-11-24 16:44:17

seth
Member
Registered: 2012-09-03
Posts: 49,953

Re: Can't see my login manager when second display is connected

So it kinda works, I can see LXDM on system start:

HDMI-A-0 connected (normal left inverted right x axis y axis)
DisplayPort-1 connected primary 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
So as I thought, this is due to position.

Wait, what?
The config was only meant to ensure the displayports position on 0/0 (and HDMI as well) - so now all out of  a sudden the enabled status is honored?
Or is this maybe due to /etc/lxdm/LoginReady  ?

LXDM cannot ignore the config, but does it maybe run "Xorg -config" with a specific config file?

Online

#18 2020-11-24 20:02:31

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: Can't see my login manager when second display is connected

seth wrote:

LXDM cannot ignore the config, but does it maybe run "Xorg -config" with a specific config file?

It can be:

/etc/lxdm.conf
[server]
## arg used to start xserver, not fully function
arg=/usr/bin/X -background vt1
seth wrote:

The config was only meant to ensure the displayports position on 0/0 (and HDMI as well) - so now all out of  a sudden the enabled status is honored?

No, it's not.

[    12.155] (II) AMDGPU(0): Output HDMI-A-0 using monitor section HDMI-A-0
[    12.155] (**) AMDGPU(0): Option "Position" "0 0"
[    12.155] (**) AMDGPU(0): Option "Enable" "False"
[    12.187] (II) AMDGPU(0): Output HDMI-A-0 using initial mode 1920x1080 +0+0

This is something I tried to tell you already few times. Maybe I will draw it -- here's what I think is happening:
xscreen.png


Position 0 0 removes the blue extension and LXDM is moved to red field.

Last edited by mkkot (2020-11-24 20:05:11)

Offline

#19 2020-11-24 23:02:27

seth
Member
Registered: 2012-09-03
Posts: 49,953

Re: Can't see my login manager when second display is connected

HDMI-A-0 connected (normal left inverted right x axis y axis)

got me the impression (since it has no dimension)

What's actually happening is simple.
This is your problem situation:

|============||============|
|            ||            |
|    HDMI    ||     DP     |
|            ||            |
|============||            |
              |============|

LXDM places itself on the 1st output which it believes is the HDMI one.
Once that's gone, it uses the new single output config,

|============|
|            |
|     DP     |
|            |
|            |
|============|

What the positioning does is

|============|
|    HDMI    |
|            |
|     DP     |
|============|
|============|

DP and HDMI are partly congruent so it doesn't matter where LXDM places itself.

It all stands and falls w/ that zombie output - does it also show up if you remove the HDMI plug from the GPU?

Online

#20 2020-11-29 13:13:12

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: Can't see my login manager when second display is connected

When I disconnect HDMI cable from GPU, I get:
HDMI-A-0 disconnected (normal left inverted right x axis y axis)

Offline

#21 2020-11-29 13:24:09

seth
Member
Registered: 2012-09-03
Posts: 49,953

Re: Can't see my login manager when second display is connected

So that side is actually properly detected and the Tv just defaults to "yeah, am here" (though I don't understand why we can't initially disable it - maybe it causes repeted handshakes…)
How's the behavior w/ the "option enable false" and the Tv "disconnected from the electric socket" (since afaiu initially that would still cause it to show up?)

What's btw. the actual TV vendor/model? Maybe there're known issues around their HDMI implementation?

Online

#22 2020-12-06 17:27:51

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: Can't see my login manager when second display is connected

Hi Seth,
sorry for late response, but the winter season doesn't help with motivation...

So the TV is detected with "option enable false" when it's disconnected from the socket.

HDMI-A-0 connected (normal left inverted right x axis y axis)
   1920x1080     60.00 +  50.00    59.94    30.00    25.00    24.00    29.97    23.98  
   1680x1050     60.00  
   1280x1024     60.00  
   1440x900      60.00  
   1280x800      60.00  
   1280x720      60.00    50.00    59.94  
   1024x768      60.00  
   800x600       60.00  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       60.00    59.94

To be honest, it's disconnected all the time, I only plug it in when I want to watch a movie smile

The TV name is Samsung LE40N87BD. I'm just thinking that instead of disabling I would like my DM to be intelligent enough to know where it should be displayed. I tried with lightdm a week ago (as it's supposed to support monitors.xml) but the pantheon greeter I planned to use is totally broken in Arch (already created a bug for it).

Last edited by mkkot (2020-12-06 17:28:47)

Offline

#23 2020-12-06 22:39:34

seth
Member
Registered: 2012-09-03
Posts: 49,953

Re: Can't see my login manager when second display is connected

Soo… apparently the monitor can use the 5V supply from the PC (pin 18) to power the response - doesn't explain why it doesn't end up being disabled.
Though it is in the xrandr section your posted?

You want it to be disabled, though, because this doesn't only affect the DM but also the session and the WM there.
For lightdm you can use the display-setup-script, https://wiki.archlinux.org/index.php/Li … ng_monitor to "xrandr --HDMI-A-0 --off"

Online

#24 2020-12-07 15:26:24

mkkot
Member
From: Poland
Registered: 2009-12-20
Posts: 287

Re: Can't see my login manager when second display is connected

seth wrote:

Though it is in the xrandr section your posted?

I'm not sure if I understand your question. This xrandr output was generated with:

Section "Monitor"
  Identifier "HDMI-A-0"
  Option	"Primary"	"False"
  Option	"Enable"	"False"
  Option	"Position"	"0 0"
EndSection

The thing is that I don't want it to be disabled. Okay, it's a workaround. It's fine. But the real solution would be to tell DM to display picture on different screen.

And I'm not using lightdm, back to LXDM again. I will wait for pantheon greeter to get fixed or use GDM or something else...

Offline

#25 2020-12-07 16:46:31

seth
Member
Registered: 2012-09-03
Posts: 49,953

Re: Can't see my login manager when second display is connected

mkkot wrote:

The thing is that I don't want it to be disabled.

mkkot much earlier wrote:

Okay, so the solution in general is:
xrandr --output HDMI-A-0 --off

I thought the problem was that "X server thinks that the TV is the primary output, despite the fact that it's actually disconnected from the electric socket" and that's not the case in the last xrandr output you posted.

Anyway, if you want to control teh geometry of the greeter, you could try in /etc/lxdm/lxdm.conf whether it accepts "-geometry <width>x<height>+<x>+<y>" syntax.
Is this btw, lxdm for gtk2 or gtk3? Does it make a difference?

Online

Board footer

Powered by FluxBB