Разработчик под псевдонимом WinterSnowfall выпустил версию прослойки D7VK 2.4, предназначенной для трансляции вызовов графических интерфейсов Direct3D 7, 6, 5 и 3 в современный Vulkan через модифицированный бэкенд DXVK. Проект перешел в стадию сервисной поддержки, однако свежее обновление принесло массу технических правок для запуска классических проектов на Linux через Wine, а также затронуло работу с дисплеями и рендерингом на композитных серверах Wayland.
Главным изменением стало принудительное включение традиционных ограничений на размеры поверхностей и разрешения экранов, свойственных эпохе раннего Direct3D и DirectDraw. Исторически максимальный предел для таких поверхностей составлял 2048 пикселей по ширине или длине, а максимальное разрешение экрана равнялось 2048 на 1536 точек. При превышении данных лимитов многие игры вылетали с ошибкой либо сбрасывались до базовых 640 на 480 точек. Теперь утилита принудительно скрывает режимы выше указанных значений, в результате чего максимальным современным разрешением по умолчанию становится 1080p, а для дисплеев с соотношением сторон 4 к 3 или 5 к 4 планка ограничена 1600 на 1200 и 1280 на 1024 точками. Для обхода ограничений авторы оставили возможность выставить в файле конфигурации поддержку вплоть до 16K.
Другая важная правка коснулась графического протокола Wayland. В прошлых версиях автоматическое растягивание заднего буфера до разрешения дисплея было включено по умолчанию, но в версии 2.4 эту функцию деактивировали ради стабильности.
При ручной активации масштабирования через параметр ddraw.backBufferResize инструмент теперь сохраняет оригинальное соотношение сторон, предотвращая искажение геометрии кадра. Разработчики уточнили, что встроенное растягивание не использует фильтрацию или повышение резкости во избежание потери производительности, поэтому картинка может казаться слегка размытой. Для корректного отображения в среде Wayland авторы рекомендуют задействовать виртуальный рабочий стол Wine или средства композитора Gamescope.
Свежая сборка исправила вылеты и графические глитчи в ряде классических игр. Стратегия Earth 2150 и дополнения к ней перестали завершаться аварийной ошибкой при открытии элементов меню благодаря добавлению специальной опции, которая сообщает приложению только о режимах 4 к 3 и 5 к 4. Исправление бага с откреплением области просмотра устранило падения в фантастическом экшене H.E.D.Z., а переработанная обработка интервалов кадровой синхронизации VSync вернула пропавший текст и элементы интерфейса в гонке Re-Volt и тестовом пакете 3DMark 2000.
Внутренняя кодовая база также получила доработки: структуры описания поверхностей объединили в общую DDSURFACEDESC2, что снизило потребление оперативной памяти и ускорило вызовы DirectDraw. Были оптимизированы загрузка кубических текстур и создание графических объектов, а само ядро синхронизировано со свежими коммитами апстрима DXVK. Внесенные изменения отразились на результатах синтетических бенчмарков 3DMark 99 Max и 3DMark 2000, где зафиксирован прирост очков.
Вместе с релизом состоялся анонс родственного проекта под названием GXVK. Разработчик CkNoSFeRaTU выпустил первую альфа-версию прослойки, транслирующей вызовы графического API Glide компании 3dfx напрямую в Vulkan через мощности DXVK. Новая утилита уже способна запускать проекты эпохи раннего 3D, включая платформер Pandemonium 2 и тактическую стратегию Incubation: Time Is Running Out.
Обе утилиты нацелены на использование в связке с Wine на операционных системах Linux, предоставляя возможность запускать трехмерные проекты конца 1990-х годов на современном графическом оборудовании без программных эмуляторов медленного типа.
Источник: www.playground.ru