URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 117050
[ Назад ]

Исходное сообщение
"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."

Отправлено opennews , 07-Апр-19 02:03 
Опубликован (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


Содержание

Сообщения в этом обсуждении
"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Аноним , 07-Апр-19 03:10 
Разраб с разрабами Вайна еще не помирился?

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Zenitur , 07-Апр-19 07:19 
Иногда разработчики 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. При этом я хорошо понимаю тех, кто разрабатывает под него, но при этом в конфликте с руководством проекта


"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено amonimous , 07-Апр-19 07:56 
не застал времена, описанные вами, но меня напрягает тот факт, что разрабы вайна так долго не могли родить рабочую реализацию dx11. потом приходит автор dxvk и делает его на полном энтузиазме, причем через пол года он уже вполне мог запускать игры и с хорошей скоростью. потом Габен начал его спонсировать и на данный момент dxvk очень крут, а ему всего лишь 1.5 года и пилится в основном одним человеком.

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Zenitur , 07-Апр-19 08:04 
Причина того, что Direct3D 10 и 11 реализовывали так долго, в сложности написания кода. Раньше Direct3D реализовывали поверх OpenGL. Теперь - через Vulkan. В Вулкане есть компилятор шейдеров HLSL, который использовался в DirectX 8-11. Это значительно упрощает создание транслятора. Раньше делали по-хардкору, реверс-инжинирингом.

Direct3D 9 тоже реализовывли долго. Хотя я говорил, что Direct3D 9 работал уже в 2007 году, это не работало без нативных библиотек из Windows. Direct3D 9 заработал без них только в 2011 году.

Я уверен, что если бы у Direct3D 11 был красивый инсталлятор, то это работало бы и для него тоже. Лично я не знаю, как устанавливать нативные библиотеки Direct3D 11 в Wine


"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Аноним , 07-Апр-19 10:07 
"В Вулкане есть компилятор шейдеров HLSL" - а я думал там нет шаидер-компилера и все надо предкомпилить с помошю glslangValidator.exe и подавать только бинарные шеидеры.

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Аноним , 07-Апр-19 12:00 
https://www.khronos.org/assets/uploads/developers/library/20...

Судя по 4 странице, так и есть. Причём валидатор принимает как glsl, так и hlsl


"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Аноним , 08-Апр-19 01:00 
Я честно, читал, но не понял двух вещей: то есть, по-твоему, Codeweavers совершили ошибку, конкурируя с Cedega (меняя лицензию и проч), и поэтому их следует меньше уважать, а их непринятие DXVK как-то можно понять через эту историю с Cedega? И второе: кого там пони рявили?

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено amonimous , 07-Апр-19 07:48 
не подскажите, а что там за ссора была?

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Zenitur , 07-Апр-19 08:26 
> не подскажите, а что там за ссора была?

Коротко: https://www.opennet.ru/opennews/art.shtml?num=50209
Подробно: https://www.opennet.ru/opennews/art.shtml?num=50025#dxvk


"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Аноним , 08-Апр-19 01:13 
https://wiki.winehq.org/Developer_FAQ#Does_Wine_allow_C.2B.2...
Вряд ли они когда либо придут к единому знаменателю, и по довольно наркоманской причине.

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено commiethebeastie , 08-Апр-19 03:32 
У них K&R головного мозга?

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено axredneck , 08-Апр-19 02:02 
Вроде помирился, и они уже что-то там вместе кумекают. Вроде даже хотят DXVK вместе с Crossover поставлять в будущем, хотя слияния кодовой базы не ожидается.

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Ю.Т. , 07-Апр-19 07:56 
Учтите, автор предупреждает:
This release is known to introduce GPU hangs. Do not use.

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Аноним , 07-Апр-19 10:32 
Забавно, что все авторы новостей о сабже упустили эту "незначительную" особенность.

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Аноним , 07-Апр-19 12:30 
а на Windos XP 64 можно запускать dx11 игры?

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено axredneck , 08-Апр-19 02:04 
Только если на нем можно запустить Vulkan, в чем я сомневаюсь.
Можно, конечно, просто через Wine попытаться, но как минимум будут тормоза.

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Аноним , 08-Апр-19 10:06 
а через OpenGL???
есть конечно WineD3D For Windows https://fdossena.com/?p=wined3d/index.frag
но у меня ни одна игра под dx11 не запустилась, а козалось Победа была так близка...

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Anonimus , 10-Апр-19 18:03 
Если запилить дрова с вулканом... Mesa в помощь.

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Аноним , 07-Апр-19 12:42 
По ссылке https://github.com/doitsujin/dxvk/releases/tag/v1.1 ошибка 404, походу отменён релиз

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено commiethebeastie , 07-Апр-19 20:49 
Там баг с гаммой, скоро перевыложит.

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Alexey , 07-Апр-19 19:40 
На XP и  XP 64 можно, начиная с ATI HD5850. У Nvidia начиная с GTX 430 серии (если не ошибаюсь)

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Аноним , 07-Апр-19 23:14 
а как установить на ХР?

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Alexey , 08-Апр-19 10:05 
Способ кривой, но имеется https://www.youtube.com/watch?v=LKDlt8HnFOs

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Alexey , 08-Апр-19 10:18 
А если по уму , то https://noblefox.ru/directx-v-windows/

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Fedor , 07-Апр-19 20:20 
Эээ... новость нуждается в правке: Автор отменил коммент с новым релизом...

"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Ordu , 08-Апр-19 12:34 
> Автор отменил коммент с новым релизом...

s/коммент/коммит/ ?


"Выпуск проекта DXVK 1.1 с реализацией Direct3D 10/11 поверх ..."
Отправлено Skullnet , 08-Апр-19 02:06 
Пишет что 404. Что?