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
Add Cc. to platform-driver-x86 and linux-acpi
Hi Baptiste
於 日,2011-12-04 於 17:07 +0100,Baptiste Jonglez 提到:
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])
Have no idea for this _DSM error, need help from drm and acpi experts.
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.
What does Windows platform's behavior? Does there have any physical key that can turn on/off the second LVDS on Windows?
- 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.
I will look at your dsdt and log from acer-wmi then try to improve acer-wmi.
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)
What's the behavior of Windows?
- 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
Please also attached on dmidecode log.
Thank's a lot! Joey Lee
CC-ing intel-gfx@lists.freedesktop.org (see below)
On Mon, Dec 05, 2011 at 11:00:41AM +0800, joeyli wrote:
Add Cc. to platform-driver-x86 and linux-acpi
Hi Baptiste
於 日,2011-12-04 於 17:07 +0100,Baptiste Jonglez 提到:
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])
Have no idea for this _DSM error, need help from drm and acpi experts.
It definitely looks like an ACPI issue. That function is defined in `drivers/gpu/drm/i915/intel_acpi.c'. The whole file was added more than a year ago by commit 723bfd707a97 (see the relevant thread on intel-gfx@ [1]) to "add _DSM support". One of the first comment is about "Calpella", which is exactly the platform of my laptop (as shown by lshw)
However, I honestly don't know what is wrong with that code... Is there anything I can provide to sort things out?
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.
I just bumped on bug report #29821 on freedesktop.org [2] which dates the "flicker" bug around 2.6.35. I guess the ubuntu kernel doesn't have the fix (and actually, the fix might be responsible for the lack of output on the second display with later kernels.)
I'll try with an older kernel to see what it does.
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.
What does Windows platform's behavior? Does there have any physical key that can turn on/off the second LVDS on Windows?
Actually, the first thing I did was wiping Windows out :)
From what I've seen, both screens seem to work out-of-the-box on
Windows.
There are only two physical keys: - power-on button - "keyboard"-labeled button, which seems to do nothing hardware-related; it triggers an event caught up by acer_wmi. I think all it does is telling the OS: "hey, pull up the software virtual keyboard on the second display".
- 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.
I will look at your dsdt and log from acer-wmi then try to improve acer-wmi.
Thanks a lot!
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)
What's the behavior of Windows?
I meant an internal switch that would be controlled by GPIO or such. It doesn't seem very likely though...
- 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
Please also attached on dmidecode log.
See [3] for dmidecode, I've also provided the dsdt [4] again. Here is also everything related to ACPI in dmesg [5].
Thank's a lot! Joey Lee
Let me know if there's anything else I can provide, Baptiste
[1] http://lists.freedesktop.org/archives/intel-gfx/2010-October/008339.html [2] https://bugs.freedesktop.org/show_bug.cgi?id=29821 [3] http://zorun.tonbnc.fr/lkml/dmidecode [4] http://zorun.tonbnc.fr/lkml/dsdt [5] http://zorn.tonbnc.fr/lkml/dmesg-acpi.log
On Mon, Dec 05, 2011 at 09:56:47PM +0100, Baptiste Jonglez wrote:
CC-ing intel-gfx@lists.freedesktop.org (see below) On Mon, Dec 05, 2011 at 11:00:41AM +0800, joeyli wrote:
[drm:intel_dsm_pci_probe] *ERROR* failed to get supported _DSM functions
(attached is the relevant part of dmesg [1])
Have no idea for this _DSM error, need help from drm and acpi experts.
It definitely looks like an ACPI issue. That function is defined in `drivers/gpu/drm/i915/intel_acpi.c'. The whole file was added more than a year ago by commit 723bfd707a97 (see the relevant thread on intel-gfx@ [1]) to "add _DSM support". One of the first comment is about "Calpella", which is exactly the platform of my laptop (as shown by lshw)
Ignore that - it's entirely harmless.
On Mon, Dec 05, 2011 at 11:00:41AM +0800, joeyli wrote:
Add Cc. to platform-driver-x86 and linux-acpi
Hi Baptiste
於 日,2011-12-04 於 17:07 +0100,Baptiste Jonglez 提到:
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])
The second screen works fine with the attached patch. It actually is 6 months old but seems to have been lost in the wild...
Thanks Benjamin!
There is still the issue of unhandled acer-wmi events, but it's far less incapacitating. I wonder what's the best way to report events to userspace, though (e.g. for the "keyboard" button, userspace might want to know when it is pressed in order to display a virtual keyboard or any other fancy stuff)
Joey, if you need more logs for acer-wmi, I'll be happy to provide.
Baptiste
Hi Baptiste,
On Tue, Dec 6, 2011 at 22:51, Baptiste Jonglez baptiste@jonglez.org wrote:
On Mon, Dec 05, 2011 at 11:00:41AM +0800, joeyli wrote:
Add Cc. to platform-driver-x86 and linux-acpi
Hi Baptiste
於 日,2011-12-04 於 17:07 +0100,Baptiste Jonglez 提到:
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])
The second screen works fine with the attached patch. It actually is 6 months old but seems to have been lost in the wild...
You don't have the problem of the second backlight still off? On our Iconia, we need to trigger a special DMI command to set it up (SDSS, IIRC).
Thanks Benjamin!
All the credits are from Ajax and somebody else on IRC I don't recall, really sorry. Thanks to them.
Cheers, Benjamin.
There is still the issue of unhandled acer-wmi events, but it's far less incapacitating. I wonder what's the best way to report events to userspace, though (e.g. for the "keyboard" button, userspace might want to know when it is pressed in order to display a virtual keyboard or any other fancy stuff)
Joey, if you need more logs for acer-wmi, I'll be happy to provide.
Baptiste
On Tue, Dec 06, 2011 at 11:12:26PM +0100, Benjamin Tissoires wrote:
Hi Baptiste,
Hi,
On Tue, Dec 6, 2011 at 22:51, Baptiste Jonglez baptiste@jonglez.org wrote:
The second screen works fine with the attached patch. It actually is 6 months old but seems to have been lost in the wild...
You don't have the problem of the second backlight still off? On our Iconia, we need to trigger a special DMI command to set it up (SDSS, IIRC).
No, with the patch, it worked out-of-the-box.
I can even control the brightness in `/sys/class/backlight/acpi_video0/brightness' (it affects both displays at the same time though). But even at 0, it's still perfectly readable.
Maybe this a bug that got fixed recently? I've actually tried the 3.1 kernel (and then the 3.2-rc4) because I noticed a lot of commits and improvements in the i915 driver recently.
Thanks Benjamin!
All the credits are from Ajax and somebody else on IRC I don't recall, really sorry. Thanks to them.
Cheers, Benjamin.
Regards, Baptiste
Hi,
On Tue, Dec 6, 2011 at 23:31, Baptiste Jonglez baptiste@jonglez.org wrote:
On Tue, Dec 06, 2011 at 11:12:26PM +0100, Benjamin Tissoires wrote:
Hi Baptiste,
Hi,
On Tue, Dec 6, 2011 at 22:51, Baptiste Jonglez baptiste@jonglez.org wrote:
The second screen works fine with the attached patch. It actually is 6 months old but seems to have been lost in the wild...
You don't have the problem of the second backlight still off? On our Iconia, we need to trigger a special DMI command to set it up (SDSS, IIRC).
No, with the patch, it worked out-of-the-box.
mmm, this is weird. We must not have the same bios or device version. We need to explicitly set the LCD2 up.
I can even control the brightness in `/sys/class/backlight/acpi_video0/brightness' (it affects both displays at the same time though). But even at 0, it's still perfectly readable.
Yes, the acpi can control both brightness. But WMI can control each brightness. However, we are not sure this is what people want. So we do not plan to introduce a second brightness control.
Maybe this a bug that got fixed recently? I've actually tried the 3.1 kernel (and then the 3.2-rc4) because I noticed a lot of commits and improvements in the i915 driver recently.
We doubled-checked on 3.2-rc4, and we still need our patch. This is definitively a bios/hardware configuration problem.
Cheers, Benjamin
Thanks Benjamin!
All the credits are from Ajax and somebody else on IRC I don't recall, really sorry. Thanks to them.
Cheers, Benjamin.
Regards, Baptiste
On Thu, Dec 08, 2011 at 11:11:22AM +0100, Benjamin Tissoires wrote:
Hi,
On Tue, Dec 6, 2011 at 23:31, Baptiste Jonglez baptiste@jonglez.org wrote:
On Tue, Dec 06, 2011 at 11:12:26PM +0100, Benjamin Tissoires wrote:
Hi Baptiste,
Hi,
On Tue, Dec 6, 2011 at 22:51, Baptiste Jonglez baptiste@jonglez.org wrote:
The second screen works fine with the attached patch. It actually is 6 months old but seems to have been lost in the wild...
You don't have the problem of the second backlight still off? On our Iconia, we need to trigger a special DMI command to set it up (SDSS, IIRC).
No, with the patch, it worked out-of-the-box.
mmm, this is weird. We must not have the same bios or device version. We need to explicitly set the LCD2 up.
The version of our BIOS is 1.01, dated from 12/23/2010.
Do you think there's any chance these patches will make it to the 3.2 kernel? I guess you want to make sure your second patch works fine before...
Baptiste
dri-devel@lists.freedesktop.org