You are not logged in.

#26 2020-12-07 18:01:52

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

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

seth wrote:
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.

I should have written "Okay, so the workaround in general is"

So I guess the workaround works. But as I wrote earlier, it doesn't work when I use "switch user" command. LXDM starts a new X session and apparently ignores whatever have I set in the X configuration.

seth wrote:

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?

Looks promising, but where do I put this -geometry parameter? I looked in Xorg manual but haven't found this parameter.

Tried out lxdm-gtk3, there is the same problem with switch user action.

Offline

#27 2020-12-07 21:36:38

seth
Member
Registered: 2012-09-03
Posts: 51,353

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

LXDM *cannot* ignore the xorg config unless it actively overrides it.

/etc/lxdm/lxdm.conf allows you to define the greeter command (should already have such line) and you'd simply adjust the command there.

Online

#28 2020-12-14 18:19:44

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

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

It seems it does it anyway.

X doesn't have geometry parameter on my system. You can check it by issuing X -h.

What I did was:

cat /etc/lxdm/lxdm.conf |grep conf
arg=/usr/bin/X -background vt1 -configdir /etc/X11/xorg.conf.d

I can see it's there:
(1 is the "switch user" lxdm, 0 is "normal" lxdm)

root         627 10.9  0.6 1412312 106712 tty1   Ssl+ 19:01   0:52 /usr/lib/Xorg -configdir /etc/X11/xorg.conf.d -background none :0 vt01 -nolisten tcp -novtswitch -auth /var/run/lxdm/lxdm-:0.auth
root        1055  0.3  0.5 1396068 92088 tty7    Ssl+ 19:02   0:01 /usr/lib/Xorg -configdir /etc/X11/xorg.conf.d -background none :1 vt07 -nolisten tcp -novtswitch -auth /var/run/lxdm/lxdm-:1.auth

And now the funny part:

[mk@linux ~]$ cat /var/log/Xorg.0.log |grep Output
[   192.150] (II) Applying OutputClass "AMDgpu" to /dev/dri/card0
[   192.282] (II) AMDGPU(0): Output HDMI-A-0 using monitor section HDMI-A-0
[   192.282] (II) AMDGPU(0): Output DisplayPort-0 using monitor section DisplayPort-0
[   192.282] (II) AMDGPU(0): Output DisplayPort-1 using monitor section DisplayPort-1
[   192.282] (II) AMDGPU(0): Output DisplayPort-2 using monitor section DisplayPort-2
[   192.312] (II) AMDGPU(0): Output HDMI-A-0 connected
[   192.312] (II) AMDGPU(0): Output DisplayPort-0 disconnected
[   192.312] (II) AMDGPU(0): Output DisplayPort-1 connected
[   192.312] (II) AMDGPU(0): Output DisplayPort-2 disconnected
[   192.312] (II) AMDGPU(0): Output HDMI-A-0 using initial mode 1920x1080 +0+0
[   192.312] (II) AMDGPU(0): Output DisplayPort-1 using initial mode 1920x1080 +0+0
[mk@linux ~]$ cat /var/log/Xorg.1.log |grep Output
[   250.996] (II) modeset(0): Output HDMI-1 has no monitor section
[   250.996] (II) modeset(0): Output DP-1 has no monitor section
[   250.997] (II) modeset(0): Output DP-2 has no monitor section
[   250.997] (II) modeset(0): Output DP-3 has no monitor section
[   250.998] (II) modeset(0): Output HDMI-1 connected
[   250.998] (II) modeset(0): Output DP-1 disconnected
[   250.998] (II) modeset(0): Output DP-2 connected
[   250.998] (II) modeset(0): Output DP-3 disconnected
[   250.998] (II) modeset(0): Output HDMI-1 using initial mode 1920x1080 +0+0
[   250.998] (II) modeset(0): Output DP-2 using initial mode 1920x1200 +1920+0
[mk@linux ~]$ ls -l /var/log/Xorg.?.log
-rw-r--r-- 1 root root 58892 12-14 19:12 /var/log/Xorg.0.log
-rw-r--r-- 1 root root 65675 12-14 19:06 /var/log/Xorg.1.log

Please notice the fact that it's using modesetting driver. I don't have driver set anywhere in my config files, so LXDM is doing some really nasty and weird stuff here.

Offline

#29 2020-12-14 18:41:25

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

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

Okay, I know the reason now. I compared the log files and Xorg.1.log has something that Xorg.0.log doesn't:

EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied
[   249.691] (--) PCI:*(8@0:0:0) 1002:1636:1458:d000 rev 218, Mem @ 0x7fe0000000/268435456, 0x7ff0000000/2097152, 0xfcb00000/524288, I/O @ 0x0000e000/256

This is why modesetting driver is chosen. I think that card0 might be used by previous X session but I have no idea honestly. Looking into this now.

//edit: added lxdm user to video group, no avail.

//edit2: I removed amdgpu driver and reconfigured monitor sections to name outputs according to modesetting driver convention. The line "(EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied" line still appears in Xorg.1.log log, but LXDM "switch user" works.

The question is what I'm missing by not using AMDGPU?

//edit3: I provided configuration for both AMDGPU and modesetting, and now the second user who logs in has the modesetting driver, while the first one has amdgpu. Weird, but that's how it is now...

Last edited by mkkot (2020-12-14 19:44:02)

Offline

#30 2020-12-14 22:05:32

seth
Member
Registered: 2012-09-03
Posts: 51,353

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

It seems it does it anyway.

No. Certainly not. Whatever happens does not happen by lxdm "ignoring" the config (and I dobut it to replace it with its own config)

X doesn't have geometry parameter on my system.

It has that nowhere.
The idea was to configure the *greeter* - like

## greeter used to welcome the user
greeter=/usr/libexec/lxdm-greeter-gtk -geometry <width>x<height>+<x>+<y>

(But i still don't know whether the greeter binary supports that parameter)

/dev/dri/card0: failed to set DRM interface version 1.4: Permission denied

Probably happens because the amdgpu driver of the other server hold control over the drm device.


I provided configuration for both AMDGPU and modesetting

How exactly?
Did you try to configure monitor sections matching all output names (ie. a set for modesetting and one for amdgpu at the same time)?
Though iirc. we already tried w/o the amdgpu Xorg driver (in which case you'd use modesetting in both instances, right?)

Online

#31 2020-12-15 14:18:36

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

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

Seth,
LXDM doesn't have -geometry switch on greeter, it doesn't accept any parameters.

So as you can see LXDM doesn't ignore Xorg configuration after all, but it has troubles with using AMDGPU driver for the second X session which is run by lxdm on "switch user" command. The reason is probably device reservation by first session, though this might be a bug in DRI.

What I currently have is:

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

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

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

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


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

The first X session hits DisplayPort-X convention (AMDGPU), the second DP-X convention (modesetting driver). This way I can have second X session with second user on modesetting driver while the first one runs AMDGPU. Silly workaround but the best I came up with for now.

Last edited by mkkot (2020-12-15 14:20:17)

Offline

Board footer

Powered by FluxBB