Discussion:
inteldrm(4) regression and multi screen at boot
Sebastien Marie
2017-07-06 09:44:04 UTC
Permalink
Hi,

I have a problem in screen initialisation with latest update of
inteldrm(4) (amd64).

I have the problem since snap Jun 27 and it is still present on snap of
Jul 5.


On my laptop (dmesg below), I use an external monitor on VGA1 port (and
xrandr to make VGA1 left-of LVDS1).


1. When booting with VGA1 connected, on inteldrm(4) initialisation,
LVDS1 switchs to black screen, and VGA1 have the output.

Previously, the output was only duplicated on VGA1 (same output on LVDS1
and VGA1).

If I put "xrandr --output LVDS1 --auto" in my .xsession, I got the
following error:

xrandr: Output LVDS1 is not disconnected but has no modes

But if I open a xterm, and run the same command, LVDS1 is correctly
used, and LVDS1 and VGA1 have the same output (on X11, if switching to
textual console, only VGA1 has output).


2. When booting with external monitor disconnected, LVDS1 is correctly
used, and plug in the external monitor to VGA1 after inteldrm(4)
initialisation works well.


Thanks.
--
Sebastien Marie


(output while booting with external monitor unplugged, and plugged after
interldrm(4) initialisation)

$ xrandr
Screen 0: minimum 8 x 8, current 2304 x 800, maximum 32767 x 32767
LVDS1 connected primary 1280x800+1024+0 (normal left inverted right x axis y axis) 304mm x 190mm
1280x800 59.91*+
1024x768 60.00
800x600 60.32 56.25
640x480 59.94
TV1 unknown connection (normal left inverted right x axis y axis)
848x480 59.94 +
640x480 59.94 +
1024x768 59.94
800x600 59.94
VGA1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 304mm x 228mm
1024x768 60.00*+ 75.08 75.03 70.07
832x624 74.55
800x600 75.00 60.32 56.25
640x480 75.00 66.67 60.00
720x400 70.08
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

$ dmesg
OpenBSD 6.1-current (GENERIC.MP) #62: Tue Jun 27 19:22:12 MDT 2017
***@amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP
real mem = 2122121216 (2023MB)
avail mem = 2052075520 (1957MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0 at mainbus0: SMBIOS rev. 2.4 @ 0xf398f (23 entries)
bios0: vendor Hewlett-Packard version "68YCU Ver. F.0B" date 09/05/2007
bios0: Hewlett-Packard HP Compaq nc6400 (EH522AV)
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP SLIC HPET APIC MCFG TCPA SSDT SSDT SSDT SSDT SSDT
acpi0: wakeup devices C098(S5) C0F7(S3) C0F8(S3) C0F9(S3) C0FA(S3) C101(S5) C229(S5) C111(S5) C234(S5) C235(S5)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 14318179 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz, 1662.76 MHz
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG,LAHF,PERF,SENSOR
cpu0: 2MB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 166MHz
cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: Intel(R) Core(TM)2 CPU T5500 @ 1.66GHz, 1662.51 MHz
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG,LAHF,PERF,SENSOR
cpu1: 2MB 64b/line 8-way L2 cache
cpu1: smt 0, core 1, package 0
ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 24 pins
acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
acpiprt0 at acpi0: bus 2 (C098)
acpiprt1 at acpi0: bus 8 (C101)
acpiprt2 at acpi0: bus 16 (C111)
acpiprt3 at acpi0: bus 0 (C002)
acpiec0 at acpi0
acpicpu0 at acpi0: !C2(***@1 ***@0x10), C1(***@1 mwait.1), PSS
acpicpu1 at acpi0: !C2(***@1 ***@0x10), C1(***@1 mwait.1), PSS
acpipwrres0 at acpi0: C1E7, resource for C1E2
acpipwrres1 at acpi0: C1EF, resource for C1E8
acpipwrres2 at acpi0: C1F6, resource for C1F0
acpipwrres3 at acpi0: C220, resource for C21E
acpipwrres4 at acpi0: C228, resource for C11A
acpipwrres5 at acpi0: C32D, resource for C331
acpipwrres6 at acpi0: C32E, resource for C332
acpipwrres7 at acpi0: C32F, resource for C333
acpipwrres8 at acpi0: C330, resource for C334
acpitz0 at acpi0: critical temperature is 256 degC
acpitz1 at acpi0: critical temperature is 105 degC
acpitz2 at acpi0: critical temperature is 105 degC
acpitz3 at acpi0: critical temperature is 105 degC
acpitz4 at acpi0: critical temperature is 110 degC
"PNP0A06" at acpi0 not configured
tpm0 at acpi0: C205 addr 0xfed40000/0x5000: Infineon SLB9635 1.2 rev 0x10
"PNP0303" at acpi0 not configured
"SYN0122" at acpi0 not configured
"HPQ0004" at acpi0 not configured
"HPQ0006" at acpi0 not configured
acpibat0 at acpi0: C1B4 model "Primary" serial 03899 2007/05/17 type LIon oem "Hewlett-Packard"
acpibat1 at acpi0: C1B3 not present
acpiac0 at acpi0: AC unit online
acpibtn0 at acpi0: C249
acpibtn1 at acpi0: C241
"PNP0C14" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
acpivideo0 at acpi0: C085
cpu0: Enhanced SpeedStep 1662 MHz: speeds: 1667, 1333, 1000 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel 82945GM Host" rev 0x03
inteldrm0 at pci0 dev 2 function 0 "Intel 82945GM Video" rev 0x03
drm0 at inteldrm0
intagp0 at inteldrm0
agp0 at intagp0: aperture at 0xe0000000, size 0x10000000
inteldrm0: apic 1 int 16
inteldrm0: 848x480, 32bpp
wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation)
wsdisplay0: screen 1-5 added (std, vt100 emulation)
"Intel 82945GM Video" rev 0x03 at pci0 dev 2 function 1 not configured
azalia0 at pci0 dev 27 function 0 "Intel 82801GB HD Audio" rev 0x01: msi
azalia0: codecs: Analog Devices AD1981HD, AT&T/Lucent/0x3026, using Analog Devices AD1981HD
audio0 at azalia0
ppb0 at pci0 dev 28 function 0 "Intel 82801GB PCIE" rev 0x01: msi
pci1 at ppb0 bus 8
bge0 at pci1 dev 0 function 0 "Broadcom BCM5753M" rev 0x21, BCM5750 C1 (0x4201): msi, address 00:1b:38:33:97:b0
brgphy0 at bge0 phy 1: BCM5750 10/100/1000baseT PHY, rev. 0
ppb1 at pci0 dev 28 function 1 "Intel 82801GB PCIE" rev 0x01: msi
pci2 at ppb1 bus 16
bwi0 at pci2 dev 0 function 0 "Broadcom BCM4312" rev 0x01: apic 1 int 17, address 00:1a:73:6c:90:d3
uhci0 at pci0 dev 29 function 0 "Intel 82801GB USB" rev 0x01: apic 1 int 20
uhci1 at pci0 dev 29 function 1 "Intel 82801GB USB" rev 0x01: apic 1 int 22
uhci2 at pci0 dev 29 function 2 "Intel 82801GB USB" rev 0x01: apic 1 int 18
uhci3 at pci0 dev 29 function 3 "Intel 82801GB USB" rev 0x01: apic 1 int 19
ehci0 at pci0 dev 29 function 7 "Intel 82801GB USB" rev 0x01: apic 1 int 20
usb0 at ehci0: USB revision 2.0
uhub0 at usb0 configuration 1 interface 0 "Intel EHCI root hub" rev 2.00/1.00 addr 1
ppb2 at pci0 dev 30 function 0 "Intel 82801BAM Hub-to-PCI" rev 0xe1
pci3 at ppb2 bus 2
cbb0 at pci3 dev 6 function 0 "TI PCIXX12 CardBus" rev 0x00: apic 1 int 18
"TI PCIXX12 Multimedia Card Reader" rev 0x00 at pci3 dev 6 function 2 not configured
sdhc0 at pci3 dev 6 function 3 "TI PCIXX12 SD" rev 0x00: apic 1 int 22
sdhc0: SDHC 1.0, 48 MHz base clock
sdmmc0 at sdhc0: 4-bit
"TI PCIXX12 Smart Card" rev 0x00 at pci3 dev 6 function 4 not configured
cardslot0 at cbb0 slot 0 flags 0
cardbus0 at cardslot0: bus 3 device 0 cacheline 0x10, lattimer 0x20
pcmcia0 at cardslot0
pcib0 at pci0 dev 31 function 0 "Intel 82801GBM LPC" rev 0x01
pciide0 at pci0 dev 31 function 1 "Intel 82801GB IDE" rev 0x01: DMA, channel 0 configured to compatibility, channel 1 configured to compatibility
atapiscsi0 at pciide0 channel 0 drive 0
scsibus1 at atapiscsi0: 2 targets
cd0 at scsibus1 targ 0 lun 0: <HL-DT-ST, DVDRAM GSA-U10N, HP06> ATAPI 5/cdrom removable
cd0(pciide0:0:0): using PIO mode 4, DMA mode 2
pciide0: channel 1 ignored (disabled)
ahci0 at pci0 dev 31 function 2 "Intel 82801GBM AHCI" rev 0x01: msi, AHCI 1.1
ahci0: port 0: 1.5Gb/s
scsibus2 at ahci0: 32 targets
sd0 at scsibus2 targ 0 lun 0: <ATA, ST500LM012 HN-M5, 2BA3> SCSI3 0/direct fixed naa.50004cf2107a1e38
sd0: 476940MB, 512 bytes/sector, 976773168 sectors
usb1 at uhci0: USB revision 1.0
uhub1 at usb1 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb2 at uhci1: USB revision 1.0
uhub2 at usb2 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb3 at uhci2: USB revision 1.0
uhub3 at usb3 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
usb4 at uhci3: USB revision 1.0
uhub4 at usb4 configuration 1 interface 0 "Intel UHCI root hub" rev 1.00/1.00 addr 1
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5 irq 1 irq 12
pckbd0 at pckbc0 (kbd slot)
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
wsmouse0 at pms0 mux 0
wsmouse1 at pms0 mux 0
pms0: Synaptics touchpad, firmware 6.2
pcppi0 at isa0 port 0x61
spkr0 at pcppi0
vmm0 at mainbus0: VMX
ugen0 at uhub2 port 1 "AuthenTec Fingerprint Sensor" rev 1.10/6.23 addr 2
vscsi0 at root
scsibus3 at vscsi0: 256 targets
softraid0 at root
scsibus4 at softraid0: 256 targets
sd1 at scsibus4 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006> SCSI2 0/direct fixed
sd1: 473861MB, 512 bytes/sector, 970467600 sectors
root on sd1a (46bec6cd2747dbb1.a) swap on sd1b dump on sd1b
Mark Kettenis
2017-07-07 18:04:44 UTC
Permalink
Date: Thu, 6 Jul 2017 11:44:04 +0200
Content-Disposition: inline
Hi,
I have a problem in screen initialisation with latest update of
inteldrm(4) (amd64).
I have the problem since snap Jun 27 and it is still present on snap of
Jul 5.
On my laptop (dmesg below), I use an external monitor on VGA1 port (and
xrandr to make VGA1 left-of LVDS1).
1. When booting with VGA1 connected, on inteldrm(4) initialisation,
LVDS1 switchs to black screen, and VGA1 have the output.
Previously, the output was only duplicated on VGA1 (same output on LVDS1
and VGA1).
If I put "xrandr --output LVDS1 --auto" in my .xsession, I got the
xrandr: Output LVDS1 is not disconnected but has no modes
But if I open a xterm, and run the same command, LVDS1 is correctly
used, and LVDS1 and VGA1 have the same output (on X11, if switching to
textual console, only VGA1 has output).
2. When booting with external monitor disconnected, LVDS1 is correctly
used, and plug in the external monitor to VGA1 after inteldrm(4)
initialisation works well.
Thanks.
--
Sebastien Marie
(output while booting with external monitor unplugged, and plugged after
interldrm(4) initialisation)
$ xrandr
Screen 0: minimum 8 x 8, current 2304 x 800, maximum 32767 x 32767
LVDS1 connected primary 1280x800+1024+0 (normal left inverted right x axis y axis) 304mm x 190mm
1280x800 59.91*+
1024x768 60.00
800x600 60.32 56.25
640x480 59.94
TV1 unknown connection (normal left inverted right x axis y axis)
848x480 59.94 +
640x480 59.94 +
1024x768 59.94
800x600 59.94
VGA1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 304mm x 228mm
1024x768 60.00*+ 75.08 75.03 70.07
832x624 74.55
800x600 75.00 60.32 56.25
640x480 75.00 66.67 60.00
720x400 70.08
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
$ dmesg
OpenBSD 6.1-current (GENERIC.MP) #62: Tue Jun 27 19:22:12 MDT 2017
real mem = 2122121216 (2023MB)
avail mem = 2052075520 (1957MB)
mpath0 at root
scsibus0 at mpath0: 256 targets
mainbus0 at root
bios0: vendor Hewlett-Packard version "68YCU Ver. F.0B" date 09/05/2007
bios0: Hewlett-Packard HP Compaq nc6400 (EH522AV)
acpi0 at bios0: rev 2
acpi0: sleep states S0 S3 S4 S5
acpi0: tables DSDT FACP SLIC HPET APIC MCFG TCPA SSDT SSDT SSDT SSDT SSDT
acpi0: wakeup devices C098(S5) C0F7(S3) C0F8(S3) C0F9(S3) C0FA(S3) C101(S5) C229(S5) C111(S5) C234(S5) C235(S5)
acpitimer0 at acpi0: 3579545 Hz, 24 bits
acpihpet0 at acpi0: 14318179 Hz
acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat
cpu0 at mainbus0: apid 0 (boot processor)
cpu0: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG,LAHF,PERF,SENSOR
cpu0: 2MB 64b/line 8-way L2 cache
cpu0: smt 0, core 0, package 0
mtrr: Pentium Pro MTRR support, 8 var ranges, 88 fixed ranges
cpu0: apic clock running at 166MHz
cpu0: mwait min=64, max=64, C-substates=0.2.2.2.2, IBE
cpu1 at mainbus0: apid 1 (application processor)
cpu1: FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,DTES64,MWAIT,DS-CPL,VMX,EST,TM2,SSSE3,CX16,xTPR,PDCM,NXE,LONG,LAHF,PERF,SENSOR
cpu1: 2MB 64b/line 8-way L2 cache
cpu1: smt 0, core 1, package 0
ioapic0 at mainbus0: apid 1 pa 0xfec00000, version 20, 24 pins
acpimcfg0 at acpi0 addr 0xf8000000, bus 0-63
acpiprt0 at acpi0: bus 2 (C098)
acpiprt1 at acpi0: bus 8 (C101)
acpiprt2 at acpi0: bus 16 (C111)
acpiprt3 at acpi0: bus 0 (C002)
acpiec0 at acpi0
acpipwrres0 at acpi0: C1E7, resource for C1E2
acpipwrres1 at acpi0: C1EF, resource for C1E8
acpipwrres2 at acpi0: C1F6, resource for C1F0
acpipwrres3 at acpi0: C220, resource for C21E
acpipwrres4 at acpi0: C228, resource for C11A
acpipwrres5 at acpi0: C32D, resource for C331
acpipwrres6 at acpi0: C32E, resource for C332
acpipwrres7 at acpi0: C32F, resource for C333
acpipwrres8 at acpi0: C330, resource for C334
acpitz0 at acpi0: critical temperature is 256 degC
acpitz1 at acpi0: critical temperature is 105 degC
acpitz2 at acpi0: critical temperature is 105 degC
acpitz3 at acpi0: critical temperature is 105 degC
acpitz4 at acpi0: critical temperature is 110 degC
"PNP0A06" at acpi0 not configured
tpm0 at acpi0: C205 addr 0xfed40000/0x5000: Infineon SLB9635 1.2 rev 0x10
"PNP0303" at acpi0 not configured
"SYN0122" at acpi0 not configured
"HPQ0004" at acpi0 not configured
"HPQ0006" at acpi0 not configured
acpibat0 at acpi0: C1B4 model "Primary" serial 03899 2007/05/17 type LIon oem "Hewlett-Packard"
acpibat1 at acpi0: C1B3 not present
acpiac0 at acpi0: AC unit online
acpibtn0 at acpi0: C249
acpibtn1 at acpi0: C241
"PNP0C14" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
"PNP0C0B" at acpi0 not configured
acpivideo0 at acpi0: C085
cpu0: Enhanced SpeedStep 1662 MHz: speeds: 1667, 1333, 1000 MHz
pci0 at mainbus0 bus 0
pchb0 at pci0 dev 0 function 0 "Intel 82945GM Host" rev 0x03
inteldrm0 at pci0 dev 2 function 0 "Intel 82945GM Video" rev 0x03
drm0 at inteldrm0
intagp0 at inteldrm0
agp0 at intagp0: aperture at 0xe0000000, size 0x10000000
inteldrm0: apic 1 int 16
inteldrm0: 848x480, 32bpp
That is an odd resolution. The native resolution of your panel is
1280x800 I presume?

For some reason the initial mode set for the kernel framebuffer
selects this weird resolution. Building a kernel with DRMDEBUG un
sys/dev/pci/drm/drmP.h uncommented might provide some hints what is
going wrong here.

Cheers,

Mark

Loading...