Подключение Windows к Linux по удалённому доступу – какой протокол выбрать, чтобы поддерживалась 3D-акселерация и несколько одновременных сеансов?

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

У меня следующая настройка:

  • Сервер с Proxmox CE 8.x и виртуальной машиной на Debian 12 (Xfce, но можно изменить при необходимости)
  • Клиент на Windows 10, который подключается к виртуальной машине удаленно

Виртуальная машина используется для тестирования большого многопользовательского окружения на новом сервере, который только что прибыл, но еще не добавлен в серверную и домен. Хотя графические процессоры на новом сервере явно новее, я хотел бы изучить все варианты, чтобы подготовить настройку и, возможно, клонировать её (новый сервер также будет использовать Proxmox).

Виртуальная машина будет использоваться для задач, связанных с ИИ, но не только для них. Несколько пользователей запросили менеджер рабочего стола, так как таким образом они чувствуют себя более комфортно при переходе на Linux, поэтому я провожу исследование по RDP/VNC/и т.д.

Я использую xrdp, который, как оказалось, использует vnc, а он (согласно моим исследованиям) не поддерживает аппаратное ускорение GPU вообще. Я использую старую Quadro K2000 в режиме passthrough и установил проприетарный драйвер Nvidia 470, который, по-видимому, является последним, поддерживающим эту архитектуру GPU.

Я заметил две проблемы – одну, связанную с поддержкой GPU, и другую, связанную с сессиями.

Например, Matlab R2023b (сетевая лицензия) не может корректно отобразить свой графический интерфейс. После запуска приложения я отчётливо вижу сообщение о том, что используется программная отрисовка.

Другая проблема – ограничение на одну сессию, что явно неприемлемо для многопользовательского окружения.

Какой протокол удаленного рабочего стола вы бы рекомендовали? Необходима поддержка GPU (мы также занимаемся 3D-рендерингом), возможно, также поддержка аудио. Обмен файлами не обязателен, поскольку я могу обойти это с помощью дополнительного FTP-сервера, монтируемого хранилища NAS через CIFS (часть нашего домена) и т.д. Желательно, чтобы протокол также имел клиент, совместимый с RDP (так чтобы можно было использовать клиент удалённого подключения Windows) или обладал простой настройкой. Клиенты не управляются мной, поэтому, возможно, будет проблемой массово установить дополнительный клиент (нужно уточнить это с центральным ИТ-отделом).

.

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

Для решения проблемы удаленного подключения Windows к Linux, обеспечивающего поддержку 3D ускорения и множественных одновременных сеансов, необходимо взвесить несколько протоколов. Ваша текущая конфигурация включает сервер Proxmox CE 8.x с виртуальной машиной Debian 12 и клиентскую машину с Windows 10. Основная задача — обеспечить многоюзерную среду с поддержкой настольного менеджера и графического ускорения для AI задач и 3D рендеринга. Опишем теоретическую основу, предложим примеры решений и обсудим их применение.

Теория

  1. Проблема GPU ускорения: Использование xRDP с VNC слегка ограничивает возможности, так как в большинстве конфигураций VNC не поддерживает аппаратное ускорение GPU. Это приводит к тому, что такие приложения как Matlab показывают худшую производительность, используя программное рендеринг.

  2. Проблема мульти-сеансовости: xRDP и VNC даже в продвинутых конфигурациях могут не поддерживать необходимые для вашей среды многопользовательские сеансы.

  3. Требование для Windows клиентов: Желание использовать стандартный клиент удаленного рабочего стола Windows (RDP) вводит дополнительные ограничения на выбор протокола, так как требуется совместимость или простой процесс установки на стороне клиента.

Пример

Для обеспечения необходимых функциональных возможностей, можно рассмотреть протокол VirtualGL в сочетании с TurboVNC. Этот подход позволяет передавать приложения OpenGL с аппаратным ускорением на удаленные клиенты, минуя ограничения стандартного VNC.

Однако, VirtualGL требует некоторой настройки и установок на стороне клиента, что может потребовать взаимодействия с вашим IT отделом. Объединение VirtualGL с TurboVNC позволяет получить эффективно работающую систему с аппаратным 3D ускорением.

Еще один альтернативный вариант — это использование X2Go, который предоставляет поддержку для Linux систем с графикой, основанной на NX технологиях. X2Go позволяет запускать приложения с поддержкой 3D ускорения, но также требует установки специфического клиента на Windows. X2Go славится своей высокой производительностью и поддержкой мульти-сеансов, что делает его подходящим кандидатом.

Применение

  1. Настройка VirtualGL и TurboVNC: На сервере Proxmox необходимо настроить GPU passthrough для Debian VM. Затем установить VirtualGL на сервер и настроить TurboVNC для поддержки VGL. Для Windows клиентов потребуется установка TurboVNC Viewer и настройка на использование VirtualGL.

  2. Настройка X2Go: Устанавливаем X2Go на Debian сервер и X2Go-клиент на Windows машину. X2Go также требует установки пакета для 3D драйверов, совместимых с OpenGL.

  3. Аппаратное окружение: Пока использование старой Quadro K2000 возможно, для новой системы сразу стоит рассмотреть возможность интеграции более современного оборудования, чтобы обеспечить наилучшие результаты в плане быстродействия и поддержки актуальных версий драйверов.

Эти решения могут требовать дополнительных усилий и тестирования для настройки, но смогут удовлетворить ваши потребности в 3D ускорении и возможности одновременной работы нескольких пользователей. Также может быть необходимо интегрировать механизмы для легкой установки клиентов или использовать внутренние политики IT для управления программным обеспечением на пользовательских машинах.

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

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

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