Отображение вывода xvfb на удаленном ПК

Вопрос или проблема

У меня есть компьютер с Windows, который я использую для подключения к моему Ubuntu PC по ssh, который я использую как сервер (18.04), и он подключен только к интернету и электрике (без монитора). Когда я запускаю glxgears -info, я получаю только 8-10 fps, хотя у меня есть видеокарта. Когда я запускаю его как xvfb-run glxgears -info, я получаю 2000~ fps (что, как я предполагаю, связано с тем, что он использует мой GPU для рендеринга). Но я не могу заставить xvfb-run отображаться на моем Xming X сервере. Запуск glxgears -info отображается в Xming, но, как я уже сказал, производительность низкая и так далее. Как я могу заставить xvfb отображаться в Xming на моем компьютере с Windows? Или есть более простой/лучший способ сделать это? Спасибо!

Если вы запускаете X-сервер для отображения удаленных X-клиентов (например, glxgears), вы привязаны к протоколу отображения X, который имеет плохую производительность, особенно по медленным линиям.

Вы получите лучшую производительность с Xvnc, но он обычно будет использовать виртуальный фреймбуфер и не будет извлекать выгоду из GPU на вашем Ubuntu компьютере. Входите в virtualgl, это то, что вам нужно для вашей цели. Установить это не легко, но есть хорошие ссылки, вот эта, специально для Ubuntu.

Надеюсь, это поможет,

ppenguin

Ответ или решение

Чтобы отобразить вывод программы, такой как glxgears, на удалённом ПК, используя виртуальный фреймбуфер (Xvfb), необходимо выполнить несколько шагов. Описание проблемы, с которой вы столкнулись, показывает, что использование glxgears напрямую через Xming приводит к низкой производительности, в то время как использование xvfb-run обеспечивает значительно более высокие значения FPS. Давайте разберёмся, как можно добиться отображения xvfb в Xming на вашем Windows ПК.

Установка и настройка

  1. Установка Xming:

    • Убедитесь, что вы установили Xming на своём Windows ПК. Это X-сервер для Windows, который позволяет отображать графические приложения, работающие на удалённых Unix-системах.
    • Запустите Xming перед тем, как подключиться к вашему Ubuntu серверу.
  2. Настройка SSH-соединения:

    • При подключении к вашему серверу Ubuntu через SSH убедитесь, что вы используете опцию -X или -Y для включения X11 forwarding. Например:
      ssh -X your_username@your_ubuntu_server_ip
  3. Установка необходимых пакетов:

    • Убедитесь, что на вашем сервере установлены необходимые пакеты. Вам понадобятся xvfb, virtualgl и mesa-utils (для glxgears):
      sudo apt update
      sudo apt install xvfb virtualgl mesa-utils

Запуск приложения с использованием VirtualGL и Xvfb

Чтобы лучше использовать GPU вашего Ubuntu сервера при работе с графическими приложениями, следует использовать комбинацию Xvfb и VirtualGL.

  1. Запуск Xvfb:

    • Запустите Xvfb на сервере, чтобы создать виртуальное отображение:
      Xvfb :1 -screen 0 1024x768x24 &
  2. Настройка переменных окружения:

    • Для того чтобы VirtualGL использовал созданный Xvfb, установите переменные окружения перед запуском glxgears:
      export DISPLAY=:1
  3. Запуск приложения через VirtualGL:

    • Теперь можно запустить glxgears с использованием vglrun, которая будет использовать ваш GPU:
      vglrun glxgears -info

Примечания

  • Проблемы с сетевой задержкой: Имейте в виду, что попытки работать с графикой могут быть затруднены из-за сетевой задержки. Использование VirtualGL позволяет существенно повысить производительность, но всё равно может возникнуть замедление при больших объёмах данных.

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

Заключение

Использование Xvfb в сочетании с VirtualGL предоставляет хорошее решение для отображения графических приложений на удалённом сервере. При этом вы можете использовать мощность вашего графического процессора, избегая многих недостатков стандартного X11 протокола. Следуйте приведённым шагам, и вы сможете добиться высокой производительности при работе с графическими приложениями на вашем Ubuntu сервере.

Оцените материал
Добавить комментарий

Капча загружается...