#1040497 gnome runs Xorg on ASPEED + NVIDIA

Package:
gnome
Source:
gnome
Description:
Full GNOME Desktop Environment, with extra components
Submitter:
AlMa
Date:
2023-07-07 01:15:02 UTC
Severity:
normal
#1040497#5
Date:
2023-07-06 17:31:52 UTC
From:
To:
After upgrading from a mixture of Debian 11 and 12 to Debian 12, Gnome
started to run Xorg on login instead of Wayland, whereas previously,
Wayland had been used.  In uxterm, we see

$ echo $XDG_SESSION_TYPE
x11
$ grep -i Wayland /etc/gdm3/daemon.conf
#WaylandEnable=false

In the journal we find, among other stuff, this:
…
2023-07-06T09:50:41.334837+02:00 AnonymizedMachineName systemd[1957]:
Started app-gnome-gnome\x2dkeyring\x2dssh-2263.scope - Application
launched by gnome-session-binary.
2023-07-06T09:50:41.337128+02:00 AnonymizedMachineName
gnome-keyring-d[1993]: The Secret Service was already initialized
2023-07-06T09:50:41.339085+02:00 AnonymizedMachineName
gnome-keyring-secrets.desktop[2267]: discover_other_daemon:
1GNOME_KEYRING_CONTROL=/run/user/1000/keyring
2023-07-06T09:50:41.353383+02:00 AnonymizedMachineName
gnome-keyring-d[1993]: The PKCS#11 component was already initialized
2023-07-06T09:50:41.354308+02:00 AnonymizedMachineName
dbus-daemon[1995]: [session uid=1000 pid=1995] Activating via systemd:
service name='org.gtk.vfs.MTPVolumeMonitor'
unit='gvfs-mtp-volume-monitor.service' requested by ':1.13' (uid=1000
pid=2124 comm="/usr/libexec/tracker-miner-fs-3")
2023-07-06T09:50:41.355212+02:00 AnonymizedMachineName
gnome-keyring-pkcs11.desktop[2268]: discover_other_daemon:
1GNOME_KEYRING_CONTROL=/run/user/1000/keyring
2023-07-06T09:50:41.355373+02:00 AnonymizedMachineName
gnome-keyring-pkcs11.desktop[2268]: SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
2023-07-06T09:50:41.356700+02:00 AnonymizedMachineName
gnome-keyring-ssh.desktop[2266]: discover_other_daemon:
1GNOME_KEYRING_CONTROL=/run/user/1000/keyring
2023-07-06T09:50:41.356916+02:00 AnonymizedMachineName
gnome-keyring-ssh.desktop[2266]: SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
2023-07-06T09:50:41.358183+02:00 AnonymizedMachineName systemd[1957]:
Starting gvfs-mtp-volume-monitor.service - Virtual filesystem service -
Media Transfer Protocol monitor...
2023-07-06T09:50:41.365168+02:00 AnonymizedMachineName systemd[1957]:
Started gnome-session-manager@gnome.service - GNOME Session Manager
(session: gnome).
2023-07-06T09:50:41.365674+02:00 AnonymizedMachineName systemd[1957]:
Reached target gnome-session-manager.target - GNOME Session Manager is
ready.
2023-07-06T09:50:41.367890+02:00 AnonymizedMachineName systemd[1957]:
Starting org.gnome.Shell@wayland.service - GNOME Shell on Wayland...
2023-07-06T09:50:41.377067+02:00 AnonymizedMachineName systemd[1957]:
Starting org.gnome.Shell@x11.service - GNOME Shell on X11...
2023-07-06T09:50:41.387252+02:00 AnonymizedMachineName systemd[1957]:
org.gnome.Shell@wayland.service: Skipped due to 'exec-condition'.
2023-07-06T09:50:41.387680+02:00 AnonymizedMachineName systemd[1957]:
Condition check resulted in org.gnome.Shell@wayland.service - GNOME
Shell on Wayland being skipped.
2023-07-06T09:50:41.404997+02:00 AnonymizedMachineName systemd[1957]:
Started app-gnome-at\x2dspi\x2ddbus\x2dbus-2270.scope - Application
launched by gnome-session-binary.

Further,
$ sudo cat /run/gdm3/custom.conf
[daemon]
WaylandEnable=false
$ ls -a /etc/udev/rules.d/
.  ..
$ ls -a /run/udev/
.  ..  control  data  gdm-machine-has-hardware-gpu
gdm-machine-has-hybrid-graphics  links  static_node-tags  tags  watch

The machine is stationary (i.e., not a laptop) with two graphic chips,
namely, ASPEED AST2500 64MB and NVIDIA® GeForce® GTX1660 Ti 6GB:

$ sudo lspci -vvvvvvvvvvvvvv| grep -A15 Graphics
04:00.0 VGA compatible controller: ASPEED Technology, Inc. ASPEED
Graphics Family (rev 41) (prog-if 00 [VGA controller])
         Subsystem: ASPEED Technology, Inc. ASPEED Graphics Family
         Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR- FastB2B- DisINTx-
         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium
 >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
         Interrupt: pin A routed to IRQ 17
         NUMA node: 0
         IOMMU group: 32
         Region 0: Memory at 8c000000 (32-bit, non-prefetchable) [size=64M]
         Region 1: Memory at 90000000 (32-bit, non-prefetchable) [size=128K]
         Region 2: I/O ports at 4000 [size=128]
         Capabilities: [40] Power Management version 3
                 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=375mA
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                 Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
         Capabilities: [50] MSI: Enable- Count=1/2 Maskable- 64bit+
                 Address: 0000000000000000  Data: 0000
         Kernel driver in use: ast
         Kernel modules: ast
$ sudo lspci -vvvvvvvvvvvvvv| grep -A81 -i GeForce
65:00.0 VGA compatible controller: NVIDIA Corporation TU116 [GeForce GTX
1660 Ti] (rev a1) (prog-if 00 [VGA controller])
         Subsystem: PNY TU116 [GeForce GTX 1660 Ti]
         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop-
ParErr- Stepping- SERR+ FastB2B- DisINTx+
         Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort-
<TAbort- <MAbort- >SERR- <PERR- INTx-
         Latency: 0, Cache Line Size: 32 bytes
         Interrupt: pin A routed to IRQ 110
         NUMA node: 0
         IOMMU group: 3
         Region 0: Memory at d7000000 (32-bit, non-prefetchable) [size=16M]
         Region 1: Memory at c0000000 (64-bit, prefetchable) [size=256M]
         Region 3: Memory at d0000000 (64-bit, prefetchable) [size=32M]
         Region 5: I/O ports at b000 [size=128]
         Expansion ROM at 000c0000 [disabled] [size=128K]
         Capabilities: [60] Power Management version 3
                 Flags: PMEClk- DSI- D1- D2- AuxCurrent=375mA
PME(D0+,D1-,D2-,D3hot+,D3cold-)
                 Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME-
         Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
                 Address: 00000000fee000b8  Data: 0000
         Capabilities: [78] Express (v2) Legacy Endpoint, MSI 00
                 DevCap: MaxPayload 256 bytes, PhantFunc 0, Latency L0s
unlimited, L1 <64us
                         ExtTag+ AttnBtn- AttnInd- PwrInd- RBE+ FLReset+
                 DevCtl: CorrErr- NonFatalErr- FatalErr- UnsupReq-
                         RlxdOrd+ ExtTag+ PhantFunc- AuxPwr- NoSnoop+
FLReset-
                         MaxPayload 128 bytes, MaxReadReq 512 bytes
                 DevSta: CorrErr+ NonFatalErr- FatalErr- UnsupReq+
AuxPwr- TransPend-
                 LnkCap: Port #0, Speed 8GT/s, Width x16, ASPM L0s L1,
Exit Latency L0s <512ns, L1 <4us
                         ClockPM+ Surprise- LLActRep- BwNot- ASPMOptComp+
                 LnkCtl: ASPM Disabled; RCB 64 bytes, Disabled- CommClk+
                         ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                 LnkSta: Speed 2.5GT/s (downgraded), Width x16
                         TrErr- Train- SlotClk+ DLActive- BWMgmt- ABWMgmt-
                 DevCap2: Completion Timeout: Range AB, TimeoutDis+
NROPrPrP- LTR+
                          10BitTagComp- 10BitTagReq- OBFF Via message,
ExtFmt- EETLPPrefix-
                          EmergencyPowerReduction Not Supported,
EmergencyPowerReductionInit-
                          FRS-
                          AtomicOpsCap: 32bit- 64bit- 128bitCAS-
                 DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis+
LTR- 10BitTagReq- OBFF Disabled,
                          AtomicOpsCtl: ReqEn-
                 LnkCap2: Supported Link Speeds: 2.5-8GT/s, Crosslink-
Retimer- 2Retimers- DRS-
                 LnkCtl2: Target Link Speed: 8GT/s, EnterCompliance-
SpeedDis-
                          Transmit Margin: Normal Operating Range,
EnterModifiedCompliance- ComplianceSOS-
                          Compliance Preset/De-emphasis: -6dB
de-emphasis, 0dB preshoot
                 LnkSta2: Current De-emphasis Level: -3.5dB,
EqualizationComplete+ EqualizationPhase1+
                          EqualizationPhase2+ EqualizationPhase3+
LinkEqualizationRequest-
                          Retimer- 2Retimers- CrosslinkRes: unsupported
         Capabilities: [100 v1] Virtual Channel
                 Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
                 Arb:    Fixed- WRR32- WRR64- WRR128-
                 Ctrl:   ArbSelect=Fixed
                 Status: InProgress-
                 VC0:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
                         Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128-
WRR256-
                         Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=01
                         Status: NegoPending- InProgress-
         Capabilities: [250 v1] Latency Tolerance Reporting
                 Max snoop latency: 0ns
                 Max no snoop latency: 0ns
         Capabilities: [258 v1] L1 PM Substates
                 L1SubCap: PCI-PM_L1.2+ PCI-PM_L1.1+ ASPM_L1.2+
ASPM_L1.1+ L1_PM_Substates+
                           PortCommonModeRestoreTime=255us
PortTPowerOnTime=10us
                 L1SubCtl1: PCI-PM_L1.2- PCI-PM_L1.1- ASPM_L1.2- ASPM_L1.1-
                            T_CommonMode=0us LTR1.2_Threshold=0ns
                 L1SubCtl2: T_PwrOn=10us
         Capabilities: [128 v1] Power Budgeting <?>
         Capabilities: [420 v2] Advanced Error Reporting
                 UESta:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                 UEMsk:  DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt-
UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol-
                 UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt-
UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol-
                 CESta:  RxErr- BadTLP- BadDLLP- Rollover- Timeout-
AdvNonFatalErr+
                 CEMsk:  RxErr- BadTLP- BadDLLP- Rollover- Timeout-
AdvNonFatalErr+
                 AERCap: First Error Pointer: 00, ECRCGenCap- ECRCGenEn-
ECRCChkCap- ECRCChkEn-
                         MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap-
                 HeaderLog: 00000000 00000000 00000000 00000000
         Capabilities: [600 v1] Vendor Specific Information: ID=0001
Rev=1 Len=024 <?>
         Capabilities: [900 v1] Secondary PCI Express
                 LnkCtl3: LnkEquIntrruptEn- PerformEqu-
                 LaneErrStat: 0
         Capabilities: [bb0 v1] Physical Resizable BAR
                 BAR 0: current size: 16MB, supported: 16MB
                 BAR 1: current size: 256MB, supported: 64MB 128MB 256MB
                 BAR 3: current size: 32MB, supported: 32MB
         Kernel driver in use: nouveau
         Kernel modules: nouveau

No monitor is connected to the VGA port connected to the ASPEED card,
and a single monitor is connected to the DisplayPort port of the GeForce
video card.

No proprietary Nvidia drivers are installed:
$ sudo aptitude search nvidia| egrep -v "^(p|v)"
$

As the machine was previously able to run Wayland, it's (hopefully, in
an error-free way) possible in principle.  My wild guess is that the
current logic preventing Wayland to run (and generating
WaylandEnable=false in /run/gdm3/custom.conf) might be flawed or too
strong; cf.
https://gitlab.gnome.org/GNOME/gdm/-/merge_requests/171#note_1403697.
Still, I might be wrong on this.  I kindly ask the maintainers and
developers for attention to this bug report.

Off-topic, might be related: now (i.e, using xorg), automatic suspend
after a certain timeout doesn't work (the machine remains up and
running), but a manual suspend via gnome menu does work.  I'm going to
post another bug report on this.

Gratefully,
AlMa

#1040497#12
Date:
2023-07-06 17:55:07 UTC
From:
To:
and not a single comment therein.