Проприетарные драйвера что это
Одной из актуальных проблем в Linux является настройка корректной и максимально производительной работы видеокарты. В данной статье мы рассмотрим как выполняется установка драйвера AMD в Ubuntu на примере видеокарты Sapphire RX480 с 8 Гб памяти.
В статье мы проведем установку драйвера, научимся проверять его наличие в системе и сравним производительность различных реализаций драйверов в операционной системе Ubuntu.
Для видеокарт данного производителя существуют три актуальных варианта видеодрайвера:
- Mesa – свободное программное обеспечение для видеокарт различных производителей, реализующее API OpenGL и Vulcan. Используется по умолчанию в большинстве операционных систем Linux.
- AMDGPU-PRO – проприетарные драйвера от фирмы AMD. Включают в себя драйвера AMDGPU и различные дополнительные модули с закрытым программным кодом.
- AMDGPU – драйвера для видеокарт от фирмы AMD с открытым программным кодом.
Прежде чем переходить к установке драйвера давайте проверим производительность видеокарты без драйвера, чтобы увидеть действительно ли стоит ставить этот драйвер.
Тест производительности системы
Прежде всего оценим производительность системы без драйвера. Для проверки производительности мы будем использовать тест Unigine Heaven. Данный пакет можно скачать по ссылке. После установки пакета запускаем его и устанавливаем требуемые нам настройки тестирования. В моем случае это были следующие параметры:
Запускаем пакет тестирования. Выбираем в меню опцию Бенчмарк и ждём результатов. В итоге я получил следующие данные.
Далее разберемся как выполняется установка amdgpu pro в ubuntu 18.04.
Установка драйверов AMD на Ubuntu
Теперь мы можем заняться установкой драйверов AMD (PRO или открытой версии).
Шаг 1. Поиск старой версии
Для проверки установлена ли у нас уже данная реализация драйверов выполняем команду
dpkg -l amdgpu-pro
Если драйвера не обнаружены, то необходимо их установить.
Шаг 2. Загрузка драйвера
Переходим на страницу загрузки драйверов Radeon по ссылке. Выбираем нашу модель видеокарты. Нажимаем кнопку Submit.
Выбираем версию операционной системы, версию драйвера и нажимаем кнопку Download.
Переходим в папку Загрузки, смотрим название пакета и распаковываем пакет архиватором в данной директории с помощью команды tar:
tar -Jxvf amdgpu-pro-19.50-967956-ubuntu-18.04.tar.xz
Переходим в папку с распакованными драйверами с помощью команды:
Шаг 3. Установка драйвера
Установка драйвера AMDGPU в Ubuntu открытой версии выполняется командой:
Для установки версии драйвера с проприетарными модулями запускаем команду:
Дожидаемся пока проприетарные драйвера amd ubuntu 18.04 установятся. При выполнении процесса установки стоит проявить терпение и подождать, когда установка завершиться. Затем текущего пользователя добавляем в группу video с помощью команды
sudo usermod -a -G video $LOGNAME
Шаг 5. Проверка корректности установки
После этого перезагружаем систему и проверяем – установлены ли драйвера у нас системе. Это можно сделать несколькими методами.
sudo dpkg -l amdgpu-pro
lspci -k | grep -EA2 “VGA|3D|Display”
Проматываем результат команды до раздела *-display и смотрим параметры.
Проверка производительности нового драйвера
Теперь мы можем вторично протестировать производительность нашего компьютера с помощью бенчмарка Unigine Heaven. Параметры бенчмарка были оставлены без изменений. Результат оказался выше, чем с драйверами по умолчанию на 10,78%. При этом следует заметить, что разница между минимальным и максимальным FPS также существенно выросла.
Удаление драйверов AMD
Чтобы удалить драйвер AMDGPU Ubuntu следует выполнить тот же скрипт, который вы использовали при установке только с опцией --uninstall. Например:
sudo ./amdgpu-install --uninstall
sudo ./amdgpu-pro-install --uninstall
Выводы
Сегодня мы разобрались с одним важным вопросом о драйверах для карт AMD – стоит ли их заменять на версию от производителя? И я должен ответить, что да, стоит. Прирост производительности составляет 10 процентов, что, думаю, не окажется лишним как в рабочих задачах, так и в играх.
Также мы выяснили какие версии драйверов для видеокарт данного производителя существуют, разобрались с их установкой, удалением и проверкой их наличия в операционной системе Ubuntu 18.04.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Оцените статью:
Об авторе
Имею высшее образование в сфере компьютеров. Немного разбираюсь в свободном ПО. Занимаюсь в свободное время ремонтом техники. Являюсь счастливым обладателем 3D принтера. Считаю самообразование очень важным для сегодняшнего времени.
26 комментариев
Недавно столкнулся с тем, что после установки проприетарных драйверов перестаёт работать steam, нужны 32-х битные библиотеки как я понимаю, неплохо бы это тоже упомянуть.
Надо знать какую ошибку steam выдает, чтобы понять в чем действительно проблема.
на сайте amd проприетарные драйвера для ubuntu-18.4.3 а статье 18.4.4, не будет конфликтов? И если обновиться они не будут слетать?
p.s. скоро релиз ubuntu 20.04, интересно amd разработает новые драйвера?
Проприетарное и бесплатное - называется freeware.
Проприетарное и платное - называется просто proprietary software.
Открытое и бесплатное - называется free libre opensource software (FLOSS).
Открытое, но неполноценное(где полноценная часть часто платная и закрытая) - называется opensource(FOSS).
Открытое, где открыта только база, а сам проект(продукт) весь закрыт и платный - называется opencore.
Важно отметить, нигде не встречается слово "коммерческое", так как оно не применимо.
Коммерческое означает, что софт разрабатывается за деньги. Однако около половины FLOSS разрабатывается на коммерческой основе.
Также. надо отметить, что есть понятие "патент". В США патент на программный код РАЗРЕШЕН, хотя везде ясно сказано, что процесс не может быть патентован.
В результате изза США страдают все. Даже открытые бесплатные реализации.
Пример: кодек MP3
хотя он закрытый, но независимыми хакерами была выпущенная бесплатная открытая реализация liblame.
однако, на сам алгоритм установлен патент. Это означает, что вне зависимости от конкретной реализации, фирме владельцу патента нужно делать отчисления.
Это означает, что хотя программная библиотека liblame и бесплатна - распространять ее без платежа за КАЖДУЮ копию НЕЛЬЗЯ.
Именно изза этого есть миф - "у линукса всегда проблемы с кодеками". На самом деле у него нет никаких проблем, проблемы есть у пользователей MP3.
Подобные патенты: ST3C(opengl), libdecss(для просмотра коммерческого DVD).
Один из способов обходить патенты - собирать конкретные программы из исходного кода на своей машине. Тогда понятия "реализация" не существует. Поэтому у Gentoo Linux с кодеками по большому счету все отлично.
Еще одно, что стоит упомянуть - защиты от копирования.
Защиты от копирования, имея вирусную натуру, находятся не только в программной реализации, но часто в аппаратной.
Конкретная ситуация - разьем HDMI. Хотя по нему можно передавать и незакодированное аудио и видео(!), его структура патентована(!), а сам механизм функционирования запрещен даже к публикации(!!). Таким образом имеем неработающий HDMI для opensource драйверов всех карт(или очень примитивную реализацию - только стерео итд - путем простого подглядывания за проприетарным драйвером)
Еще одно - похищение стандартов. Тут нужно жирными буквами написать microsoft.
Я дам только одну наводку - конфликт между microsoft и sun по поводу собственной реализации виртуальной машины(которая запускает программы) java. Embrace, expand, extinguish.
Вообще этим хамам можно приписать целый ряд попыток,если не похитить и подмять стандарт; то продвинуть свою собственную реализацию в качестве стандарта по всему миру - да так, чтобы без нее работа была невозможна, и затем пожинание плодов - критикуя нежелательных в том, что они даже не могут простого.
Примеры: DirectX, ExFAT, internet explorer, ACPI(замечены скрытые дыры и неточности в BIOS, которые залатываются только закрытыми драйверами в windows)
Проприетарные драйвера это закрытые драйвера, разрабатываемые определенной структурой(часто самим производителем). Означает, что они поставляюся в бинарной форме и процесс дизассемблирования их запрещен.
Применительно к линуксу, у него нет стабильного бинарного интерфейса - для безопасности и скорости наработок(как и у Xorg)(правда серверные ядра от RedHat и Novell - часто держатся долго и на них портируют все нужное покуда они не станут совсем устаревшими), поэтому под каждый релиз ядра должен выходить регулярно(модуль ядра), чтобы драйвер мог связываться с ядром. Поэтому у проприетарных драйверов минусы безопасности, полного доверия их создателям (к частоте выхода, починке, компиляции для разных ядер, поддержки железа).
В этом плане, очень хорошую реализацию имеет nvidia, хоть AMD и нагнало ее на 70%.
Среди открытых, лучшие реализации у Intel и AMD, правда касательно последнего - не для дорогих карт и с существенным дисфункционалом(не в последнюю очередь изза патентов).
Что означает слово «проприетарный» ? Нет ли у него в русском языке адекватного синонима?
Чаще всего это прилагательное вкупе с существительным «проприетарность» используется в околокомпьютерной тематике, по отношению к программным или аппаратным продуктам. Буквально английское proprietary значит «собственнический; частный» , от латинского proprius — «владение, собственность» . Проприетарность часто противопоставляется открытости, и с одной стороны эти понятия действительно антагонистичны, однако тут нужно сделать важное замечание. Например, широко распространено мнение, будто все программы с открытым кодом, распространяемые бесплатно — не проприетарны. Это большое заблуждение. Существует множество продуктов, права на которые принадлежат вполне определённым лицам, но при этом они вовсе не обязательно платные и с закрытым исходным кодом (хотя большинство из них, не будем лукавить, именно такие) .
Проприетарность чего-либо говорит прежде всего о том, что его разработка и производство целиком принадлежат и контролируются неким собственником. И как он распоряжается готовой продукцией — продаёт её или дарит — полностью зависит от его воли. Именно эта зависимость от непредсказуемых решений владельца смущает многих потребителей при равном выборе между проприетарными продуктами и открытыми, заставляя делать выбор в пользу последних.
----------------------------------------
Проприетарность означает то, что это - "частный" код. Код, защищаемый законом о том, что мы имеем право делать с этим кодом, а что - нет. Как минимум - мы не имеем права распространять этот код каким бы то ни было образом.
Кроме всего прочего.
Проприетарность - это ещё и подгонка программного комплекса под конкретные частные нужды клиента.
Чаще всего это прилагательное вкупе с существительным «проприетарность» используется в околокомпьютерной тематике, по отношению к программным или аппаратным продуктам. Буквально английское proprietary значит «собственнический; частный» , от латинского proprius — «владение, собственность» . Проприетарность часто противопоставляется открытости, и с одной стороны эти понятия действительно антагонистичны, однако тут нужно сделать важное замечание. Например, широко распространено мнение, будто все программы с открытым кодом, распространяемые бесплатно — не проприетарны. Это большое заблуждение. Существует множество продуктов, права на которые принадлежат вполне определённым лицам, но при этом они вовсе не обязательно платные и с закрытым исходным кодом (хотя большинство из них, не будем лукавить, именно такие) .
Проприетарность чего-либо говорит прежде всего о том, что его разработка и производство целиком принадлежат и контролируются неким собственником. И как он распоряжается готовой продукцией — продаёт её или дарит — полностью зависит от его воли. Именно эта зависимость от непредсказуемых решений владельца смущает многих потребителей при равном выборе между проприетарными продуктами и открытыми, заставляя делать выбор в пользу последних
В Windows мы привыкли, что перед тем, как новое оборудование будет работать, для него необходимо установить драйвера. Не важно будет ли это USB устройство, веб-камера или видеокарта. Драйвера в Windows выпускаются производителями и распространяются через интернет или на диске в комплекте с оборудованием.
В Linux, драйвера тоже необходимы, но ситуация состоит с ними немного по-другому. Здесь все свободные драйвера Linux встроены в ядро и если ваше оборудование будет работать с этой операционной системой, то, скорее всего, оно будет работать из коробки. Свободные драйвера разрабатываются производителями оборудования или же независимыми разработчиками. Также производители могут не открывать код своих драйверов, тогда они считаются проприетарными и не включаются в ядро, а доустанавливаются вручную.
Давайте рассмотрим подробнее работу с драйверами linux и Windows.
Как драйвера устройств работают в Windows
После установки Windows вам необходимо установить драйвера устройств, предоставляемые производителями - драйверы материнской платы, набора микросхем, драйверы видеокарты, звука, сети, wifi и многое другое.
Если оборудование не работает в WIndows, то обычно вы можете найти драйвер чтобы заставить его работать. Обычно достаточно подыскать подходящий драйвер на просторах сети.
Как работают драйвера Linux
В Linux ситуация с драйверами очень сильно отличается. Большинство драйверов для вашего оборудования распространяются в виде открытого программного обеспечения и интегрированы в дистрибутив Linux. Эти драйверы linux, как правило, являются частью ядра Linux, но здесь есть исключение - драйверы видеокарты являются частью программного обеспечения Xorg, а драйверы принтера включены в набор CUPS (система печати).
Это значит, что большинство доступных для linux драйверов уже установлены на вашем компьютере, включены вместе с ядром, в виде модулей ядра или вместе с графическим сервером или сервером печати. Установка драйверов Linux почти не нужна. Драйвера в Linux разработаны, в основном, энтузиастами, но иногда их выпускают сами производители оборудования, которые вносят свой вклад в развитие ядра Linux и других проектов, например, это Intel, AMD, а также другие, более мелкие производители.
Все драйвера установлены из коробки, а значит вам не придется искать драйвера для каждого устройства в вашей системе и вручную их устанавливать. Система автоматически определит ваше оборудование и сама загрузит нужные драйвера в linux. Но здесь есть одно исключение - это проприетарные драйвера ядра linux и прошивки.
Установка проприетарных драйверов Linux
Некоторые производители не хотят открывать исходный код своих драйверов, поэтому для поддержки оборудования выпускают проприетарные драйвера в Linux с закрытым исходным кодом. Большинство дистрибутивов Linux не включают такие драйвера в свой состав, а значит они не смогут их автоматически определить и загрузить.
Чаще всего нам приходится сталкиваться с проприетарными драйверами для видеокарт, например, для NVIDIA, которые обеспечивают лучшую производительность в играх на Linux. Конечно, есть драйверы ядра Linux с открытым исходным кодом, которые заставят вашу видеокарту работать, но они не могут обеспечить достаточный уровень производительности в 3D играх. Некоторые драйвера wifi по прежнему закрыты, поэтому ваше оборудование не будет работать пока вы их не установите.
Установка драйверов в Linux зависит от вашего дистрибутива. В Ubuntu и основанных на ней дистрибутивах есть специальный инструмент - Дополнительные драйверы.
Программа определит, какие проприетраные драйверы устройств Linux можно установить и предложит скачать и установить их. В Linux Mint тоже есть инструмент менеджер драйверов, он работает аналогично инструменту в Ubuntu. Fedora - против проприетарных драйверов Linux и здесь нет никакого способа их установить. Во многих дистрибутивах проприетарные драйверы устройств linux можно найти в неофициальных репозиториях. Каждый дистрибутив решает эту проблему по-разному.
Установка прошивок в Linux
Не все могут делать драйвера с открытым кодом или проприетарные драйвера. Некоторым драйверам необходимы прошивки, чтобы правильно работать с устройствами. Например, прошивки нужны для работы некоторых модулей wifi или сетевых интерфейсов.
Чтобы установить прошивки в Linux необходимо скачать и установить пакет linux-firmware, это можно сделать с помощью следующей команды в Ubuntu:
sudo apt install linux-firmware
А в RPM дистрибутивах:
sudo yum install linux-firmware
Также возможно придется установить другие прошивки. Чтобы посмотреть подробнее, что нужно, и как установить, посмотрите лог ядра dmesg.
Как установить драйверы для принтера в Linux
Возможно, вам понадобится поставить драйвера linux для принтера. Однако при использовании инструмента для конфигурации принтеров - CUPS вы можете выбрать нужный драйвер из баз данных. Как правило, программа определяет производителя вашего принтера, а в списке вы можете выбрать точную модель принтера.
Вы также можете попытаться определить принтер по описанию PostScript или PPD файла. Эти файлы часто входят в состав драйвера принтера для Windows и вы можете найти PPD файл, который сделает работу вашего принтера лучше. Файл PPD можно выбрать в процессе работы CUPS.
Принтер может стать головной болью в Linux и многие из них могут не работать должным образом или даже вообще не работать. Так что при выборе принтера лучше сразу смотреть только те, которые точно будут работать с Linux.
Как заставить работать другое программное обеспечение
Иногда вам может понадобиться поставить драйвера linux для другого оборудования, которые не предоставляются автоматически. Например, NVIDIA предоставляет собственный инсталлятор для своего драйвера. Но тем не менее лучше использовать драйвера упакованные для вашего дистрибутива, они будут работать лучше.
В общем, если в Linux что-то не работает из коробки, и если оно все еще не работает после установки драйвера или прошивки, то, скорее всего, оно уже не будет работать вообще. Если вы используете старую версию Linux, может помочь обновление до самой новой версии. Это обеспечит лучшую аппаратную поддержку и обновления. Но если что-то все еще не работает, то , скорее всего, оно уже работать не будет.
Найти подробную информацию, как настроить работу того или иного оборудования в вашем дистрибутиве можно на различных форумах. Обычно, если у вас не очень новое устройство, другие пользователи уже сталкивались с этими проблемами, но они их уже решили, и вы можете найти эти ответы.
Выводы
Вы не должны возиться с драйверами слишком много. Драйвера в Linux с открытым исходным кодом и они интегрированы в ядро. В большинстве случаев вам не нужно устанавливать их или изменять, система автоматически определит оборудование и загрузит автоматические драйверы. Когда вы установили Linux, ваше оборудование должно работать либо сразу, либо после установки нескольких проприетарных драйверов.
Вы можете устанавливать и драйвера linux, размещенные на официальных сайтах производителей, но проприетарные драйвера могут работать не настолько хорошо, как подготовленные для вашей системы.
Пользователи Windows привыкли, что для того, чтобы оборудование хорошо работало и выдавало максимальную производительность, необходимо выполнять обновление драйверов.
Такая же ситуация характерна для Ubuntu, и даже больше, здесь еще многое оборудование не поддерживается или поддерживается не полностью. С новыми версиями драйверов могут приходить исправления, улучшения производительности или даже поддержка нового оборудования. В этой статье мы рассмотрим как обновить драйвера в Ubuntu.
Обновление драйверов в Ubuntu
Мы уже подробно рассматривали что из себя представляют драйвера в операционной системе Linux и как с ними работать в статье установка драйверов в Linux. Из той же статьи мы узнали, что большинство драйверов Linux, а именно драйвера с открытым исходным кодом входят в ядро системы, но также есть прошивки для драйверов и проприетарные драйвера.
Таким образом, чтобы обновить драйвера в Ubuntu достаточно просто обновить ядро до самой новой версии, а если ещё проще то просто регулярно обновлять систему с помощью команд:
sudo apt update
sudo apt upgrade
Но тут есть еще несколько нюансов. В о-первых в официальных репозиториях не содержится самая новая версия ядра Linux, там находится та версия, которая была самой новой на момент релиза вашего дистрибутива. Во-вторых проприетарные драйвера тоже в официальных репозиториях чаще всего не обновляются и нужно искать другие пути для их установки. Все это мы рассмотрим дальше.
Обновление драйверов, встроенных в ядро
Как я уже сказал, для обновления драйверов с открытым исходным кодом необходимо обновить версию ядра. Но не смотря на то, что новая версия ядра не будет автоматически устанавливаться в вашей системе, deb пакеты новых версий исправно пакуются и выгружаются в общий доступ для всех желающих обновить свою систему.
Посмотреть какая версия ядра используется сейчас вы можете командой:
Вы можете скачать нужный образ ядра по ссылке. Там хранится больше количество ядер для разных дистрибутивов, чтобы найти самое новое пролистайте вниз. Не стоит брать ядра с приставкой rc - это нестабильные версии. Здесь нас будут интересовать два файла linux-headers и linux-image.
Обратите внимание, что ядро нужно качать только для своей архитектуры, например, для x86 - i386, а для x64 - amd64. Узнать свою архитектуру вы можете просто выполнив команду:
Вам необходимо скачать два эти файлы, а затем перейти в папку с загрузками и выполнить
sudo dpkg -i linux-image*
sudo dpkg -i linux-headers*
Теперь осталось обновить параметры загрузчика Grub, чтобы теперь система загружалась с новым ядром:
После применения этой команды необходимо будет перезагрузить компьютер.
Если вы хотите уже самую-самую свежую версию ядра Linux, для которой еще не собраны пакеты на выше указанном сайте, то в можете собрать ядро Linux из исходников. Ещё есть и другие методы обновления ядра, все они описаны в этой статье.
Обновления на прошивки для драйверов выходят очень редко, но если вы не хотите обновлять всю систему, то можно проверить есть ли обновления для прошивок:
sudo apt-cache policy linux-firmware
И затем установить если есть:
sudo apt install linux-firmware
С обновлением обычных драйверов с открытым исходным кодом разобрались, теперь поговорим о проприетарных драйверах с ними ситуация немного сложнее.
Обновление проприетарных драйверов
Если обновление драйверов Ubuntu с открытым исходным кодом происходит, можно сказать, за раз, в пару команд, то с проприетарными драйверами не все так просто. В Ubuntu есть специальная утилита, для обновления и установки драйверов от сторонних разработчиков. Для ее запуска откройте главное меню и введите в строке поиска Программы и обновления.
Откройте программу, а затем перейдите на последнюю вкладку - Дополнительные драйвера. Здесь вы можете выбрать необходимые драйвера и их версии для установки, будут доступны не только драйвера для видеокарт, но и другие проприетарные драйвера, например, для сетевых адаптеров, звуковых карт и т д:
После завершения настройки нажмите Применить, и система запустит установку драйверов. Но все дело в том, что программа берет драйвера из официальных репозиториев, а там они не всегда первой свежести. Если вы хотите именно самую новую версию драйверов, то придется качать установщики из официальных сайтов.
Но тут уже кроется еще одна проблема, если вы устанавливаете драйвера не из репозиториев системы, а с помощью стороннего установщика, то есть большой риск, что они слетят при следующем обновлении системы. Так что тут придется выбирать или новизна или стабильность, ну в общем, как обычно.
Установка драйверов NVIDIA подробно описана в отдельной статье, поэтому я не буду подробно на этом останавливаться. Скажу только, что скачать установщик можно с официального сайта, но будьте осторожны и качайте драйвера только для вашей видеокарты.
С драйвером для видеокарт AMD все стало намного проще с выходом свободного драйвера, теперь он поставляется вместе с ядром и может быть обновлен без проблем, так, как описано в первом способе. О нём на сайте тоже есть подробная статья.
Если вы использовали установку драйверов с помощью системного менеджера драйверов, то вы будете получать обновления при каждом обновлении системы. Но если вы использовали установщик, здесь уже придется устанавливать их каждый раз вручную.
Что касается других проприетарных драйверов, то вам придется обновлять их подобным способом.
Выводы
Теперь вы знаете как обновить драйвера Ubuntu. Для новичков это может показаться сложным, но если ваше оборудование работает отлично, то вам и необязательно ничего обновлять. Если у вас остались вопросы, пишите комментарии!
Читайте также: