# [SOLVED] Intel integrated graphics poor performance (HD4600)

## mutiny

Edit: I apologize, it seems that the issue was that VGA arbiter was somehow configured in the kernel, and caused a reversion to software rendering according to Xorg logs. Weird that glxinfo would report direct rendering: yes... I'll leave this instead of deleting in case someone has the same mistake =/. I don't believe VGA arbitration is required right, it is safe to disable?

Are there any currently known issues with Intel integrated graphics and linux? I am currently experiencing noticeably bad lag in general use, and am not sure if it is due to an error on my part or some incompatibility or other issue.

I am currently using gentoo-sources 3.19.0 on ~amd64 with an Intel Core-i7 4790K processor, GNOME desktop env, and just switched over from an Nvidia GTX 650 to try to use the integrated graphics instead. I was using nouveau drivers compiled into the kernel as well as VIDEO_CARDS="nouveau". I reconfigured the kernel as specified by http://wiki.gentoo.org/wiki/Intel#Kernel, as well as changed VIDEO_CARDS="intel i965" and did an update with newuse etc. After rebooting the machine, I already noticed a significant slowdown, where I previously did not usually even see any bootup messages at all. With the discrete Nvidia card and nouveau, the computer would basically boot straight into GDM login screen (occasionally I'd catch a glimpse of usual bootup messages, most often not), whereas now it scrolls through the messages relatively slowly and takes some time to get into desktop. Once in desktop, there is some screen tearing and the framerate when moving the mouse or windows is noticeably lower. lspci -k indicates at least the kernel driver is loaded, and glxinfo indicates that direct rendering is enabled. I can't imagine that the actual performance would be this poor, so there must be a problem.

Any help in troubleshooting this is greatly appreciated, thanks!

----------

## evetsnameloc

I don't know if VGA arbitration is (was) your problem or not. I am using Intel integrated graphics (Intel(R) Core(TM) i7-3770S CPU @ 3.10GHz, Mesa DRI Intel(R) Ivybridge Desktop). VGA arbitration is enabled in my kernel, and in fact I cannot disable it unless I select "Show all options" in xconfig.

```
CONFIG_INTEL_GTT=y

CONFIG_VGA_ARB=y

CONFIG_VGA_ARB_MAX_GPUS=16

```

 In spite of this I have direct rendering enabled according to Xorg.0.log:

```
...

[ 51362.866] (II) Loading sub module "dri2"

[ 51362.866] (II) LoadModule: "dri2"

[ 51362.866] (II) Module "dri2" already built-in

[ 51362.866] (==) Depth 24 pixmap format is 32 bpp

[ 51362.867] (II) intel(0): SNA initialized with Ivybridge (gen7, gt2) backend

[ 51362.867] (==) intel(0): Backing store enabled

[ 51362.867] (==) intel(0): Silken mouse enabled

[ 51362.867] (II) intel(0): HW Cursor enabled

[ 51362.867] (II) intel(0): RandR 1.2 enabled, ignore the following RandR disabled message.

[ 51362.900] (==) intel(0): DPMS enabled

[ 51362.900] (II) intel(0): [DRI2] Setup complete

[ 51362.900] (II) intel(0): [DRI2]   DRI driver: i965

[ 51362.900] (II) intel(0): direct rendering: DRI2 Enabled

[ 51362.900] (==) intel(0): hotplug detection: "enabled"

[ 51362.900] (--) RandR disabled

[ 51362.925] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer

[ 51362.925] (II) AIGLX: enabled GLX_ARB_create_context

[ 51362.925] (II) AIGLX: enabled GLX_ARB_create_context_profile

[ 51362.925] (II) AIGLX: enabled GLX_EXT_create_context_es2_profile

[ 51362.925] (II) AIGLX: enabled GLX_INTEL_swap_event

[ 51362.925] (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control

[ 51362.925] (II) AIGLX: enabled GLX_EXT_framebuffer_sRGB

[ 51362.925] (II) AIGLX: enabled GLX_ARB_fbconfig_float

[ 51362.925] (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects

[ 51362.925] (II) AIGLX: enabled GLX_ARB_create_context_robustness

[ 51362.925] (II) AIGLX: Loaded and initialized i965

[ 51362.925] (II) GLX: Initialized DRI2 GL provider for screen 0

...
```

----------

## mutiny

Hmm, what else could be the underlying problem that disabling arbitration causes it to work?

----------

## evetsnameloc

I'm no expert here, but two possibilities come to mind:

1) Did you deselect the nouveau driver from the kernel recompile?

2) Do you have the correct <.conf> for intel graphics? I have the file "device_no_vesa.conf" in my /etc/X11 folder, which contains the following:

```
Section "Device"

   Identifier "Device0"

   Driver "intel"

EndSection

```

Also, make sure that there are no files left over in your /etc/X11/xorg.conf.d folder that reference the nouveau driver. The only file that I have in that folder is "10-evdev.conf".

----------

## mutiny

Yes nouveau was removed from the kernel at the time it was modified for Intel.

I do not have the "device_no_vesa.conf" file in /etx/X11/, and there is nothing regarding nouveau in /etc/X11/xorg.conf.d/ (just 00-keyboard.conf and 20opengl.conf)

----------

## evetsnameloc

Try creating the file "device_no_vesa.conf" with contents that I posted into your /etc/X11 folder.

What are the contents of "20opengl.conf"? I don't have this file. What do you get when you issue the command "eselect opengl list"?

----------

