Масштабная интеграция кода Wine
Проект ReactOS, стремящийся обеспечить бинарную совместимость с приложениями и драйверами Microsoft Windows, совершил значительный прорыв. Разработчик Джастин Миллер (Justin Miller) завершил масштабную работу по обновлению стека DirectX, интегрировав код из Wine версии 10.0. Этот процесс занял более 230 часов работы и привел к фундаментальной переработке архитектуры графики в системе.
Цифры и технические детали
Обновление представляет собой не просто патч, а полную замену старого кода. В результате слияния кодовых баз проект очистил устаревшие хаки и внедрил современные решения. Ниже приведена статистика изменений в коде:
| Параметр | Значение | Примечание |
|---|---|---|
| Новый код | 498 000 строк | Интегрировано из Wine 10.0 |
| Удаленный код | 119 000 строк | Устаревшие хаки и уязвимости |
| Версия Wine | 10.0 | Базовая версия для стека DirectX |
| Метод трансляции | OpenGL / Vulkan | Вместо старых эмуляций |
Технологический сдвиг: Vulkan и OpenGL
Ключевым изменением стало то, что ReactOS теперь может использовать API OpenGL и Vulkan для трансляции вызовов DirectX. Это критически важно для производительности и поддержки современных игр. Примечательно, что поддержка Vulkan доступна либо через кастомные ветки Mesa, либо через программный рендеринг, но сам факт наличия этой возможности открывает путь к более сложным графическим эффектам.
Практическая польза: какие игры заработают?
По словам разработчиков, это обновление в сочетании с другими открытыми pull-реквестами разблокирует совместимость для сотен игр. Уже сейчас, даже на базе ядра NT5.x, стало возможным запуск таких проектов, как Dragon Age: Origins. Разработчики также анонсировали, что в будущем совместимость с играми, требующими DirectX 10, 11 и 12, станет реальностью на ReactOS.
Дополнительный бонус для Windows
Интересным побочным эффектом обновления стало то, что улучшенный стек DirectX, созданный для ReactOS, теперь лучше работает и на самой Microsoft Windows. Это демонстрирует взаимное влияние open-source и проприетарных экосистем, где улучшения в одном проекте могут повышать стабильность в другом.
Источник: Phoronix ↗
