Сообщество разработчиков и игроков активно обсуждает выход Vulkan 1.4.340, в котором появилось новое расширение, потенциально способное улучшить производительность игр с DirectX на Linux. Речь идёт о расширении VK_EXT_descriptor_heap, над которым совместно работали AMD, Arm, Valve, Nintendo, Microsoft, NVIDIA, Intel, Google и другие участники экосистемы.
Однако ожидания стоит немного умерить. Чтобы реальные улучшения дошли до пользователей, необходимо обновление графических драйверов, а также поддержка со стороны Valve в инструментах совместимости — через Proton, включая DXVK и VKD3D-Proton. Это означает, что практический эффект для геймеров появится не сразу.
На текущий момент NVIDIA уже выпустила ориентированный на разработчиков бета-драйвер Vulkan (версия 580.94.16) с ранней поддержкой нового расширения. Разработка в рамках открытых драйверов Mesa уже началась — в репозитории появились черновые реализации для GPU от AMD и Intel.
Подробнее о расширении — из официальной документации Vulkan:
Это расширение позволяет явно управлять дескрипторами и памятью, используемой для их хранения, которая которая концептуально представлена в виде пулов дескрипторов (descriptor heaps). Память пула дескрипторов может использоваться как обычная память, что позволяет управлять дескрипторами как со стороны CPU, так и GPU.
Расширение было разработано с учётом проблем, выявленных в VK_EXT_descriptor_buffer. В новой модели введены более строгие ограничения реализации, обеспечивающие лучшую переносимость и более предсказуемые характеристики производительности. Например, вместо произвольного количества буферов сэмплеров или ресурсов используется ровно одна куча сэмплеров и ровно одна куча ресурсов.
Расширение полностью устраняет понятия descriptor sets и pipeline layouts. Вместо этого приложения получают доступ к дескрипторам напрямую — по их смещению в пуле дескрипторов. При этом шейдеры, использующие прежние схемы с descriptor set и binding, по-прежнему могут быть сопоставлены с пулами через специальный API, который отображает set и binding в смещения внутри пула — как через константы, так и с помощью push data. Такой API также заметно упрощает сопоставление с HLSL-шейдерами, использующими root signature и descriptor table.
Кроме того, API push constants был заменён интерфейсом push data, который делает передачу данных в шейдеры более наглядной и не требует предоставления информации о сопоставлении на этапе создания пайплайнов или шейдеров. При этом поддержка шейдеров, написанных под устаревший интерфейс, сохраняется.
Также появился более прозрачный и универсальный механизм сопоставления константных данных шейдеров. Рекомендуются два варианта передачи таких данных через push data: либо напрямую, либо через адрес в памяти устройства, передаваемый в push data. Оба подхода могут быть сопоставлены с шейдерами, использующими интерфейсы set и binding.
Многие Linux-геймеры надеются, что появление VK_EXT_descriptor_heap поможет сократить разрыв в производительности между Linux и Windows (особенно на видеокартах NVIDIA), а также уменьшить разницу между AMD и NVIDIA внутри самой Linux-платформы. Эта проблема уже давно обсуждается — на форуме NVIDIA есть тема с сотнями сообщений, посвящённых слабой производительности DirectX 12-игр на Linux.
2026 год уже выглядит насыщенным и многообещающим для Linux-гейминга, и развитие Vulkan остаётся одним из ключевых факторов этого прогресса.
Linux: обзоры и обновления
• Vulkan 1.4.340 получил расширение, которое может улучшить производительность DirectX-игр на Linux
• ReactOS — «открытая альтернатива Windows» отмечает 30 лет разработки
• AMD Radeon Software для Linux 25.35. Поддержка AMD Radeon AI PRO R9600D
• 5 преимуществ Ubuntu перед Windows 11: опыт перехода нового пользователя
• От ядра до облака: как Linux обеспечивает работу всего мирового ИИ
• Финальные изменения в Mesa 26.0 перед заморозкой кода: патчи от Valve для Unreal Engine 4 и DiRT Rally 2.0
