# [SOLVED] mesa is using Software Rasterizer for intel HD4000

## sgsdxzy

I bought a new laptop with intel HD4000 video card. I installed archlinux first and it works fine. Then I installed gentoo, however, In glxinfo, I see

```
OpenGL renderer string:  Software Rasterizer

OpenGL version string: 2.1 Mesa 8.0.3
```

My VIDEO_CARDS in make.conf is "intel i915". I added my user to video group and even try to start X as root. But I see the same Software Rasterizer. Under eselect, I use xorg-x11 as my opengl and classic i915.[/code]

Under Arch it is

```
OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile 

OpenGL version string: 3.0 Mesa 8.0.3
```

And I am unable to use wine because of

```
err:winediag:X11DRV_WineGL_InitOpenglInfo The Mesa OpenGL driver is using software rendering, most likely your OpenGL drivers haven't been installed correctly (using GL renderer "Software Rasterizer", version "2.1 Mesa 8.0.3").
```

I googled around but find nothing more than add user to video group, which I have done already.

Please help me figure out what's wrong and how to fix.

Thanks.Last edited by sgsdxzy on Sat Jun 23, 2012 12:05 pm; edited 1 time in total

----------

## Hypnos

Could you post your /var/log/Xorg.0.log somewhere right after you start X?  Here are some snippets from mine (I have a GM45 chipset):

```
[     9.061] (II) LoadModule: "intel"

[     9.061] (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so

[     9.067] (II) Module intel: vendor="X.Org Foundation"

[     9.067]    compiled for 1.11.4, module version = 2.17.0

[     9.067]    Module class: X.Org Video Driver

[     9.067]    ABI class: X.Org Video Driver, version 11.0

[     9.068] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,

        i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G, 915G,

        E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM, Pineview G,

        965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33, GM45,

        4 Series, G45/G43, Q45/Q43, G41, B43, B43, Clarkdale, Arrandale,

        Sandybridge Desktop (GT1), Sandybridge Desktop (GT2),

        Sandybridge Desktop (GT2+), Sandybridge Mobile (GT1),

        Sandybridge Mobile (GT2), Sandybridge Mobile (GT2+),

        Sandybridge Server, Ivybridge Mobile (GT1), Ivybridge Mobile (GT2),

        Ivybridge Desktop (GT1), Ivybridge Desktop (GT2), Ivybridge Server

[     9.068] (++) using VT number 7

[     9.078] (II) Loading /usr/lib64/xorg/modules/drivers/intel_drv.so

[     9.078] drmOpenDevice: node name is /dev/dri/card0

[     9.078] drmOpenDevice: open result is 8, (OK)

[     9.078] drmOpenByBusid: Searching for BusID pci:0000:00:02.0

[     9.078] drmOpenDevice: node name is /dev/dri/card0

[     9.078] drmOpenDevice: open result is 8, (OK)

[     9.078] drmOpenByBusid: drmOpenMinor returns 8

[     9.078] drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0

```

Also from dmesg after boot:

```
Linux agpgart interface v0.103

agpgart-intel 0000:00:00.0: Intel GM45 Chipset

agpgart-intel 0000:00:00.0: detected gtt size: 2097152K total, 262144K mappable

agpgart-intel 0000:00:00.0: detected 32768K stolen memory

agpgart-intel 0000:00:00.0: AGP aperture is 256M @ 0xd0000000
```

----------

## Gusar

HD4000 uses the i965 mesa driver.

----------

## sgsdxzy

 *Gusar wrote:*   

> HD4000 uses the i965 mesa driver.

 

Are you sure? All the information I have indicate that I should use i915. And under Arch, I can see i915 under lsmod, and it works fine.

----------

## Hypnos

All the Intel drivers are covered by "i915" in the kernel.  However, you have to choose between "intel" and "i915" for your xorg-driver.  As you can see from my Xorg.log output, Ivybridge architectures (which the HD4000 is) are covered by "intel".

----------

## sgsdxzy

 *Hypnos wrote:*   

> Could you post your /var/log/Xorg.0.log somewhere right after you start X?  Here are some snippets from mine (I have a GM45 chipset):
> 
> ```
> [     9.061] (II) LoadModule: "intel"
> 
> ...

 

It is there: http://pastebin.com/0f2kDMub

Seems like I am really missing i965...what's the difference between i915 and i965?

And one more question: what's the difference between 'classic' and 'gallium'?

----------

## Hypnos

Your xorg.log looks normal to me -- correct driver loads, DRM device is opened, direct rendering enabled.  Probably then your kernel setup is correct.

Gallium is a new internal architecture for Xorg video drivers.  "Classic" refers to any driver version before it switched to using Gallium.

----------

## Hypnos

My glxinfo snippets:

```
name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

OpenGL vendor string: Tungsten Graphics, Inc

OpenGL renderer string: Mesa DRI Mobile IntelÂ® GM45 Express Chipset  

OpenGL version string: 2.1 Mesa 7.10.3

OpenGL shading language version string: 1.20
```

Even though your Xorg.0.log shows DRI is working, if your glxinfo shows "direct rending: No", likely your permissions problem is not yet fixed.

----------

## sgsdxzy

Finally i changed my VIDEO_CARDS form "intel i915" to "intel" and rebuild mesa, it is fixed.

Seems i915 is conflicting with intel?

I used to set i915 only but then portage told me I need to add use "intel", so I set them both.

Maybe i915 i965 and intel are three different drivers?

And for gallium, should I use it?

----------

## Gusar

 *sgsdxzy wrote:*   

> Are you sure? All the information I have indicate that I should use i915. And under Arch, I can see i915 under lsmod, and it works fine.

 

lsmod shows the kernel module (duh!  :Smile: ). I'm talking about the mesa driver.

You got it working now, because choosing just "intel" will build both the i915 and i965 mesa drivers.

----------

## Hypnos

 *Gusar wrote:*   

> You got it working now, because choosing just "intel" will build both the i915 and i965 mesa drivers.

 

More importantly, reading the Mesa ebuild, if you specify "i915" in VIDEO_CARDS, even with "intel" in VIDEO_CARDS you won't get the i965 driver.  Xorg, on the other hand, works fine if you specify both.

Sorry I didn't spot this earlier!

Please add "[SOVLED]" to the thread title so others can find this problem/solution.

----------

## sgsdxzy

Thank you all!

----------

