- Включение гибридной графики в Ubuntu на ноутбуках Nvidia + Intel (OpenGL, Vulkan)
- Введение
- 1. Устанавливаем драйвер
- 2. Настраиваем видеокарту
- 3. Запуск приложения с использованием дискретной графики
- Заключение
- OpenGL и Linux: Установка и настройка Code::Blocks
- Подготовительные шаги
- Установка GLFW в Linux
- Установка CMake в Linux
- Установка Code::Blocks в Linux
- Установка GLAD в Linux
- Создание проекта в Code::Blocks
- Тестирование видеокарты в Linux
- Проверка видеокарты в Linux
- 1. Утилита glxgears
- 2. GLMark2
- 3. GpuTest
- 4. Набор программ Unigine
- Выводы
Включение гибридной графики в Ubuntu на ноутбуках Nvidia + Intel (OpenGL, Vulkan)
Введение
Это простая инструкция как включить гибридную графику intel-nvidia на ноутбуке. Чтобы определенные приложения запускались на дискретном чипе, а другие на встроенном. На свое удивление в интернете не нашел простую инструкцию того, как запускать определенные приложения, используя дискретную графику. Так что напишу так просто, на сколько считаю нужным
У меня система KDE Neon 5.21 — по большому счету — Ubuntu LTS с окружением рабочего стола KDE Plasma 5.21, видеочип GeForce MX150
1. Устанавливаем драйвер
a) Если у вас система на Qt (Как правило окружение KDE или LXQt), то с помощью данной команды через терминал загрузим программу для установки драйверов:
Если у вас система на GTK то с помощью это команды:
Хотя разницы принципиальной нет
b) Затем запускаем ее с правами root
Можно так же добавить ярлык для запуска в меню приложений
Инструкция для KDE
/.local/share/applications/ создадим файл software properties qt.desktop с таким содержанием
И файл software properties qt.sh в той же папке:
После перезагрузки ярлык появится в меню
Но это далеко не обязательно, вполне достаточно запустить из консоли для наших целей настройки гибридной графики
c) Переходим на последнюю вкладку Additional drivers и устанавливаем нужный драйвер. Я выбрал самой последней версии, который не tested и не server
d) После установки перезагружаем устройство
2. Настраиваем видеокарту
a) Загружаем следующую программу:
b) Переходим в PRIME Profiles Здесь мы видим три пункта:
NVIDIA (Performance Mode) — работать только на дискретной графике. Сильно потребляет батарею в несложных задачах, а так же ноутбук начинает греться. Зато система работает намного быстрее, но это того не стоит. У меня после установки драйвера этот пункт включился автоматически
NVIDIA On-Demand — некоторые приложения будут использовать дискретную графику nvidia, но по-умолчанию встроенная intel. Как запустить конкретное приложение с дискретной графикой напишу дальше
NVIDIA (Power Saving Mode) — отключение дискретной графики
Выбираем второй вариант — NVIDIA On-Demand , и перезагружаем систему
3. Запуск приложения с использованием дискретной графики
Это то, что сложнее всего гуглилось.
Для запуска приложения с использованием графики nvidia нужно задать для OpenGL две переменные среды:
для Vulkan только:
Делать это надо перед командой для запуска приложения. Например, нам нужно запустить из терминала приложение program с использованием дискретной графики. Нужно вызвать его так:
Соответственно, если у приложения есть ярлык (.desktop) в меню приложений, то надо изменить команду запуска в ярлыке. В KDE Plasma нужно нажать на него ПКМ, открыть свойства (или «изменить приложение. «), перейти во вкладку «приложение» и перед командой приписать данную приставку. В других средах похожего стола примерно так же
Пример: ярлык игры Wolfenstein — Blade of Agony
Можно сделать это же действие через текстовый редактор. Открываем ярлык, находим Exec= , и приписываем перед коммандой данную приставку __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia
Заключение
Данный метод, как я понял, точно работают для программ, использующих библиотеки OpenGL и Vulkan. У меня, к сожалению, не получилось запустить так Windows приложение через Wine, которое использует DirectX, но это уже совсем другая история. (OpenGL приложения под Wine работают)
Источник
OpenGL и Linux: Установка и настройка Code::Blocks
Обновл. 7 Сен 2021 |
На этом уроке мы рассмотрим установку и настройку Code::Blocks в Linux для работы с OpenGL, а также запустим проект, рассмотренный на предыдущем уроке.
Подготовительные шаги
Установка будет происходить на чистой системе debian-10.3.0-amd64 XFCE под VMware. Я не буду описывать сам процесс установки ОС, ограничусь лишь скриншотом итоговой конфигурации системы:
Также для данного проекта я в домашней папке своего пользователя создал каталог OpenGL_Project , полный путь к которому выглядит как /home/diego/OpenGL_Project/ , где diego — это имя моего пользователя в системе. У вас оно наверняка будет другим. Учитывайте это!
На всякий случай избегайте кириллицы в путях и именах файлов.
Еще один момент: для установки новых пакетов в Linux я привык пользоваться программой aptitude , а не стандартной apt-get . Поэтому вы можете поступить следующим образом:
Вариант №1: Установить aptitude , для этого в терминале выполните команду sudo apt-get install aptitude .
Вариант №2: Можете пользоваться стандартной программой apt-get . Но учтите, что если по ходу данного туториала встречается установка пакета командой вроде sudo aptitude install НАЗВАНИЕ_ПАКЕТА , то в вашем варианте команда установки пакета должна выглядеть как sudo apt-get install НАЗВАНИЕ_ПАКЕТА .
Установка GLFW в Linux
Распаковываем скачанный архив в папку /home/diego/OpenGL_Project/ , я пользуюсь архиватором Xarchiver:
Указываем необходимую нам папку:
Видим получившуюся распакованную папку glfw-3.3.2 :
Установка CMake в Linux
Теперь необходимо поставить систему сборки проектов CMake. Для этого в окне терминала выполните следующую команду:
sudo aptitude install cmake-gui
Указываем папку с исходниками GLFW и вторую папку, где должен будет появиться результат работы CMake (у себя для этого я создал папку build ), и нажимаем кнопку «Configure» :
В появившемся окне выбираем пункт «CodeBlocks – Unix Makefiles» и нажимаем кнопку «Finish» :
В результате видим… кучу ошибок (добро пожаловать в мир Linux):
Нажимаем «ОК» , снова возвращаемся в терминал и устанавливаем пакет xorg-dev :
sudo aptitude install xorg-dev
Возвращаемся в CMake и выставляем галочки так, как показано ниже:
И снова нажимаем кнопку «Configure» (дважды), а потом кнопку «Generate» . Видим сообщения об успешном конфигурировании и сборке проекта:
В результате, в папке build у нас должен появиться файл проекта GLFW.cbp :
Установка Code::Blocks в Linux
Пришло время установить среду программирования Code::Blocks. Для этого возвращаемся в терминал и вводим следующую команду:
sudo aptitude install codeblocks
После установки иконка файла проекта поменяет свой внешний вид:
Открываем данный файл, в результате чего будет запущен Code::Blocks, и появится окно с выбором компиляторов. В системе должен присутствовать как минимум один компилятор — GNU GCC Compiler . Жмем «ОК» :
Открывается окно проекта, нажимаем на шестеренку и компилируем его:
После этого в папке build/src должен появиться скомпилированный файл библиотеки libglfw3.a :
Установка GLAD в Linux
Заходим на оф. сайт GLAD и указываем следующие настройки, после чего нажимаем кнопку «Generate» :
В результате нам будет предложено скачать архив glad.zip:
Далее, чтобы внести немного порядка и организованности в наш будущий проект, поместите папки include и src , содержащиеся в данном архиве, в папку /home/diego/OpenGL_Project/ .
Затем скопируйте папку /home/diego/OpenGL_Project/glfw-3.3.2/include/GLFW в папку /home/diego/OpenGL_Project/include/ .
Также создайте папку lib в /home/diego/OpenGL_Project/ и скопируйте в нее файл скомпилированной библиотеки libglfw3.a .
В итоге у вас должна получиться примерно следующая картина иерархии папок и файлов:
Создание проекта в Code::Blocks
Запускаем Code::Blocks и создаем новый пустой проект: «File» > «New» > «Project…» , выбираем «Empty Project» и нажимаем кнопку «Go» :
Затем нажимаем кнопку «Next» :
Задаем имя проекту. Я назвал его CodeBlocks и выбрал папку /home/diego/OpenGL_Project/ :
В следующем окне должны быть следующие настройки:
Теперь скопируйте файл glad.c из папки /home/diego/OpenGL_Project/src/ в папку с проектом /home/diego/OpenGL_Project/CodeBlocks/ .
Также создайте файл main.cpp в папке /home/diego/OpenGL_Project/CodeBlocks/ .
Затем эти два файла нужно будет добавить в наш проект. Для этого вернемся обратно в Code::Blocks, нажмем правой кнопкой мыши на название нашего проекта и выберем пункт «Add files…» :
Добавляем в проект файлы glad.c и main.cpp :
Настало время подключить необходимые папки с заголовочными файлами и библиотеки, а также настроить компилятор и линкер. Для этого в Code::Blocks переходим в «Project» > «Build options…» :
Переходим на вкладку «Linker settings» и настраиваем её следующим образом:
Примечание: В правом окошке «Other linker options» необходимо указать следующие параметры:
-lglfw3 -ldl -lX11 -lpthread -lm -lXrandr -lXi
Затем добавим дополнительные пути для поиска заголовочных и библиотечных файлов. Для этого переходим в «Search directories» > «Compiler» :
Затем подобные действия проделываем и для вкладки «Linker» , указывая путь к папке lib :
Источник
Тестирование видеокарты в Linux
Linux не славится высокой игровой производительностью. Это нормально, так как несмотря на то что количество игр для этой платформы увеличивается, их все равно не так много. Да и инструменты, с помощью которых пользователи могли бы проверить свое оборудование можно сосчитать на пальцах.
Однако есть несколько программ, которые помогут вам точно определить особенности работы вашей видеокарты. Это нужно как для технического сравнения видеокарт, так и просто ради интереса. Вообще говоря, для тестирования видеокарты Linux можно использовать только тест OpenGL рендеринга. Возможно, ваша видеокарта не поддерживает новые версии Direct3D, но в Linux это проверить невозможно, поскольку эта технология поддерживается только в Windows, а нас будет интересовать только OpenGL.
Проверка видеокарты в Linux
1. Утилита glxgears
Программа glxgears это популярный OpenGL тест, который входит в пакет утилит mesa-utils. Для установки в Ubuntu выполните команду:
sudo apt install mesa-utils
Для тестирования выполните команду glxgears в терминале:
Программа откроет окно, в котором будут рендериться три вращающихся в 3D пространстве шестеренки. Частота кадров (FPS) измеряется и выводится в терминал каждые 5 секунд. Это очень старый инструмент и поэтому позволяет проверить только небольшую часть из возможностей современного OpenGL.
Раньше он использовался для проверки корректности установки и работы проприетарного видеодрайвера. Драйверы с открытым исходным кодом, как правило, работали ужасно, и это было очень заметно во время того, как выполнялся этот тест opengl linux. Сейчас же вы не заметите никакой разницы, по крайней мере, в glxgears.
2. GLMark2
GLMark2 — более мощный инструмент, выпущенный разработчиками дистрибутива Lenaro. В отличие от glxgears, glmark предлагает большое количество тестов для различных аспектов работы видеокарты (буферизация, освещение, текстурирование, построение и т. д.) что позволяет лучше оценить видеокарту.
Каждый тест проводится на протяжении 10-ти секунд, а частота кадров подсчитывается индивидуально. В конце программа выдает оценку производительности на основе всех проведенных тестов. Мне нравится этот инструмент своей простотой и безупречной работой. Вы можете найти его в официальных репозиториях большинства дистрибутивов под названием gmark2. Для установки в Ubuntu выполните:
sudo apt install glmark2
После установки проверка видеокарты может быть запущена командой:
3. GpuTest
Это небольшая современная утилита для тестирования видеокарты в Linux, она поддерживает несколько OpenGL тестов, в том числе и для современных стандартов. Вот поддерживаемые тесты: треугольник (OpenGL 2.1 или OpenGL 3.2), пиксельный тест шейдеров (OpenGL 2.1 или OpenGL 3.2), FurMark (OpenGL 2.1 или 3.2), Plot3D (OpenGL 2.1 или 3.2), GiMark и TessMark (OpenGL 4.0).
Утилиту можно запустить через терминал или с помощью графического интерфейса. Также кроме обычных OpenGL тестов можно выполнить нагрузочное тестирование. Удобно, что утилита сразу выводит результат в терминал, по которому можно сделать приблизительную оценку того как прошла проверка видеокарты linux. Для установки программы необходимо скачать и распаковать архив с портативной версией из официального сайта.
4. Набор программ Unigine
Для тех кому недостаточно первых трёх программ, и тех кто хочет чего-то более современного есть еще три инструмента которые используют 3D движок Unigine. Это Valley, Heaven и Superposition. Бесплатные версии можно скачать на официальном сайте.
Эти инструменты позволяют тестировать в реальном времени взаимодействие света из различных источников, рендеринг, реалистичное небо с рассеянным светом в атмосфере или воду. Можно настроить уровни сглаживания, качество текстур, фильтрацию, анизатропию и качество шейдеров.
Установочный файл занимает около 1,5 гигабайта. После загрузки просто выполните его для установки программы:
После этого вы сможете найти программу в главном меню системы. Запустите её:
На вкладке Benchmark вы можете выполнить тест производительности видеокарты. Чтобы выбрать параметры тестирования вручную переключите поле Preset в положение Custom или оставьте по умолчанию. Для запуска тестирования нажмите кнопку Run.
Во время тестирования в правом верхнем углу будет отображаться информация о видеокарте. Это объем памяти, частота, а самое главное температура. По завершении вы увидите оценку и сможете сравнить её с другими оценками в интернете:
Выводы
В этой статье мы рассмотрели с помощью каких программ выполняется проверка видеокарты Linux. Несмотря на то, что здесь есть не так много игр как для Windows, все же есть достаточно инструментов, которые можно использовать для тестирования OpenGL, если вы знаете другие отличные инструменты, напишите в комментариях!
Источник