DXVK 2.4.1 приносит улучшения для ланучеров, более надежный D3D8, множество исправлений для игр под Linux.
DXVK — это реализация Direct3D 8, 9, 10 и 11 для Linux на базе Vulkan, используемая в Wine / Proton. Это огромная часть того, что делает Proton от Valve способным запускать многие Windows-игры на Linux / Steam Deck.
Что нового в DXVK 2.4.1
В этом выпуске довольно много улучшений!
Общие улучшения
- Размер кусков памяти теперь определяется динамически на основе объема памяти, уже выделенного приложению;
- Это должно улучшить поведение «из коробки» в различных программах запуска игр; соответственно, опция dxvk.maxChunkSize была удалена;
- Исправлена проблема, из-за которой цепочка подкачки Vulkan не всегда воссоздавалась должным образом в родном окружении Wayland;
- Исправлена проблема, из-за которой пулы дескрипторов становились слишком большими на картах Nvidia в некоторых ситуациях;
- Изменена генерация шейдерного кода по умолчанию для безумных инструкций DXBC, чтобы решить проблему мерцания в играх, использующих разные вершинные шейдеры для рендеринга одной и той же геометрии в несколько проходов рендеринга. Опции d3d11.longMad и d3d9.longMad были удалены соответственно.
D3D8 / D3D9
- Улучшена общая надежность реализации D3D8 за счет обработки ошибок и исправлены различные утечки памяти;
- Немного повышена производительность за счет оптимизации загрузки вершинных буферов;
- Значительно повышена производительность в некоторых играх, использующих программную обработку вершин;
- Исправлены проблемы с полноэкранным представлением в некоторых играх Game Maker;
- Удален VK_IMAGE_USAGE_SAMPLED_BIT из текстур, которым он не нужен;
- Включена эмуляция строгих поплавков по умолчанию на AMDVLK, теперь этот драйвер оптимизирует шаблон, эмулируемый DXVK. Обратите внимание, что это уже было сделано на RADV;
- Chrome: Gold Edition: Включено ограничение 60 FPS для устранения проблем в играх при более высокой частоте кадров;
- GTA: San Andreas: Исправлена регрессия, приводившая к сбоям в работе DXVK 2.4;
- Operation Racoon City: Устранено падение игры;
- Prince of Persia (2008): Включено ограничение 240 FPS для устранения проблем с игрой при очень высокой частоте кадров;
- Rayman 3: исправлена недостающая геометрия;
- Serious Sam 2: исправлены внутриигровые видеоролики;
- Splinter Cell: Pandora Tomorrow: Включено ограничение в 60 FPS для исправления неработающего ввода и физики;
- The First Templar: Исправлены проблемы с освещением;
- The Sims 2: Исправлена регрессия, которая приводила к краху игры в ранних версиях DXVK;
D3D11 / DXGI
- Решена общая проблема, из-за которой некоторые игры по умолчанию используют интегрированный GPU в зависимости от объема доступной видеопамяти;
- Устранена проблема, из-за которой различные игры вели себя неправильно, когда объем доступной VRAM сообщался как степень двойки;
- Изменена генерация кода шейдеров для инструкций точечного произведения, чтобы она соответствовала генерации кода в родных драйверах;
- Это исправляет проблему с рендерингом воды в игре Trails through Daybreak на Nvidia;
- Реализован базовый проход для устранения мертвого кода, чтобы избежать генерации некорректных шейдеров SPIR-V в редких ситуациях;
- Примечание: Все эти изменения, связанные с шейдерами, приведут к аннулированию баз данных окаменелостей;
- Игры теперь будут выходить из полноэкранного режима, когда игровое окно теряет фокус;
- Это приближено к поведению Windows и исправляет различные проблемы с зависанием игр на некоторых настройках;
- Сделано так, чтобы встроенные опции DXVK для игры имели приоритет над опциями, включенными/отключенными DXVK-NVAPI;
- Это исправляет регресс производительности в God of War на графических процессорах Nvidia;
- Batman Arkham Knight: Решена проблема, из-за которой игра не запускалась при обнаружении графического процессора Intel;
- Hunt Showdown: Исправлен сбой, вызванный тем, что DXVK сообщал о слишком высокой версии драйвера UMD;
- Kena: Bridge of Spirits: Решена проблема с рендерингом воды, когда игра обнаруживает GPU Intel;
- Microsoft Flight Simulator: Исправлен экран с помехами при запуске;
- Senran Kagura Peach Ball: Исправлена ошибка рендеринга моделей персонажей;
- The Sims 4: исправлено падение, вызванное ошибкой use-after-free в игре.
Более подробную информацию можно найти в журнале изменений.
Как установить DXVK 2.4.1
Если вам интересно, как сделать апгрейд, то на самом деле ничего делать не нужно. Proton и GE-Proton используют DXVK напрямую, и поэтому они оба получают обновления в своих новых релизах. Однако для тех, кто любит жить на «дикой стороне», вы можете самостоятельно обновить версию DXVK в «Протоне». Делайте это на свой страх и риск.
Для этого вы можете просто перезаписать существующие файлы DXVK, загрузив релиз последней версии DXVK. Вы можете найти свою установку Proton где-то здесь (в зависимости от дисков вашей библиотеки Steam):
Для Proton 9 и Proton Experimental:
path-to-your/SteamLibrary/steamapps/common/Proton x.x/files
Для Proton 8 и ниже:
path-to-your/SteamLibrary/steamapps/common/Proton x.x/dist
Где x.x — это версия установленного Proton, которую вы хотите передать новому DXVK.
Внутри вы увидите папки «lib» и «lib64», для 32- и 64-битных версий. Внутри каждой из них есть папка «wine», а в ней — папка «dxvk», и именно в ней вы заменяете файлы новыми версиями. Если вы что-то испортите, один из способов обеспечить чистую переустановку — просто удалить папку «/dist».