LINUX.ORG.RU

DXVK 0.50

 , , ,


6

7

Состоялся новый релиз DXVK 0.50 - транслятора DirectX 11 > Vulkan, позволяющего запустить в Wine любую современную игру, использующую DX11, практически без потерь в производительности. В новой версии:

  • Добавлена поддержка не родных разрешений экрана;
  • Добавлена поддержка вычисления вершин D3D11 при наличии соответствующего Vulkan-расширения VK_EXT_vertex_attribute_divisor;
  • Многочисленные оптимизации рендеринга, как общие, так и направленные на Vulkan-драйвер RADV;
  • Существенно улучшена производительность игр, использующих 24-битную глубину буфера, при использовании проприетарного драйвера Nvidia;
  • Исправлены следующие баги:

>>> Подробности

Ответ на: комментарий от no-such-file

А что в федоре с вулканом собирают?

Не проверишь - не узнаешь. Я знаю только, что в Арче wine собирают с Vulkan'ом.

Kron4ek ★★ ()
Ответ на: комментарий от SR_team

в котором будет llvm5 и при этом mesa 18.1

в debian меса из sid без проблем с зависимостями ставится.

bdfy ★★★★ ()
Ответ на: комментарий от baist

А что в данном случае ты называешь «API<->Hardware»? Уж не вайновый ли транслятор DirectX->OpenGL?

gasinvein ★★★ ()
Ответ на: комментарий от bdfy

Там же llvm6

root@af396a79dff8:/# apt install mesa-vulkan-drivers | grep llvm

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

  libllvm6.0 libncurses6 libtinfo6 libvulkan1 libwayland-client0 libx11-6
  libllvm6.0 libncurses6 libtinfo6 libvulkan1 libwayland-client0 libx11-6

SR_team ★★ ()
Последнее исправление: SR_team (всего исправлений: 1)
Ответ на: комментарий от NeverLoved

Lutris это оболочка для эмуляторов, нативных линуксовых игр, игр из стима и игр в вайне. Такой, универсальный гуй для всего игрового. Просто на мой взгляд здесь удобнее реализовано управление версиями Wine

Sunderland93 ★★★★★ ()
Ответ на: комментарий от slapin

Я как раз противоположное читал, что всё сложно из-за высокоуровневости OGL и некоторые функции приходится реализовывать через CPU.

sudopacman ★★★★★ ()
Ответ на: комментарий от anonymous

И суть конвеера видяхи именно в том что там торчит аппаратный растеризатор, без которого графония не будет никакого.

В том и прикол, что это не видяха должна делать. У тебя есть мат. сопроцесор VLIW на котором ты гоняешь математику, данные хранишь в оперативке, а видуха у тебя просто хранит кадр( У меня видуха Trident TVGA9000 1994 года, именно так и делала. ). Тебе нужен быстрый интерфейс между компонентами. А API выглядит как SIMD команды. Умножить массив, сумма массива и т.д.

на умела превращать треугольник из трех точек в горстку пикселей

А я не хочу полигональную графику, хочу воксельную. И мне придется через API draw_trinagle() реализовывать расчет и отбраковку объемных пикселей.

А стырые движки и так делали все сами программно. Посему изначально в 90-ые надо было дать пользователю мощную числодробилку, а программисты перенесли бы эти вычисления под это камень.

Но в итоге мы имеем пляски вокруг конвеера и глупость вроде GPGPU.

Само понятие GPU смешно. Процу должно быть пофиг что он считает физику, звук или сетевые пакеты анализирует.

baist ()
Ответ на: комментарий от gasinvein

У тебя DirectX 11 и OpenGL 4.5 есть, а нормального драйвера нет. Посему дружить OpenGL с железом и промежучтоным API самостоятельно тебе придется долго и муторно. Но если у тебя есть работающий Vulkan, который передает все как надо, и драйвер который с этим вулканом взаимодействует напрямую. или нет. Тебе остается обернуть DirectX вокруг вулкана. Ты просто транслируешь вызовы в другие вызовы.

А OpenGL иногда поставляется самим вендором. И порой там вполне могут вызова драйвера, а может и устройства, напрямую. Ну чтоб лишнего кода не плодить.

Идея всех эти API. Что программист должен думтаь и чувствовать по производительности, что API вызывает железо напрямую в виде ассемблерных вставок.

Но в реалее мы ж имеем еще 100500 прослоек. УВЫ!

baist ()
Ответ на: комментарий от baist

В том и прикол, что это не видяха должна делать.

Два проца (центральный и графический) - это лучше чем один.

Процу должно быть пофиг что он считает физику, звук или сетевые пакеты анализирует.

Это медленно. Проц можно аппаратно заточить делать некоторые задачи быстрее, проиграть в универсальности зато выиграть в скорости. Если задача - растеризация, то такой заточенный проц и есть GPU. Не нравится - не ешь, пили програмно.

vlad9486 ()
Ответ на: комментарий от vlad9486

Не нравится - не ешь, пили програмно.

Давно запилил. Даже поддержка пиксельных и вершинных шейдеров в виде простеньких callback функций. Я даже засунул технологию HyperZ. Хочу на Раст перенести и попробывать графон на Wayland пащупать заодно. 60000 полигонов в секунду при 640x480 и 60 кадров в секунду для Core i5. Но еще запас в оптимизации математики на уровне кода, SIMD, паралель на 4 ядра и плюс удвоить потоки с Hyper-Threading. Посмотрим что выйдет. Это челендж. Хобби. ясен пень что на CPU будет дико тормозить.

Кстати.....

можно аппаратно заточить делать некоторые задачи быстрее

HyperZ от ATI и есть та самая чисто графическая фича для ускорения обновления буффера глубины.

Хотя кто мешает сам HyperZ сделать на отдельном проце.

Два проца (центральный и графический) - это лучше чем один.

Intel c тобой не согласна, она использует вроде как вышеописанный мной метод, но проц, правда, интегрирован внутрь камня CPU, а не ввиде платки PCIe.

baist ()
Ответ на: комментарий от SR_team

как вариант собрать из сорцов и добавить в LD_LIBRARY_PATH специально для вайна а всё остальное пущай через системное работает

на gentoo без проблем собирается mesa 18.1 с llvm5

MEXAHOTABOP ()
Ответ на: комментарий от dv76

там 31 марта последнее - 3.5 вайн, а нонче 3.6/3.7 уже

JL ()

облин, опущенный2 через прямоикс работает. аркан переписали idtech5. во наркоманы-то где

anonymous ()
Ответ на: комментарий от eR

dx12

Khronos уже пару лет исследует возможность замены dx12 и metal на vulkan на этапе компиляции без переписывания кода. По их заявлениям 90% кода компилится без проблем и почти без просадок произоводительности, но есть несколько серьезных проблем. Может быть это будет официальной фичей вулкана через год-другой (если допилят).

anonymous ()

я Очень впечатлен

запустил Titanfall2 на линуксе на максималках на 60 фпсах прям 1 в 1 как в винде, вообще ноль багов/лагов

непонятна ситуация с __GL_NextGenCompiler=1 , с ним ФПС упал до 5 но пропала «компиляция шейдеров»(загруки мгновенные и нет пролага в новой и эффектах в первый раз), с__GL_NextGenCompiler=0 те самые 60фпс и все нормально

missxu ()
Ответ на: комментарий от anonymous

на этапе компиляции без переписывания кода

микрософт просто введут новый синтакиси шейдеров, еще и «шифровать» их начнут чтоб только модуль драйвера для dx12 расшифровывал по получению (исходники которого будут только у микрософта, и сам модуль будет в ядре ОС)

кроносу не тягаться с микрософтом без соглашений о сотрудничестве

missxu ()
Ответ на: комментарий от baist

У тебя есть мат. сопроцесор VLIW на котором ты гоняешь математику, данные хранишь в оперативке, а видуха у тебя просто хранит кадр( У меня видуха Trident TVGA9000 1994 года, именно так и делала. )

Очень быстро всё уткнется в скорость оперативы.

Тебе нужен быстрый интерфейс между компонентами

Но его нет. И не предвидится.

А я не хочу полигональную графику, хочу воксельную.

Трехмерный растр. Со скелетными и лицевыми анимациями. С глобал иллюминейшном. Понадобится чертов квантовый компьютер, чтобы это общитать.

robus ★★★ ()
Ответ на: комментарий от baist

VLIW днище давно не используется в видеокартах, в них сейчас вроде simd.

anonymous ()
Ответ на: комментарий от robus

Очень быстро всё уткнется в скорость оперативы.

+1. Это один из главных аргументов за дискретные видяхи. Встроенная видяха будет с CPU за шину конкурировать.

dimgel ()
Ответ на: комментарий от baist

В том и прикол, что это не видяха должна делать. У тебя есть мат. сопроцесор VLIW на котором ты гоняешь математику, данные хранишь в оперативке, а видуха у тебя просто хранит кадр( У меня видуха Trident TVGA9000 1994 года, именно так и делала. ). Тебе нужен быстрый интерфейс между компонентами. А API выглядит как SIMD команды. Умножить массив, сумма массива и т.д.

Во-первых, VLIW пробовали много раз и всегда безуспешно. Итаник, Трансмета, Эльбрус, Денвер... Казалось бы, что на особом коде, в котором много векторов и матриц, например в шейдерах, VLIW может выстрелить, но даже там, после нескольких поколений, АМД от VLIW в радеонах отказалась.

Во-вторых, даже если не брать конкретно VLIW, идеи такие пробовали. Intel Larrabee должен был быть оченьмногоядерным пентиумом 1 с присобаченным к нему AVX512 и, говорят, блоками аппаратной текстурной фильтрации. Не пошёл, в итоге выкинули всё что связано с графикой и продают как ускоритель вычислений Xeon Phi. До этого был CBE, тут менее универсальный процессор, но тоже планировали прикрепить к нескольким таким простенький растеризатор и получить PS3. В итоге в последений момент вынуждены были покупать у нвидии GPU с шейдерными блоками.

Потому как даже теперь, во времена gpgpu, существенная часть работы выполняется на ASIC-блоках, проще подстроитья под текущую модель растеризации с Z-буфером и воспользоваться ими, чем реализовывать кастомный рендеринг софтварно. Сейчас вот объявили приход рейтрейсинга, может что-то и изменится, но память подсказывает, что это не первый раз. Трассировка лучей - священная корова 3д пиара, его постоянно обещают и каждый раз это оказывается какой-то примитивный дополнительный эффект к традиционному рендерингу.

khrundel ()
Ответ на: комментарий от anonymous

последняя проприетарная нвидиа очевидно, на другой версии оноб просто не заработало

missxu ()
Ответ на: комментарий от robus

Очень быстро всё уткнется в скорость оперативы.

оно и так, даже сейчас, упирается в скорость вплотную

60 кадров/сек 1920*1080 резрешения это половина пропускной способности PCI2, если нужно гонять кадры для обработки на ЦП еще

для 4к компустеры даже близко не готовы, там струдом 144ГЦ в 2к умещается

missxu ()
Ответ на: комментарий от Rinaldus

Бро, пробую пойти по твоим следам - не компилиться, гад.

P.S. Нашел ссылку с билдами: Билды DXVK

void_ptr ★★★★ ()
Ответ на: комментарий от missxu

Агенство «одна бабка сказала» на марше. На деле нужна сбалансированнасть всех компонетнов в стеке. Сколько скорость памяти на обрезанной/старой видеокарте не кукурузь, старшая/новая её нагнёт. А больше pci-e v3 x8 ни одна одиночная видеокарта не требует, на деле прирост мизерный даже начиная, емнип, с pci-e v1 x16.

anonymous ()
Ответ на: комментарий от anonymous

А больше pci-e v3 x8 ни одна одиночная видеокарта не требует

Оно просто должно быть не меньше пропускной способности памяти

Quasar-Napilnik_CPY ()
Ответ на: комментарий от Quasar-Napilnik_CPY

Все компоненты стека просто не должны являться бутылочным горлышком, а обеспечивать постоянный поток данных к исполнительным блокам гпу.

anonymous ()

транслятора DirectX 11 > Vulkan, позволяющего запустить в Wine любую современную игру, использующую DX11, практически без потерь в производительности

4.2.

На R7 350 с этим DXVK 10 фпс в Dark Souls 3 на высоких настройках. На винде — около 30 фпс.

Без потерь, ага

RedEyedMan4 ★★★★★ ()
Последнее исправление: RedEyedMan4 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.