Опубликован (https://github.com/doitsujin/dxvk/releases/tag/v1.1) выпуск прослойки DXVK 1.1 (https://github.com/doitsujin/dxvk/), предоставляющей реализацию DXGI (DirectX Graphics Infrastructure), Direct3D 10 и Direct3D 11, работающую через трансляцию вызовов в API Vulkan. Для использования DXVK требуется (https://github.com/doitsujin/dxvk/wiki/Driver-support) наличие драйверов с поддержкой API Vulkan (https://www.opennet.ru/opennews/art.shtml?num=48227), таких как
AMD RADV 19.1-git, AMDGPU PRO 18.50+, NVIDIA 418.49.04, Intel ANV 19.1-git и AMDVLK (https://www.opennet.ru/opennews/art.shtml?num=47816).
DXVK может применяться для запуска 3D-приложений и игр в Linux при помощи Wine, выступая в качестве более высокопроизводительной альтернативы встроенной в Wine реализации Direct3D 11, работающей поверх OpenGL. В некоторых играх (https://www.reddit.com/r/wine_gaming/comments/9cvfux/benchma.../) производительность связки Wine+DXVK отличается (https://github.com/doitsujin/dxvk/issues/67) от запуска в Windows всего на 10-20%, в то время как при использовании реализации Direct3D 11 на базе OpenGL производительность снижается более существенно. Ведётся работа (https://www.winehq.org/pipermail/wine-devel/2019-February/14...) по поставке (https://github.com/wine-mirror/wine/pull/13) DXVK как компонента wine-integration (https://github.com/doitsujin/dxvk/pull/926), поставляемого в форме отдельной Linux-библиотеки (libdxvk.so), которую напрямую можно использовать в Wine, без необходимости отдельной установки DXVK в форме Windows DLL.Основные изменения в DXVK 1.1:
- Переработан интерфейс Querie (https://docs.microsoft.com/en-us/windows/desktop/api/d3d11/n...), применяемый для получения информации из GPU. Переработка позволила поднять производительность различных игр, особенно построенных на базе движка Unreal Engine 4. Для достижения максимальной производительности требуется наличие в драйверах Vulkan расширения VK_EXT_host_query_reset, появившегося в ветке Mesa 19.1-git и драйвере NVIDIA 418.49.04, а также использования Wine 4.5 или Proton 4.2. В конфигурациях без поддержки расширения VK_EXT_host_query_reset производительность некоторых игр, таких как Quake Champions, может оказаться ниже, чем при использовании DXVK 1.0;
- Реализована начальная поддержка метода SetPredication (https://docs.microsoft.com/en-us/windows/desktop/api/d3d11/n...), для работы которого требуется поддержка расширения VK_EXT_conditional_rendering;
- Добавлена поддержка размещения кода шейдеров в памяти в сжатом виде и исключено хранение лишних копий шейдеров, что позволило существенно снизить потребление памяти в играх с большим числом шейдеров и немого ускорить компиляцию шейдеров. Например, в играх Overwatch, Quake Champions и Dishonored 2 после применения оптимизации потребление памяти снизилось на несколько сотен мегабайт;
- В DLL обеспечено включение информации о версии DXVK;
- Добавлены незначительные оптимизации операций мультисэмплинга;
- Устранены крахи при использовании Windows-версии RenderDoc в wine;
- Решены проблемы с отрисовкой в играх Dark Souls Remastered и Grim Dawn на системах с GPU NVIDIA;
- На 5-10% увеличена производительность игры "Sekiro: Shadows Die Twice".URL: https://github.com/doitsujin/dxvk/releases/tag/v1.1
Новость: https://www.opennet.ru/opennews/art.shtml?num=50472
Разраб с разрабами Вайна еще не помирился?
Иногда разработчики Wine заслуживают того, чтобы с ними ссориться.В первую половину 00-х, как известно, был хайп Линукса. В 1999 году Red Hat вышла на IPO, и её акции стали дорого продаваться. Все тогда стали говорить про Linux. Если попробовать открыть сайт Wine и Crossover (платный Wine) в https://archive.org/, то видно, что вплоть до 2005 года странички кэшировались очень активно. Значит, они очень активно посещались.
Так вот, в то же самое время, у Wine был конкурент. Его называли WineX. Wine с ним серьёзно боролся: пони редъявили претензии к названию, из-за чего продукт стал называться Cedega. Сменили лицензию на Wine с MIT на LGPL, из-за чего разработчики Cedega больше не могли пользоваться исходным кодом Wine. Теперь Cedega приходилось самостоятельно реализовывать новые возможности Wine, да ещё не подглядывая в код! Стоит ли говорить, что это медленная смерть для проекта, ведь расхождение в возможностях двух разных кодовых баз год за годом увеличивалось.
Я пользовался Cedega в 2007 году. А что, мне понравилось. Выбрал игру из выпадающего списка и установил. Только установочный диск гони, а дальше программа всё сделает сама. Не надо лезть на AppDB за инструкцией, что в wine regedit прописывать, что в конфиге игры изменить, какую DLL-библиотеку установить...
В декабре 2007 года проект Wine опубликова статью о том, как установить DirectX 9.0c в Wine. В тот момент, реверс-инжиниринг Direct3D 9 был в начальной стадии, и поэтому надо было устанавливать нативные DLL-файлы из Windows.
https://web.archive.org/web/20071124210140/http://wine-revie... Статья быстро разлетелась по всему интернету. Её запостили во всех блогах, связанных с Linux. Например тут: https://lna.org.ru/book/export/html/59 Только в начале ошибка: первые две библиотеки следует указать как builtin, а не как native, вот так это сейчас делает winetricks directx9
[Software\\Wine\\DllOverrides]
"*d3d8"="builtin"
"*d3d9"="builtin"
"*d3dim"="native"
"*d3drm"="native"
"*d3dx8"="native"
"*d3dx9_24"="native"
"*d3dx9_25"="native"
"*d3dx9_26"="native"
"*d3dx9_27"="native"
"*d3dx9_28"="native"
"*d3dx9_29"="native"
"*d3dx9_30"="native"
"*d3dx9_31"="native"
"*d3dx9_32"="native"
"*d3dx9_33"="native"
"*d3dx9_34"="native"
"*d3dx9_35"="native"
"*d3dx9_36"="native"
"*d3dx9_37"="native"
"*d3dx9_38"="native"
"*d3dx9_39"="native"
"*d3dx9_40"="native"
"*d3dx9_41"="native"
"*d3dx9_42"="native"
"*d3dx9_43"="native"
"*d3dxof"="native"
"*dciman32"="native"
"*ddrawex"="native"
"*devenum"="native"
"*dinput"="builtin"
"*dinput8"="builtin"
"*dmband"="native"
"*dmcompos"="native"
"*dmime"="native"
"*dmloader"="native"
"*dmscript"="native"
"*dmstyle"="native"
"*dmsynth"="native"
"*dmusic"="native"
"*dmusic32"="native"
"*dplay"="native"
"*dplayx"="native"
"*dpnaddr"="native"
"*dpnet"="native"
"*dpnhpast"="native"
"*dpnlobby"="native"
"*dsound"="builtin"
"*dswave"="native"
"*dxdiag.exe"="native"
"*dxdiagn"="native"
"*msdmo"="native"
"*qcap"="native"
"*quartz"="native"
"*streamci"="native"В общем, статья имела большой резонанс: кто пользовался Linux на десктопе в 2007-2008 годах, обязательно её видел. Лично мне это починило кучу игр. Cedega закрылась через год
А проект Wine с тех пор стагнировал. Когда конкуренции не стало, то приблизительно 5 лет серьёзных изменений в проекте не было. Это, конечно, моё ИМХО. Следствием этой стагнации стал проект Wine Staging, куда попали патчи, которые не брали в апстрим из-за их "нестабильности". При этом, я пользуюсь Wine Staging, делаю Apply All Patches, и всё стабильно работает...
Так о чём это я? Ах да. Так вот. Руководство Wine иногда требует того, чтобы его презирали. Тогда как среди разработчиков есть талантливые программисты. Это же можно сказать про Nintendo: иногда поражаешься тому, что решили "верхи" (в негативном смысле), поражаешься тому, что реализовали "низы" (в положительном смысле). Как бы то ни было, я отношусь положительно к Wine. Я ежегодно покупаю подписку на Crossover. При этом я хорошо понимаю тех, кто разрабатывает под него, но при этом в конфликте с руководством проекта
не застал времена, описанные вами, но меня напрягает тот факт, что разрабы вайна так долго не могли родить рабочую реализацию dx11. потом приходит автор dxvk и делает его на полном энтузиазме, причем через пол года он уже вполне мог запускать игры и с хорошей скоростью. потом Габен начал его спонсировать и на данный момент dxvk очень крут, а ему всего лишь 1.5 года и пилится в основном одним человеком.
Причина того, что Direct3D 10 и 11 реализовывали так долго, в сложности написания кода. Раньше Direct3D реализовывали поверх OpenGL. Теперь - через Vulkan. В Вулкане есть компилятор шейдеров HLSL, который использовался в DirectX 8-11. Это значительно упрощает создание транслятора. Раньше делали по-хардкору, реверс-инжинирингом.Direct3D 9 тоже реализовывли долго. Хотя я говорил, что Direct3D 9 работал уже в 2007 году, это не работало без нативных библиотек из Windows. Direct3D 9 заработал без них только в 2011 году.
Я уверен, что если бы у Direct3D 11 был красивый инсталлятор, то это работало бы и для него тоже. Лично я не знаю, как устанавливать нативные библиотеки Direct3D 11 в Wine
"В Вулкане есть компилятор шейдеров HLSL" - а я думал там нет шаидер-компилера и все надо предкомпилить с помошю glslangValidator.exe и подавать только бинарные шеидеры.
https://www.khronos.org/assets/uploads/developers/library/20...Судя по 4 странице, так и есть. Причём валидатор принимает как glsl, так и hlsl
Я честно, читал, но не понял двух вещей: то есть, по-твоему, Codeweavers совершили ошибку, конкурируя с Cedega (меняя лицензию и проч), и поэтому их следует меньше уважать, а их непринятие DXVK как-то можно понять через эту историю с Cedega? И второе: кого там пони рявили?
не подскажите, а что там за ссора была?
> не подскажите, а что там за ссора была?Коротко: https://www.opennet.ru/opennews/art.shtml?num=50209
Подробно: https://www.opennet.ru/opennews/art.shtml?num=50025#dxvk
https://wiki.winehq.org/Developer_FAQ#Does_Wine_allow_C.2B.2...
Вряд ли они когда либо придут к единому знаменателю, и по довольно наркоманской причине.
У них K&R головного мозга?
Вроде помирился, и они уже что-то там вместе кумекают. Вроде даже хотят DXVK вместе с Crossover поставлять в будущем, хотя слияния кодовой базы не ожидается.
Учтите, автор предупреждает:
This release is known to introduce GPU hangs. Do not use.
Забавно, что все авторы новостей о сабже упустили эту "незначительную" особенность.
а на Windos XP 64 можно запускать dx11 игры?
Только если на нем можно запустить Vulkan, в чем я сомневаюсь.
Можно, конечно, просто через Wine попытаться, но как минимум будут тормоза.
а через OpenGL???
есть конечно WineD3D For Windows https://fdossena.com/?p=wined3d/index.frag
но у меня ни одна игра под dx11 не запустилась, а козалось Победа была так близка...
Если запилить дрова с вулканом... Mesa в помощь.
По ссылке https://github.com/doitsujin/dxvk/releases/tag/v1.1 ошибка 404, походу отменён релиз
Там баг с гаммой, скоро перевыложит.
На XP и XP 64 можно, начиная с ATI HD5850. У Nvidia начиная с GTX 430 серии (если не ошибаюсь)
а как установить на ХР?
Способ кривой, но имеется https://www.youtube.com/watch?v=LKDlt8HnFOs
А если по уму , то https://noblefox.ru/directx-v-windows/
Эээ... новость нуждается в правке: Автор отменил коммент с новым релизом...
> Автор отменил коммент с новым релизом...s/коммент/коммит/ ?
Пишет что 404. Что?