Intel graphics (Русский) - ArchWiki

# Intel graphics (Русский)

Ссылки по теме

- Intel GMA3600
- Poulsbo
- Xorg
- Kernel mode setting
- Xrandr
- Hybrid graphics

Эта страница нуждается в сопроводителе

Статья не гарантирует актуальность информации. Помогите русскоязычному сообществу поддержкой подобных страниц. См. Команда переводчиков ArchWiki

Эта статья или раздел нуждается в переводе

Примечания: Страница в процессе перевода. (Обсудить)

С тех пор как Intel предоставляет и поддерживает только свободные драйвера, видеокарты Intel graphics работают "из коробки".

Всеобъемлющий список моделей видеокарт и соответствующих чипсетов и процессоров доступен в английской Википедии.

Обратите внимание: Основанные на PowerVR видеокарты (GMA 500 и GMA 3600 серии) не поддерживаются свободными драйверами.

## Установка

Prerequisite: Xorg.

Установите пакет xf86-video-intel из официальных репозиториев. Пакет предоставляет драйвер DDX для 2D ускорения и устанавливает пакет intel-dri[broken link: replaced by mesa] как зависимость, который предоставляет драйвер DRI для 3D ускорения.

Для поддержи 32-битного 3D ускорения на x86_64, установите lib32-intel-dri[broken link: replaced by lib32-mesa] из репозитория multilib.

Установите драйвер VA-API и необходимую библиотеку с помощью пакетов libva-intel-driver и libva соответственно. На старых видеокартах, это предоставляет драйвер XvMC, который включён в драйвер DDX.

## Конфигурация

Для запуска X конфигурация не требуется.

Полный список опций доступен в документации `$ man intel`.

## Kernel Mode Setting

Совет: Если вы наблюдаете проблемы с разрешением экрана, обратитесь к этой странице.

Kernel Mode Setting (KMS) необходим для запуска X и среды рабочего стола. KMS поддерживается чипсетами Intel, которые используют драйвер i915 DRM включенный по умолчанию. Версии драйвера xf86-video-intel 2.10 и новее больше не поддерживают UMS (за исключением очень старых чипсетов 810 серии), что делает использование KMS обязательным[1]. KMS обычно инициализируется сразу после стадии initramfs. Однако, есть возможность активировать KSM во время стадии initramfs.

Обратите внимание: Users must remove any deprecated references to `vga` or `nomodeset` from boot configuration.

Для этого добавьте модуль `i915` в строку `MODULES` в файле `/etc/mkinitcpio.conf`:

    MODULES=i915

Если вы используете собственный, нестандартный, файл EDID], вам также необходимо вставить его в initramfs:

    /etc/mkinitcpio.conf

    FILES="/lib/firmware/edid/your_edid.bin"

Теперь перегенерируйте initramfs:

    # mkinitcpio -p linux

Изменения вступят в силу после следующей перезагрузки.

## Опции модуля для энергосбережения

Модуль ядра `i915` можно конфигурировать через опции модуля. Часть этих опций модуля влияют на энергосбережение.

Для проверки, какие опции в данный момент включены, воспользуйтесь командой

    # for i in /sys/module/i915/parameters/*; do echo $i=$(cat $i); done

Список всех опций с кратким их описанием и значения по умолчанию можно получить командой:

    $ modinfo i915 | grep parm

Следующий набор опций, как правило, можно включить без негативных последствий:

    /etc/modprobe.d/i915.conf

    options i915 i915_enable_rc6=1 i915_enable_fbc=1 lvds_downclock=1

Вы можете поэкспериментировать со более большими значениями `enable_rc6`, однако ваша видеокарта может их не поддерживать [2].

Сжатие буфера кадров может оказаться ненадёжным на старых поколениях видеокарт Intel (Каких?). В результате чего подобные сообщения выводятся в системный журнал:

    kernel: drm: not enough stolen space for compressed buffer, disabling.

## Советы и рекомендации

### Отключение вертикальной синхронизации (VSYNC)

Драйвер intel использует тройную буферизацию для вертикальной синхронизации, что позволяет без потерь в производительности избежать разрывы кадров. Чтобы отключить вертикальную синхронизацию (например, для "бенчмаркинга") создайте файл .drirc в вашей домашней директории со следующим содержимым:

    ~/.drirc

    <device screen="0" driver="dri2">
    	<application name="Default">
    		<option name="vblank_mode" value="0"/>
    	</application>
    </device>

Не используйте driconf для создания этого файла, так как он выставит неправильное название драйвера.

### Настройка режима масштабирования

Это может быть полезно для некоторых полноэкранных приложений:

    $ xrandr --output LVDS1 --set PANEL_FITTING param

Где `param` одно из следующих значений:

- `center`: разрешение экрана не будет меняться, масштабирование отключено,
- `full`: масштабировать разрешение экрана для использования всего места на экране или
- `full_aspect`: максимально масштабировать разрешение экрана, но соблюдать соотношение сторон.

Если это не сработало, попробуйте:

    $ xrandr --output LVDS1 --set "scaling mode" param

Где `param` это `"Full"`, `"Center"` или `"Full aspect"`.

### Проблема с KMS: консоль ограничена в небольшую площадь

Один из портов низкого разрешения видео может быть включен во время загрузки системы, в результате чего терминал использует маленькую часть экрана. Чтобы исправить это, отдельно отключите порт с помощью опции модуля i915 `video=SVIDEO-1:d` в параметрах командной строке ядра в загрузчике. Больше информации об этом доступно на странице Kernel parameters.

Если это не сработало, попробуйте выключить TV1 или VGA1 вместо SVIDEO-1.

### Декодирование H.264 на GMA 4500

Пакет libva-intel-driver предоставляет декодирование MPEG-2 только для GMA 4500 серии видеокарт. Поддержка декодирования H.264 сопровождается в отдельной ветке под названием g45-h264, которой можно воспользоваться установив пакет libva-intel-driver-g45-h264, доступный в AUR. Однако имейте в виду, что данная поддержка экспериментально и в данный не ведётся активная разработка. Использование VA-API с этим драйвером на GMA 4500 серии видеокарт уменьшит нагрузку на центральный процессор, однако не гарантируется плавное воспроизведение в сравнении с программным декодированием. Тестирование с использованием mplayer показало что использование vaapi для воспроизведения закодированного в H.264 1080p видео снизило нагрузку на процессор, однако воспроизведение происходит с рывками, в то время как воспроизведение 720p работало удовлетворительно [3]. Это подтверждает и опыт других пользователей [4].

### Управление яркостью и гаммой

Следующий пример демонстрирует использование виртуальную файловую систему `/sys` для выставления уровня яркости на уровне драйвера. Максимальная яркость указана в файле `/sys/class/backlight/intel_backlight/max_brightness`. Имейте в виду, что это значение может отличаться в зависимости от разной конфигурации оборудования.

    # cd /sys/class/backlight/intel_backlight
    # cat max_brightness
    4437
    # echo 2200 > brightness

Яркость также можно выставить используя пакет xorg-xbacklight.

    $ xbacklight -set 50  # sets brightness to 50% of maximum

Вместо абсолютных значений можно использовать инкрементирующие, например:

    $ xbacklight -inc 10  # increase brightness by 10%
    $ xbacklight -dec 10  # decrease brightness by 10%

Гамму можно выставить используя пакет xorg-xrandr, либо xorg-xgamma. Следующие команды делают одно и то же.

    $ xrandr --output LVDS1 --gamma 1.0:1.0:1.0
    $ xgamma -rgamma 1 -ggamma 1 -bgamma 1

## Решение проблем

### Проблемы SNA

Согласно `man 4 intel`:

  There are a couple of backends available for accelerating the DDX. "UXA" (Unified Acceleration Architecture) is the mature backend that was introduced to support the GEM driver model. It is in the process of being superseded by "SNA" (Sandybridge's New Acceleration). Until that process is complete, the ability to choose which backend to use remains for backwards compatibility.

SNA — стандартный метод ускорения в xf86-video-intel. Если вы наблюдаете проблемы с SNA, попробуйте переключить на UXA. Для этого нужно создать файл конфигурации X со следующим содержимым:

    /etc/X11/xorg.conf.d/20-intel.conf

    Section "Device"
       Identifier  "Intel Graphics"
       Driver      "intel"
       Option      "AccelMethod"  "uxa"
    EndSection

Можно также воспользоваться Glamor:

    /etc/X11/xorg.conf.d/20-intel.conf

    Section "Device"
       Identifier  "Intel Graphics"
       Driver      "intel"
       Option      "AccelMethod"  "glamor"
    EndSection

### Пустой экран во время загрузки системы на этапе "Loading modules"

Если вы используете "поздний старт" KMS и во время загрузки системы наблюдаете пустой экран. Исправить проблему можно добавив `i915` и `intel_agp` в initramfs. Смотрите раздел #Kernel Mode Setting выше.

Либо можно добавить следующее в параметры ядра:

    video=SVIDEO-1:d

Если необходим вывод в VGA, попробуйте следующее:

    video=VGA-1:1280x800

### Видео без рывков

Совет: Если вы используете окружение рабочего стола GNOME, наиболее простой и предпочтительный, с точки зрения производительности, способ можно найти на странице GNOME#Tear-free_video_with_Intel_HD_Graphics.

Для некоторых пользователей рывки видео происходят из-за метода ускорения SNA. Чтобы исправить это, включите опцию `"Tearfree"` в драйвере:

    /etc/X11/xorg.conf.d/20-intel.conf

    Section "Device"
       Identifier  "Intel Graphics"
       Driver      "intel"
       Option      "TearFree"    "true"
    EndSection

См. отчёт об ошибке за подробной информацией.

Note:

- Данная опция может не работать если `SwapbuffersWait` выставлена на `false`.
- Данная опция может создать дополнительные проблемы в некоторых приложениях, например Super Meat Boy.
- Данная опция не работает с методом ускорения UXA, только с SNA.

### X freeze/crash with intel driver

Some issues with X crashing, GPU hanging, or problems with X freezing, can be fixed by disabling the GPU usage with the `NoAccel` option:

    /etc/X11/xorg.conf.d/20-intel.conf

    Section "Device"
       Identifier "Intel Graphics"
       Driver "intel"
       Option "NoAccel" "True"
    EndSection

Alternatively, try to disable the 3D acceleration only with the `DRI` option:

    /etc/X11/xorg.conf.d/20-intel.conf

    Section "Device"
       Identifier "Intel Graphics"
       Driver "intel"
       Option "DRI" "False"
    EndSection

If you experience crashes and have

    Option "TearFree" "true"
    Option "AccelMethod" "sna"

in your config file, in most cases these can be fixed by adding

    i915.semaphores=1

to your boot parameters.

### Adding undetected resolutions

This issue is covered on the Xrandr page.

### Weathered colors (colorspace problem)

Note: This problem is related to the changes in the kernel 3.9. This problem still remains in kernel 3.10

Kernel 3.9 contains the Intel driver changes allowing easy RGB Limited range settings which can cause weathered colors in some cases. It is related to the new "Automatic" mode for the "Broadcast RGB" property. One can force mode e.g. `xrandr --output <HDMI> --set "Broadcast RGB" "Full"` (replace `<HDMI>` with the appropriate output device, verify by running `xrandr`). You can add it into your `.xprofile`, make it executable to run the command before it will start the graphical mode.

Note: Some TVs can only display colors from 16-255 so setting to Full will cause color clipping in the 0-15 range so it is best to leave it at Automatic which will automatically detect whether it needs to compress the colorspace for your TV.

Also there are other related problems which can be fixed editing GPU registers. More information can be found [5] and [6].

### Backlight is not adjustable

After resuming from suspend, the hotkeys for changing the screen brightness do not take effect. Using the following kernel parameters can potentially solve the problem.

    acpi_backlight=vendor

Either in addition to the above mentioned parameter, or on its own, add one of the following two parameters:

    acpi_osi=Linux
    acpi_osi="!Windows 2012"

Another parameter available:

    video.use_native_backlight=1

If neither of those solve the problem, edit or create `/etc/X11/xorg.conf.d/20-intel.conf` with the following content:

    /etc/X11/xorg.conf.d/20-intel.conf

    Section "Device"
            Identifier  "card0"
            Driver      "intel"
        Option      "Backlight"  "intel_backlight"
            BusID       "PCI:0:2:0"

    EndSection

If using the SNA acceleration as mentioned above, create the file as follows:

    /etc/X11/xorg.conf.d/20-intel.conf

    Section "Device"
            Identifier  "card0"
            Driver      "intel"
            Option      "AccelMethod"  "sna"
            Option      "Backlight"    "intel_backlight"
            BusID       "PCI:0:2:0"

    EndSection

### Disabling frame buffer compression

On some cards such as Intel Corporation Mobile 4 Series Chipsets, enabling frame buffer compression results in endless error messages:

    $ dmesg |tail
    [ 2360.475430] [drm] not enough stolen space for compressed buffer (need 4325376 bytes), disabling
    [ 2360.475437] [drm] hint: you may be able to increase stolen memory size in the BIOS to avoid this

The solution is to disable frame buffer compression which will slightly increase power consumption. In order to disable it add `i915.enable_fbc=0` to the kernel line parameters. More information on the results of disabled compression can be found here.

### Corruption/Unresponsiveness in Chromium and Firefox

If you experience corruption or unresponsiveness in Chromium and/or Firefox set the AccelMethod to "uxa"

## See also

- https://01.org/linuxgraphics/documentation (includes a list of supported hardware)
- Arch Linux forums: Intel 945GM, Xorg, Kernel - performance

Categories:

- Русский
- Graphics (Русский)
- X Server (Русский)