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

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

From ArchWiki

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

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

Состояние перевода: На этой странице представлен перевод статьи Intel graphics. Дата последней синхронизации: 7 октября 2015. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

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

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

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

## Установка

Необходимое условие: Xorg.

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

Для поддержи 32-битного 3D ускорения на x86_64, установите lib32-intel-dri[ссылка недействительна: 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` можно конфигурировать через опции модуля[broken link: invalid section]. Часть этих опций модуля влияют на энергосбережение.

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

    # 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.

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

### Видео без тиринга (горизонтального разрыва)

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

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

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

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

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

Примечание:

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

### Отключение вертикальной синхронизации (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-h264AUR, доступный в 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

Согласно intel(4):

  Есть несколько движков для ускорения DDX. "UXA" (Архитектура Единого Ускорения) является зрелой базовой, которая была введена для поддержки модели драйвера GEM. Именно в процессе заменены "SNA" (новое ускорение в SandyBridge). Cпособность выбора использовать базовую остается для обратной совместимости.

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

### Font and screen corruption in GTK+ applications (missing glyphs after suspend/resume)

Should you experience missing font glyphs in GTK+ applications, the following workaround might help. Edit `/etc/environment` to add the following line:

    /etc/environment

    COGL_ATLAS_DEFAULT_BLIT_MODE=framebuffer

See also FreeDesktop bug 88584.

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

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

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

    video=SVIDEO-1:d

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

    video=VGA-1:1280x800

### X зависает/падает с драйверами intel

Некоторые проблемы со сбоем X, зависания GPU, или проблемы с зависанием X, могут быть решены путем отключения использования GPU с опцией `NoAccel`:

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

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

Кроме того, попробуйте отключить 3D-ускорение только с опцией `DRI`:

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

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

Если у вас есть сбои при

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

в файле настроек, в большинстве случаев это может быть исправлено добавлением

    i915.semaphores=1

к вашим параметрам загрузки.

### Добавление неопределённых разрешений

Этот вопрос рассматривается в Xrandr page.

### Проблема цвета

Примечание: Эта проблема связана с изменениями в ядре 3.9. Эта проблема до сих пор остается в ядре 3.10

Ядро 3.9 содержит изменения, позволяющие драйверу Intel легко настраивать глубину RGB, что в некоторых случаях может привести к проблемам цвета. Это связано с новым "Автоматическим" режимом на "Broadcast RGB». Можно заставить использовать режим, например, `xrandr --output <HDMI> --set "Broadcast RGB" "Full"` (замените `<HDMI>` на соответствующее устройство вывода, проверьте запустив `xrandr`). Вы можете добавить его в свой `.xprofile` и сделать его исполняемым, чтобы запускать команду, прежде чем он запустит графический режим.

Примечание: Некоторые телевизоры могут отображать только цвета из диапазона 16-255, поэтому установка на Full вызовет ограничение цвета в диапазоне 0-15, так что лучше оставить его в автоматическом режиме, который будет автоматически определять необходимость сокращать цветовое пространство для телевизора.

Также есть и другие связанные с ними проблемы, которые могут быть исправлены редактированием регистров GPU. Больше информации можно найти [5] и [6].

### Подсветка не регулируется

После возобновления из режима ожидания, горячие клавиши для изменения яркости экрана не работают. Использование следующих параметров ядра потенциально может решить проблему.

    acpi_backlight=vendor

Устройствам Samsung с гибридной графикой (таким как 770Z5E) нужно указать acpi_backlight=video в качестве параметра ядра, при использовании ядра >= 3.17

    acpi_backlight=video

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

    acpi_osi=Linux
    acpi_osi="!Windows 2012"

Другой доступный параметр:

    video.use_native_backlight=1

Если не один из них не решает проблему, отредактируйте или создайте `/etc/X11/xorg.conf.d/20-intel.conf` со следующим содержимым:

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

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

    EndSection

При использовании ускорения SNA, как упоминалось выше, создайте файл следующим образом:

    /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

### Отключение сжатия буфера кадров

На некоторых картах, таких как Intel Corporation Mobile 4 Series Chipsets, включение сжатия буфера кадров в результате приведёт к потоку ошибок:

    $ 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

Решение заключается в отключении сжатия буфера кадров, которое будет немного увеличивать расход энергии. Для того, чтобы отключить его добавьте `i915.enable_fbc=0` в строку параметров ядра. Более подробная информация о результатах отключения сжатия может быть найдена здесь.

### Искажение/Зависание в Chromium и Firefox

Если у вас проявляются искажения или зависания в Chromium и/или Firefox поменяйте AccelMethod на "uxa"

Проблема с искажениями в Chromium в Gnome-shell на sna решается включением настройки "Использовать системные рамки и строку заголовка".

### Розовые и зелёные артефакты на видео или выводе Веб-камеры

На машинах с Broadwell, приложения использующие вывод xv или Intel Textured Video (в частности Skype и VLC), видеопоток выдаёт розовые и залёные артефакты. Это общая проблема Broadwell, которая была зафиксирована 16.04.2015 [7]. Обновите xf86-video-intel чтобы исправить её.

### Ядро сбоит с ядрами 4.0+ на чипах Broadwell/Core-M

Через несколько секунд после запуска X/Wayland машина зависает и в логе journalctl будет описан крах ядра ссылающийся на графику Intel, как показано ниже:

    Jun 16 17:54:03 hostname kernel: BUG: unable to handle kernel NULL pointer dereference at           (null)
    Jun 16 17:54:03 hostname kernel: IP: [<          (null)>]           (null)
    ...
    Jun 16 17:54:03 hostname kernel: CPU: 0 PID: 733 Comm: gnome-shell Tainted: G     U     O    4.0.5-1-ARCH #1
    ...
    Jun 16 17:54:03 hostname kernel: Call Trace:
    Jun 16 17:54:03 hostname kernel:  [<ffffffffa055cc27>] ? i915_gem_object_sync+0xe7/0x190 [i915]
    Jun 16 17:54:03 hostname kernel:  [<ffffffffa0579634>] intel_execlists_submission+0x294/0x4c0 [i915]
    Jun 16 17:54:03 hostname kernel:  [<ffffffffa05539fc>] i915_gem_do_execbuffer.isra.12+0xabc/0x1230 [i915]
    Jun 16 17:54:03 hostname kernel:  [<ffffffffa055d349>] ? i915_gem_object_set_to_cpu_domain+0xa9/0x1f0 [i915]
    Jun 16 17:54:03 hostname kernel:  [<ffffffff811ba2ae>] ? __kmalloc+0x2e/0x2a0
    Jun 16 17:54:03 hostname kernel:  [<ffffffffa0555471>] i915_gem_execbuffer2+0x141/0x2b0 [i915]
    Jun 16 17:54:03 hostname kernel:  [<ffffffffa042fcab>] drm_ioctl+0x1db/0x640 [drm]
    Jun 16 17:54:03 hostname kernel:  [<ffffffffa0555330>] ? i915_gem_execbuffer+0x450/0x450 [i915]
    Jun 16 17:54:03 hostname kernel:  [<ffffffff8122339b>] ? eventfd_ctx_read+0x16b/0x200
    Jun 16 17:54:03 hostname kernel:  [<ffffffff811ebc36>] do_vfs_ioctl+0x2c6/0x4d0
    Jun 16 17:54:03 hostname kernel:  [<ffffffff811f6452>] ? __fget+0x72/0xb0
    Jun 16 17:54:03 hostname kernel:  [<ffffffff811ebec1>] SyS_ioctl+0x81/0xa0
    Jun 16 17:54:03 hostname kernel:  [<ffffffff8157a589>] system_call_fastpath+0x12/0x17
    Jun 16 17:54:03 hostname kernel: Code:  Bad RIP value.
    Jun 16 17:54:03 hostname kernel: RIP  [<          (null)>]           (null)

Это может быть исправлено путем отключения поддержки execlist, которая была изменена по умолчанию на ядре с версии 4.0. Добавьте следующий параметр ядра:

    i915.enable_execlists=0

Эта поломка с ядрами версии меньше 4.0.5.

### Драйвер не работает на чипах Intel Skylake

Для работы драйвера на новом Intel Skylake (6-е поколение) GPU, строка `i915.preliminary_hw_support=1` должна быть добавлена к параметрам загрузки.

## Смотрите также

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

Categories:

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

Hidden categories:

- Pages with broken package links
- Pages with broken section links