Intel Graphics Performance Guide for Ubuntu 9.04 (Jaunty) Users

Sponsored Link
Overview

Some users are experiencing performance issues with Intel integrated graphics chips in Jaunty, for several reasons:

  • The current driver in our repository has some performance issues with the EXA acceleration method. Users will notice 2D performance is poor due to the default "migration heuristic" employed by EXA (to "always" migrate pixmaps), but this causes performance issues for many users. Setting the heuristic to "greedy" alleviates this problem somewhat. See "man exa".

  • The new and faster acceleration method (UXA) is not enabled by default, due to issues reported by many users. This code is being actively developed, and many stability and performance issues have been resolved in the latest drivers (specifically within the intel driver, libdrm,mesa and the latest kernel 2.6.29.4). Unfortunately, Jaunty will not include the latest versions necessary to improve performance.
  • 3D performance has regressed compared to the Intrepid release, possibly due to major code changes that have resulted from the introduction to the new acceleration and memory management code (UXA, GEM, DRI2). Due to these changes, there seems to be some regressions in the "legacy" DRI acceleration.
  • Either Xorg or the "intel" driver seems to be suffering from a bug, in which the memory region allocated for the graphics card is not set up with the proper type of caching. This results in jerky video playback of almost any content (from 720p media, all the way down to simple 320×240 mpeg content), and a potential loss of performance for other 2D and 3D operations.

There are three possible configuration that this guide will present:

Safe Configuration

  • For this configuration, you will upgrade to the latest stable Xorg drivers (via the X-Updates PPA), enable UXA acceleration and create a workaround for the MTRR bug. This is the solution recommended for users who possess hardware devices that depend on a restricted driver. If you don't know what this means, then this is the solution you should use.

Optimal* Configuration

  • This configuration is identical to "Safe", but includes the 2.6.30 kernel. Using this kernel will improve 3D performance for many users, but you will lose access to restricted kernel drivers. This configuration yields the best results for my system (an 855GM chipset), but of course, your experience may differ.

Bleeding-Edge* ConfigurationThis configuration is the most risky. This will enable repository which contains bleeding-edge mesa & Xorg drivers which are continually updated (via the xorg-edgers PPA), enable UXA acceleration, create a workaround for the MTRR bug and install kernel 2.6.30. This configuration is not necessarily the fastest (in fact, the Optimal configuration is fastest for my hardware), and is recommended only for users who want to test the latest Xorg code.
Note: As per the PPA maintainer's wish, you are instructed to read the instructions here, since the Bleeding-Edge repository is prone to breakage and important instructions may be added. Don't request support for these packages (and don't be surprised if questions are left unanswered).

The solution

More Updated instructions and support check here

Method 2

Using default Jaunty packages and kernel

The following procedure confirmed working on following Intel graphic cards

00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)

00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller [8086:2a02] (rev 03)

00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)

00:02.0 VGA compatible controller: Intel Corporation 82845G/GL[Brookdale-G]/GE Chipset Integrated Graphics Device (rev 03)

1)Discovering the memory of your card; do this command:

lspci -vv

and search in the output for the block regarding VGA; in my case:

00:02.0 VGA compatible controller: Intel Corporation 82852/855GM Integrated Graphics Device (rev 02)
Subsystem: Fujitsu Siemens Computers Device 106a
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 d8000000 (32-bit, prefetchable) [size=128M]
Region 1: Memory at e0380000 (32-bit, non-prefetchable) [size=512K]
Region 2: I/O ports at ec00 [size=8]
Capabilities: <access denied>
Kernel modules: intelfb

In red you can see the amount of the memory that your card can manage and in blue the non-prefetchable memory. In order to use the video card memory in the correct way, you can use Videoram option in xorg.conf; but we must calculate the ram from MB to KB in order to use it in Videoram option; here the table:

16 -> 16384
32 -> 32768
64 -> 65536
128 -> 131072
256 -> 262144

Now we have to subtract the value of non-prefetchable to our amount of ram; in my case:

131072 -- 512 = 130560

2)As soon as you calculate your video ram minus the non-prefetchable memory, you can modify your xorg.conf in the device section:

sudo gedit /etc/X11/xorg.conf

In my case the device section is configured like this:

Section "Device"
Identifier "Configured Video Device"
Driver "intel"
Option "AccelMethod" "UXA"
VideoRam 130560
EndSection

Please be sure that VideoRam matching the ram of Video card based on what you calculate above. Of course the option UXA is mandatory too.
Save xorg.conf

3)If you are using Compiz, please modify these settings using Compiz manager:

ccsm

Choose General options -> General -> remove the flag on Unredirect Fullscreen Windows

Choose General options -> Display Settings -> remove the flag Sync To VBlank

Close ccsm

4)Reboot your system

Sponsored Link

Related posts

You may also like...

78 Responses

  1. rambozo says:

    Thank you so much, I tried method 2 and it worked like a charm.

  2. marines says:

    being afraid of the first option i tried the second and it worked :] thanks a lot

  3. slumbergod says:

    Method 2 worked for me too.

    I had already tried downgrading the intel driver to the intrepid version and while it was better, firefox and video playback performance was definitely sub par.

    I upgraded back to the jaunty intel driver and followed the instructions for method 2. After rebooting, the performance was noticably better – and firefox was no longer jerky like before.

    thanks!

  4. Seems to work like great. I just had to change:
    libdrm2_2.4.9-1_i386.deb to libdrm2_2.4.9-1_i386.deb
    and
    libdrm-intel1_2.4.9-1_i386.deb to libdrm-intel1_2.4.9-2_i386.deb
    since the original ones were returning 404

  5. Vimal Kurup says:

    Hi

    I wanted to try the second method because it looked safe/easy to implement. But I am surprised to see amount of the memory that my card can manage. (1M)
    I am pasting here the output of lspci -vv (VGA Block only).

    00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
    Subsystem: Acer Incorporated [ALI] Device 011d
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- SERR- <PERR- INTx-
    Latency: 0
    Interrupt: pin A routed to IRQ 2298
    Region 0: Memory at f0000000 (64-bit, non-prefetchable) [size=1M]
    Region 2: Memory at d0000000 (64-bit, prefetchable) [size=256M]
    Region 4: I/O ports at 1800 [size=8]
    Capabilities:
    Kernel modules: intelfb

    Please guide me.

  6. sgadd says:

    Thank you! Thank you! Thank you!
    Now I don’t regret upgrading to Jaunty anymore. This definitively made my day.

  7. Mosh says:

    Tried running the “download the relevant packages” script and there are a *lot* of “404 not found” errors 🙁

  8. Mosh says:

    Apologies – I missed the comment above. Changed that and also the final item to be downloaded needs to be changed to:

    xserver-xorg-video-intel_2.7.1-1_i386.deb

    as of May 15, anyway.

  9. Mike Oddell says:

    Thanks this worked great on my dell inspiron 1520
    iplayer now runs full screen without jerky/ blocky playback. 🙂

  10. Jeremy Harmon says:

    I can confirm that method 2 also works on a rev01 82845G/GL[Brookdale-G]/GE.

  11. yogeshprabhu says:

    I tried to set the compiz and redering is set to none.
    Hence i tried this option thinking if i had any problems with my graphics card.
    I tried the option 2 but after my reboot there is a message that system is running under low graphics mode. So i had reverted back
    Kindly provide the solution

  12. lypt says:

    Tried the method 2 on my old Dell 700m with no luck. After rebooting, the display resolution changed from 1280×800 to a smaller one, probably 1024×768. Any clue?

  13. Ittay says:

    Does not work for me. After reboot I get a black screen.

    According to the explanation, I set VideoRam to 261120. See below my lspci output (my laptop is thinkpad t61):

    00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 0c)
    Subsystem: Lenovo Device 20b5
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- SERR- <PERR- INTx-
    Latency: 0
    Interrupt: pin A routed to IRQ 2295
    Region 0: Memory at f8100000 (64-bit, non-prefetchable) [size=1M]
    Region 2: Memory at e0000000 (64-bit, prefetchable) [size=256M]
    Region 4: I/O ports at 1800 [size=8]
    Capabilities: [90] Message Signalled Interrupts: Mask- 64bit- Queue=0/0 Enable+
    Address: fee0300c Data: 41c9
    Capabilities: [d0] Power Management version 3
    Flags: PMEClk- DSI+ D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
    Status: D0 PME-Enable- DSel=0 DScale=0 PME-
    Bridge: PM- B3+
    Kernel modules: intelfb

  14. kojak.T says:

    HI,

    Thanks for this post, I used method 2 (easy and lazy way I guess, LoL ) on my son’s PC, (IBM Netvista 2, — Intel Corporation 82845G/GL Rev.01) and it works great.

    Thanks again guys,
    Kojak.

  15. Sparky says:

    Hi,

    I tried method 2
    it all went fine til I wanted to modify the xrog.conf
    I found it like this

    Section “Monitor”
    Identifier “Configured Monitor”
    EndSection

    Section “Screen”
    Identifier “Default Screen”
    Monitor “Configured Monitor”
    Device “Configured Video Device”
    SubSection “Display”
    Virtual 1280 1024
    EndSubSection
    EndSection

    Section “Device”
    Identifier “Configured Video Device”
    EndSection

    any ideas will be appreciated.

  16. Kevin says:

    I hoped I wouldn’t have to touch xorg.conf ever again… well, at least everything is smooth now! Like most posters, the second method was the one I tried. Thanks.

  17. Jakub says:

    00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)

    Tried the second approach and worked well. Still not ‘great’ but back to usable.

    Thanks a lot!

  18. Umar says:

    Thanks, tried method 2 and it works.

    However I wasted some time on the copy pasted code:
    Section “Device”
    Identifier “Configured Video Device”
    Driver “intel”
    Option “AccelMethod” “UXA”
    VideoRam 130560
    EndSection

    Because it did not work until later I figured “ (tilted double quotes) was used instead of ” (straight double quotes).

    So changed it and it worked like a charm! 🙂

    Section “Device”
    Identifier “Configured Video Device”
    Driver “intel”
    Option “AccelMethod” “UXA”
    VideoRam 130560
    EndSection

  19. Umar says:

    By the way after I just posted the comment I realized that the site is to blame. It changed the straight double quotes to tilted/curved double quotes.

  20. kamil says:

    Many thanks.
    I have tried option 2. Works like a charm.

    Cheers

  21. sketec says:

    @Ittay I have the same problem. I tried method 2 and I had to revert back to the original xorg.conf. I’m considering just going back to 8.04 or the next Alpha. This is what I had in the device section:

    Section “Device”
    Identifier “Configured Video Device”
    Driver “intel”
    Option “AccelMethod” “UXA”
    VideoRam 261120
    EndSection

  22. Brian says:

    For the non prefetchable to subtrace, should I use Region 1 output or Region 3?

    Interrupt: pin A routed to IRQ 16
    Region 0: Memory at feb80000 (32-bit, non-prefetchable) [size=512K]
    Region 1: I/O ports at ec80 [size=8]
    Region 2: Memory at d0000000 (32-bit, prefetchable) [size=256M]
    Region 3: Memory at feb40000 (32-bit, non-prefetchable) [size=256K]

  23. Brian says:

    I meant region 0 or region 3. 0 reports 512, 3 reports 256

  24. Oleg says:

    The second methods rocks, thanks!

  25. TL says:

    With regards to Brian above, I had success with using 261632

    Maybe it can go Higher? I don’t know. But, that did indeed work and I had the same as you with the 3rd region and the values going 512 256 256

    Annnnd!!! :@ Like with Umar above, I wasted time with copy pasted code not realizing that the quotes were not copy-pasting correcting. rrr! haha but now it seems to work better. 🙂

  26. korso19 says:

    Hello,
    I tried the first step in method and here is the output i get
    VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
    Subsystem: Acer Incorporated [ALI] Device 011f
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
    Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- SERR- <PERR- INTx-
    Latency: 0
    Interrupt: pin A routed to IRQ 2297
    Region 0: Memory at fc000000 (64-bit, non-prefetchable) [size=1M]
    Region 2: Memory at d0000000 (64-bit, prefetchable) [size=256M]
    Region 4: I/O ports at 1800 [size=8]
    Capabilities:
    Kernel modules: intelfb

    In region = and Region 2 it says 64 bit. Will method 2 work anyway? Please help!

  27. korso19 says:

    Sorry in the above post i meant in region 0 and region 2 it says 64 bit….

  28. Lana says:

    I hade a problem that all my icons and fonts were too large. The second method worked perfectly and the problem is solved. MANY THANKS

  29. psyke83 says:

    Ok, let me clarify, as I didn’t notice this until now. I’m the original author of the first part of this article – Method 2 is by another poster.

  30. ainuddin says:

    i have a strange output of my graphic card.. only 1 “region”.. what’s wrong ???

    00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
    Subsystem: Dell Device 01c2
    Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
    Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- SERR- <PERR- INTx-
    Latency: 0
    Region 0: Memory at eff80000 (32-bit, non-prefetchable) [size=512K]
    Capabilities:

Leave a Reply

Your email address will not be published.