- 1 Introduction
- 2 Installation
- 3 Configuration
- 4 KMS (Kernel Mode Setting)
- 5 Tips and tricks
- 6 Troubleshooting
Since Intel provides and supports open source drivers, Intel graphics are now essentially plug-and-play.
It is a popular mistake to think of "Intel 945G" and "Intel GMA 945" as being the same graphics chip with different names. As a matter of fact, the latter does not exist. Intel uses "GMA" to indicate the graphics core, or the GPU. Anything other than that is actually the model of the motherboard chipset, like "915G", "945GM", "G965" or "G45".
The more common GPUs and their corresponding motherboard chipsets are:
- Intel GMA 900 (910, 915)
- Intel GMA 950 (945)
The "i810" chipset (again, motherboard; not GPU) is actually really old and was manufactured long before the 9xx product line with which the GMA onboard-graphics branding began. Similarly, alternative names for the 910, 915 and 945 chips may include the i prefix.
See this for a list.
# pacman -S xf86-video-intel
There is no need for any kind of configuration ever since HAL has taken over. See Xorg input hotplugging for more information.
One thing that you should have already done from the start (not a configuration step per se) is to add your user to the relevant group:
# gpasswd -a username video
KMS (Kernel Mode Setting)
KMS is supported by Intel chipsets that use the i915 DRM driver and is now enabled by default as of kernel v2.6.32. Since xf86-video-intel 2.10, using KMS is mandatory. KMS is typically initialized after the kernel is bootstrapped. It is possible however to enable KMS during bootstrap itself, allowing the entire boot process to run at native resolution.
Now, regenerate the initramfs:
# mkinitcpio -p kernel26
# (0) Arch Linux title Arch Linux root (hd0,0) kernel /boot/vmlinuz26 root=/dev/... i915.modeset=0 initrd /boot/kernel26.img
For disabling it without having to edit Template:Filename, turn on the machine and when you see GRUB's screen, hit a key to disable the timeout. Select the kernel you want to boot (probably the one already selected) and hit "e" for "edit". Now select the line starting with "kernel" and hit again "e" for editing. You can now add the Template:Codeline option and disable KMS by setting it to 0. Press enter and then "b" to boot. Note that this will be temporary, so it will be enabled again upon rebooting.
- KMS - Arch wiki article on kernel mode setting
- Arch Linux forums: HOWTO: Enable KMS with the stock 2.6.29-ARCH kernel
- Arch Linux forums: Intel 945GM, Xorg, Kernel - performance
Tips and tricks
Setting scaling mode
This can be useful for some full screen applications.
xrandr --output LVDS1 --set PANEL_FITTING param
where param can be
- center: resolution will be kept exactly as defined, no scaling will be made,
- full: scale the resolution so it uses the entire screen or
- full_aspect: scale the resolution to the maximum possible but keep the aspect ratio.
If it does not work, you can try
xrandr --output LVDS1 --set "scaling mode" param
where param is one of "Full", "Center" or "Full aspect".
Workaround for bug with opening laptop lid
On laptops with Intel video chip you can face the issue with not working X display after you close lid to make the machine suspend and than open it back. See bug https://bugs.freedesktop.org/show_bug.cgi?id=24970 for more details.
Here is a way to work it around. The recipe is based on similar one from Fedora "Common bugs" page: https://fedoraproject.org/wiki/Common_F12_bugs#Display_cannot_be_reactivated_if_it_enters_sleep_mode_with_laptop_lid_closed
After that place acpid before hal in DAEMONS section of your Template:Filename file.
Than create a file Template:Filename with the following contents:
#!/bin/bash PATH="/bin:/usr/bin:/sbin:/usr/sbin" export DISPLAY=:0.0 sleep 10 if grep open /proc/acpi/button/lid/LID/state then su "$(getent passwd $UID | cut -d: -f1)" -c "xrandr --output LVDS1 --off" su "$(getent passwd $UID | cut -d: -f1)" -c "xrandr --output LVDS1 --auto" fi
where $UID is UID of the user who put laptop to suspend mode (you). The main difference from original Fedora method is sleep operator usage. Without it the lid button state will not be updated by the moment it checking by Template:Filename script, in some cases smaller delay (for example 3 seconds) will work when running on AC power and will not work with battery power, 10 seconds works always. Do not forget to make the script executable:
#chmod +x /etc/acpi/actions/reset-display.sh
Than we need to assign the action to LID switch event. Add the following line to Template:Filename file under button/lid) code:
Now you can reboot your laptop or just restart daemons in the following order:
#/etc/rc.d/hal stop #/etc/rc.d/acpid start #/etc/rc.d/hal start
An easier, less reliable workaround is to simply re-suspend the computer and wake it again. This will often correct the glitch and return the X desktop to a working state.
KMS Issue: console is limited to small area
One of the low-resolution video ports may be enabled on boot which is causing the terminal to utilize a small area of the screen. To fix, explicitly disable the port with an i915 module setting. For example, add the following to the end of the kernel line in /boot/grub/menu.lst:
If that doesn't work, you may also try disabling TV1 or VGA1 instead of SVIDEO-1.
Glxgears shows low performance results
If you run glxgears in order to check your system's graphics' performance, you may notice that glxgears shows results around 60 FPS:
... 311 frames in 5.0 seconds = 61.973 FPS 311 frames in 5.0 seconds = 62.064 FPS 311 frames in 5.0 seconds = 62.026 FPS ...
That is happening not because there is a performance regression, but because your system graphics are using VSync, that means, your screen's native frames per second.