- Linux как запустить приложение через видеокарту
- Установка:
- Настройка:
- Кайфуем
- Включение гибридной графики в Ubuntu на ноутбуках Nvidia + Intel (OpenGL, Vulkan)
- Введение
- 1. Устанавливаем драйвер
- 2. Настраиваем видеокарту
- 3. Запуск приложения с использованием дискретной графики
- Заключение
- Запуск программ через дискретную видео-карту из меню в openSUSE GNOME
- Установка и запуск тяжёлых игр на Linux
- Предисловие
- Как включить дискретную видеокарту?
Linux как запустить приложение через видеокарту
Не для кого не секрет, что Linux активно продвигается на роль популярной ОС и все больше любителей этой замечательной системы могут позволить себе удовольствие поиграть в современные компьютерные игры. В наши дни уже достаточно хорошо развит Wine для запуска игр семейства Windows, а также для Linux выпущен Steam. Игр в Стиме еще не много под Linux, но Valve активно пропагандируют Linux, как систему отлично подходящую для сего дела. Но в этом коротеньком мануале я хочу рассказать вам вовсе не об этом. На момент написания статьи (лето 2016) владельцам ноутбуков с двумя видеокартами (встроенной и дискретной) весьма неудобно переключаться между ними. Для тех кто не знает, встроенная создана для экономии потребления энергии, а дискретная — более мощная созданная для графических приложений, в частности для игр. Хотя производители видеокарт уже активно выпускают драйвера для своих продуктов под Linux, однако одно неудобство все же осталось — это невозможность автоматического или хотя бы быстрого переключения между встроенной и дискретной видеокартами. У меня стоит NVIDIA GeForce 840M и для переключения нужно открыть nvidia-settings, далее выбрать нужную видеокарту, после чего перелогиниться (требуется перезапуск X.Org). Бывает и так, что и вовсе приходится перезагружаться. Конечно это все не смертельно, но что делать если хочется зайти на пол часика в любимую игру, после чего снова продолжить работать. Лично я не люблю часто перезагружаться. Для этих целей была создана утилита bumblebee, которая позволяет запускать приложения с иcпользованием в нем дискретной видеокарты. В состав приложения входит следующий набор компонентов:
bumblebee — основной пакет проекта bumblebee, содержит в себе команду optirun
bumblebee-nvidia — обеспечивает поддержку проприетарного драйвера nvidia
virtualgl — Бэкенд VirtualGL
virtualgl-libs — необходимые библиотеки для работы virtualgl
virtualgl-libs-ia32 — обеспечивает установку 32 битных библиотек для запуска 32 битных приложений через VirtualGL бэкенд
primus — Бэкенд Primus
primus-libs — необходимые библиотеки для работы primus
primus-libs-ia32 — обеспечивает установку 32 битных библиотек для запуска 32 битных приложений через Primus бэкенд
Нам с вами понадобится лишь команда optirun . Но для начала нужно установить bumblebee . Все примеры мы будем рассматривать на примере Ubuntu.
Установка:
Хотя можно установить только bumblebee-nvidia , и он подтянет все зависимости автоматом. Но не будем рисковать, нам еще предстоят танцы с бубном.
Пакет установлен и готов к использованию. Казалось бы все хорошо, но вот таки не задача.
Для того, чтобы приложение использовало вычислительную мощь дискретной видеокарты потребуется выполнить всего одну команду optirun с передачей ей в качестве аргумента нужную программу.
Например: optirun Steam или optirun wine Steam.exe , в случае если софтина виндовая.
Все установлено и казалось бы готово к использованию, но я столкнулся с такой бедой при запуске optirun:
Эта ситуация вызвана тем, что нужно настроить наш bumblebee под нашу видюху.
Все основные настройки делаются путем правки файла конфига /etc/bumblebee/bumblebee.conf .
Открываем его в любом редакторе sudo gedit /etc/bumblebee/bumblebee.conf
Настройка:
Я пользуюсь проприетарным драйвером Nvidia. На момент написания мануала установлена версия 361.
Нам нужно указать, что мы используем драйвер nvidia, а не какой-то другой. Для этого находим строку Driver= в секции [bumblebeed] и подставляем туда значение с именем нашего драйвера, чтобы получилось Driver=nvidia .
Далее нужно указать имя драйвера в ядре и пути к библиотекам.
Нам нужно знать какой драйвер (с учетом версии) установлен и используется системой. Для этого выполняем команду:
Она вернет нам название из установленных пакетов или же можно посмотреть какие модули драйверов используются ядром для нашего железа выполнив команду:
В результате чего получаем:
Способов масса. Как видно из вывода что версия драйвера nvidia-361. Осталось указать, что ядро использует именно этот драйвер и подправить пути к библиотекам драйвера.
Переходим к редактированию секции [driver-nvidia] . KernelDriver= должно быть задано значение, которое мы получили выше: KernelDriver=nvidia-361 .
LibraryPath=/usr/lib/nvidia-current:/usr/lib32/nvidia-current редактируем, чтобы получилось LibraryPath=/usr/lib/nvidia-361:/usr/lib32/nvidia-361 и строку XorgModulePath=/usr/lib/nvidia-361/xorg,/usr/lib/xorg/modules .
Настройка bumblebee завершена. Осталось перезагрузить демон командой:
Кайфуем
Как я писал выше запуск программ, которым требуется дискретная видеокарта, осуществляется командой:
Запустить настройку видеокарты в таком режиме можно используя такую команду:
У вас недостаточно прав для того чтобы тут гадить.
Источник
Включение гибридной графики в 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 работают)
Источник
Запуск программ через дискретную видео-карту из меню в openSUSE GNOME
Конечно, все знают стандартные способы запуска программ от дискретной графики через DRI_PRIME, но есть более простые способы. Вот один из них.
На примере openSUSE Tumbleweed. Рабочий стол GNOME 40.
sudo zypper in switcheroo-control
sudo systemctl enable switcheroo-control
И перезапускаем систему.
Утилита не работает в KDE Plasma. Хотя может и есть способы, однако я не нашёл.
После этого в контекстном меню при нажатии правой кнопки мыши появится соответствующая опция.
Есть вероятность появления фризов курсора в сессии Wayland на устаревших картах. Обнаружил у себя на Radeon HD 6730M (драйвер radeon). Фризы возникают не при переходе на дискредную графику, а при работе от встроенной графики длительное время и загрузке swap более чем на 400-500 Мб. Само окружение работает нормально, тормозит только курсор.
Обычный бытовой эксперимент нагрузкой и длительным аптаймом подтвердил подозрения. Без работы демона GNOME и скорость курсора работают гладко и без проблем. Проблема может оказаться в драйвере останов от intel intel_idle, тогда надо добавить к параметрам запуска следующую запись, чтобы переключиться на управление остановами процессора от ACPI (но это срабатывает не у всех):
Так что учитывайте собственные аппаратные возможности.
Проблемы не выявлены у пользователей новых карт AMD с поддержкой драйвера AMDGPU и пользователей карт Nvidia.
Источник
Установка и запуск тяжёлых игр на Linux
Предисловие
Долгое время я пытался перейти на Linux, но все попытки заканчивались фиаско. Связано было это с его незнанием и кривыми руками.
Как гласит пословица — «если долго мучиться, что нибудь получится», так получилось и в моей ситуации.
Совсем недавно, порядка недели назад, с моей Windows 8 что — то приключилось (темный экран при загрузке почему — то мерцал и система не грузилась). После пары неудачных попыток восстановления, я твёрдо решил перейти на Linux (чем — то давно он меня заинтересовал).
Самым главным для меня было наличие программ аналогичных тем, что есть в Windows и запуск тяжёлых игр.
Основная часть
Для установки я выбрал дистрибутив Ubuntu 12.04 LTS.
Я читал некоторые топики на Хабре о том, как запускать тяжёлые игры используя дискретную видеокарту Nvidia, спустя некоторое время добился следующих результатов:
— Отключил дискретную видеокарту в целях экономии энергии, тем самым увеличив время работы от батареи, да и просто от ненужного нагрева.
— Добился аналога Nvidia Optimus на Linux.
Для запуска игр на Ubuntu нам понадобится:
— Ноутбук с 2 видеокартами (дискретной Nvidia и интегрированной Intel)
— Bumbledee — аналог Nvidia Optimus для Linux
— Сама игра
Установка
1. Перед началом установки надо настроить видеокарту, чтобы интегрированная работала, а дискретная нет:
Чтобы установить Bumblebee нужно открыть терминал и выполнить следующие команды:
sudo add-apt-repository ppa:bumblebee/stable
Добавим репозиторий Bumblebee для установки и получения обновлений. Это официальный репозиторий Bumblebee.
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install nvidia-313
sudo add-apt-repository -r ppa:xorg-edgers/ppa
Репозиторий содержащий последнюю версию драйверов Nvidia(драйвера в этом репозитории ничем не отличаются от драйверов с официального сайта, кроме того, что уже сделаны в понятном для системы формате .deb для упрощения процесса установки и обновления).
sudo apt-get update
sudo apt-get install bumblebee bumblebee-nvidia
Собственно сама установка Bumblebee и последних драйверов Nvidia.
sudo apt-get dist-upgrade
По завершении установки надо перезагрузиться!
2. Чтобы устанавливать и запускать приложения из Windows нам понадобится Wine (его можно найти в центре приложений Ubuntu)
3. После установки Wine можно наконец то приступить к установке игры (процесс установки описывать не стану так как он интуитивно прост и понятен, всё делается так же, как и на Windows)
4. Для запуска игры в свойствах ярлыка, в разделе «команда» надо перед началом приписать optirun (чтобы работала видеокарта Nvidia, а не Intel по умолчанию).
5. Всё готово, можем играть.
Источник
Как включить дискретную видеокарту?
Добрый день. Обнаружил что не включается дискретная карта, ввод команды lspci | grep VGA показывает только интегрированную:
Как мне запустить ее вручную? Пытаюсь запустить по следующему принципу:
Ноутбук HP 15-ay002ur. Драйвера на AMD стоят проприетарные вроде как.
Что должно быть на месте binaryname, и что эта команда делает?
Отказ в доступе потому, что sudo распространяется только на echo, перенаправление делает оболочка, которая писать туда не может. Для записи в файлы с помощью echo удобно применять такую конструкцию:
Тут записывать в файл будет запущенная от суда команда tee, file это её аргумент.
Что должно быть на месте binaryname
Название желаемого для запуска бинарника
Запускает желаемый бинарник с установленной переменной окружения для запуска на дискретке.
Записывать в конфиге ничего не нужно. А то поломаешь нафиг всё. Другого выше не слушай.
Ничего не понял. Как мне запустить дискретную видеокарту?
Что должно быть на месте binaryname, и что эта команда делает?
У него OS не видит дискретку, не поможет ему DRI, точнее приложение запустится всё так же через интеграт.
У него OS не видит дискретку, не поможет ему DRI, точнее приложение запустится всё так же через интеграт.
Команда lspci | grep 01:00.0 выдает:
У меня именно M430
Тогда я вообще не врубаюсь, чего тебе надо. Как запустить приложение на дискретке тебе выше сказали. Покажи вывод xrandr —listproviders
Тогда я вообще не врубаюсь, чего тебе надо. Как запустить приложение на дискретке тебе выше сказали. Покажи вывод
Мне нужно включить систему на дискретной видеокарте. Я работаю с еще одним внешним монитором, при его подключении при сильно активной работе бывает подлагивает. Предполагаю что это видеокарта ибо проца и оперативы хватает.
Система, по идее, всегда работает через интегрированное видео, если нет принудительного переключения графики в BIOS. Хотя могу и ошибаться. Кажется, в таких вопросах Novell-ch разбирается.
Зато не оптимус!
Так у него дискретка вообще не видна, четырехзвездочник.
Если его лаптоп не из 2008 года.
А здесь уже всё видно. Что-то ты уже поменял.
Мне нужно включить систему на дискретной видеокарте
Ну начнем с того, что на одной дискретке работать нельзя. Даже на винде.
Система, по идее, всегда работает через интегрированное видео, если нет принудительного переключения графики в BIOS.
Да, в современных ноутах дискретки не имеют собственных видеовыходов, переключить ничего нельзя.
Ну начнем с того, что на одной дискретке работать нельзя. Даже на винде.
Ну как-то ее дополнительно для рабочего стола запустить можно?
xrandr —setprovideroffloadsink 0x4f 0x74
Эту херню вроде давно не надо делать?
P.S. А вот у меня OS реально не видит дискретку. 🙂
Эту херню вроде давно не надо делать?
Может быть, давно не сталкивался.
P.S. А вот у меня OS реально не видит дискретку. 🙂
Да я вообще не копался в эту сторону, мне дискретка как-то не нужна.
Получается работает динамическая графика?
Даже на интуле версия опенжоель выше чем на амуде, кек. Интересно что на это скажут амуданы со своим пиглитом.
Во-первых glxinfo |grep OpenGL делаю только дауны, нормальные люди просто смотрят glxinfo -B. Во-вторых покажи вывод xrandr (без всяких флагов).
в современных ноутах дискретки не имеют собственных видеовыходов
В современных ноутах дискретки имеют выход на внешний монитор. А встройка — на встроенный. Т.о. танцы с бубном нужны только если рендерить с дискретки на встроенный монитор.
Это что за ископаемое?
конечно же обновить месу..
Это что за ископаемое?
Debian, что поставилось то и стоит.
Ок. У тебя всё работает. Но внешний монитор подключается также через встройку. Тупит оно потому что дискретка полное дно https://www.videocardbenchmark.net/compare/Radeon-R5-M430-vs-Intel-HD-520/355. так ещё и копирует постоянно через intel. Не пользуйся ей вообще, разве что для opencl.
Да, точно. Я убунтовский ppa прикручивал как раз по этой причине. Забыл уже.
Я убунтовский ppa прикручивал как раз по этой причине
Есть же родные backports, там свежая mesa.
Чо прям из гита?
Ок. У тебя всё работает. Но внешний монитор подключается также через встройку. Тупит оно потому что дискретка полное дно https://www.videocardbenchmark.net/compare/Radeon-R5-M430-vs-Intel-HD-520/355. так ещё и копирует постоянно через intel. Не пользуйся ей вообще, разве что для opencl.
На кой она вообще тогда стоит у меня в ноутбуке?
На кой она вообще тогда стоит у меня в ноутбуке?
Ну в теории можно запустить 2 программы которые рендерят 3d на разных картах и тогда они будут меньше тупить (в сумме). Но это довольно специфичный случай. А просто запускать что-то на дискретке чтобы это было быстрее (например игрулю) для тебя смысла нет.
Шел бы отсюда, однозвездочный. Есть у него провайдер оффлоада.
ДА НИКАК НЕ ЗАПУСТИТЬ. Ты запускаешь конкретное приложение на конкретной карте.
Поздравляю. У тебя получилось запустить glxinfo на дискретке во втором случае. Впредь делай так же с остальными приложениями.
Источник