# intel gma 950, can't get framebuffer or X working

## bunder

hello...  i recently bought a MSI Wind AP1900, which comes with an intel GMA 950 video card.

the livecd works great framebuffer-wise, but i can't get it to work using the system kernel.  the kernel versions are the same.  (2.6.29-r5)

i tried intelfb and vesafb...  no go.  my laptop on the other hand, uses radeonfb and it looks great.  same kernel version as well.

i also tried xorg, all i got was a black screen.  i even tried ~x86 of xf86-video-intel and that gave me a black screen and a hardlock.

does anyone have this machine with gentoo or linux on it?  how do you get a nice framebuffer going and xorg?

thanks

----------

## pappy_mcfae

I've been able to get a few of those up and running for others. I also have it up and running on this machine. For best results, I'd prefer to set you up with one of my kernel seed derived kernels. To do that, I need to see the results of lspci -n and cat /proc/cpuinfo as well as your kernel .config and your /etc/fstab file. Once that's done, I also have an /etc/X11/xorg.conf which is working quite well with libdrm-2.4.12, media-libs/mesa-7.5-r2, xorg-server-1.6.2-r1, and xf86-video-intel-2.8.0:

```
Section "ServerLayout"

   Identifier     "X.org Configured"

   Screen      0  "Screen0" 0 0

   Option "AIGLX" "true"

EndSection

Section "Files"

    FontPath   "/usr/share/fonts/100dpi/:unscaled"

    FontPath   "/usr/share/fonts/75dpi/:unscaled"

    FontPath   "/usr/share/fonts/corefonts/"

    FontPath   "/usr/share/fonts/cyrillic/"

    FontPath   "/usr/share/fonts/default/ghostscript/"

    FontPath   "/usr/share/fonts/misc/"

    FontPath   "/usr/share/fonts/OTF/"

    FontPath   "/usr/share/fonts/Speedo/"

    FontPath   "/usr/share/fonts/TTF/"

    FontPath   "/usr/share/fonts/ttf-bitstream-vera/"

    FontPath   "/usr/share/fonts/misc/"

    FontPath   "/usr/share/fonts/Type1/"

EndSection

Section "Module"

   Load  "glx"

   Load  "extmod"

   Load  "dbe"

   Load  "dri"

   Load  "freetype"

   Load  "v4l"

   Load  "synaptics"

   Load  "evdev"

EndSection

Section "InputDevice"

    Identifier     "Keyboard0"

    Driver         "evdev"

   Option "XkbOptions" "terminate:ctrl_alt_bksp" #brings back zapping.

EndSection

Section "Monitor"

   DisplaySize     330   210   # mm

   Identifier   "LVDS"

   VertRefresh 60

   Option "ReducedBlanking" "true"

EndSection

Section "Device"

   Identifier  "Card0"

   Driver      "intel"

   VendorName  "Intel Corporation"

   BoardName   "Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller"

   Option "DRI" "true"

   Option "TripleBuffer" "true"

   Option "PageFlip" "true"

   Option "XvMC" "true"

   Option "XVideo" "true"

   Option "XvPreferOverlay" "true"

   Option "LVDSFixedMode" "true"

EndSection

Section "Screen"

   Identifier "Screen0"

   Device     "Card0"

   Monitor    "LVDS"

   SubSection "Display"

      Viewport   0 0

      Depth     24

   EndSubSection

EndSection

```

Blessed be!

Pappy

----------

## bbgermany

Instead using vesafb, uvesafb or intelfb, use KMS with this chipset. It works perfect for me.

bb

----------

## bunder

hey pappy,

hopefully this should be all you need...  i added dmesg and lsusb too, i figured every little bit helps.   :Razz: 

but it's too big to wgetpaste, so here it is:  http://www.hamiltonshells.ca/~chris/storage/other/pappyfile

thanks

----------

## pappy_mcfae

Bunder, 

 *Quote:*   

> Bus 001 Device 004: ID 5986:0240 Acer, Inc <- not sure what this is, maybe my webcam?

 

Yes. According to google, it's a Bison web cam.

 *Quote:*   

> my wireless card isn't showing up here either...  i thought it's supposed to, it's usb-based according to the internet.  it does show in lspci though.

 

I tried setting it as a module. My experience is wireless devices work better as modules. Since the driver comes from Realtek, you probably don't need to load firmware.

As far as getting X to work, my experience is that xf86-video-intel-2.7.1 is very stable. I strongly suggest you load that version to make sure of the best chance of success. 

KMS is anything but stable. I don't use it, nor do I recommend it. I'm sure there are others that would disagree. That's fine. This isn't about making others happy, this is about getting *your machine* working.

If these fixes get you going, I'll take a second walk through your .config, and tighten it up a bit. For now, I'm still in troubleshooting mode.  :Smile: 

Click here for your new .config. Compile as is.

For the best results, please do the following:

1) Move your .config file out of your kernel source directory (/usr/src/linux-  ).

2) Issue the command make mrproper. This is a destructive step. It returns the source to pristine condition. Unmoved .config files will be deleted!

3) Copy my .config into your source directory.

4) Issue the command make && make modules_install.

5) Install the kernel as you normally would, and reboot.

6) Once it boots, please post /var/log/dmesg so I can see how things loaded.

After this is all done, start X and post /var/log/Xorg.0.log so I can see where we need to go from there.

Blessed be!

Pappy

----------

## bunder

http://dpaste.com/72680/

i'm guessing this might be the problem:

 *Quote:*   

> intelfb: Non-CRT device is enabled ( DVO port B ).  Disabling mode switching.
> 
> intelfb: Video mode must be programmed at boot time.
> 
> 

 

and the xorg log (with no config)...

 *Quote:*   

> X.Org X Server 1.6.2
> 
> Release Date: 2009-7-7
> 
> X Protocol Version 11, Revision 0
> ...

 

edit:

with your config:

 *Quote:*   

> X.Org X Server 1.6.2
> 
> Release Date: 2009-7-7
> 
> X Protocol Version 11, Revision 0
> ...

 

dmesg after trying to use xorg:

 *Quote:*   

> drm: module is already loaded
> 
> pci 0000:00:02.0: setting latency timer to 64
> 
> [drm] Initialized i915 1.6.0 20080730 on minor 0
> ...

 

----------

## Mike Hunt

Maybe between x86 and ~x86 =x11-drivers/xf86-video-intel-2.7.1may be worth a try.  :Smile: 

Please post your emerge --info

Go Ti-Cats.   :Smile: 

----------

## pappy_mcfae

Post emerge --info. I see some issues that need to be addressed.

Blessed be!

Pappy

----------

## pigeon768

If you decide to use KMS, upgrade to 2.6.30. There were substantial improvements from .29->.30 in regards to intel's KMS code. Unfortunately I only have experience with KMS, and can't really give you a whole lot of pointers otherwise. (kms works fine for me on my eeepc)

One thing I noticed - it's complaining that the evdev module does not exist - if you have evdev enabled in INPUT devices, you probably need to re-emerge all your xf86-* drivers. (this couldn't hurt anyway - if you update all your xf86-* drivers, and then update xorg-server, chances are you may have some sort of ABI mismatch. Try re-merging all those packages)

Regarding your wireless card - consider using CONFIG_RTL8187SE rather than CONFIG_RTL8187. You'll find it under device drivers->staging drivers->exclude staging drivers from being built [n]. (or you may not - if you don't, upgrade to 2.6.30)

----------

## bbgermany

Hi bunder,

please set these options instead of intelfb:

```

CONFIG_DRM_I915=y

CONFIG_DRM_I915_KMS=y

```

and disable the following:

```

CONFIG_FB

CONFIG_FB_DDC

CONFIG_FB_BOOT_VESA_SUPPORT

CONFIG_FB_CFB_FILLRECT

CONFIG_FB_CFB_COPYAREA

CONFIG_FB_CFB_IMAGEBLIT

CONFIG_FB_MODE_HELPERS

CONFIG_FB_INTEL

CONFIG_FB_INTEL_I2C

CONFIG_BACKLIGHT_LCD_SUPPORT

CONFIG_LCD_CLASS_DEVICE

CONFIG_BACKLIGHT_GENERIC

```

KMS will handle the framebuffer stuff for you including DRM/DRI.

bb

----------

## bunder

 *pappy_mcfae wrote:*   

> Post emerge --info. I see some issues that need to be addressed.
> 
> Blessed be!
> 
> Pappy

 

i can't possibly think of what would be wrong here, but okay... http://dpaste.com/73124/

----------

## Mike Hunt

Hmmm, that's your make.conf

It would be good to see your emerge --info

Go Ti-Cats.   :Smile: 

----------

## bunder

oh fudge.   :Laughing: 

give me a minute, i gotta reboot again.

edit: http://dpaste.com/73150/

sorry, i'm tired.    :Razz: 

----------

## Mike Hunt

Last time i did a stable gentoo box with intel video (a couple of months ago), 

I had to keyword these /etc/portage/package.keywords

media-libs/mesa

x11-apps/mesa-progs

x11-apps/xrandr

x11-libs/libdrm

x11-libs/libXfont

x11-libs/libXrandr

x11-proto/dri2proto

x11-proto/randrproto

And mask these /etc/portage/package.mask

>x11-base/xorg-server-1.4.2

>x11-drivers/xf86-video-intel-2.5.1-r1

To have thismedia-libs/mesa-7.4.2

x11-apps/mesa-progs-7.4.1

x11-base/xorg-server-1.4.2

x11-drivers/xf86-video-intel-2.5.1-r1

x11-apps/xrandr-1.3.0

x11-libs/libdrm-2.4.11

x11-libs/libXfont-1.4.0

x11-libs/libXrandr-1.3.0

x11-proto/dri2proto-2.0

x11-proto/randrproto-1.3.0

Pretty standard kernel 

```
# egrep '^[^#].*(INTEL|AGP|FB|DRM)' /usr/src/linux/.config

CONFIG_X86_INTEL_USERCOPY=y

CONFIG_HW_RANDOM_INTEL=y

CONFIG_AGP=y

CONFIG_AGP_INTEL=y

CONFIG_DRM=y

CONFIG_DRM_I915=y

CONFIG_FB=y

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

CONFIG_FB_MODE_HELPERS=y

CONFIG_FB_TILEBLITTING=y

CONFIG_FB_EFI=y
```

Not a very elegant solution, but it works.   :Cool: 

----------

## pappy_mcfae

Ok, enter this command: emerge libdrm && emerge mesa && emerge xorg-server && emerge =xf86-intel-video-2.7.1

That will reinstall all the X basics. Once that's done, then try X. Use the xorg.conf file I posted for you  earlier. If that works out, add the command emerge $(qlist -IC x11-drivers) to reemerge all X drivers currently in use.

Once that's done, please post /var/log/Xorg.0.log

Blessed be!

Pappy

----------

## bunder

i did all that, and commented out v4l, synaptics and freetype.  all i get now is a black screen...

the log doesn't look much different...

 *Quote:*   

> (++) Using config file: "pappy-xorg" 
> 
> Setting master
> 
> << black screen, i did ctrl-alt-bksp >>
> ...

 

----------

## pappy_mcfae

Does it still misbehave if you get rid of /etc/X11/xorg.conf?

BB!

P

----------

## bunder

same thing, black screen.  same goes for the config file xorg generate for me. (which is probably identical to it's autoconfig, anyways...)

 :Sad: 

----------

## Tolstoi

I've got the following things enabled in the kernel - everything built in:

agp_intel

dri with i915

intel video mode handling by default

intelfb

I don't know if it matters but I also emerged DirectFB and fbset.

----------

## bunder

i gave up, switched to vesa fb and vga=791.   :Confused: 

now to find out why xorg isn't working...

----------

## bunder

sounds like it's using the wrong screen...

i ran xrandr when x was running and got this:

 *Quote:*   

> VGA disconnected (normal left inverted right x axis y axis)
> 
> LVDS connected 1024x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
> 
>    1024x768       60.0*+   60.0
> ...

 

problem is, there's no ports on this thing for another monitor, and i don't know how to choose the second monitor to confirm...  maybe this is something for D+E.   :Confused: 

----------

## bbgermany

Hi,

I dunno why i feel like im ignored. Where the hell is the problem with KMS and no framebuffer device. Since KMS will handle the native resolution of the connected screen (afaik) and DRI/DRI2 for is is directly connected to i915+KMS, why dont you use it and disable the damn fb stuff in your kernel config?

bb

----------

## bunder

guess what?  your KMS gave me a black screen during boot.  that's the problem.

```
------------[ cut here ]------------

WARNING: at fs/sysfs/dir.c:462 sysfs_add_one+0x27/0x2f()

Hardware name: MSI-7437

sysfs: duplicate filename 'card0-LVDS-1' can not be created

Modules linked in:

Pid: 1, comm: swapper Not tainted 2.6.29-gentoo-r5 #11

Call Trace:

 [<c021dac0>] warn_slowpath+0x80/0xb6

 [<c021ba1d>] scheduler_tick+0x95/0xdf

 [<c0231cce>] getnstimeofday+0x4c/0xcf

 [<c020d655>] lapic_next_event+0x10/0x13

 [<c0233b46>] clockevents_program_event+0xc2/0xd0

 [<c031bd2d>] string+0x27/0x6d

 [<c0317b93>] idr_get_empty_slot+0x145/0x202

 [<c0317d24>] ida_get_new_above+0xd4/0x178

 [<c029cf78>] sysfs_ilookup_test+0x0/0xd

 [<c026fe5b>] ifind+0x22/0x6c

 [<c029d12b>] sysfs_find_dirent+0x13/0x23

 [<c029d2b9>] sysfs_add_one+0x27/0x2f

 [<c029d716>] create_dir+0x3c/0x6c

 [<c029d76f>] sysfs_create_dir+0x29/0x3b

 [<c031856d>] kobject_get+0xf/0x13

 [<c031866b>] kobject_add_internal+0xb0/0x149

 [<c0318815>] kobject_add+0x44/0x47

 [<c03979ad>] device_add+0x77/0x42b

 [<c0403ff6>] i2c_transfer+0x5e/0x65

 [<c031840e>] kobject_init+0x33/0x69

 [<c037dd99>] drm_sysfs_connector_add+0x91/0x15e

 [<c039119d>] intel_sdvo_init+0x33d/0x4fc

 [<c0318ead>] kobject_uevent_env+0x2ed/0x30f

 [<c038e21e>] intel_modeset_init+0x3e2/0x66c

 [<c038570b>] i915_driver_irq_postinstall+0xa8/0xac

 [<c0384643>] i915_driver_load+0x77f/0x7ce

 [<c037c29c>] drm_get_dev+0x2be/0x358

 [<c0378351>] drm_init+0x5a/0x89

 [<c06505e1>] i915_init+0x0/0x43

 [<c0201044>] _stext+0x44/0x108

 [<c02415ec>] register_irq_proc+0x79/0x92

 [<c0638569>] kernel_init+0x106/0x154

 [<c0638463>] kernel_init+0x0/0x154

 [<c02033cb>] kernel_thread_helper+0x7/0x10

---[ end trace daa0ec877aab30c0 ]---

kobject_add_internal failed for card0-LVDS-1 with -EEXIST, don't try to register things with the same name in the same directory.

Pid: 1, comm: swapper Tainted: G        W  2.6.29-gentoo-r5 #11

Call Trace:

 [<c03186f4>] kobject_add_internal+0x139/0x149

 [<c0318815>] kobject_add+0x44/0x47

 [<c03979ad>] device_add+0x77/0x42b

 [<c0403ff6>] i2c_transfer+0x5e/0x65

 [<c031840e>] kobject_init+0x33/0x69

 [<c037dd99>] drm_sysfs_connector_add+0x91/0x15e

 [<c039119d>] intel_sdvo_init+0x33d/0x4fc

 [<c0318ead>] kobject_uevent_env+0x2ed/0x30f

 [<c038e21e>] intel_modeset_init+0x3e2/0x66c

 [<c038570b>] i915_driver_irq_postinstall+0xa8/0xac

 [<c0384643>] i915_driver_load+0x77f/0x7ce

 [<c037c29c>] drm_get_dev+0x2be/0x358

 [<c0378351>] drm_init+0x5a/0x89

 [<c06505e1>] i915_init+0x0/0x43

 [<c0201044>] _stext+0x44/0x108

 [<c02415ec>] register_irq_proc+0x79/0x92

 [<c0638569>] kernel_init+0x106/0x154

 [<c0638463>] kernel_init+0x0/0x154

 [<c02033cb>] kernel_thread_helper+0x7/0x10

[drm:drm_sysfs_connector_add] *ERROR* failed to register connector device: -17

```

----------

## bbgermany

I had this "issue" as well, but it worked anyways. After the boot has finished, the X server came up and changing to the ttys worked as well.

bb

----------

## pappy_mcfae

What versions of libdrm, mesa, xorg-server, and xf86-video-intel are you using?

BB!

P

----------

## Tolstoi

As I posted above you can get it working:

-enable agpart and the intel stuff in the submenu

- enable dri, intel with i915 and modesetting by default

- enable intelfb and the DDC/I2C stuff which pops up when you enable intelfb

- disable firmware EDID

Read the intelfb.txt in /usr/src/linux/Documentation/fb .

My grub.conf line looks like this:

kernel /vmlinuz-2.6.30-zen1 rootfstype=ext4 root=/dev/sda4  fastboot video=intelfb:1024x600-24@60,accel,vram=4 splash=silent,theme:natural_gentoo quiet CONSOLE=/dev/tty1

initrd /natural_gentoo

----------

