7:50 - Friday, 18 April 2014

How Can I Fix Broken I915 Drivers For Intel GPUs?

I’ve got troubles getting the i915 drivers to work correctly on my laptop (HP Pavilion DM4 2101ea).

Specifically, the laptop screen goes black and stays black after the splash graphic when booting both from USB key and from harddrive.

To get anything on to the display after the splash screen I have to boot either with

  • acpi=off
  • nomodeset
  • i915.modeset=0

I’d rather not turn ACPI off because I like my fans spinning and nomodeset is a bit overkill, so for now I’m booting with i915.modeset=0.

Unfortunately, this turns off KMS and my current maximum resolution on the laptop screen is fixed to 1024×768 instead of its real capability.

When not setting any of the above boot flags and I plug in an external monitor, the external monitor works fine. When booting with the flags, the external monitor works fine too, but can only do 1024×768 and can’t do anything else than mirroring the laptop display.

I did upgrade the i915 drivers from 2.17 that ship with Precise to 2.19 which are the most recent ones but without luck of getting anything to display.

Here’s my lspci output:

00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09)00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04)00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05)00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5)00:1c.2 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 3 (rev b5)00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5)00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05)00:1f.0 ISA bridge: Intel Corporation HM65 Express Chipset Family LPC Controller (rev 05)00:1f.2 SATA controller: Intel Corporation 6 Series/C200 Series Chipset Family 6 port SATA AHCI Controller (rev 05)00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05)01:00.0 Network controller: Broadcom Corporation BCM4313 802.11b/g/n Wireless LAN Controller (rev 01)02:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS5116 PCI Express Card Reader (rev 01)08:00.0 Ethernet controller: Atheros Communications Inc. AR8151 v2.0 Gigabit Ethernet (rev c0)

Here’s lshw -C video

  *-display UNCLAIMED            description: VGA compatible controller       product: 2nd Generation Core Processor Family Integrated Graphics Controller       vendor: Intel Corporation       physical id: 2       bus info: pci@0000:00:02.0       version: 09       width: 64 bits       clock: 33MHz       capabilities: msi pm vga_controller bus_master cap_list       configuration: latency=0       resources: memory:c0000000-c03fffff memory:b0000000-bfffffff ioport:4000(size=64)

Both outputs are generated after booting with i915.modeset=0.

Here’s a complete Xorg.log file from a boot into a black screen: https://gist.github.com/479ce06454e47d6123e1

The graphics card is a Intel HD 3000 integrated GPU.

I’ve never had problems with Intel hardware on Ubuntu before so this is very surprising.

If you could

  • provide a method to make i915 work,
  • suggest alternative drivers
  • a way to boot with i915.modeset=0 but higher resolutions and KMS on
  • or explain what is happening and how to fix it

I’ll give you an answer badge. :)

Thanks

In /etc/rc.local, just before exit 0, put a line setpci -s 00:02.0 F4.B=30.

This will turn on the backlight, to brightness 30 (where 00 is full bright and FF is full dark). The boot process will be dark but the light will come on immediately after the login screen appears.

nomodeset is not used with this method, so the native screen resolution is available. I like the results, but still can’t adjust my screen brightness with the Fn key.

BTW I got this from http://ubuntuforums.org/showthread.php?t=1744809. To help explain the command above, lspcishows the Intel VGA controller at pci bus address 00:02.0.

Be careful setting i915.modeset=0.

All versions since 2.15 of the Intel-driver only support KMS. If you’ve deactivated KMS e.g. by adding the option i915.modeset=0 to the file /etc/default/grub, please reactivate KMS by deleting this option.

Source: https://launchpad.net/~glasen/+archive/intel-driver

Im working through similar issues with my x230, but more focussed on getting external screens running. I had to use the nomodeset flag to get installed. Here is what I have so far:
display port on x230 not working

my steps so far to get closer to working:

  1. Dont use nomodeset or modeset=0, as it throws off KMS and you wont be able to do anything.
  2. sudo vi /etc/initramfs-tools/modules and add in the i915 and intel_agp drivers, save, and rebuild by running update-initramfs -u

Ive also made a custom x config stub in /usr/share/X11/xorg.conf.d/ to load the intel driver and give it some specifications, and a monitor config for all my devices. However, I still cant get my second monitor running!

Also – Ive used arandr to create a shell script that sets all my resolutions nicely, except it too wont cause my displayport-connected monitor to function…

Hope that helps,

Try turning off the bootloader graphics. Run this command in a Terminal window:

gksudo xdiagnose

Click the checkbox labeled “Disable bootloader graphics”, hit Apply, then reboot.

enter image description here

If you want to report a bug on this, I’d suggest turning on the graphics debug messages (first checkbox above), reproducing the bug, and then collecting the output of dmesg.

Beyond that, see http://wiki.ubuntu.com/X/Troubleshooting/BlankScreen for other common ways to diagnose these types of issues. I also have a more in-depth explanation of what happens to cause blank / black screens written up there, if you really want to know what’s going on.

Share

Advertisement

Comment