imported>Vix |
imported>Vix |
Строка 1: |
Строка 1: |
| А началось все с того, что меня не устраивала работа драйвера видеокарты Intel linux Graphics в моей системе Ubuntu 14.04. Не то чтобы он совсем не работал - он работал. Просто я был уверен что он работает не полностью. Например, при просмотре Full HD видео процессор был загружен на 70-80 %. Или игрушка Warzone 2100 безбожно тормозила (специально поставил для проверки ибо игры при отрисовке объектов обращаются к видеокарте напрямую в обход xserver). И много других признаков того, что драйвер нормально не работает. В общем не нравился и все тут. Скажете почему это все не работает "из коробки"? Да потому, что Ubuntu устанавливается и запускается на компьютерах с различной аппаратной конфигурацией и настраивать ее на использование всех возможностей каких либо отдельных видеокарт не имеет смысла - она просто не заработает в другой (более слабой) аппаратной конфигурации. Для установки и запуска системы нужна минимальная конфигурация которая будет работать на большинстве железа. И если вы хотите получить производительность Вашей конкретной видеокарты, то систему нужно настроить именно под эту видеокарту. В общем, даже после установки Intel Linux Graphics Installer с последующей установкой новых драйверов, видеокарта выдавала 530 fps и процессор был постоянно загружен. Как обычно, началось копание в интернетах на предмет необходимой информации о настройках. Собрав кусками информацию из различных источников я приступил к настройкам. Огромное спасибо хочу сказать комрадам Gentoo-шникам (www.gentoo.ru) за прекрасную документацию. Итак перейдем к настройкам. У меня были установлены пакеты
| | Hello, list. |
|
| |
|
| xserver-xorg-video-intel, xserver-xorg-video-intel-lts-trusty, intel-linux-graphics-installer, mesa-utils.
| | I just thought I'd pass along something that I recently discovered. |
| | When using sysvinit as the init system, if the file /etc/rc.local |
| | exists and is executable, it will be invoked at the tail end of the |
| | boot process. But under systemd, this file is not executed during |
| | boot. Not by default anyway. Here is how I enabled it. (The |
| | following commands are executed as root.) |
|
| |
|
| Все эти пакеты есть в стандартном репозитории Ubuntu. Все кроме intel-linux-graphics-installer. Этот инсталлятор устанавливает наиболее новые драйвера для ядра выбранной системы. Например, выпущена новая версия ubuntu с новым ядром, а пакеты с новым драйвером, оптимизированным под это ядро, еще не собраны. В этом случае первыми они собираются на 01.org. Напомню как подключить репозиторий с этим пакетом. Для этого выполним в терминале echo "deb https://download.01.org/gfx/ubuntu/14.04/main trusty main #Intel Graphics drivers" | sudo tee /etc/apt/sources.list.d/intellinuxgraphics.list. Эта команда добавит репозиторий intelgraphics. Далее добавим ключи GPG для этого репозитория. Выполним команды:
| | cd /lib/systemd/system/multi-user.target.wants |
| wget --no-check-sertificate https://download.01.org/gfx/RPM-GPG-KEY-ilg -o - | sudo apt-key add -
| | ln -s ../rc-local.service rc-local.service |
| wget --no-check-sertificate https://download.01.org/gfx/RPM-GPG-KEY-ilg-2 -o - | sudo apt-key add -. После этого обновим список репозиториев командой apt-get update и установим пакет командой apt-get install intel-linux-graphics-installer.
| |
|
| |
|
| И, соответственно, запустим эту программу и установим драйвера Intel. Рекомендую вам запускать ее из консоли, выполнив команду
| | Now shutdown and reboot. /etc/rc.local will get executed this time. |
| sudo intel-linux-graphics-installer.
| | If this is the "wrong" way to do it, or someone knows a better way, |
| Далее вы увидите графический интерфейс программы позволяющий установить драйверы.
| | please let me know. |
|
| |
|
| | | [http://linux.derkeiler.com/Mailing-Lists/Debian/2014-08/msg01357.html this] |
| Если у Вас по какой-то причине не работает intel-linux-graphics-installer, Вы можете установить драйверы напрямую выполнив команды
| |
| apt-get install i915-3.16-3.13- dkms и apt-get install i965-va-driver.
| |
| У меня они уже установлены.
| |
| | |
| С момента написания заметки прошло довольно много времени и сейчас текущей версией ubuntu 14.04 является 14.04.4 lts. Самое новое ядро, которое есть в репозитории ubuntu 14.04.4 lts, это Linux-image-extra-4.2.0-34-generic. Вот в этом случае эти драйвера от Intel Вы не прикрутите. Можно попробовать обмануть intel-linux-graphics-installer 1.4.0 сменив название системы на Ubuntu 15.10. Но это даст только нестабильность, поскольку версии библиотек в репозитории intel Willy новее, чем версии библиотек в репозитории ubuntu 14.04. Например, kde-window-manager не сможет работать с новыми библиотеками. Соответственно, не будут прорисовываться полностью окна, у меня не прорисовывалась верхняя часть со значками сворачивания и закрытия, и не будет работать переключение между окнами. Учитывая все это, я поставил из стандартного репозитория ubuntu 14.04 драйвер xserver-xorg-video-intel-lts-wily. На всех тестах результаты он дает те же. И использует уже Mesa 11.0.2. Для того, чтобы обновить драйверы под новое ядро нужно выполнить команду sudo apt-get install --install-recommends linux-generic-lts-wily xserver-xorg-core-lts-wily xserver-xorg-lts-wily xserver-xorg-video-all-lts-wily xserver-xorg-input-all-lts-wily xserver-xorg-video-intel-lts-wily libwayland-egl1-mesa-lts-wily. Она установит ядро (если оно еще не установлено), стек x-сервера, включая и драйвера intel. И рекомендую после установки этих пакетов выполнить команду aptitude -f install. Данная команда даст менеджеру пакетов aptitude задание проверить зависимости пакетов. Если какие-то зависимости не удовлетворены менеджер предложит установить недостающие пакеты, удалить неактуальные и конфликтующие. Правда она настойчиво предложит установить и старые ядра. Потом, после перезагрузки, можно, например, с помощью Ubuntu Tweak, удалить старые ядра.
| |
| | |
| А вот в Ubuntu 16.04 LTS c ядром 4.4 нужно уже пользоваться пакетом драйверов xserver-xorg-video-intel. Он вполне сносно работает. Подтормаживает правда на тяжелом видео, выведенном на внешний большой монитор. Собирать весь стек от Intel Linux довольно сложно, поэтому придется подождать с месяц пока выпустят installer. Хотя и на этом драйвере 3D тесты тоже проходят нормально. В целом, на Plasma5 отрисовка окон неплохо работает. Можете убедиться посмотрев этот клип.
| |
| | |
| | |
| | |
| Проверить какой драйвер используется в системе можно выполнив команду lspci -k. Вот ее вывод:
| |
| | |
| 00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)
| |
| Subsystem: Acer Incorporated [ALI] Device 0742
| |
| Kernel driver in use: i915
| |
| Это значит что у меня загружен и работает драйвер i915. Посмотреть информацию о данном модуле ядра можно выполнив команду modinfo i915 :
| |
| | |
| root@darkeye:/home/backup# modinfo i915
| |
| filename: /lib/modules/4.2.0-34-generic/kernel/drivers/gpu/drm/i915/i915.ko
| |
| license: GPL and additional rights
| |
| description: Intel Graphics
| |
| author: Intel Corporation
| |
| author: Tungsten Graphics, Inc.
| |
| firmware: i915/skl_dmc_ver1.bin
| |
| srcversion: 5C38138799E6BC8691FB133
| |
| ....
| |
| | |
| Если поискать этот драйвер при помощи команды aptitude search i915 то найдется пакет i915-3.15-3.13-dkms. Если набрать в консоли
| |
| aptitude show i915-3.15-3.13-dkms
| |
| мы увидим следующее:
| |
| root@darkeye:~# aptitude show i915-3.15-3.13-dkms
| |
| Пакет: i915-3.15-3.13-dkms
| |
| Новый: да
| |
| Состояние: установлен
| |
| Автоматически установлен: нет
| |
| Версия: 0.01
| |
| Приоритет: необязательный
| |
| Раздел: kernel
| |
| Сопровождающий: Jack Leigh
| |
| Архитектура: all
| |
| Размер в распакованном виде: 3.764 k
| |
| Зависимости: debhelper, dkms, linux-headers
| |
| Описание: Intel i915 video drivers from the mainline kernel,
| |
| backported from the 3.15 series to the 3.12 series.
| |
| This package contains the source to be built with dkms.
| |
| Это доказывает что установлен и работает драйвер Intel Graphics. Посмотрите в сети интернет кто такой Jack Leigh и какое отношение он имеет к сайту download.01.org?
| |
| Убедились? Замечательно.
| |
| Для полной настройки драйвера, включения нужных функций и загрузки в ядро необходимых модулей нужно добавить некоторые строки в файл xorg.conf. Сразу оговорюсь в ubuntu 14.04 его нет (там x-server настроен без xorg.conf однако если его создать, настройки при запуске сервера читаются из него) поэтому нужно генерировать этот файл. Переходим в режим консоли (ctrl+shift+F1). В консоли переходим в режим суперюзера (sudo -s). Останавливаем X-server выполнив в консоли service kdm stop (у кого Gnome service gdm stop или Unity - service lightdm stop). Далее выполняем команду Xorg -configure. Эта команда создаст в нашей домашней директории файл ~/xorg.conf.new. Его необходимо перенести в нужное место и назвать правильно. Выполним команду mv xorg.conf.new /usr/share/X11/xorg.conf.d/xorg.conf.
| |
| В комментариях парень верно написал о невозможности в новых версиях Ubuntu (15.04, 15.10) генерировать таким методом xorg.conf.new. Команда Xorg -configure выдает ошибки и не создает файл. Я проверил на Ubuntu 14.04.4 LTS - это действительно так. Поэтому, я хочу предложить другой метод. Загрузитесь в recovery mode (при включении компьютера нажимаете клавишу esc, выбираете "Дополнительные параметры загрузки"). Там выбираете графу c последней версией Вашего ядра и с надписью (recovery mode). Загрузится ядро в recovery mode и появится список. В этом списке выбираете графу root. Внизу появится приглашение ввести команду #. Вводите сначала команду mount -o remount, rw /. Эта команда перемонтирует корневую файловую систему в режим чтения/записи (до этого корневая файловая система была смонтирована в режиме чтения). Потом вводите команду Xorg -configure. При выполнении программа сообщит о некоторых незначительных ошибках. Тем не менее, файл xorg.conf.new будет создан и будет находиться в директории /root. После этого можно перенести этот в нужное место и назвать правильно командой mv xorg.conf.new /usr/share/X11/xorg.conf.d/xorg.conf.
| |
| | |
| Открываем этот файл в любом доступном редакторе ( я пользуюсь nano) и правим необходимые секции. Сейчас я приведу содержимое, которое, помимо того что уже есть, должно быть в этом файле. Если в какой-то секции есть, например, одна строка, то нужно добавить остальные. Единственный момент - я правил первую секцию "Device" и остальные две генерированные секции "Device" оставил без изменений, так как у меня на ноутбуке одна видеокарта. Те секции, которых не было, я просто добавил в файл.
| |
| | |
| Какие секции я исправлял и добавлял:
| |
| | |
| Section "Module"
| |
| Load "extmod"
| |
| Load "record"
| |
| Load "glx"
| |
| Load "dbe"
| |
| Load "dri"
| |
| Load "dri2"
| |
| EndSection
| |
| Эта секция загружает необходимые модули
| |
| | |
|
| |
| Section "ServerFlags"
| |
| Option "AIGLX" "true"
| |
| EndSection
| |
| В секции ServerFlags включаются и отключаются некоторые функции Х-сервера, в данном случае AIGLX. Accelerated Indirect GLX ("AIGLX") открытый проект разрабатываемый сообществами Red Hat и Fedora Linux для поддержки прямого GLX рендеринга совместимого с X.Org и DRI драйверами. Это позволяет удалённому X клиенту получать полностью аппаратно ускоренный рендеринг через протокол GLX; эта разработка необходима для OpenGL менеджеров прозрачности (таких как Compiz и Beryl) для работы с аппаратным ускорением.
| |
| | |
|
| |
| Section "Device"
| |
| Option "AccelMethod" "sna"
| |
| Option "TearFree" "true" // выбирайте сами добавлять эту опцию или нет. У меня продольных разрывов и дерганья нет и без нее. А вот парень в комментариях написал что у него были полосы и это их убрало.
| |
| Option "Tiling" "false" // можно включить, у меня нормально работает с включенным.
| |
| Option "DRI" "true"
| |
| Identifier "Card0"
| |
| Driver "intel"
| |
| BusID "PCI:0:2:0"
| |
| EndSection
| |
| В этой секции задаются параметры видеокарты. Sna - режим 2D ускорения для драйверов intel, Tiling - определяет, будет ли буферы памяти выделятmся в плиточный режиме. В большинстве случаев (особенно для комплексной визуализации), плиточный режим значительно повышает производительность. DRI - direct rendering infrastructure. Если у Вас в сгенерированном xorg.conf параметр BusID другой то оставьте его.
| |
| | |
|
| |
| Section "Extensions"
| |
| Option "Composite" "Enable"
| |
| Option "RENDER" "Enable"
| |
| EndSection
| |
| В этой секции задаются дополнительные опции такие как расширение композитного канала и разрешение ускорения 2D графики.
| |
| | |
|
| |
| Section "DRI"
| |
| Mode 0666
| |
| EndSection
| |
|
| |
| Дополнительно, для подстраховки, я создал файл /etc/modprobe.d/i915-kms.conf со следующим содержимым: option i915 modeset=1. Я это сделал для стопроцентной уверенности в правильной загрузке графического модуля ядра.
| |
| | |
| Можно сказать зачем загружать модули которые и так по идее загружены? А для того чтобы перестраховаться. После правки конфигурационного файла перегружаем компьютер.
| |
| | |
| Сразу хочу сказать. Если графический сервер не загрузился, не впадайте в панику и не кричите что все сломалось, что, мол, испортил работающую систему экспериментами. Еще раз спокойно проверьте конфигурационный файл на предмет ошибок, посмотрите логи (/var/log/Xorg.0.log). В любом случае, переименовав xorg.conf командой mv /usr/share/X11/xorg.conf.d/xorg.conf /usr/share/X11/xorg.conf.d/xorg.conf.bak, вы сможете вернуть настройки Xserver к первоначальному состоянию и потом, при желании, исправить конфигурационный файл в графическом режиме.
| |
| | |
| Так как я правильно написал все секции конфигурационного файла, после перезагрузки компьютера, у меня все загрузилось нормально. Открываем консоль и проверяем работоспособность 3D-графики:
| |
| | |
| glxinfo | grep direct
| |
|
| |
| direct rendering: Yes
| |
|
| |
| glxinfo | grep render
| |
|
| |
| OpenGL renderer string: Mesa DRI Intel(R) Ivybridge Mobile
| |
|
| |
| grep Composite /var/log/Xorg.0.log
| |
|
| |
| (II) Initializing built-in extension COMPOSITE
| |
| Выполняем в терминале команду glxgears и видим 56-60 fps. Да и производительность даже на первый взгляд слабее стала.
| |
| Для решения проблем со скоростью графики (сейчас драйвер рендерит по умолчанию не на полную мощность), необходимо настроить DRI самостоятельно. Direct Rendering Infrastructure (DRI) — это интерфейс и реализация в виде свободного ПО, используемая в системе X Window System, позволяющая пользовательским приложениям безопасно получать доступ к видеоаппаратуре без необходимости использования X server (замедляющего этот процесс). Основное назначение DRI — обеспечение аппаратного ускорения Mesa, одной из реализаций OpenGL.
| |
| Для настройки DRI, если, конечно еще не создан, необходимо создать файл ~/.drirc в домашней директории следующего содержания:
| |
| Файл: ~/.drirc
| |
|
| |
| <driconf>
| |
| <device screen="0" driver="i915">
| |
| <application name="Default">
| |
| <option name="force_s3tc_enable" value="false" />
| |
| <option name="no_rast" value="false" />
| |
| <option name="always_flush_cache" value="false" />
| |
| <option name="always_flush_batch" value="false" />
| |
| <option name="bo_reuse" value="1" />
| |
| <option name="vblank_mode" value="0" />
| |
| </application>
| |
| </device>
| |
| </driconf>
| |
|
| |
| Полный перечень конфигурационных опций драйвера DRI можно получить выполнив команду: #xdriinfo options i915. Эти же операции можно выполнить, произведя настройку в графическом режиме. Для этого просто установите программу driconf (apt-get install driconf) и запустите ее из меню. Не забудьте предварительно создать файл командой touch ~/.drirc. Кстати можно попробовать переключить опцию <option name="force_s3tc_enable" value="true" />. Вы можете изменить эту опцию в файле настроек используя текстовый редактор. Или Вы можете сделать это в соответствующей закладке только что установленной программы 3D Acceleration (пакет driconf). Кстати она делает более полный файл настроек. И обратите внимание на вкладку "неизвестные опции". Если она есть, то опции, находящиеся в этой вкладке, необходимо удалить из файла .drirc. Они будут мешать работе драйвера. Это справедливо для случая когда у вас одна встроенная видеокарта intel и нет дискретной видеокарты, использующей эти опции. Все эти пояснения Вы можете прочесть в помощи к программе.
| |
|
| |
| | |
|
| |
| Перезагрузите компьютер.
| |
| После этих нехитрых манипуляций в логах (/var/log/Xorg.0.log) появятся заветные строчки, говорящие о том что драйвера нормально загружены и работают.
| |
| [ 33.093] (II) intel: Driver for Intel(R) Integrated Graphics Chipsets:
| |
| i810, i810-dc100, i810e, i815, i830M, 845G, 854, 852GM/855GM, 865G,
| |
| 915G, E7221 (i915), 915GM, 945G, 945GM, 945GME, Pineview GM,
| |
| Pineview G, 965G, G35, 965Q, 946GZ, 965GM, 965GME/GLE, G33, Q35, Q33,
| |
| GM45, 4 Series, G45/G43, Q45/Q43, G41, B43
| |
| [ 33.093] (II) intel: Driver for Intel(R) HD Graphics: 2000-5000
| |
| [ 33.093] (II) intel: Driver for Intel(R) Iris(TM) Graphics: 5100
| |
| [ 33.093] (II) intel: Driver for Intel(R) Iris(TM) Pro Graphics: 5200
| |
| [ 33.099] (--) intel(0): Integrated Graphics Chipset: Intel(R) HD Graphics 2500
| |
| [ 33.099] (--) intel(0): CPU: x86-64, sse2, sse3, ssse3, sse4.1, sse4.2
| |
| [ 33.102] (II) intel(0): [DRI2] DRI driver: i965
| |
| [ 33.102] (II) intel(0): [DRI2] VDPAU driver: i965
| |
| [ 33.102] (II) intel(0): direct rendering: DRI2 Enabled
| |
| и т. д.
| |
| | |
| | |
|
| |
| Проверяем снова с помощью glxgears. Снова 50-60 fps. А это происходит из-за того, что программа проводит не совсем корректный тест и, в итоге, считает частоту обновления экрана. Запустите эту команду вот так: $ vblank_mode=0 glxgears. При таком варианте запуска у меня тест показал 4200 fps. Но в самом деле этот тест не информативен. Обычно его используют только для того, чтобы убедиться что OpenGl работает. Для более полной проверки, я рекомендую установить, например, glmark2 (apt-get install glmark2) и запустить ее в терминале.
| |
| | |
| [http://network.lamantinclub.com/45-kak-nastroit-drajvery-videokarty-intel-hd-graphics-v-ubuntu-14-04 взято тут]
| |