Ноутбук + 2 видеокарты — как жить? Убунту и видеокарта


Nvidia prime | Русскоязычная документация по Ubuntu

Nvidia Prime - набор патчей c поддержкой технологии Prime, позволяющей организовать совместное обращение разных драйверов к общему буферу, что необходимо для реализации возможности горячего переключения вывода между разными видеокартами. В данном случае это Nvidia и Intel, технология NVIDIA Optimus.

Проекты Bumblebee и Nvidia Prime не совместимы между собой. Поэтому, если у вас установлен Bumblebee, то его надо удалить перед установкой Nvidia Prime!

Nvidia Prime в основном расчитан на работу с менеджером входа в систему LightDM, который используется в Ubuntu по умолчанию. С другими менеджерами входа в систему возможны проблемы.

Чтобы установить Nvidia Prime и проприетарный драйвер nVidia вам нужно открыть терминал Ctrl+Alt+T и выполнить команды соответсвующие вашей версии Ubuntu:

Ubuntu 12.04

  1. Установить новые версии ядра и графического стека, выполнив команду:sudo apt-get install linux-generic-lts-saucy xserver-xorg-lts-saucy linux-headers-generic-lts-saucy
  2. Установить проприетарный драйвер nVidia версии 331 и Nvidia Prime: sudo apt-get install nvidia-331 nvidia-settings nvidia-prime

Ubuntu 14.04 и 14.10

  1. Установить Nvidia Prime и проприетарный драйвер nVidia:sudo apt-get install nvidia-352 nvidia-settings nvidia-prime

Ubuntu 15.04

  1. Установить Nvidia Prime и проприетарный драйвер nVidia:sudo apt-get install nvidia-352 nvidia-settings nvidia-prime

Ubuntu 15.10

  1. Установить Nvidia Prime и проприетарный драйвер nVidia:sudo apt-get install nvidia-352 nvidia-settings nvidia-prime

Ubuntu 16.04

  1. Установить Nvidia Prime и проприетарный драйвер nVidia:sudo apt-get install nvidia-361 nvidia-settings nvidia-prime

Для завершения установки незабываем перезагрузить ноутбук.

С помощью NVIDIA X server Settings

  • Войдите в менеджер настроек «NVIDIA X server Settings», запустив nvidia-settings через Unity Dash или через терминал.

    Далее перейдите в раздел PRIME Profiles и выберите какую видеокарту хотите использовать и нажмите на кнопку «Выход». При смене видеокарты вас попросят ввести пароль администратора.

    Для вступления в силу настроек необходимо перезапустить сеанс. Для этого выполните «Завершение сеанса…» и затем заново войдите в систему.

В терминале

  • С помощью консольной программы prime-select можно управлять nvidia-prime в терминале. Чтобы узнать какая видеокарта задействована в качестве основной, введитеprime-select query

    Для выбора видеокарты Nvidia используется команда

    sudo prime-select nvidia

    А для переключения обратно на Intel

    sudo prime-select intel

    Не забываем после смены активной видеокарты перезагрузить текущий сеанс.

  1. Зависает система при использовании тачпада! Для возобновления работы можно перейти в другой терминал, нажатием комбинации клавиш Ctrl+Alt+F1, и затем перейти обратно нажав Ctrl+Alt+F7. У кого наблюдается данный баг - просьба подтвердить: nvidia-prime - Freeze while using touchpad На launchpad пишут, что баг исправлен в Ubuntu 15.04
  2. На последних версиях пакетов ubuntu-drivers-common и nvidia-common, при выборе видеокарты nvidia, система загружается с черным экраном.No longer able to use GUI after update Для решения перейдите в терминал, нажатием комбинации клавиш Ctrl+Alt+F1. И верните старые версии пакетов ubuntu-drivers-common и nvidia-common командой sudo apt-get install ubuntu-drivers-common=1:0.2.91.4 nvidia-common=1:0.2.91.4

    Затем запретите их обновление в системе:

    sudo apt-mark hold ubuntu-drivers-common nvidia-common

    Далее перезагрузите компьютер

  3. Возможны рывки при просмотре фильмов или перемещении окон.

  4. Может не работать автоподключение мониторов (тогда правьте файл xorg.conf). В официальном Wiki сообщается, что данная проблема исправлена в Ubuntu 14.04+

    • Решить проблему можно установкой пакета gtk2-engines-pixbuf sudo apt-get install gtk2-engines-pixbuf sudo apt-get install gtk2-engines-pixbuf:i386
  1. Англоязычная wiki о гибридной графике

  2. Более полная поддержка Nvidia Optimus в Ubuntu 14.04 Trusty Tahr

  3. Индикатор для prime предоставляющий возможность быстрого переключения между картами Nvidia и Intel

  4. Установка Nvidia Prime в Ubuntu - http://www.linuxrussia.com/2015/02/nvidia-prime-ubuntu.html Рассказывается про установку новых версий драйвера nvidia из репозитория ppa:xorg-edgers/ppa и об использовании nvidia prime. Приводится небольшое тестирование производительности разных версий драйвера nvidia

help.ubuntu.ru

Ubuntu и ноутбук на 2 видеокарты ~ Заметки убунтолога

Последнее время у производителей появилась тенденция ставить на ноутбуки две видеокарты — одна какая-нибудь простенькая интеловская для экономии электроэнергии, а другая — навороченная для игр и видео. Насколько я знаю, таким точно грешит Lenovo, и под эту же тенденцию попал и я со своим HP TouchSmart tm2-1080er. Если на предустановленной Windows 7 Home x64 возможность переключаться между картами, разумеется, имелась, то Windows 7 Professional x32 вторую видеокарту включать уже не захотел. Не лучше обстояла ситуацию и в Ubuntu — видеокарты определяются-то обе, а вот использоваться предпочитает только дефолтная интеловская. И питание жрут, разумеется, обе — как результат, ноутбук работает намного меньше, чем должен. Как мы будем с этим бороться? Итак, у нас есть две видеокарты:

$ lspci | grep VGA00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) 01:00.0 VGA compatible controller: ATI Technologies Inc M93 [Mobility Radeon HD 4500 Series] (rev ff)Наша задача — либо научиться переключаться между двумя видеокартами, либо хотя бы отключить питание второй видеокарты.
Способ первый. Убить пересмешника.
Первый способ простой. Мы возьмём готовый модуль, написанный для ноутбуков Lenovo (для нашего замечательного HP он тоже подходит) и заставим его прикручиваться к нашему ядру. Для этого мы воспользуемся deb-пакетами и системой динамического прикручивания модулей — DKMS.Модуль я обозвал незатейливо — hp_acpi_kill.

Берём исходный код модуля и сохраняем его под именем hp_acpi_kill.cТеперь кладём рядом Makefile.Это наш необходимый модуль, написанный неизвестным энтузиастом для OpenSUSE.

Теперь нам надо написать конфиг для DKMS, чтобы не пересобирать модуль под каждую новую версию ядра. К счастью, DKMS устроен очень просто, и конфиг получается короткий. Скачиваем и сохраняем под именем dkms.conf. В этом файле мы указываем имя компилируемого модуля, его версию, а также как компилировать и ставить наш модуль. Казалось бы на этом можно и остановиться — добавить модуль в DKMS, собрать и установить — но мы всё-таки пользователи удобного дистрибутива, а не не пойми чего. Поэтому мы завернём наш модуль в пакет.Углубляться в подробности сборки пакета я не буду, посколько на хабре писал об этом уже много, скажу лишь, что помимо обычного набора файлов нам потребуются файлы *.postinst,*.postrm, *.prerm — чтобы наш модуль регистрировался и компилировался в DKMS при установке пакета, а также вычищался при удалении. Скачать архив со всеми необходимыми файлами можно тут.

Собираем пакет командой debuild или dpkg-buildpackage на выбор, устанавливаем и добавляем в /etc/modules название модуля hp_acpi_kill — теперь при загрузке системы дискретная видеокарта будет отключаться и энергопотребление резко падать.Посмотрев список устройств, мы обнаружим, что наша видеокарта системе видна, но не определяется:

$ lshw... *-generic:0 product: Illegal Vendor ID vendor: Illegal Vendor ID physical id: 0 bus info: [email protected]:01:00.0 version: ff width: 32 bits clock: 66MHz capabilities: bus_master vga_palette cap_list rom configuration: driver=radeon latency=255 maxlatency=255 mingnt=255 resources: irq:31 memory:c0000000-cfffffff ioport:3000(size=256) memory:e4400000-e440ffff memory:e4420000-e443ffff
Способ второй. vga_switcheroo
Способ второй потребует от нас немножко трафика и капельку времени. Дело в том, что не так давно вышла версия 2.6.34 ядра, в которую включен новый интересный модуль — vga_switcheroo, который как раз и призван переключать видеокарты. На Launchpad и kernel.ubuntu.com даже можно найти пакеты с этим ядром, но в дефолтном конфиге модуль выключен — вероятно потому, что удобных графических средств для переключения видеокарт пока не придумали.

Поэтому для начала скачаем исходный пакет с ланчпада (он предназначен для Maverick Meerkat, но и у нас отлично заработает):

$ wget https://launchpad.net/ubuntu/+archive/primary/+files/linux_2.6.34-2.9.dsc$ wget https://launchpad.net/ubuntu/+archive/primary/+files/linux_2.6.34-2.9.tar.gzРаспакуем его:$ dpkg-source -x linux_2.6.34-2.9.dscТеперь зайдём в каталог linux-2.6.34 и откроем файл debian.master/config/config.common.ubuntu любым любимым редактором. Найдём строку "# CONFIG_VGA_SWITCHEROO is not set" и заменим её на «CONFIG_VGA_SWITCHEROO=y» (кавычки не нужны).На всякий случай откроем ещё файл debian/config/enforce и допишем в нём строку «value CONFIG_VGA_SWITCHEROO y» — это поможет при сборке убедиться, что ни одна зараза не испортила выставленный параметр.Собираем командой debuild (собираться будет долго, потому что при сборке пакета собирается ВСЁ) и устанавливаем:$ sudo dpkg -i linux-headers-2.6.34-2_2.6.34-2.9_all.deb linux-headers-2.6.34-2-generic_2.6.34-2.9_i386.deb linux-image-2.6.34-2-generic_2.6.34-2.9_i386.debЕсли у вас 64-битная система, вместо i386 в имени файла будет, разумеется, amd64.

Как нам после перезагрузки в новое ядро переключить видеокарту? Посмотрим на сводку советского информбюро:

$ cat /sys/kernel/debug/vgaswitcheroo/switch0:+:Pwr:0000:00:02.01: :Off:0000:01:00.0Плюсик показывает нам активную видеокарту, пометка Pwr — что видеокарта включена, Off — что выключена. Что можно изменить? Есть замечательный список команд, которые можно передать vga_switcheroo:DIS — немедленное переключение на дискретную видеокартуIGD — немедленное переключение на интегрированную видеокартуDDIS — отложенное переключение на дискретную видеокартуDIGD — отложенное переключение на интегрированную видеокартуON — включить неиспользуемую видеокартуOFF — выключить неиспользуемую видеокартуСразу скажу, немедленное переключение у меня никакого немедленного эффекта не даёт.Поэтому скомандуем: # echo ON > /sys/kernel/debug/vgaswitcheroo/switch # включим дискретную видеокарту# echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch # попросим при случае переключить на дискретную видеокартуТеперь нажимаем в системе «завершить сеанс», логинимся заново и выключаем интегрированную видеокарту:# echo OFF > /sys/kernel/debug/vgaswitcheroo/switchСмотрим на результат:$ $ cat /sys/kernel/debug/vgaswitcheroo/switch0: :Off:0000:00:02.01:+:Pwr:0000:01:00.0Теперь можно поиграть в игры, посмотреть HD-видео и не тратить питание на интеловскую карту. А можно переключиться обратно и тратить еще меньше энергии на полноценную видеокарту, экономя батарейку. Долгих ей лет

www.habrahabr.ru

ubuntu-repository.blogspot.ru

Ubuntu и старые ATI видеокарты (+ немного про BURG) / Хабрахабр

История моя будет полезна тем кто имеет старую видеокарту от ATI, и хочет себе более лучшую графическую производительность нежели предоставляет стандартный mesa драйвер, ну и MonoDevelop-4(небольшое хобби). Увы но с дистрибутивом линукса я могу только зайти до жамканья пакетов, остальное для меня дремучий лес. Прошу строго не судить так как это моя первая статья, и предназначен он для обычных начинающих пользователей, которые возможно слабо знакомы с Linux системами. А тем кто постарше и разбирается, предлагаю почитать, посмеяться над весьма спонтанными и не всегда корректными решениями.
Акт I. Я и Броненосец Майя (Linux Mint Maya)
О проблемах с видео картой я знал, знал о некоторых условиях их успешной установки, поэтому для установки была выбрана Linux Mint Maya, так как она основана на Ubuntu 12.04LTS, и как оказалось мой выбор был неплох. Но почему именно старый дистрибутив? AMD решили не поддерживать старые видеокарты под Unix системами, и поэтому приходится вертеться и крутиться чтоб работало шустро и красиво. А так приходится выбирать чтото одно. Но это меня не удовлетворяло. Поэтому начались поиски нужного в интернете и были вполне успешны, был найден репозиторий со всем нужным инструментарием, вообщем трудозатраты сводились к минимуму.

Итак, начнём… Требования для драйвера:

— Xserver <1.13 (в репозитории есть 1.12.4) — Xorg <=6.9 — ядро <=3.4 (хотя пишут что есть фикс для 3.8)

Как узнать что система удовлетворяет нашим требованиям:

— X -version узнаём версию Xserver и теоретически ядра — uname -r покажет нам версию ядра — aptitude show xserver-xorg версия Xorg (нагуглено, как сделать, проще не знаю)

В итоге на скачанном и установленном дистрибутиве мы имеем Xserver 1.11.3, Xorg 7.6 и ядро 3.2.0. По требованиям почти подходит, но была не была, решил поставить. Добавляем репозиторий:

sudo add-apt-repository ppa:makson96/fglrxsudo apt-get update

Репозиторий установился, ключ стал, ну и отлично, теперь обновляем список доступных пакетов в репозитории и устанавливаем пакет fglrx-legacy, вариантов его установить много, я делал через apt-get:

sudo apt-get install fglrx-legacy

Всё стало. Перезагрузка и вот, оно работает, причём весьма неплохо. Тест на шестернях(glxgears) показал по ~800 FPS. Обновлять X-сы не стал, так-как все работало нормально. Но радость моя была скоротечной… Установленная из репозиториев monodevelop была всего лишь 2ой версии, и свежий аддончик с MonoGame в неё невстал. Я был расстроен, но не сдавался, были найдены репозитории дебиана на яндексе, был также найден сайт с описанием пакетов дебиана. В sources.list (/etc/apt/) была добавлена строка

deb mirror.yandex.ru/debian stable main contrib non-free

При обновлении списков доступных пакетов apt-get сказал что не нашел пару ключей. Ключи были скачаны с серверов убнты командой:

sudo apt-key adv --recv-keys --keyserver keyserver.ububntu.com <ID ключа>

Оба требуемых ключа были установлены и была предпринята попытка установки Monodevelop 4ой версии. Но и тут провал… ей требуется библиотека libc6 более новой версии нежели у меня… ок, сносим мою на её место ставим дебиановскую… сказано, сделано… от это библиотеки зависели почти все пакеты что у меня стояли… «ну да ладно» подумал я и нажал Y… новая библиотека не стала, это было для меня небольшой обидой… «ну да ладно» опять подумал я, и попытался установить предыдущую версию это библиотеки… попытки были безуспешны… «да ладно» подумал я и перезагрузился в рядом стоящий Windows. И снова гугл, и поиск решения…

Акт II. Туда и обратно
Гугл мне показал идентичный сайт убунты со списком пакетов и их описанием в местных репозиториях. Было выяснено что нужная мне библиотека есть в свежем релизе 14.04 LTS… ну ок, скачал, поставил… тормозят окошки, глаз не радуют… ну да ладно. Зная что тут мне так запросто не поставить драйвера, сразу пошел искать сорсы ядра версии 3.2.0, так как точно был уверен что оно работает, всё делалось не в иксах(Ctrl+Alt+(F1-F6)), потому что не перевариваю Unity (или просто не умею готовить)… Как оказалось, по умолчанию у рута нет пароля потому отказалось пускать под эту учётную запись но это поправимо, вернулся в иксы (Ctrl+Alt+F7), открыл терминал и:

sudo passwd root

Указал новый пароль, и всё, всё что нужно готово, но потом подумал, ялро проще скачать таки там где есть копировать вставить, но гитом пользоваться не пришлось, ядро можно скачать в tar архиве здесь (https://www.kernel.org/). Скачал распаковал, и ушел из иксов. Итак, сорс у нас есть теперь его следует собрать, а перед тем как собрать, сконфигурировать, переместившись в директорию с распакованным ядром пишем:

make menuconfig

Но не сработало, мейк что-то буркнул в ответ, особо не вникая в его ответ сделал повторный выпад:

make config

Ну и всё, конфигурирование началось… Y Y Y Y Y… ответив на полсотни вопросов мне надоело, в итоге зажал Enter тем самым отвечая заданным по умолчанию ответом (он выделяется Заглавной буквой)… И на этом конфигурирование завершено, теперь запускаем его сборку:

make

Процесс долгий, так что можно пойти поспать. Вскоре ядро собрано, теперь надо собрать модули и установить их:

make modulesmake modules_install

Всё прошло почти успешно, была одна ошибка но там был модуль вроде связанный с dvb, ну я вряли буду таким пользоваться на этом железе, так что это я проигнорировал. Теперь дело за малым, установить ядро:

make install

Ядро станет туда куда ему следует (в директорию /boot) и будет запущена автоконфигурация GRUBа. После установки идём на перезагрузку и выбираем пункт с загрузкой ядра 3.2. Система загрузилась и Хсы завелись, теперь дело за малым, откатить иксы, и поставить драйвер. И я снова под рутом, подключил репозиторий, и… фсё… такого пакета нет, сказал мне apt, ну я не растерялся, залез снова в sources.list, и немного подкорректировал данные чтоб apt обратился к разделу precise, посвященный для пользователей 12.04. Через aptitude подсмотрел точную версию пакета иксов и дал задание apt-get установить мне именно его, он предупредил что я что-то делаю не так но я уверил его в том что так и надо, и он начал качать и устанавливать, и естественно всё запорол… попытки поставить нужные мне пакеты apt-get-ом не увенчались успехом, потом вспомнил, aptitude тоже может качать устанавливать и разрешать разногласия. И… да он сделал это, старые иксы были успешно установлены, после чего следовало бы проверить работоспособность, но я решил сразу накатать драйвера. После установки драйверов как всегда перезагрузка… и всё… иксы не заводятся, чтение логов не дало мне подсказок на верное решение, так что я начал бездумно подменять/удалять разные пакеты… В итоге отчаявшись я решил что таки потерплю MonoDevelop старой версии. Установил майю, поставил драйвера.

Акт III. Это не тот гном которого я ожидал
Вернувшись в майю было решено поставит среду гнома, как никак эта среда мне нравилась… маленькие панельки, compiz, и ещё эффекты compiz… ну и от меня последовало:

sudo apt-get install gnome

Всё скачалось хорошо, но при установке gdm он возмутился что у стоящего mdm есть такие же файлы как и у него, и лежат они там же. Недолго думая удалил mdm:

sudo apt-get remove mdm

А после заново запустил установку гнома, но теперь с флагами force и yes(он спрашивает внести ли изменения в некоторые файлы, и ждёт ответа, а я планировал отойти):

sudo apt-get -fy install gnome

Всё стало, сделал LogOut, и… gdm не запустился, ну следуя древнему обычаю когда что-то не работает, а должно, «выключи и включи», всё заработало, выбрав сессию GNOME, залогинился, и моим глазам предстало то что как оказывается зовётся gnome-shell. Я конечно не ожидал увидеть тот гном который отпечатался у меня в памяти ещё в 2005-2006 году. Но то что я видел значительно отличалось… Покопавшись в интернете были найдены расширения, которые значительно повысили комфортабельность использования оболочки, и в принципе, оно мне понравилось… уж лучше чем юнити…

Акт IV. MonoDevelop-4.0
Не покидая надежды я решил всё таки поставить эту IDE. Было придумано предпринять попытку сбора её из исходников. Конечно они были быстро найдены, ссылка на на них есть на официальном сайте. Попытка установить её была частично успешной, ей для сборки нужен mono компилятор, но он у меня был, потому снова обратился к страничке с описанием пакетов, от туда было выяснено что нужен компилятор 3ей версии, и снова гугл… но гугл указал мне на более просто решение. Был найден репозиторий где уже была собранная в deb пакет нужная мне версия:

deb ppa.launchpad.net/ermshiperete/monodevelop/ubuntu precise main

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

monodevelop-4.0

картинки в меню не появилось, ну и ладно, зато работает…

+ Небольшой Бонус (BURG)
Перед тем как поставить Убунту были предприняты попытки поставить OSx86, раньше я её себе ставил, но тогда была другая видеокарта… и работало оно без проблем. Но суть не в этом, для запуска макОСи ставился хамелеон для идентификации компьютера как одного из семейства маков, и опять же, он весьма симпатичен, а стандартная конфигурация GRUB просто нервно курит в сторонке, но я знал что можно сделать лучше, и в моих поисках я наткнулся на BURG, и заметка на иностранном языке, по утверждению гугла это индонезийский, но не суть важно, были ссылки на репозитории и мне этого хватало. Первым шагом у нас поставить сам BURG, и настроит его

sudo add-apt-repository ppa:bean123ch/burgsudo apt-get install burg burg-themes

Во время установки BURG спросит с какими параметрами запускать ядро, мы указываем:

quiet splash (подсмотрел в конфигурации GRUB)

затем от нас требуется выбрать загрузочный раздел, и всё, считай что BURG стоит. На BURG можно взглянуть и без ребута, достаточно запустить:

sudo burg-emu

Следуя указания внизу изображения загрузчика можно выбрать тему… но как по мне, они не очень, и желания доделывать руками не было, хотелось быстрее с этим закончить. На той же индонезийской страничке предлагают поставить Super Boot Manager, используя который можно поставить ещё графических тем для загрузчика. Он находится в другом репозитории так что продолжаем:

sudo add-apt-repository ppa:ingalex/super-boot-managersudo apt-get install super-boot-manager

Поставили, запускаем, он спрашивает пароль рута, потом выбираем язык, русского вроде нет, я выбирал английский, и так всё понятно. Нажимаем Burg-manger, вкладка Themes, и выбираем что понравится, на понравившейся делаем двойной клик мышью, он её скачивает, устанавливает, и настраивает.

P.S.:
Хотелось бы отметить что поначалу я упоминал что после добавления нового репозитория в список и последующей установки из него, нужно обновлять списки доступных пакетов, но позже стал это намеренно упускать, чтобы выработалась привычка это делать. Также в статье упущено множество аспектов, так как они просты и не тривиальны, и граблей там я не встретил.

habrahabr.ru

Установка драйверов AMD Ubuntu 16.04

Компания AMD разрабатывает два вида драйвера для своих видеокарт, первый — с открытым исходным кодом — AMDGPU, он встроен в ядро и поставляется по умолчанию с дистрибутивом.

Но кроме него, развивается улучшенная версия с закрытыми компонентами версия драйвера AMDGPU-PRO. В этой статье мы рассмотрим как выполняется установка драйвера amd Ubuntu 16.04.

Содержание статьи:

Что такое AMDGPU-PRO?

По умолчанию после установки операционной системы вы получаете драйвер с открытым исходным кодом Radeon. Он имеет открытый исходный код и разработчики могут его включать в ядро и поддерживать в самом актуальном состоянии. Он отлично работает для обеспечения отображения окон, композитинга, или легких игр, но он намного медленнее чем специально оптимизированный драйвера, когда дело доходит до 3D игр.

Раньше AMD выпускала еще один драйвер, под названием fglrx. Он имел полностью закрытый код и вам нужно было устанавливать его после установки дистрибутива. Разработчики из команды AMD поддерживали совместимость этого драйвера с новыми ядрами Linux и графическим сервером X. Этот драйвер был более оптимизирован для 3D игр, но у него были свои проблемы. Но теперь он не поддерживается.

Сейчас AMD перешел на гибридный подход. Драйвер ядра AMDGPU распространяется с открытым исходным кодом, разработчики могут делать его улучшать и поддерживать. Он уже встроен в ядро Ubuntu 16.04.

Кроме того, AMD предоставляет бинарный пакет под названием AMDGPU-PRO. У этого компонента исходный код закрыт и он дает более высокую производительность в 3D играх. Он работает совместно с открытым драйвером. Компания разрабатывает не два драйвера, а один, но он разделен на две части.

Есть компонент с закрытым кодом, но и AMD, и NVIDIA считают что это необходимо. Например, закрытый код может содержать различные оптимизации, которые компании не хотят раскрывать друг другу.

В AMDGPU-PRO поддерживаются такие протоколы и API:

  • OpenGL 4.5 и GLX 1.4;
  • OpenCL 1.2;
  • Vulkan 1.0;
  • VDPAU;
  • Поддержка Vulkan для DOTA2.

А теперь, давайте рассмотрим как установить драйвер amd Ubuntu 16.04.

Установка AMDGPU-PRO в Ubuntu 16.04

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

Также можете скачать последнюю на момент написания статьи версию 16.40 для Ubuntu 16.04 с помощью следующей команды:

wget https://www2.ati.com/drivers/linux/ubuntu/amdgpu-pro-16.40-348864.tar.xz

После завершения загрузки распакуйте полученный файл:

tar -Jxvf amdgpu-pro-16.40-348864.tar.xz

Когда все файлы будут распакованы, для установки необходимо выполнить скрипт amdgpu-pro-install. Установку нужно выполнять с правами суперпользователя, а также два раза подтвердить установку самого драйвера и дополнительных пакетов из репозиториях AMDGPU-PRO.

Скрипт будет использовать ваш пакетный менеджер для установки необходимых компонентов графического стека и DKMS. Запустите скрипт с правами суперпользователя:

sudo amdgpu-pro-driver/amdgpu-pro-install

После того как установка драйверов amd Ubuntu 16.04 будет завершена, перезагрузите компьютер, чтобы использовать новый графический стек.

Настройка AMDGPU-PRO

Если вы хотите использовать новую технологию Vulkan, то необходимо добавить вашего пользователя в группу video. Чтобы это сделать выполните такую команду:

sudo usermod -a -G video $LOGNAME

Чтобы применить изменения вам нужно выйти и войти в систему.

Как удалить драйвера AMD в Ubuntu 16.04

Если по какой-либо причине хотите удалить драйвер AMDGPU-PRO вы можете использовать специальный скрипт, который поставляется в архиве. Для этого выполните команду:

sudo amdgpu-pro-uninstall

После завершения работы программы нужно перезагрузить компьютер чтобы применить изменения.

Выводы

В этой статье мы рассмотрели как выполняется установка драйверов amd ubuntu 16.04. Вы можете пользоваться драйвером, который поставляется по умолчанию, но если хотите лучшей производительности в играх или новые технологии в виде Vulkan, то придется устанавливать проприетарный драйвер. Если у вас остались вопросы, спрашивайте в комментариях!

losst.ru

Ноутбук + 2 видеокарты — как жить? / Хабрахабр

Последнее время у производителей появилась тенденция ставить на ноутбуки две видеокарты — одна какая-нибудь простенькая интеловская для экономии электроэнергии, а другая — навороченная для игр и видео. Насколько я знаю, таким точно грешит Lenovo, и под эту же тенденцию попал и я со своим HP TouchSmart tm2-1080er. Если на предустановленной Windows 7 Home x64 возможность переключаться между картами, разумеется, имелась, то Windows 7 Professional x32 вторую видеокарту включать уже не захотел. Не лучше обстояла ситуацию и в Ubuntu — видеокарты определяются-то обе, а вот использоваться предпочитает только дефолтная интеловская. И питание жрут, разумеется, обе — как результат, ноутбук работает намного меньше, чем должен. Как мы будем с этим бороться? Итак, у нас есть две видеокарты:$ lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07) 01:00.0 VGA compatible controller: ATI Technologies Inc M93 [Mobility Radeon HD 4500 Series] (rev ff) Наша задача — либо научиться переключаться между двумя видеокартами, либо хотя бы отключить питание второй видеокарты.
Способ первый. Убить пересмешника.
Первый способ простой. Мы возьмём готовый модуль, написанный для ноутбуков Lenovo (для нашего замечательного HP он тоже подходит) и заставим его прикручиваться к нашему ядру. Для этого мы воспользуемся deb-пакетами и системой динамического прикручивания модулей — DKMS. Модуль я обозвал незатейливо — hp_acpi_kill.

Берём исходный код модуля и сохраняем его под именем hp_acpi_kill.c Теперь кладём рядом Makefile. Это наш необходимый модуль, написанный неизвестным энтузиастом для OpenSUSE.

Теперь нам надо написать конфиг для DKMS, чтобы не пересобирать модуль под каждую новую версию ядра. К счастью, DKMS устроен очень просто, и конфиг получается короткий. Скачиваем и сохраняем под именем dkms.conf. В этом файле мы указываем имя компилируемого модуля, его версию, а также как компилировать и ставить наш модуль. Казалось бы на этом можно и остановиться — добавить модуль в DKMS, собрать и установить — но мы всё-таки пользователи удобного дистрибутива, а не не пойми чего. Поэтому мы завернём наш модуль в пакет. Углубляться в подробности сборки пакета я не буду, посколько на хабре писал об этом уже много, скажу лишь, что помимо обычного набора файлов нам потребуются файлы *.postinst,*.postrm, *.prerm — чтобы наш модуль регистрировался и компилировался в DKMS при установке пакета, а также вычищался при удалении. Скачать архив со всеми необходимыми файлами можно тут.

Собираем пакет командой debuild или dpkg-buildpackage на выбор, устанавливаем и добавляем в /etc/modules название модуля hp_acpi_kill — теперь при загрузке системы дискретная видеокарта будет отключаться и энергопотребление резко падать. Посмотрев список устройств, мы обнаружим, что наша видеокарта системе видна, но не определяется:

$ lshw ... *-generic:0 product: Illegal Vendor ID vendor: Illegal Vendor ID physical id: 0 bus info: [email protected]:01:00.0 version: ff width: 32 bits clock: 66MHz capabilities: bus_master vga_palette cap_list rom configuration: driver=radeon latency=255 maxlatency=255 mingnt=255 resources: irq:31 memory:c0000000-cfffffff ioport:3000(size=256) memory:e4400000-e440ffff memory:e4420000-e443ffff
Способ второй. vga_switcheroo
Способ второй потребует от нас немножко трафика и капельку времени. Дело в том, что не так давно вышла версия 2.6.34 ядра, в которую включен новый интересный модуль — vga_switcheroo, который как раз и призван переключать видеокарты. На Launchpad и kernel.ubuntu.com даже можно найти пакеты с этим ядром, но в дефолтном конфиге модуль выключен — вероятно потому, что удобных графических средств для переключения видеокарт пока не придумали.

Поэтому для начала скачаем исходный пакет с ланчпада (он предназначен для Maverick Meerkat, но и у нас отлично заработает):

$ wget launchpad.net/ubuntu/+archive/primary/+files/linux_2.6.34-2.9.dsc $ wget launchpad.net/ubuntu/+archive/primary/+files/linux_2.6.34-2.9.tar.gz Распакуем его:$ dpkg-source -x linux_2.6.34-2.9.dsc Теперь зайдём в каталог linux-2.6.34 и откроем файл debian.master/config/config.common.ubuntu любым любимым редактором. Найдём строку "# CONFIG_VGA_SWITCHEROO is not set" и заменим её на «CONFIG_VGA_SWITCHEROO=y» (кавычки не нужны). На всякий случай откроем ещё файл debian/config/enforce и допишем в нём строку «value CONFIG_VGA_SWITCHEROO y» — это поможет при сборке убедиться, что ни одна зараза не испортила выставленный параметр. Собираем командой debuild (собираться будет долго, потому что при сборке пакета собирается ВСЁ) и устанавливаем:$ sudo dpkg -i linux-headers-2.6.34-2_2.6.34-2.9_all.deb linux-headers-2.6.34-2-generic_2.6.34-2.9_i386.deb linux-image-2.6.34-2-generic_2.6.34-2.9_i386.debЕсли у вас 64-битная система, вместо i386 в имени файла будет, разумеется, amd64.

Как нам после перезагрузки в новое ядро переключить видеокарту? Посмотрим на сводку советского информбюро:

$ cat /sys/kernel/debug/vgaswitcheroo/switch 0:+:Pwr:0000:00:02.0 1: :Off:0000:01:00.0 Плюсик показывает нам активную видеокарту, пометка Pwr — что видеокарта включена, Off — что выключена. Что можно изменить? Есть замечательный список команд, которые можно передать vga_switcheroo:DIS — немедленное переключение на дискретную видеокарту IGD — немедленное переключение на интегрированную видеокарту DDIS — отложенное переключение на дискретную видеокарту DIGD — отложенное переключение на интегрированную видеокарту ON — включить неиспользуемую видеокарту OFF — выключить неиспользуемую видеокарту Сразу скажу, немедленное переключение у меня никакого немедленного эффекта не даёт. Поэтому скомандуем: # echo ON > /sys/kernel/debug/vgaswitcheroo/switch # включим дискретную видеокарту # echo DDIS > /sys/kernel/debug/vgaswitcheroo/switch # попросим при случае переключить на дискретную видеокарту Теперь нажимаем в системе «завершить сеанс», логинимся заново и выключаем интегрированную видеокарту:# echo OFF > /sys/kernel/debug/vgaswitcheroo/switch Смотрим на результат:$ $ cat /sys/kernel/debug/vgaswitcheroo/switch 0: :Off:0000:00:02.0 1:+:Pwr:0000:01:00.0 Теперь можно поиграть в игры, посмотреть HD-видео и не тратить питание на интеловскую карту. А можно переключиться обратно и тратить еще меньше энергии на полноценную видеокарту, экономя батарейку. Долгих ей лет.

habrahabr.ru


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