Как расшарить видеокарту и звуковую карту на Linux

Линукс не идеален и временами может серьезно проигрывать другим системам по своим функциональным возможностям, в точности как в случае с системой Plan 9 и удаленным доступом к аппаратным ресурсам компьютера. В то же время, когда возникает потребность решить конкретную задачу, шансы найти подходящий набор инструментов для этого практически стопроцентные.

Еще по теме: Как расшарить диски на Linux

Как расшарить видеокарту на Linux

Собираясь расшарить видеокарту, уместно задать себе вопрос: зачем это нужно? Ведь недостатка готовых решений от проприетарщиков нет. Тут тебе и TeamViewer, совсем недавно порадовавший линуксовым клиентом, и облачные решения, встраиваемые в браузер. Однако не всегда все так гладко.

Видеоподсистемы современных ноутбуков повсеместно стали делать гибридными, когда на борту присутствуют две видеокарты: первая — мощная, но безголовая — дискретная, которая используется для трудоемких задач и включается по мере надобности для трансляции потоков через вторую — скромную интегрированную, работающую постоянно.

Масштабировав ситуацию до сетевых размеров и представив себе, что мощная видеокарта находится на удаленном компьютере, а в непосредственном доступе пользователя лишь старенький нетбук, для которого уже и запуск современного браузера порой непозволительная роскошь, приходишь к решению, взятому на вооружение все в той же гибридной графике. Да еще и инструментарий тот же — VirtualGL.
INFO

На самом деле все наоборот, и VirtualGL изначально задумывался для сетевых решений, а хинт с гибридами созрел потом.

Пакет VirtualGL присутствует в большинстве популярных дистрибутивов, поэтому все, что нужно сделать, — это установить его штатным менеджером пакетов на обеих машинах и, в зависимости от того, в какой каталог установлен пакет, запустить на сервере конфигуратор. В Arch Linux и его производных это делается командой

Если в твоей системе пакет установлен в /opt, нужно прописать полный путь:

Далее перезапускай дисплейный менеджер, и сервер можно оставлять в покое.

расшарить видеокарту на Linux
Как расшарить видеокарту на Linux. Работа конфигуратора VirtualGL

На клиентской машине после установки VirtualGL в нем самом ничего конфигурировать не надо. Здесь нам понадобятся только vglconnect и vglclient. Зато нужно установить и настроить SSH. Открываем файл настроек /etc/ssh/sshd_config и добавляем в него такую строку:

Перезапускаем сервис sshd. В системах, основанных на systemd, это можно сделать так:

Получить изображение запущенной на сервере программы и тем самым проверить работоспособность связки позволит команда

Теперь можно с помощью vglconnect подключиться к серверу, попутно зашифровав трафик X11 и изображение VGL:

и попробовать запустить какое-нибудь приложение:

Значения -q (степень сжатия JPEG) и -fps (частоту обновления кадров) можно варьировать, подбирая максимально возможные на используемом канале (не резиновом). Сжатие через JPEG при удаленном доступе используется по умолчанию.

При желании вернуть систему в исходное состояние поможет команда

Как расшарить звуковую карту на Linux

До появления звука в кино оно оставалось немым без малого тридцать лет. У нас времени чуть меньше, поэтому вслед за видео приступим к проброске аудио. Здесь все еще проще, если воспользоваться возможностями вездесущего PulseAudio.

На клиенте и сервере открываем конфигурационный файл ~/.config/pulse/default.pa или /etc/pulse/default.pa и раскомментируем строку load-module module-native-protocol-tcp. На сервере также добавляем одну из следующих строк:

Также на клиенте открываем конфиг ~/.config/pulse/client.conf или /etc/pulse/client.conf (в зависимости от того, нужно ли установить эти настройки для одного пользователя или для всех) и добавляем:

Вместо редактирования client.conf для вывода на удаленный сервер можно использовать утилиту pax11publish:

Отключение вывода на удаленную машину:

Чтобы изменения вступили в силу для конкретной программы, использующей PulseAudio, требуется ее перезапустить.

Другой способ расшарить звуковую карту

В дебрях интернета в слегка запущенном виде можно найти проект аудиотрансляции по сети — TRX, основанный на ALSA, кодеке Opus и библиотеке oRTP. Программа проста в использовании, как автомат Калашникова, но уступает ему в безотказности — исходники не обновлялись с 2014 года. Есть подозрения, что это касается лишь публично доступных материалов, поскольку основанный на нем онлайн-сервис аудиообмена от того же автора Cleanfeed выглядит достаточно свежо.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий