Есть система в масштабе 10 000 машин – все на Linux и все с разными видеокартами NVIDIA. Заказчику, нужно «чтобы работало, как на Виндоус». Рассказываем, как получилось обойти ограничения NVIDIA, подчинить X11 и удовлетворить строгие требования Debian.

Проблема заказчика. Государственная организация столкнулась с трудностями при развертывании собственного дистрибутива Linux на базе Debian 10 на 10 000 рабочих станций, оснащенных видеокартами NVIDIA.
| «У нас нет нормального драйвера, – объяснял заказчик. – Нет удобного интерфейса. Нельзя настроить разрешение мониторов. Если драйвер сломается – система не загрузится. А если подключить два монитора – все рушится. И мы не можем просто поставить NVIDIA Driver с сайта – у нас запрет на закрытый код». |
Решение. Мы создали GPU-Manager – приложение на C++ с Qt-интерфейсом. Это как NVIDIA Experience, но для Linux. С открытым кодом, автоматической установкой драйверов, поддержкой двух мониторов и откатом. После пяти месяцев разработки мы сдали заказчику готовый продукт, который успешно прошел проверку на соответствие требованиям Debian-репозиториев — как по безопасности, так и по семантике. Пакеты, размещаемые в этих репозиториях, должны строго соответствовать установленным стандартам: быть безопасными, корректно структурированными и соблюдать принятую семантику упаковки.
Вызов 1. Ограничения NVIDIA
NVIDIA не дает драйверы в репозитории. Они лежат на их сайте в виде .run-файлов с кривыми названиями, без описаний. Нашей задачей было найти нужный драйвер под конкретную видеокарту, скачать его, установить и не сломать систему.
Мы написали сканер, который парсит сайт NVIDIA, вытаскивает правильную версию, проверяет ее совместимость с видеокартой и ставит в один клик. В процессе разработки сайт NVIDIA оказался заблокирован на три дня. Из-за этого нам пришлось приостановить работу и ждать, пока доступ будет восстановлен.
Вызов 2. Древний X11
Linux использует X11. Это графическая библиотека, которая отвечает за то, что вы видите на экране. И сама библиотека, и документация к ней написаны почти 40 лет назад. Мы потратили несколько недель, чтобы разобраться в принципах ее работы.
Нужно было определить, где какой монитор, задать разрешение для каждого, расставить их в пространстве – один справа, один сверху, один под углом, сдвинуть рабочую область так, чтобы курсор не пропадал между экранами и сохранить эту конфигурацию. И если система не загрузится – автоматически откатиться.
Мы написали алгоритм, который считывает координаты мониторов, как будто это фрагменты пазла. И как бы они не стояли – система все равно знает, где правый, где левый.
Вызов 3. Строгие требования Debian
У Debian очень высокие требования к пакетам. Он разбирает их на нолики и единички. Один пробел в описании пакета – и система его отклоняет. Не хватает строчки в логе – и он не проходит проверку безопасности. Каждый день в течение двух месяцев мы возвращались к пакету, исправляли и пересобирали его много раз, пока не довели до соответствия всем стандартам.
На данный момент GPU-Manager – это единственное приложение, которое закрывает «графический вопрос» для Linux. Эта утилита обеспечивает простой, интуитивно понятный интерфейс для управления видеодрайверами и мониторами.
Смотрите другие кейсы
многие кейсы обезличенны, потому что мы ценим
конфиденциальность наших клиентов и подписываем NDA.
Повышение отказоустойчивости сетевой инфраструктуры для предприятия с филиалами по всей России
Когда площадки компании работают в разных часовых поясах, «нерабочего времени» для ИТ не существует: любой сбой ночью в Москве останавливает чей-то рабочий день.
Импортозамещение пользовательской инфраструктуры: ОС, офисные приложения и оборудование
Переход на отечественное ПО пугает пользователей: кажется, что придётся всё переучивать и терять привычные функции.
Миграция почты: замена неподдерживаемого почтового сервера
Почтовый сервер, который больше не поддерживает разработчик, перестаёт получать обновления безопасности и рано или поздно становится уязвимым местом.
Модернизация ИТ-инфраструктуры: серверы, СХД, сеть и домен
Компания выросла, а инфраструктура осталась прежней.
Обследование сетевой инфраструктуры: актуальная схема сети и аудит безопасности
Сеть, которая годами развивалась без документации, становится «чёрным ящиком»: никто точно не знает, что и как в ней подключено.