Intel GMA
From Gentoo Linux Wiki
| XOrg Index | Configuration | HIDevices | Fonts | Video Cards | Monitors |
This guide is about Intel's onboard graphic adapter called 'Graphic Media Accelerator'.
Contents |
[edit] Driver Anatomy
This Xorg driver (as almost all Xorg video drivers) consists of these parts:
- 2D driver: This is part of the xf86-video-intel driver.
- 3D driver: This driver consists of three parts:
- kernel: To perform fast 3D operations (like memory IO) these have to be done in the kernel space by a DRM (Direct Rendering Manager) driver.
- mesa: Every 3D operation, which the graphic card is not able to perform in hardware, is operated by mesa in software. Therefore there is a mesa part.
- xorg: The 3D part of the xf86-video-intel driver is the interface between mesa and xorg.
[edit] xf86-video-i810 vs xf86-video-intel
The xorg driver for intel cards is the xf86-video-intel driver, but was once called xf86-video-i810. After a huge rewrite (version >= 1.99) to support all recent intel cards with one driver, the developers changed the name to xf86-video-intel to show, that this drivers is for all recent intel cards. The ebuilds in the portage tree for versions >= 1.99 pull the new driver, but are still named xf86-video-i810, so users do not need to change their configuration (VIDEO_CARDS variable in /etc/make.conf and driver variable in /etc/X11/xorg.conf). So note, both names refers to the same driver called xf86-video-i810 in Gentoo and xf86-video-intel everywhere else.
[edit] X11 Graphics Setup
[edit] Kernel Setup
| Linux Kernel Configuration: |
Device Drivers --->
Graphics support --->
<*> /dev/agpgart (AGP Support) --->
<*> Intel 440LX/BX/GX, I8xx and E7x05 chipset support
<*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
<*> Intel 830M, 845G, 852GM, 855GM, 865G
< > i830 driver
<*> i915 driver
|
[edit] Xorg Setup
Add this line to your /etc/make.conf so that you will include only one graphics driver into Xorg server:
| File: /etc/make.conf |
|
VIDEO_CARDS="i810" |
Install Xorg using emerge xorg-x11 or update your system by running emerge -uDNva xorg-x11, but this may update parts of your system in addition to updating Xorg.
Edit your xorg.conf:
| File: /etc/X11/xorg.conf |
Section "Module"
...
Load "glx"
Load "dri"
...
EndSection
...
Section "Device"
...
Driver "intel"
...
EndSection
...
Section "DRI"
Mode 0666
EndSection
|
[edit] Advanced Topics
[edit] Manual modesetting
If your display lists the wrong resolution over DDC, you have to manually specify the right resolution. In the past this could be done by using 915resolution, but this is no option anymore.
Today you have to add some lines to your xorg.conf. First you have to generate a proper modeline for your new resolution. E.g. for 1680x1050@60Hz:
# gtf 1680 1050 60
gives
# 1680x1050 @ 60.00 Hz (GTF) hsync: 65.22 kHz; pclk: 147.14 MHz Modeline "1680x1050_60.00" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 -HSync +Vsync
Add this modeline to your /etc/X11/xorg.conf:
| File: /etc/X11/xorg.conf |
Section "Monitor"
Identifier "Dell LFP"
Option "DPMS"
HorizSync 31.5-100
VertRefresh 58-61
Modeline "1920x1200_60.00" 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -HSync +Vsync
Modeline "1680x1050_60.00" 147.14 1680 1784 1968 2256 1050 1051 1054 1087 -HSync +Vsync
Modeline "1280x800_60.00" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync
Option "PreferredMode" "1680x1050"
EndSection
|
Also important is to set the "VertRefresh" option to "58-61". Your display may only support 60Hz, but some your custom modelines might actually have a vertical refresh of, for example, 59.97Hz or 60.002Hz, which will cause X to complain and fill your Xorg.0.log with messages like:
(II) intel(0): Not using default mode "1280x800" (vrefresh out of range)
So you need to override the 60Hz to account for rounding errors.
If your default resolution should not be the highest one, specify also the option "PreferredMode".
To actually use these resolutions you have to add a additional option in the device section:
| File: /etc/X11/xorg.conf |
Section "Device"
...
Option "Monitor-LVDS" "Dell LFP"
...
EndSection
|
Use "Monitor-LVDS" for your laptop’s built-in dispay, "Monitor-VGA" for external VGA output. For external DVI output, it’s either "Monitor-DVI" or perhaps "Monitor-TMDS-1".
[edit] Speed up 3D
There is an enviroment variable that enables more concurrency and results in increased 3D rendering speed (by 50% or more). However, it may also expose some bugs, especially for mesa-6.x (Xorg 7.2). Therefore, this should only be enabled if you're running Gentoo unstable (~x86, ~amd64). For reference see this.
To do, add the following to your .bashrc script:
| File: .bashrc |
export INTEL_BATCH=1 |
[edit] Dual Head
Dual Head is supported out of the box by XrandR 1.2. See this HowTo at ThinkWiki.
[edit] TV-Out
The TV is just another screen to Xorg. So it can be configured like another monitor.
By default the TV format is set to NTSC. If you want to change it e.g. to PAL, add this to your xorg.conf:
| File: /etc/X11/xorg.conf |
Section "Monitor"
Identifier "TV"
Option "TV Format" "PAL"
EndSection
Section "Device"
...
Option "Monitor-TV" "TV"
...
EndSection
|
[edit] Framebuffer Graphics
See this guide.
There are two dedicated driver for intel chipsets:
- i810fb: Intel 810 up to Intel 815
- intelfb: Intel 830M up to Intel 945GM (since 2.6.26 also up to 965GM)
Newer chipsets have to use the vesa or vesa-tng driver.
