# [Solved] 2.6.29_rc3+i915: blank screen at boot

## avx

Hi, wanted to experiment a bit with btrfs and KMS, therefor installed vanilla-sources-2.6.29-rc3.

So, I copied my working .config from 2.6.28 to the new sources, ran `make menuconfig`, enabled btrfs and "i915 kms default", saved, exited, built the kernel and rebooted. After grub showing the "loading kernel-bla"-stuff, the screen flickers once and then there's nothing to see, but the displays backlight. Booting it self works without problems ( I guess), cause I can login blindly. If I disable kms as default, the same behaviour shows.

The displays native resolution is 1366x768 and I'm using intelfb, which also bails out with 2.6.28 (the known bug), but there still gives me a visible 1024x768 resolution. BTW, at the grub-shell, `vbeprobe` lists 0x16(0-2) for 1366x768-(8,16,32), and `testvbe $mode` shows the colored-testscreen.

The card is:

```
[(!) ~kernel] lspci -s 00:02.0 -vvv

00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03) (prog-if 00 [VGA controller])

   Subsystem: Sony Corporation Device 81e2

   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

   Interrupt: pin A routed to IRQ 16

   Region 0: Memory at b0080000 (32-bit, non-prefetchable) [size=512K]

   Region 1: I/O ports at 1800 [size=8]

   Region 2: Memory at c0000000 (32-bit, prefetchable) [size=256M]

   Region 3: Memory at b0040000 (32-bit, non-prefetchable) [size=256K]

   Expansion ROM at <unassigned> [disabled]

   Capabilities: [d0] Power Management version 2

      Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)

      Status: D0 PME-Enable- DSel=0 DScale=0 PME-

   Kernel driver in use: intelfb
```

The .config (`grep -v "^#"`) is located here.

grub.conf-entry 

```
title=Gentoo GNU/Linux (Testing)

root (hd0,0)

kernel /boot/vmlinuz-2.6.29-rc3 root=/dev/sda3 ${crypto_stuff} quiet CONSOLE=/dev/tty1 vga=0x318

initrd /boot/initrd
```

Doesn't matter, what I set in vga= or if I completly remove it!

Any help appreciated, tia,

phLast edited by avx on Mon Feb 23, 2009 3:47 pm; edited 1 time in total

----------

## avx

Well, after ages of googling, I at least found out, that "vga=866" brings the native resolution, both "optical" and listed in `fbset`. Still, the other problem remains, if I set KMS - either default in kernel or via boot-parameter - the screen just gets blank.

Any input?

----------

## alex.blackbit

KMS is under heavy development and far from stable.

you can try a even more cutting-edge git-kernel, at the moment 2.6.29_rc3-r12.

----------

## avx

Just updated to vanilla-sources-2.6.29-rc4 and it's booting up correctly - i.e. I can see stuff - with kms set as default.

New problem, `startx` brings just a non-moving cursor in the upper-left corner. Do I need some special versions of X or recompile stuff for the new kernel?

This is what I have now:

x11-base/xorg-x11-7.4

x11-base/xorg-server-1.5.3-r2 (hal input_devices_evdev input_devices_synaptics ipv6 nptl video_cards_intel xorg)

x11-drivers/xf86-video-intel-2.6.1 (dri)

media-libs/mesa-7.3 (nptl pic video_cards_intel xcb)

x11-proto/dri2proto-1.99.3

x11-proto/xf86driproto-2.0.4

----------

## cruzki123

I think you need xorg-server-1.6_rc2 (If I remember)

you can grab from x11 overlay.

I test it this weekend!!! I have a similar machine, and have the same problems

----------

## avx

Thanks, will try it later on  :Smile: 

----------

## avx

Just finished updating to x11-base/xorg-server (1.5.99.902), above problem still exists, killing X (-9) also fails.

Someone got it working and can tell me, with what versions please?

----------

## szczerb

When compiling with KMS get rid of all fb drivers (so no intelfb, no vesafb or uvesafb). Just enable mode setting. And of course get rid of all fb options on the commandline.

The packages I used to get a working (not yet stable) X with 29_rc3 a few days ago:

```
# KMS

#<media-libs/mesa-9999

#<x11-base/xorg-server-9999

#<x11-drivers/xf86-input-evdev-9999

#<x11-drivers/xf86-input-synaptics-9999

#<x11-drivers/xf86-video-intel-9999

#<x11-libs/libdrm-9999

#<x11-libs/libX11-9999

#<x11-libs/libXext-9999

#<x11-libs/libXi-9999

#<x11-libs/xtrans-9999

#<x11-proto/dri2proto-9999

#<x11-proto/inputproto-9999

#<x11-proto/xcb-proto-9999

#<x11-proto/xextproto-9999

#<x11-proto/xproto-9999

# dependencies

#<x11-libs/libXaw-9999

#<x11-libs/pixman-9999

#<x11-proto/randrproto-9999

# extras

#<x11-apps/xrandr-9999

#<=x11-libs/libXrandr-9999
```

----------

## gringo

 *Quote:*   

> Just updated to vanilla-sources-2.6.29-rc4 and it's booting up correctly

 

cool, i think i have a similar issue with kms in my eeepc901 ( native resolution 1024x600, black screen if i enable kms).

Will check latest git and see if it also works for me.

thanks !

----------

## avx

szczerb, thank you, compiling now  :Smile: 

----------

## avx

Compiled anything on the list(incl. deps), ran revdep-rebuild, removed intelfb from the kernel, removed vga= from grub.conf.

Booting works correctly, but startx still shows the problem. No relevant EE in /var/log/Xorg.0.log, `killall -9 X` still does nothing and X doesn't even pass to the wm, nothing of dwm in `ps aux`.

Do I need to remove framebuffer-support completly from the kernel or is it enough to just leave out the intel/vesa/uvesafb?

----------

## szczerb

You definitely need framebuffer support and mode-setting enabled, just not the old drivers.

Out of curiosity...did you start with a new config produced by 'X -configure'? Try that or with no xorg.conf.

----------

## avx

Tried with no xorg.conf at all, but can try with one after dinner.

----------

## avx

Dinner took a little longer, sorry  :Razz: 

New day, no new luck. Compiled the newest -9999-versions and a new version of xinit, still no go, no matter if I try with or without a xorg.conf.

Someone got a little further?

----------

## gringo

ok, tried latest git (kernel and x11 overlay) and no joy, no kms for me. rc4 actually looks worser to me, box apparently dies completely after switching to "modeline mode" ...  can anyone that has kms running pls share the kernel config ? Because i´m starting to think i´m missing sth. obvious somewhere.

 *Quote:*   

> Someone got a little further?

 

i had some weird behaviour some time ago ( f.ex typing a single character actually echoed three and the mouse was to lazy to move to the right top corner ) and the problem apparently was a missconfiguration in my customized fdi files. I don´t know if this helps you or not but did you try without any fdi configuration files for mouse the too ?

just guessing ...

cheers

----------

## avx

Tried your suggestion, no fdi no luck  :Sad: 

http://ph030.de/files/config-2.6.29-rc4_kms

Edit, some more or less interesting things.

 *dmesg | grep -i intel wrote:*   

> 
> 
> agpgart-intel 0000:00:00.0: Intel 915GM Chipset
> 
> agpgart-intel 0000:00:00.0: detected 7932K stolen memory
> ...

 

 *dmesg | grep -i  drm wrote:*   

> [drm] Initialized drm 1.1.0 20060810
> 
> [drm] TV-11: set mode NTSC 480i 0
> 
> [drm] LVDS-8: set mode 1366x768 13
> ...

 There isn't any tv-out on this notebook

Some things from Xorg.0.log

 *Quote:*   

> (--) PCI:*(0@0:2:0) Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller rev 3, Mem @ 0xb0080000/524288, 0xc0000000/268435456, 0xb0040000/2621
> 
> 44, I/O @ 0x00001800/8
> 
> (--) PCI: (0@0:2:1) Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller rev 3, Mem @ 0x54000000/524288
> ...

 VGA1? No external monitor is attached.Last edited by avx on Fri Feb 13, 2009 2:43 pm; edited 1 time in total

----------

## gringo

 *Quote:*   

> http://ph030.de/files/config-2.6.29-rc4_kms

 

danke  :Smile: 

I´m not in front of the eeepc now but it looks quite similar to what i´m using ( in what kms related stuff is related of course). Will have a closer look this weekend.

i have no idea about your problem, sorry. Check upstream´s bugzilla, maybe someone reported a similar issue and there´s a fix available.

cheers

----------

## avx

NP, I'll keep playing, doesn't matter if my wife or me is going nuts :p

----------

## avx

Well, been recompiling new -9999-stuff all over the weekend, nothing new, except that xorg-server didn't compile two times.

Now, I'm a little puzzled. How does the kernel determine, which resolution is native/correct? I'll guess, with some calls to BIOS or the graphicscard - no matter how, this works. But X11 seems not to be able to do the same, there are warnings/errors in the log, that it can't read EDID-data(update, ain't in the log this time), so I'll guess, this is one point of failure. Also, there are reports, that there's no corepointer/keyboard, but that shouldn't be critical.

Some more output, maybe someone knows something...

 *get-edid wrote:*   

> get-edid: get-edid version 2.0.0
> 
> 	Performing real mode VBE call
> 
> 	Interrupt 0x10 ax=0x4f00 bx=0x0 cx=0x0
> ...

 

 *vbetool vbefp panelsize wrote:*   

> 1366x768

 

 *fbset -i wrote:*   

> 
> 
> mode "1366x768-0"
> 
>     # D: 0.000 MHz, H: 0.000 kHz, V: 0.000 Hz
> ...

 

 *Xorg.0.log wrote:*   

> 
> 
> This is a pre-release version of the X server from The X.Org Foundation.
> 
> It is not supported in any way.
> ...

 

----------

## alex.blackbit

if you do not want to move the parsing of the x server log from your mind into the os, use an alias like this

```
xdiag='grep -E "(^\(WW\)|^\(EE\)|^\(NI\)|^\(??\))" /var/log/Xorg.0.log'
```

----------

## avx

Thx.

Update, just built the new xorg-server-1.5.99.903, along with newest mesa,libdrm,intel-driver and other stuff, still the same results.

----------

## alex.blackbit

linus just released kernel 2.6.29_rc6.

there seem to be some fixes that could affect your situation.

```
Chris Wilson (16):

drm: Potential use-after-free on error path.

drm: Free the object ref on error.

drm/i915: Cleanup trivial leak on execbuffer error path.

drm/i915: hold mutex for unreference() in i915_gem_tiling.c

drm/i915: refleak along pin() error path.

drm: Do not leak a new reference for flink() on an existing name

drm/i915: Set framebuffer alignment based upon the fence constraints.

drm/i915: Release and unlock on mmap_gtt error path.

drm/i915: unpin for an invalid memory domain.

drm/i915: Unpin the ringbuffer if we fail to ioremap it.

drm/i915: Unpin the hws if we fail to kmap.

drm/i915: Unpin the fb on error during construction.

drm/i915: Cleanup the hws on ringbuffer constrution failure.

drm: Check for a NULL encoder when reverting on error path

drm: Propagate failure from setting crtc base.

drm/i915: Fix regression in 95ca9d

Eric Anholt (3):

drm/i915: Cut two args to set_to_gpu_domain that confused this tricky path.

drm/i915: Don't let a device flush to prepare buffers clear new write_domains.

drm/i915: Retire requests from i915_gem_busy_ioctl. 

Jesse Barnes (4):

drm/i915: take struct mutex around fb unref

drm/i915: Keep refs on the object over the lifetime of vmas for GTT mmap.

drm/i915: suspend/resume GEM when KMS is active

drm/i915: fix WC mapping in non-GEM i915 code.

Kristian Høgsberg (5):

drm: Release user fbs in drm_release

drm: Add locking around cursor gem operations.

drm: Bring PLL limits in sync with DDX values.

drm: Collapse identical i8xx_clock() and i9xx_clock().

drm: Use spread spectrum when the bios tells us it's ok.

Roland Dreier (1):

drm/i915: Fix potential AB-BA deadlock in i915_gem_execbuffer()

Steve Aarnio (1):

drm/i915: Don't add panel_fixed_mode to the probed modes list at LVDS init.

Tobias Klauser (1):

drm/i915: Storage class should be before const qualifier

```

maybe you want to boot a shiny new kernel.

----------

## avx

Thanks, building it right now.

Edit:

Wooooot

It works, X is starting up again, with kms enabled as default. Switching from X to VT is considerably faster and doesn't shorttime-distort the screen, switching from VT to X is even faster. Still, X-startup is a little slow, imho, about 3s from VT to dwm, but that may also be related to the slow 4.2krpm disk.

Anyway, I can work again, thanks for all your help,

ph

PS: marking [solved]

----------

## alex.blackbit

who has a clue why CONFIG_DRM_I915 needs AGP && AGP_INTEL ?

are the modern intel gpus still agp?

what magic does CONFIG_AGP beyond providing agp support? more cupholders?

----------

