[Dual-LVDS Acer Iconia laptop] i915/DRM issue: one screen stays off [3.2-rc4+]

Baptiste Jonglez baptiste at jonglez.org
Sun Dec 4 08:07:29 PST 2011


Hi,

I've got a lot of troubles with a dual-LVDS Acer laptop (it doesn't
have a keyboard, but two displays with touchscreens)

The Intel GPU is integrated into the Core i5-480M CPU: it's a bit
older than Sandybridge, as it seems to be based on the Arrandale
micro-architecture.

In the BIOS, both displays work fine; but as soon as the kernel boots
up, the second display (i.e. the one where you usually find a
keyboard) is turned off. The main display works as expected.

xrandr reports two LVDS displays: LVDS1, which is connected, and
LVDS2, which is marked as "disconnected". No matter what I tried, I
can't bring that second display up.

During the boot, just after the drm is set up, the following message
shows up:

  [drm:intel_dsm_pci_probe] *ERROR* failed to get supported _DSM functions

(attached is the relevant part of dmesg [1])



I then tried booting with "video=LVDS-2:e". The same message shows up
while booting, with these two following:

  [drm:drm_crtc_helper_set_config] *ERROR* failed to set mode on [CRTC:4]
  fbcon_init: detected unhandled fb_set_par error, error code -22

(attached is the relevant part of dmesg [2])

With that kernel command line forcing LVDS2, the
"drm_crtc_helper_set_config" error shows up each time I switch tty;
additionally, X does not want to start anymore (spewing out the
aforementioned error multiple times before giving up)


I'm currently using the latest 3.2 kernel from linus' tree
(af968e29acd91ebeb4224e899202c46c93171ecd), but the behavior was
similar with a vanilla 3.1.2.


Other notes about this issue:

 - with an Ubuntu 2.6.35 kernel, the second display is on but
   flickering (with the picture distorted like an old analog TV...).
   The main display is working fine, as always.

 - with an Archlinux 2.6.37.5 kernel, the behavior is the same as with
   3.2, the main display is ok and the second one is off.

 - I did succeed, only once and out of pure luck, to get the second
   screen to work with the 3.1.2 kernel. I haven't been able to
   reproduce that... I had booted with "video=LVDS-2:e" and let the
   laptop running ; pressing a key a few hours later turned back
   *both* displays on (the main display had been turned off by DPMS,
   and the second, well, was off from the start, as always)
   While not very helpful, it shows that it's definitely possible.

 - there are a some unhandled WMI events logged from the acer-wmi
   module [3] when closing the lid, opening it, and most importantly,
   when the (main) screen is turned on or off by DPMS.



What do you think? I haven't really succeeded in nailing the source of
the issue down, but here are a few possibilities I'm thinking of:

 - the driver is not aware it can drive two LVDS displays (not very
   likely, and it has worked once, see above)

 - there is some kind of switch that is able to turn the second screen
   on or off (I'm thinking of something like rfkill). If so, it looks
   like something non-standard and undocumented. This would explain
   the WMI events (see the last note above)

 - buggy ACPI implementation. I tried to extract then recompile the
   DSDT [4], and iasl spews out 17 errors and 12 warnings. Also worth
   noticing is that line in dmesg:
"pci0000:00: ACPI _OSC request failed (AE_ERROR), returned control mask: 0x1d"


The Archlinux userland is:
 - libdrm 2.4.27
 - xorg-server 1.11.2
 - intel-dri 7.11.1
 - xf86-video-intel 2.17.0


Please let me know if there are any other details I should provide.
Regards,
Baptiste

Attachments:
[1] dmesg-DSM-functions.log - drm errors when booting normally
[2] dmesg-video-lvds2.log - drm errors when forcing LVDS2 on the cmdline
[3] acer_wmi.log - WMI events that land in dmesg
[4] dsdt - /sys/firmware/acpi/tables/DSDT
-------------- next part --------------
[    2.294970] agpgart-intel 0000:00:00.0: Intel HD Graphics Chipset
[    2.295226] agpgart-intel 0000:00:00.0: detected gtt size: 2097152K total, 262144K mappable
[    2.296300] agpgart-intel 0000:00:00.0: detected 131072K stolen memory
[    2.296518] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xa0000000
[    2.302498] [drm] Initialized drm 1.1.0 20060810
[    2.318612] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    2.318709] i915 0000:00:02.0: setting latency timer to 64
[    2.424180] mtrr: no more MTRRs available
[    2.424261] [drm] MTRR allocation failed.  Graphics performance may suffer.
[    2.425220] i915 0000:00:02.0: irq 40 for MSI/MSI-X
[    2.425225] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    2.425315] [drm] Driver supports precise vblank timestamp query.
[    2.425466] [drm:intel_dsm_pci_probe] *ERROR* failed to get supported _DSM functions
[    2.425603] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    2.487520] fixme: max PWM is zero.
[    3.003403] Refined TSC clocksource calibration: 2660.000 MHz.
[    3.003492] Switching to clocksource tsc
[    3.296175] fbcon: inteldrmfb (fb0) is primary device
[    3.490453] Console: switching to colour frame buffer device 170x48
[    3.495380] fb0: inteldrmfb frame buffer device
[    3.495420] drm: registered panic notifier
[    3.515547] acpi device:03: registered as cooling_device0
[    3.515962] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input5
[    3.516030] ACPI: Video Device [GFX0] (multi-head: yes  rom: yes  post: no)
[    3.516214] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
-------------- next part --------------
[    2.306530] agpgart-intel 0000:00:00.0: Intel HD Graphics Chipset
[    2.306734] agpgart-intel 0000:00:00.0: detected gtt size: 2097152K total, 262144K mappable
[    2.307707] agpgart-intel 0000:00:00.0: detected 131072K stolen memory
[    2.307934] agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xa0000000
[    2.311694] [drm] Initialized drm 1.1.0 20060810
[    2.318817] i915 0000:00:02.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
[    2.318908] i915 0000:00:02.0: setting latency timer to 64
[    2.362432] mtrr: no more MTRRs available
[    2.362510] [drm] MTRR allocation failed.  Graphics performance may suffer.
[    2.363227] i915 0000:00:02.0: irq 40 for MSI/MSI-X
[    2.363235] [drm] Supports vblank timestamp caching Rev 1 (10.10.2010).
[    2.363319] [drm] Driver supports precise vblank timestamp query.
[    2.363451] [drm:intel_dsm_pci_probe] *ERROR* failed to get supported _DSM functions
[    2.363573] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    2.425580] fixme: max PWM is zero.
[    3.010644] Refined TSC clocksource calibration: 2660.000 MHz.
[    3.010728] Switching to clocksource tsc
[    3.074370] [drm] forcing LVDS-2 connector ON
[    3.142131] fbcon: inteldrmfb (fb0) is primary device
[    3.380663] [drm:drm_crtc_helper_set_config] *ERROR* failed to set mode on [CRTC:4]
[    3.380666] fbcon_init: detected unhandled fb_set_par error, error code -22
[    3.389011] [drm:drm_crtc_helper_set_config] *ERROR* failed to set mode on [CRTC:4]
[    3.391194] Console: switching to colour frame buffer device 170x48
[    3.399524] [drm:drm_crtc_helper_set_config] *ERROR* failed to set mode on [CRTC:4]
[    3.401833] fb0: inteldrmfb frame buffer device
[    3.401852] drm: registered panic notifier
[    3.420810] acpi device:03: registered as cooling_device0
[    3.421225] input: Video Bus as /devices/LNXSYSTM:00/device:00/PNP0A08:00/LNXVIDEO:00/input/input5
[    3.421356] ACPI: Video Device [GFX0] (multi-head: yes  rom: yes  post: no)
[    3.421530] [drm] Initialized i915 1.6.0 20080730 for 0000:00:02.0 on minor 0
-------------- next part --------------
[    6.863084] wmi: Mapper loaded
...
[    8.313598] acer_wmi: Acer Laptop ACPI-WMI Extras
[    8.315141] acer_wmi: Function bitmap for Communication Button: 0x801
[    8.315391] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.07
[    8.318054] Linux media interface: v0.10
[    8.320963] acer_wmi: Brightness must be controlled by generic video driver
[    8.320974] iTCO_wdt: Found a HM55 TCO device (Version=2, TCOBASE=0x0460)
[    8.321080] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[    8.327597] input: Acer WMI hotkeys as /devices/virtual/input/input14
...
[  966.559929] acer_wmi: Unknown function number - 4 - 90   /* entering DPMS (main display off) */
...
[ 6149.355987] acer_wmi: Unknown function number - 4 - 90   /* exiting DPMS (main display backon) */
[ 6151.259037] acer_wmi: Unknown function number - 5 - 0    /* closing lid */
[ 6153.597345] acer_wmi: Unknown function number - 5 - 15   /* opening lid */
[ 6158.112272] acer_wmi: Unknown key number - 0x84          /* pressing the "keyboard" physical button */
[ 6158.387780] acer_wmi: Unknown function number - 2 - 132  /* releasing the "keyboard" physical button*/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dsdt
Type: application/octet-stream
Size: 60508 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20111204/d638f592/attachment-0001.obj>


More information about the dri-devel mailing list