Произошла ошибка потери устройства vulkan

Многие популярные игры используют технологию Vulkan API для обработки графики и вывод ее на экран монитора в процессе игры. К таким играм, например, относится DOOM4, Wolfenstein II: The New Colossus и другие. Нередко пользователи могут столкнуться с проблемой запуска самой игры, в результате чего на экране отображается сообщение об ошибке. В сообщении сказано, что файл vulkan-1.dll не найден и игра, естественно, не запускается.

Для правильной работы игр, которые используют Vulkan API, требуется сначала установить или обновить драйвер видеокарты. Современные видеоадаптеры от NVidia и AMD полностью поддерживают технологию Vulkan, что нельзя сказать о видеокартах, выпущенных до 2016 года. Именно на компьютерах, где установлены такие видеокарты и возникают проблемы с компонентом графического драйвера vulkan-1.dll.

Самый простой и правильный способ избавиться от ошибки запуска игры – это обновить драйвер на видеокарту.

Для загрузки видеодрайвера потребуется пройти на сайт разработчика программного обеспечения — Khronos. На сайте требуется выбрать производителя видеокарты. Далее следует выбрать операционную систему вашего компьютера и выбрать из списка модель видеокарты. К сожалению не все видеокарты могут работать с новой технологией, поэтому если вы не находите в списке свою видеокарту, то возможно, вы не сможете запустить такую игру. По крайней мере, загрузите и установите с сайта производителя графического адаптера актуальную версию драйверов.

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

Следующим этапом будет, если ошибка осталась, попытаться найти сам файл vulkan-1.dll в интернете и зарегистрировать его в системе.

Зайдите на сайт dll-files.com, который специализируется на поиске файлов динамических библиотек (DLL). Вводим в поисковый запрос имя файла: «vulkan-1.dll» и выполняем поиск. Переходим на страницу с результатом поиска и нажимаем кнопку Download, чтобы скачать файл dll к себе на компьютер.

Скачанный файл следует поместить в системную папку System32 (или SysWOW64, если у вас Windows имеет разрядность 64 бит). Можете скопировать файл в обе папки, ничего страшного не произойдет. Указанные системные папки находятся на системном диске (как правило – это диск С) в папке Windows. После чего попробуйте снова запустить игру.

Может появиться в этот раз другая ошибка, что компонент vulkan-1.dll не зарегистрирован в системе.

В таком случае проводим регистрацию файла:

1. Вызываем окно Выполнить, нажав на клавиатуре Win+R;
2. Вводим такую команду для 64-битных систем:
%windir%SysWoW64
egsvr32.exe %windir%SysWoW64vulkan-1.dll

Для Windows x86 (32-бит) вводим такую команду:

%systemroot%System32
egsvr32.exe %windir%System32vulkan-1.dll

Возможно, потребуется перезагрузить компьютер.

Также не помешает повторно установить компонент DirectX, установщик которого можно скачать ан официальном сайте Microsoft.

Если проблема осталась, а у вас на компьютере или ноутбуке имеется две видеокарты (встроенная и дискретная), попробуйте в BIOS отключить интегрированную видеокарту или, наоборот, отключить дискретную, а запустить игру через интегрированную. Для этого может понадобиться подключить монитор к другому разъему системного блока. При этом будьте готовы к тому, что игра через интегрированную видеокарту будет работать заметно медленней, так как у интегрированного видео обычно более низкая производительность, по сравнению с дискретными видеокартами. Но из-за того, что она может быть встроена в процессор или быть другой фирмы, вероятность запуска игр с поддержкой Vulkan API повышается.

Напоследок, когда ни один из способов не привел к положительному эффекту, нужно посетить сайт разработчика самой игры. Дело в том, что возможные проблемы с игрой могут быть описаны в отдельном разделе Вопросы и ответы (FAQ), Поддержка и т.п. Здесь могут быть указаны рекомендации по устранению возможных ошибок запуска игры.

Кстати, очень распространенная причина появления ошибок – это скачивание игр из непроверенных источников, пиратских сайтов и т.п. Приобретение или загрузка лицензионной игры во многих случаях позволит избавить геймера от «головной боли» и сразу наслаждаться игрой.

Загрузка…

modest11111
  

5105


modest11111

Instr
  

6


Instr

modest11111
  

5105


modest11111

atkinson
  

87


atkinson

atkinson
  

87


atkinson

RangeMachine
  

106


RangeMachine

atkinson
  

87


atkinson

modest11111
  

5105


modest11111

Curl64
  

347


Curl64

Каратель
  

130


Каратель

Mishkannvip
  

1233


Mishkann

atkinson
  

87


atkinson

Mishkannvip
  

1233


Mishkann

atkinson
  

87


atkinson

Mishkannvip
  

1233


Mishkann

modest11111
  

5105


modest11111

DirtySanta
  

0


DirtySanta

dzies
  

641


dzies

modest11111
  

5105


modest11111

StormOnline
  

0


StormOnline

Oceanair
  

375


Oceanair

vov4ik59
  

0


vov4ik59

maestro74
  

0


maestro74

ArteKS
  

3


ArteKS

Join the conversation

You can post now and register later.

If you have an account, sign in now to post with your account.

Note: Your post will require moderator approval before it will be visible.

Client.txt logfile after crashing to desktop:

«31cb [CRIT Client 3288] [VULKAN] vk::DeviceLostError::DeviceLostError: vk::Device::waitForFences»

Same as it was the entire last league.

Anyone ever found a fix or something for this?

Last bumped on Jul 14, 2021, 5:16:57 PM

Avatar

Posted by
eunn123
on Apr 17, 2021, 2:07:08 PM

31cb [CRIT Client 7300] [VULKAN] vk::DeviceLostError::DeviceLostError: vk::Device::waitForFences

Constantly crashing to desktop

Avatar

Posted by
greykun
on Apr 18, 2021, 11:26:36 AM

Harpy Supporter

if i switch to vulkan, this error pops up within a minute of opening the game

Avatar

Posted by
DrRudy
on Apr 18, 2021, 1:38:03 PM

I seem to only get this when the game is minimised for maybe 10 minutes

Avatar

Posted by
stewartc007
on Jul 14, 2021, 5:29:01 AM

switched back to directx, can’t play the game with vulkan

Avatar

Posted by
BodachG
on Jul 14, 2021, 5:16:57 PM

Client.txt logfile after crashing to desktop:

«31cb [CRIT Client 3288] [VULKAN] vk::DeviceLostError::DeviceLostError: vk::Device::waitForFences»

Same as it was the entire last league.

Anyone ever found a fix or something for this?

Last bumped on Jul 14, 2021, 5:16:57 PM

Avatar

Posted by
eunn123
on Apr 17, 2021, 2:07:08 PM

31cb [CRIT Client 7300] [VULKAN] vk::DeviceLostError::DeviceLostError: vk::Device::waitForFences

Constantly crashing to desktop

Avatar

Posted by
greykun
on Apr 18, 2021, 11:26:36 AM

Harpy Supporter

if i switch to vulkan, this error pops up within a minute of opening the game

Avatar

Posted by
DrRudy
on Apr 18, 2021, 1:38:03 PM

I seem to only get this when the game is minimised for maybe 10 minutes

Avatar

Posted by
stewartc007
on Jul 14, 2021, 5:29:01 AM

switched back to directx, can’t play the game with vulkan

Avatar

Posted by
BodachG
on Jul 14, 2021, 5:16:57 PM

I try to figure it out, how to use the ray tracing. What I have is a rasterizer drawed Triangle (most the same as shown by Vulkan tutorials, but refactored into my own code and utility functions). The recreation of the swapchain due window resizing/minimizing etc. works correctly.

Then I have added the creation of a bottom acceleration structure. And since then I get some Device Lost errors, but not always… Here a skeleton of my code:

mainLoop:
- acquireNextImage
- renderWorld
- render gui
- present

acquireNextImage:
- signaling a semaphore "Image Available"

render gui:
- wait for fence "Gui"
- begin command buffer (use graphics queue)
- begin render pass
- bind pipeline (graphics)
- set viewport
- set scissor
- draw (2 triangles in my GUI yet)
- end render pass
- end command buffer
- reset fence "Gui"
- submit command buffer (waiting for semaphore "Image Available", signaling semaphore "Rendering Done", checking fence "Gui")

present:
- queue present (waiting for semaphore "Rendering Done")

renderWorld:
(actually this does not render anything yet, it just creates a vertex buffer, an index buffer, and creates the bottom acceleration strucutre for it - and caches it for further frames, so this code runs only once at start!)
- == vertexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == indexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == bottom acceleration structure ==
- get acceleration structure build sizes info
- create buffer (acceleration structure storage, shader device address)
- create acceleration structure (bottom level)
- create buffer (acceleration structure storage, shader device address) (this is my scratch buffer)
- wait for fence "BuildAcc"
- begin command buffer (use dedicated compute queue)
- pipeline barrier (transfer write -> acceleration structure write), don't know if I need it here
- build acceleration structures
- pipeline barrier (acceleration structure write -> shader read), don't know if I need it here
- end command buffer
- reset fence "BuildAcc"
- submit command buffer (checking fence "BuildAcc")
- wait queue idle                                      <------- here device lost
- destroy scratch buffer

So, if I comment out «renderWorld», all works fine. If I let renderWorld be in, then I get a device lost (see the last «wait queue idle» line). But not every time I run the program.

If I put a breakpoint on the «wait queue idle» line, and after the program stops at this line, I can continue the program and all is fine. Also if I comment out the «build acceleration structures» command, all is working (except ofcourse there is no acc structure, but there is no device lost).

So I don’t know, where the problem is. In my opinion, I need to synchronize something somehow, because with the break point I can run it and it works. So the code must be OK as I understand it.

There is also no validation error except missing shader bindings, but because I do not use them yet (I dont ray trace render yet), I should not be a problem.

After the device lost, the other semaphores are not reset and also my gui render path is not working anymore.

Can somebody tell me, if I missed a synchronisation somewhere? I how I can add it? I dont have copied by whole code here, because it would be tons of code :D Vulkan is very codddddddddy. But if you need some peace of code, then ask for it, and I can paste it here.

I try to figure it out, how to use the ray tracing. What I have is a rasterizer drawed Triangle (most the same as shown by Vulkan tutorials, but refactored into my own code and utility functions). The recreation of the swapchain due window resizing/minimizing etc. works correctly.

Then I have added the creation of a bottom acceleration structure. And since then I get some Device Lost errors, but not always… Here a skeleton of my code:

mainLoop:
- acquireNextImage
- renderWorld
- render gui
- present

acquireNextImage:
- signaling a semaphore "Image Available"

render gui:
- wait for fence "Gui"
- begin command buffer (use graphics queue)
- begin render pass
- bind pipeline (graphics)
- set viewport
- set scissor
- draw (2 triangles in my GUI yet)
- end render pass
- end command buffer
- reset fence "Gui"
- submit command buffer (waiting for semaphore "Image Available", signaling semaphore "Rendering Done", checking fence "Gui")

present:
- queue present (waiting for semaphore "Rendering Done")

renderWorld:
(actually this does not render anything yet, it just creates a vertex buffer, an index buffer, and creates the bottom acceleration strucutre for it - and caches it for further frames, so this code runs only once at start!)
- == vertexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == indexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == bottom acceleration structure ==
- get acceleration structure build sizes info
- create buffer (acceleration structure storage, shader device address)
- create acceleration structure (bottom level)
- create buffer (acceleration structure storage, shader device address) (this is my scratch buffer)
- wait for fence "BuildAcc"
- begin command buffer (use dedicated compute queue)
- pipeline barrier (transfer write -> acceleration structure write), don't know if I need it here
- build acceleration structures
- pipeline barrier (acceleration structure write -> shader read), don't know if I need it here
- end command buffer
- reset fence "BuildAcc"
- submit command buffer (checking fence "BuildAcc")
- wait queue idle                                      <------- here device lost
- destroy scratch buffer

So, if I comment out «renderWorld», all works fine. If I let renderWorld be in, then I get a device lost (see the last «wait queue idle» line). But not every time I run the program.

If I put a breakpoint on the «wait queue idle» line, and after the program stops at this line, I can continue the program and all is fine. Also if I comment out the «build acceleration structures» command, all is working (except ofcourse there is no acc structure, but there is no device lost).

So I don’t know, where the problem is. In my opinion, I need to synchronize something somehow, because with the break point I can run it and it works. So the code must be OK as I understand it.

There is also no validation error except missing shader bindings, but because I do not use them yet (I dont ray trace render yet), I should not be a problem.

After the device lost, the other semaphores are not reset and also my gui render path is not working anymore.

Can somebody tell me, if I missed a synchronisation somewhere? I how I can add it? I dont have copied by whole code here, because it would be tons of code :D Vulkan is very codddddddddy. But if you need some peace of code, then ask for it, and I can paste it here.

Итак, последние версии драйверов Nvidia, а именно версии 522.25, 522.30, 526.47, а также 526.61 Hotfix приводят к вылетам (безо всяких объяснений причин) в первые минуты игрового процесса в вышеупомянутой игре на API Vulkan. На DX11 играть тоже невозможно в связи с плохой производительностью игры на этом API (именно с вышеуказанными версиями драйверов), сопровождаемой постоянными фризами и низким FPS. Я проверил более 20 тайлов, в том числе и относительно недавно вышедшие, однако в них такого рода проблем не обнаружил. Откат на версию драйвера под номером 517.48 решает этот вопрос в Ghost recon: Vulkan больше не вылетает, а в DX11 нормализуется производительность.

Если кого-либо не затруднит, то не могли бы вы подтвердить наличие данной проблемы на ваших системах в данной игре. В свою очередь моя система выглядит следующим образом:

Процессор: Ryzen 5 5600X

Видеокарта: GeForce RTX 3060 Ti GAMING Z TRIO 8G

Оперативная память: G.SKILL TRIDENT Z NEO 16GB (2x8GB kit) 3600MHz на 14-ых таймингах.

Материнская плата: Asus ROG CROSSHAIR VIII DARK HERO

Блок питания: Seasonic FOCUS Plus SSR-750PX (80 PLUS PLATINUM)

Буду благодарен, если кто откликнется.

Добрый день! Недавно отписывался в соседней ветке по обсуждению 12 плейна о проблемах в ВР Пост. Думаю в этой ветке будет уместнее писать о проблемах.

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

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

Что удалось выяснить на сегодня:

1) Последняя версия Зибо 2.2 все-таки запустилась в ВР, не без танцев с бубнами, но до кабины добрался, уже хорошо :dance4: (Спасибо коллеге по цеху vinnitsa2a за напоминалку о необходимости обновиться).

2) При полете в VR 12 плейн очень любит кушать память видеокарты, на моей 3070ti все 8ГБ памяти кушает на все 100% примерно через пару минут нахождения в виртуальной реальности, после чего на максимальных настройках начинаются фризы, а потом текстуры плывут, как в кислотном фиолетовом мире. О похожих проблемах писали выше на картах 900 серии. 

3) При прочих равных в 11 плейне такого в помине не было на тех же максималках на любых джетах и всех примочках (Энвиру не юзал). Можно сказать что видеокарту особо вообще не грузило, как то равномерно ложилась нагрузка на все компоненты железа. Вообще странно, на фоне сообщений коллег по цеху о том, что 12 в плане фпс более оптимизирован. Возможно, на 4к мониторе  действительно просто фантастика, не спорю.

4) Логично пришлось понижать рендеринг для достижения каких то результатов, в итоге на средних настройках только рендеринга некая стабильность была получена, полет UUEE — ULLI прошел практически отлично, зафризило только планшет самого зибо, который покрылся малиновыми текстурами :frusty:, но понижать рендеринг еще это уже убийство для ВР и для глаз….

5) К слову о глазах, в 12 какая то прям очень яркая что ли засветка неба, но прям некомфортно было лезть на эшелон, а может это как раз снижение резкости за счет рендеринга.

В общем промежуточный итог: Похоже для комфортного полета в VR на сегодня необходимо более мощное железо, и как показал первичный диагноз, сим уперся в видеокарту, однако.

ЗЫ: Продолжаю наблюдение.


Edited December 26, 2022 by Kirill_Khokhlov

Я пытаюсь разобраться, как использовать трассировку лучей. У меня есть нарисованный растеризатором треугольник (почти такой же, как показано в руководствах по Vulkan, но переработанный в мой собственный код и служебные функции). Воссоздание свопчейна из-за изменения размера / минимизации окна и т. Д. Работает правильно.

Затем я добавил создание структуры ускорения дна. И с тех пор я получаю некоторые ошибки Device Lost, но не всегда … Вот скелет моего кода:

mainLoop:
- acquireNextImage
- renderWorld
- render gui
- present

acquireNextImage:
- signaling a semaphore "Image Available"

render gui:
- wait for fence "Gui"
- begin command buffer (use graphics queue)
- begin render pass
- bind pipeline (graphics)
- set viewport
- set scissor
- draw (2 triangles in my GUI yet)
- end render pass
- end command buffer
- reset fence "Gui"
- submit command buffer (waiting for semaphore "Image Available", signaling semaphore "Rendering Done", checking fence "Gui")

present:
- queue present (waiting for semaphore "Rendering Done")

renderWorld:
(actually this does not render anything yet, it just creates a vertex buffer, an index buffer, and creates the bottom acceleration strucutre for it - and caches it for further frames, so this code runs only once at start!)
- == vertexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == indexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == bottom acceleration structure ==
- get acceleration structure build sizes info
- create buffer (acceleration structure storage, shader device address)
- create acceleration structure (bottom level)
- create buffer (acceleration structure storage, shader device address) (this is my scratch buffer)
- wait for fence "BuildAcc"
- begin command buffer (use dedicated compute queue)
- pipeline barrier (transfer write -> acceleration structure write), don't know if I need it here
- build acceleration structures
- pipeline barrier (acceleration structure write -> shader read), don't know if I need it here
- end command buffer
- reset fence "BuildAcc"
- submit command buffer (checking fence "BuildAcc")
- wait queue idle                                      <------- here device lost
- destroy scratch buffer

Итак, если я закомментирую «renderWorld», все будет нормально. Если я оставлю renderWorld, я потеряю устройство (см. Последнюю строку «очередь ожидания простаивает»). Но не каждый раз запускаю программу.

Если я поставлю точку останова в строке «очередь ожидания простаивает» и после того, как программа остановится на этой строке, я могу продолжить программу, и все будет хорошо. Также, если я закомментирую команду «построить структуры ускорения», все работает (за исключением, конечно, структуры acc, но нет потерянного устройства).

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

Также нет ошибок проверки, за исключением отсутствия привязок шейдеров, но поскольку я их еще не использую (пока не выполняю рендеринг трассировки лучей), проблем быть не должно.

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

Может кто подскажет, если где-то пропустил синхронизацию? Как я могу это добавить? Я не копировал здесь весь код, потому что это были бы тонны кода: D Vulkan очень codddddddddy. Но если вам нужно немного кода, попросите его, и я могу вставить его сюда.

2 ответа

Лучший ответ

Я нашел проблему! Это был правильный намек и швы, чтобы быть той же проблемой, что и моя:

Submitting command buffer to compute queue for BLAS creation fails, but only sometimes. from vulkan

Поэтому я не выделял память для своего буфера ускорения, вот это:

- == bottom acceleration structure ==
- get acceleration structure build sizes info
- create buffer (acceleration structure storage, shader device address) <---- no memory

Прежде чем я заметил сообщение на Reddit, я уже выделил память для моего рабочего буфера, потому что я думал, что он нужен, потому что я получаю от него адрес устройства. Но где-то в Интернете я прочитал о буфере структуры ускорения, который не требует выделения памяти и что это делается за кулисами. Но это не так :)

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


0

buildhome.eu
28 Июн 2021 в 19:12

Что я сделал за это время:

  • перестроить весь код инициализации vulkan (теперь я использую .hpp вместо .h, что приводит к некоторым приятным проверкам типов во время компиляции)
  • все, каждая строка набирается заново вручную (без копипаста), проблема остается
  • Я закомментировал рендеринг растеризатора -> нет проблем (но проблема возникает в acquNextImage и присутствует, поэтому мне нужен растеризатор, чтобы решить проблему)
  • если я закомментирую построение структуры ускорения -> без проблем
  • если я поставлю точку останова после (!) построения структуры acc, но в синхронизированной области (растеризатор не может работать в этой точке и должен ждать на стороне процессора) -> нет проблем

Мой вывод: мне не хватает некоторой синхронизации между построением Acc Structure и растеризацией. Не знаю, где мне это не хватает, потому что использую разные:

  • семейства очередей (растеризатор использует семейство очередей графики 0, семейство очередей вычислений структуры acc 1)
  • разные семафоры (у acc builder и rasterizer свои семафоры и заборы)
  • Буфер акк пока не использую, только создаю.

Я не знаю, что там происходит. Почему все в порядке, если я ставлю паузу с точкой останова? Потому что, если параметр будет неправильным, у меня возникнут те же проблемы с точкой останова, не так ли? Насколько я понимаю, с синхронизацией что-то не так. Но проблема также в том, что AcquireNextImage завершается с ошибкой DeviceLost. А это может быть неправильный параметр, указатель вне диапазона и т. Д.

Я собираюсь исследовать глубже … ^^


0

buildhome.eu
28 Июн 2021 в 01:29

Главная » Microsoft Word » Запуска программы невозможен так как на компьютере отсутствует vulkan 1 dll

vulkan-1.dll

Прежде всего, стоит понять, почему vulkan-1.dll файл отсутствует и почему возникают vulkan-1.dll ошибки. Широко распространены ситуации, когда программное обеспечение не работает из-за недостатков в .dll-файлах.

DLL (Dynamic-Link Libraries) — это общие библиотеки в Microsoft Windows, реализованные корпорацией Microsoft. Файлы DLL не менее важны, чем файлы с расширением EXE, а реализовать DLL-архивы без утилит с расширением .exe просто невозможно.:

vulkan-1.dll

Геймеры с нетерпением ждали выход четвёртой части Doom. К сожалению, многие игроки так и не смогли насладится легендарной стрелялкой из-за ошибки vulkan-1.dll. Эта библиотека участвует в обработке изображения, так что без неё Doom 4 не запустится. Если вы установили официальную версию игры, то шанс увидеть ошибку минимальный. Лицензионные игры загружают все нужные dll при установке, но есть вероятность, что vulkan-1.dll станет криво или будет повреждён. Решить проблему можно переустановкой. Всё сложнее, если игра скачана с торрент-трекера. Пиратская копия Doom 4 не обязательно содержит всё необходимое. Даже если она установит vulkan-1.dll, то не факт, что эта библиотека будет работать. Антивирусные программы не любят пиратские игры и часто удаляют их файлы, после чего приложение не запускается. Поищите vulkan-1.dll в корзине. Если он там, то верните его на место и добавьте в исключения. Таким же образом можно вытащить файл из карантина. На компьютере отсутствует vulkan-1.dll?

  • Переустановить или обновить драйвер видеокарты
  • Скачать vulkan-1.dll
  • Установить весь пакет vulkan-1.dll

vulcan-1.dll

Проблемная библиотека обычно входит в компоненты драйвера видеокарты. У вас установлена старая версия? Скачайте последнюю и установите её.

Если после обновления ошибка осталась, то удалите старый видеодрайвер и установите его заново. Ничего не изменилось? Значит файл следует загрузить из интернета. Скачать бесплатно vulkan-1.dll для doom 4 и других игр можно на нашем портале. Когда библиотека окажется на вашем жёстком диске, положите её в системную папку. Windows x32 хранит dll в C:WindowsSystem32, а 64х разрядная система использует для этих целей папку C:WindowsSysWOW64. Как только положите vulkan-1.dll в нужную папку, его следует зарегистрировать. После этого вы сможете насладиться игрой.

Как установить DLL файл вы можете прочитать на страницы, в которой максимально подробно описан данный процесс.

Ошибка запуска игры, не найден vulkan-1.dll, как исправить

Многие популярные игры используют технологию Vulkan API для обработки графики и вывод ее на экран монитора в процессе игры. К таким играм, например, относится DOOM4, Wolfenstein II: The New Colossus и другие. Нередко пользователи могут столкнуться с проблемой запуска самой игры, в результате чего на экране отображается сообщение об ошибке. В сообщении сказано, что файл vulkan-1.dll не найден и игра, естественно, не запускается.

Для правильной работы игр, которые используют Vulkan API, требуется сначала установить или обновить драйвер видеокарты. Современные видеоадаптеры от NVidia и AMD полностью поддерживают технологию Vulkan, что нельзя сказать о видеокартах, выпущенных до 2016 года. Именно на компьютерах, где установлены такие видеокарты и возникают проблемы с компонентом графического драйвера vulkan-1.dll .

Самый простой и правильный способ избавиться от ошибки запуска игры – это обновить драйвер на видеокарту.

Для загрузки видеодрайвера потребуется пройти на сайт разработчика программного обеспечения — Khronos. На сайте требуется выбрать производителя видеокарты. Далее следует выбрать операционную систему вашего компьютера и выбрать из списка модель видеокарты. К сожалению не все видеокарты могут работать с новой технологией, поэтому если вы не находите в списке свою видеокарту, то возможно, вы не сможете запустить такую игру. По крайней мере, загрузите и установите с сайта производителя графического адаптера актуальную версию драйверов.

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

Следующим этапом будет, если ошибка осталась, попытаться найти сам файл vulkan-1.dll в интернете и зарегистрировать его в системе.

Зайдите на сайт dll-files.com, который специализируется на поиске файлов динамических библиотек ( DLL ). Вводим в поисковый запрос имя файла: «vulkan-1.dll» и выполняем поиск. Переходим на страницу с результатом поиска и нажимаем кнопку Download, чтобы скачать файл dll к себе на компьютер.

Скачанный файл следует поместить в системную папку System32 (или SysWOW64, если у вас Windows имеет разрядность 64 бит) . Можете скопировать файл в обе папки, ничего страшного не произойдет. Указанные системные папки находятся на системном диске (как правило – это диск С) в папке Windows. После чего попробуйте снова запустить игру.

Может появиться в этот раз другая ошибка, что компонент vulkan-1.dll не зарегистрирован в системе.

В таком случае проводим регистрацию файла:

1. Вызываем окно Выполнить, нажав на клавиатуре Win + R ;
2. Вводим такую команду для 64-битных систем:
%windir%SysWoW64
egsvr32.exe %windir%SysWoW64vulkan-1.dll

Для Windows x86 (32-бит) вводим такую команду:

%systemroot%System32
egsvr32.exe %windir%System32vulkan-1.dll

Возможно, потребуется перезагрузить компьютер.

Также не помешает повторно установить компонент DirectX , установщик которого можно скачать ан официальном сайте Microsoft.

Если проблема осталась, а у вас на компьютере или ноутбуке имеется две видеокарты (встроенная и дискретная) , попробуйте в BIOS отключить интегрированную видеокарту или, наоборот, отключить дискретную, а запустить игру через интегрированную. Для этого может понадобиться подключить монитор к другому разъему системного блока. При этом будьте готовы к тому, что игра через интегрированную видеокарту будет работать заметно медленней, так как у интегрированного видео обычно более низкая производительность, по сравнению с дискретными видеокартами. Но из-за того, что она может быть встроена в процессор или быть другой фирмы, вероятность запуска игр с поддержкой Vulkan API повышается.

Напоследок, когда ни один из способов не привел к положительному эффекту, нужно посетить сайт разработчика самой игры. Дело в том, что возможные проблемы с игрой могут быть описаны в отдельном разделе Вопросы и ответы (FAQ) , Поддержка и т.п. Здесь могут быть указаны рекомендации по устранению возможных ошибок запуска игры.

Кстати, очень распространенная причина появления ошибок – это скачивание игр из непроверенных источников, пиратских сайтов и т.п. Приобретение или загрузка лицензионной игры во многих случаях позволит избавить геймера от «головной боли» и сразу наслаждаться игрой.

Файл vulcan-1.dll скачать бесплатно для windows — Решаем проблему «на компьютере отсутствует vulcan-1.dll»

Геймеры всего мира в восторге: в пятницу 13 мая 2016 года вышло долгожданное продолжение блокбастера DOOM. Шутер был разработан компанией id Software в сотрудничестве со студией Certain Affinity и издан корпорацией Bethesda Softworks. Игра вышла на платформах Windows, Xbox One и PlayStation 4. Её сюжет не особо отличается от сюжетов прежних игр серии. Вот история вкратце: базирующаяся на Марсе «Объединённая аэрокосмическая корпорация» проводила эксперименты по получению энергии и как-то случайно открыла портал в Ад. На исследование отправили команду, которая обнаружила саркофаг с запечатанным в нём воином и переместила его на Марс. Одна из ведущих сотрудниц корпорации Оливия Пирс заключила договор с силами Ада и устроила аварию, которая превратила весь персонал научного комплекса в злобных монстров. Руководитель комплекса киборг Сэмюэл Хайден не пострадал при аварии и распечатал саркофаг, освободив воина по имени Солдат Рока. Тут-то и начинается игра.

И вот вы настроились сокрушить толпу отвратительных адских тварей, предвкушая опасные приключения и заслуженную порцию адреналина. Но при попытке запустить игру перед вами вдруг появляется табличка с сообщением вроде «отсутствует vulcan-1.dll». Не вовремя, не правда ли? А поиграть-то хочется, и прямо сейчас. Вот вам проверенный рецепт быстрого и при этом наиболее эффективного решения проблемы. Вы справитесь с поставленной задачей, даже не обладая специальными знаниями и навыками. Прочтите внимательно и действуйте!

vulkan-1.dll

Для обеспечения стабильной работы, игра Doom 4 использует такую dll-библиотеку, как vulkan-1.dll. Не редко может возникнуть проблема связанная с появлением окна, сообщающего об ошибке, при запуске игры. Это может быть связанно с тем, что копия игры пиратская и нужного файла нет в комплекте, или программа антивируса поместила его в карантин, или файл vulkan-1.dll был каким-либо образом поврежден.

  • Переустановить драйверы видеокарты
  • Скачать vulkan-1.dll для Windows 7/8/10 отдельно

Первый способ может помочь не только с возникшей проблемой, но и со скрытыми неполадками, которые могли возникнуть в следствии устаревания драйверов видеокарты. Необходимо скачать актуальные драйверы для вашей видеокарты, перезагрузить компьютер и попробовать запустить Doom 4. Скорее всего проблема будет исправлена, и ошибка исчезнет.

Второй способ более практичный, так как нужно скачать vulkan-1.dll отдельно. Данная dll-библиотека скачивается без каких-либо трудностей и скаченный файл х32-64 бит (в зависимости от системы) размещается в системной папке, после чего регистрируется и компьютер нужно перезагрузить. После перезагрузки запустите игру Doom 4 и ошибки больше не будет.

Нужно скачать vulkan-1.dll ─ и поместить в папку:

  • скачать текущий dll файл;
  • переместить или заменить в папке C:WindowsSystem32;
  • переместить или заменить в папке C:Windows SysWOW64;
  • открыть пуск и нажать «выполнить»;
  • ввести в окне: regsvr32 vulkan-1.dll;
  • подтвердить нажатием «ОК»
  • перезагрузить систему.

Файл Vulkan-1.dll l, принадлежит библиотеки VulkanSDK, поэтому достаточно её установить если у Вас её нет, или переустановить если у Вас она повреждена.

modest11111
  

5157


modest11111

Instr
  

6


Instr

modest11111
  

5157


modest11111

atkinson
  

87


atkinson

atkinson
  

87


atkinson

RangeMachine
  

106


RangeMachine

atkinson
  

87


atkinson

modest11111
  

5157


modest11111

Curl64
  

347


Curl64

Каратель
  

122


Каратель

Mishkannvip
  

1237


Mishkann

atkinson
  

87


atkinson

Mishkannvip
  

1237


Mishkann

atkinson
  

87


atkinson

Mishkannvip
  

1237


Mishkann

modest11111
  

5157


modest11111

DirtySanta
  

0


DirtySanta

dzies
  

674


dzies

modest11111
  

5157


modest11111

StormOnline
  

0


StormOnline

Oceanair
  

394


Oceanair

vov4ik59
  

0


vov4ik59

maestro74
  

0


maestro74

ArteKS
  

3


ArteKS

Join the conversation

You can post now and register later.

If you have an account, sign in now to post with your account.

Note: Your post will require moderator approval before it will be visible.

I try to figure it out, how to use the ray tracing. What I have is a rasterizer drawed Triangle (most the same as shown by Vulkan tutorials, but refactored into my own code and utility functions). The recreation of the swapchain due window resizing/minimizing etc. works correctly.

Then I have added the creation of a bottom acceleration structure. And since then I get some Device Lost errors, but not always… Here a skeleton of my code:

mainLoop:
- acquireNextImage
- renderWorld
- render gui
- present

acquireNextImage:
- signaling a semaphore "Image Available"

render gui:
- wait for fence "Gui"
- begin command buffer (use graphics queue)
- begin render pass
- bind pipeline (graphics)
- set viewport
- set scissor
- draw (2 triangles in my GUI yet)
- end render pass
- end command buffer
- reset fence "Gui"
- submit command buffer (waiting for semaphore "Image Available", signaling semaphore "Rendering Done", checking fence "Gui")

present:
- queue present (waiting for semaphore "Rendering Done")

renderWorld:
(actually this does not render anything yet, it just creates a vertex buffer, an index buffer, and creates the bottom acceleration strucutre for it - and caches it for further frames, so this code runs only once at start!)
- == vertexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == indexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == bottom acceleration structure ==
- get acceleration structure build sizes info
- create buffer (acceleration structure storage, shader device address)
- create acceleration structure (bottom level)
- create buffer (acceleration structure storage, shader device address) (this is my scratch buffer)
- wait for fence "BuildAcc"
- begin command buffer (use dedicated compute queue)
- pipeline barrier (transfer write -> acceleration structure write), don't know if I need it here
- build acceleration structures
- pipeline barrier (acceleration structure write -> shader read), don't know if I need it here
- end command buffer
- reset fence "BuildAcc"
- submit command buffer (checking fence "BuildAcc")
- wait queue idle                                      <------- here device lost
- destroy scratch buffer

So, if I comment out «renderWorld», all works fine. If I let renderWorld be in, then I get a device lost (see the last «wait queue idle» line). But not every time I run the program.

If I put a breakpoint on the «wait queue idle» line, and after the program stops at this line, I can continue the program and all is fine. Also if I comment out the «build acceleration structures» command, all is working (except ofcourse there is no acc structure, but there is no device lost).

So I don’t know, where the problem is. In my opinion, I need to synchronize something somehow, because with the break point I can run it and it works. So the code must be OK as I understand it.

There is also no validation error except missing shader bindings, but because I do not use them yet (I dont ray trace render yet), I should not be a problem.

After the device lost, the other semaphores are not reset and also my gui render path is not working anymore.

Can somebody tell me, if I missed a synchronisation somewhere? I how I can add it? I dont have copied by whole code here, because it would be tons of code :D Vulkan is very codddddddddy. But if you need some peace of code, then ask for it, and I can paste it here.

I try to figure it out, how to use the ray tracing. What I have is a rasterizer drawed Triangle (most the same as shown by Vulkan tutorials, but refactored into my own code and utility functions). The recreation of the swapchain due window resizing/minimizing etc. works correctly.

Then I have added the creation of a bottom acceleration structure. And since then I get some Device Lost errors, but not always… Here a skeleton of my code:

mainLoop:
- acquireNextImage
- renderWorld
- render gui
- present

acquireNextImage:
- signaling a semaphore "Image Available"

render gui:
- wait for fence "Gui"
- begin command buffer (use graphics queue)
- begin render pass
- bind pipeline (graphics)
- set viewport
- set scissor
- draw (2 triangles in my GUI yet)
- end render pass
- end command buffer
- reset fence "Gui"
- submit command buffer (waiting for semaphore "Image Available", signaling semaphore "Rendering Done", checking fence "Gui")

present:
- queue present (waiting for semaphore "Rendering Done")

renderWorld:
(actually this does not render anything yet, it just creates a vertex buffer, an index buffer, and creates the bottom acceleration strucutre for it - and caches it for further frames, so this code runs only once at start!)
- == vertexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == indexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == bottom acceleration structure ==
- get acceleration structure build sizes info
- create buffer (acceleration structure storage, shader device address)
- create acceleration structure (bottom level)
- create buffer (acceleration structure storage, shader device address) (this is my scratch buffer)
- wait for fence "BuildAcc"
- begin command buffer (use dedicated compute queue)
- pipeline barrier (transfer write -> acceleration structure write), don't know if I need it here
- build acceleration structures
- pipeline barrier (acceleration structure write -> shader read), don't know if I need it here
- end command buffer
- reset fence "BuildAcc"
- submit command buffer (checking fence "BuildAcc")
- wait queue idle                                      <------- here device lost
- destroy scratch buffer

So, if I comment out «renderWorld», all works fine. If I let renderWorld be in, then I get a device lost (see the last «wait queue idle» line). But not every time I run the program.

If I put a breakpoint on the «wait queue idle» line, and after the program stops at this line, I can continue the program and all is fine. Also if I comment out the «build acceleration structures» command, all is working (except ofcourse there is no acc structure, but there is no device lost).

So I don’t know, where the problem is. In my opinion, I need to synchronize something somehow, because with the break point I can run it and it works. So the code must be OK as I understand it.

There is also no validation error except missing shader bindings, but because I do not use them yet (I dont ray trace render yet), I should not be a problem.

After the device lost, the other semaphores are not reset and also my gui render path is not working anymore.

Can somebody tell me, if I missed a synchronisation somewhere? I how I can add it? I dont have copied by whole code here, because it would be tons of code :D Vulkan is very codddddddddy. But if you need some peace of code, then ask for it, and I can paste it here.

Многие популярные игры используют технологию Vulkan API для обработки графики и вывод ее на экран монитора в процессе игры. К таким играм, например, относится DOOM4, Wolfenstein II: The New Colossus и другие. Нередко пользователи могут столкнуться с проблемой запуска самой игры, в результате чего на экране отображается сообщение об ошибке. В сообщении сказано, что файл vulkan-1.dll не найден и игра, естественно, не запускается.

Для правильной работы игр, которые используют Vulkan API, требуется сначала установить или обновить драйвер видеокарты. Современные видеоадаптеры от NVidia и AMD полностью поддерживают технологию Vulkan, что нельзя сказать о видеокартах, выпущенных до 2016 года. Именно на компьютерах, где установлены такие видеокарты и возникают проблемы с компонентом графического драйвера vulkan-1.dll.

Самый простой и правильный способ избавиться от ошибки запуска игры – это обновить драйвер на видеокарту.

Для загрузки видеодрайвера потребуется пройти на сайт разработчика программного обеспечения — Khronos. На сайте требуется выбрать производителя видеокарты. Далее следует выбрать операционную систему вашего компьютера и выбрать из списка модель видеокарты. К сожалению не все видеокарты могут работать с новой технологией, поэтому если вы не находите в списке свою видеокарту, то возможно, вы не сможете запустить такую игру. По крайней мере, загрузите и установите с сайта производителя графического адаптера актуальную версию драйверов.

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

Следующим этапом будет, если ошибка осталась, попытаться найти сам файл vulkan-1.dll в интернете и зарегистрировать его в системе.

Зайдите на сайт dll-files.com, который специализируется на поиске файлов динамических библиотек (DLL). Вводим в поисковый запрос имя файла: «vulkan-1.dll» и выполняем поиск. Переходим на страницу с результатом поиска и нажимаем кнопку Download, чтобы скачать файл dll к себе на компьютер.

Скачанный файл следует поместить в системную папку System32 (или SysWOW64, если у вас Windows имеет разрядность 64 бит). Можете скопировать файл в обе папки, ничего страшного не произойдет. Указанные системные папки находятся на системном диске (как правило – это диск С) в папке Windows. После чего попробуйте снова запустить игру.

Может появиться в этот раз другая ошибка, что компонент vulkan-1.dll не зарегистрирован в системе.

В таком случае проводим регистрацию файла:

1. Вызываем окно Выполнить, нажав на клавиатуре Win+R;
2. Вводим такую команду для 64-битных систем:
%windir%SysWoW64
egsvr32.exe %windir%SysWoW64vulkan-1.dll

Для Windows x86 (32-бит) вводим такую команду:

%systemroot%System32
egsvr32.exe %windir%System32vulkan-1.dll

Возможно, потребуется перезагрузить компьютер.

Также не помешает повторно установить компонент DirectX, установщик которого можно скачать ан официальном сайте Microsoft.

Если проблема осталась, а у вас на компьютере или ноутбуке имеется две видеокарты (встроенная и дискретная), попробуйте в BIOS отключить интегрированную видеокарту или, наоборот, отключить дискретную, а запустить игру через интегрированную. Для этого может понадобиться подключить монитор к другому разъему системного блока. При этом будьте готовы к тому, что игра через интегрированную видеокарту будет работать заметно медленней, так как у интегрированного видео обычно более низкая производительность, по сравнению с дискретными видеокартами. Но из-за того, что она может быть встроена в процессор или быть другой фирмы, вероятность запуска игр с поддержкой Vulkan API повышается.

Напоследок, когда ни один из способов не привел к положительному эффекту, нужно посетить сайт разработчика самой игры. Дело в том, что возможные проблемы с игрой могут быть описаны в отдельном разделе Вопросы и ответы (FAQ), Поддержка и т.п. Здесь могут быть указаны рекомендации по устранению возможных ошибок запуска игры.

Кстати, очень распространенная причина появления ошибок – это скачивание игр из непроверенных источников, пиратских сайтов и т.п. Приобретение или загрузка лицензионной игры во многих случаях позволит избавить геймера от «головной боли» и сразу наслаждаться игрой.

Загрузка…

Hey! I keep getting this bug where the game crash after i afk and have the game minimized.

Steps to reproduce:
Minimize game
afk 5 or 10+ minutes
tab back to game and get black poe window and crash

This is what it sais in client.txt
2021/01/30 06:12:58 18285359 31cb [CRIT Client 1944] [VULKAN] vk::DeviceLostError::DeviceLostError: vk::Queue::submit

It only happens it seems if i minimize the game to the taskbar if i keep it in the background it’s fine.

Last edited by JoJoAnd on Jan 30, 2021, 8:25:44 AM

Last bumped on Feb 8, 2021, 5:01:17 PM

Avatar

Posted by
JoJoAnd
on Jan 30, 2021, 8:25:06 AM

Redeemer Supporter

Abyssal Imp Supporter

High Council Supporter

Doomguard Supporter

Master Undertaker Supporter

Bane Lich Supporter

Esteemed Arcanist Supporter

Quote this Post

Hey, I am also having the same issue, hoping there is a fix for it!

Avatar

Posted by
shayrevitt
on Feb 4, 2021, 9:17:50 AM

Doomguard Supporter

Blood Guardian Supporter

Quote this Post

I get the same message in my client log files when game crashes to desktop, has nothing to do with me being afk or minimizing the window though. Game for me just shutsdown in the middle of maps etc. I’m playing windowed fullscreen

Avatar

Posted by
eunn123
on Feb 4, 2021, 5:14:58 PM

Quote this Post

HI Exiles,

Are you able to let us know if this error/issue occurs when switching to the DirectX11 renderer? You should be able to do this via the Graphics tab in the Options menu.

Avatar

Posted by
Nichelle_GGG
on Feb 5, 2021, 4:19:30 PM

Grinding Gear Games

Quote this Post

«

Nichelle_GGG wrote:

HI Exiles,

Are you able to let us know if this error/issue occurs when switching to the DirectX11 renderer? You should be able to do this via the Graphics tab in the Options menu.

It doesn’t seem to happen when i switch to directx11, though i don’t really want to go back to dx11 when vulcan gives me better performance whilst playing.

Last edited by JoJoAnd on Feb 6, 2021, 9:47:29 PM

Avatar

Posted by
JoJoAnd
on Feb 6, 2021, 9:46:36 PM

Redeemer Supporter

Abyssal Imp Supporter

High Council Supporter

Doomguard Supporter

Master Undertaker Supporter

Bane Lich Supporter

Esteemed Arcanist Supporter

Quote this Post

«

JoJoAnd wrote:

«

Nichelle_GGG wrote:

HI Exiles,

Are you able to let us know if this error/issue occurs when switching to the DirectX11 renderer? You should be able to do this via the Graphics tab in the Options menu.

It doesn’t seem to happen when i switch to directx11, though i don’t really want to go back to dx11 when vulcan gives me better performance whilst playing.

Hiya,

Unfortunately Vulkan is still in Beta so this may simply be something which needs to be reviewed and adjusted, if you’re able to play on DirectX11 in the meantime that’s at least a start.

Are you able to provide us with a Dxdiag report at all? To generate a Dxdiag report, please follow these steps:

Press the windows key + r on your keyboard to bring up the Run interface
Type dxdiag into the run dialogue box and press enter
When the dxdiag application starts up, press the Save All Information button in the bottom right and save the report to your desktop to either email through to us at techsupport@grindinggear.com or post via a pastebin link in your forum thread.

Avatar

Posted by
Nichelle_GGG
on Feb 7, 2021, 3:58:32 PM

Grinding Gear Games

Quote this Post

«

Nichelle_GGG wrote:

Hiya,

Unfortunately Vulkan is still in Beta so this may simply be something which needs to be reviewed and adjusted, if you’re able to play on DirectX11 in the meantime that’s at least a start.

Are you able to provide us with a Dxdiag report at all? To generate a Dxdiag report, please follow these steps:

Press the windows key + r on your keyboard to bring up the Run interface
Type dxdiag into the run dialogue box and press enter
When the dxdiag application starts up, press the Save All Information button in the bottom right and save the report to your desktop to either email through to us at techsupport@grindinggear.com or post via a pastebin link in your forum thread.

I’ve sent a dxdiag now

Avatar

Posted by
JoJoAnd
on Feb 8, 2021, 2:38:59 PM

Redeemer Supporter

Abyssal Imp Supporter

High Council Supporter

Doomguard Supporter

Master Undertaker Supporter

Bane Lich Supporter

Esteemed Arcanist Supporter

Quote this Post

«

JoJoAnd wrote:

«

Nichelle_GGG wrote:

Hiya,

Unfortunately Vulkan is still in Beta so this may simply be something which needs to be reviewed and adjusted, if you’re able to play on DirectX11 in the meantime that’s at least a start.

Are you able to provide us with a Dxdiag report at all? To generate a Dxdiag report, please follow these steps:

Press the windows key + r on your keyboard to bring up the Run interface
Type dxdiag into the run dialogue box and press enter
When the dxdiag application starts up, press the Save All Information button in the bottom right and save the report to your desktop to either email through to us at techsupport@grindinggear.com or post via a pastebin link in your forum thread.

I’ve sent a dxdiag now

Thanks! We’ll be sure to get back to you as soon as possible!

Avatar

Posted by
Nichelle_GGG
on Feb 8, 2021, 5:01:17 PM

Grinding Gear Games

Quote this Post

Report Forum Post

Hey! I keep getting this bug where the game crash after i afk and have the game minimized.

Steps to reproduce:
Minimize game
afk 5 or 10+ minutes
tab back to game and get black poe window and crash

This is what it sais in client.txt
2021/01/30 06:12:58 18285359 31cb [CRIT Client 1944] [VULKAN] vk::DeviceLostError::DeviceLostError: vk::Queue::submit

It only happens it seems if i minimize the game to the taskbar if i keep it in the background it’s fine.

Last edited by JoJoAnd on Jan 30, 2021, 8:25:44 AM

Last bumped on Feb 8, 2021, 5:01:17 PM

Avatar

Posted by
JoJoAnd
on Jan 30, 2021, 8:25:06 AM

Redeemer Supporter

Abyssal Imp Supporter

High Council Supporter

Doomguard Supporter

Master Undertaker Supporter

Bane Lich Supporter

Esteemed Arcanist Supporter

Quote this Post

Hey, I am also having the same issue, hoping there is a fix for it!

Avatar

Posted by
shayrevitt
on Feb 4, 2021, 9:17:50 AM

Doomguard Supporter

Blood Guardian Supporter

Quote this Post

I get the same message in my client log files when game crashes to desktop, has nothing to do with me being afk or minimizing the window though. Game for me just shutsdown in the middle of maps etc. I’m playing windowed fullscreen

Avatar

Posted by
eunn123
on Feb 4, 2021, 5:14:58 PM

Quote this Post

HI Exiles,

Are you able to let us know if this error/issue occurs when switching to the DirectX11 renderer? You should be able to do this via the Graphics tab in the Options menu.

Avatar

Posted by
Nichelle_GGG
on Feb 5, 2021, 4:19:30 PM

Grinding Gear Games

Quote this Post

«

Nichelle_GGG wrote:

HI Exiles,

Are you able to let us know if this error/issue occurs when switching to the DirectX11 renderer? You should be able to do this via the Graphics tab in the Options menu.

It doesn’t seem to happen when i switch to directx11, though i don’t really want to go back to dx11 when vulcan gives me better performance whilst playing.

Last edited by JoJoAnd on Feb 6, 2021, 9:47:29 PM

Avatar

Posted by
JoJoAnd
on Feb 6, 2021, 9:46:36 PM

Redeemer Supporter

Abyssal Imp Supporter

High Council Supporter

Doomguard Supporter

Master Undertaker Supporter

Bane Lich Supporter

Esteemed Arcanist Supporter

Quote this Post

«

JoJoAnd wrote:

«

Nichelle_GGG wrote:

HI Exiles,

Are you able to let us know if this error/issue occurs when switching to the DirectX11 renderer? You should be able to do this via the Graphics tab in the Options menu.

It doesn’t seem to happen when i switch to directx11, though i don’t really want to go back to dx11 when vulcan gives me better performance whilst playing.

Hiya,

Unfortunately Vulkan is still in Beta so this may simply be something which needs to be reviewed and adjusted, if you’re able to play on DirectX11 in the meantime that’s at least a start.

Are you able to provide us with a Dxdiag report at all? To generate a Dxdiag report, please follow these steps:

Press the windows key + r on your keyboard to bring up the Run interface
Type dxdiag into the run dialogue box and press enter
When the dxdiag application starts up, press the Save All Information button in the bottom right and save the report to your desktop to either email through to us at techsupport@grindinggear.com or post via a pastebin link in your forum thread.

Avatar

Posted by
Nichelle_GGG
on Feb 7, 2021, 3:58:32 PM

Grinding Gear Games

Quote this Post

«

Nichelle_GGG wrote:

Hiya,

Unfortunately Vulkan is still in Beta so this may simply be something which needs to be reviewed and adjusted, if you’re able to play on DirectX11 in the meantime that’s at least a start.

Are you able to provide us with a Dxdiag report at all? To generate a Dxdiag report, please follow these steps:

Press the windows key + r on your keyboard to bring up the Run interface
Type dxdiag into the run dialogue box and press enter
When the dxdiag application starts up, press the Save All Information button in the bottom right and save the report to your desktop to either email through to us at techsupport@grindinggear.com or post via a pastebin link in your forum thread.

I’ve sent a dxdiag now

Avatar

Posted by
JoJoAnd
on Feb 8, 2021, 2:38:59 PM

Redeemer Supporter

Abyssal Imp Supporter

High Council Supporter

Doomguard Supporter

Master Undertaker Supporter

Bane Lich Supporter

Esteemed Arcanist Supporter

Quote this Post

«

JoJoAnd wrote:

«

Nichelle_GGG wrote:

Hiya,

Unfortunately Vulkan is still in Beta so this may simply be something which needs to be reviewed and adjusted, if you’re able to play on DirectX11 in the meantime that’s at least a start.

Are you able to provide us with a Dxdiag report at all? To generate a Dxdiag report, please follow these steps:

Press the windows key + r on your keyboard to bring up the Run interface
Type dxdiag into the run dialogue box and press enter
When the dxdiag application starts up, press the Save All Information button in the bottom right and save the report to your desktop to either email through to us at techsupport@grindinggear.com or post via a pastebin link in your forum thread.

I’ve sent a dxdiag now

Thanks! We’ll be sure to get back to you as soon as possible!

Avatar

Posted by
Nichelle_GGG
on Feb 8, 2021, 5:01:17 PM

Grinding Gear Games

Quote this Post

Report Forum Post

Добрый день! Недавно отписывался в соседней ветке по обсуждению 12 плейна о проблемах в ВР Пост. Думаю в этой ветке будет уместнее писать о проблемах.

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

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

Что удалось выяснить на сегодня:

1) Последняя версия Зибо 2.2 все-таки запустилась в ВР, не без танцев с бубнами, но до кабины добрался, уже хорошо :dance4: (Спасибо коллеге по цеху vinnitsa2a за напоминалку о необходимости обновиться).

2) При полете в VR 12 плейн очень любит кушать память видеокарты, на моей 3070ti все 8ГБ памяти кушает на все 100% примерно через пару минут нахождения в виртуальной реальности, после чего на максимальных настройках начинаются фризы, а потом текстуры плывут, как в кислотном фиолетовом мире. О похожих проблемах писали выше на картах 900 серии. 

3) При прочих равных в 11 плейне такого в помине не было на тех же максималках на любых джетах и всех примочках (Энвиру не юзал). Можно сказать что видеокарту особо вообще не грузило, как то равномерно ложилась нагрузка на все компоненты железа. Вообще странно, на фоне сообщений коллег по цеху о том, что 12 в плане фпс более оптимизирован. Возможно, на 4к мониторе  действительно просто фантастика, не спорю.

4) Логично пришлось понижать рендеринг для достижения каких то результатов, в итоге на средних настройках только рендеринга некая стабильность была получена, полет UUEE — ULLI прошел практически отлично, зафризило только планшет самого зибо, который покрылся малиновыми текстурами :frusty:, но понижать рендеринг еще это уже убийство для ВР и для глаз….

5) К слову о глазах, в 12 какая то прям очень яркая что ли засветка неба, но прям некомфортно было лезть на эшелон, а может это как раз снижение резкости за счет рендеринга.

В общем промежуточный итог: Похоже для комфортного полета в VR на сегодня необходимо более мощное железо, и как показал первичный диагноз, сим уперся в видеокарту, однако.

ЗЫ: Продолжаю наблюдение.


Edited December 26, 2022 by Kirill_Khokhlov

Я пытаюсь разобраться, как использовать трассировку лучей. У меня есть нарисованный растеризатором треугольник (почти такой же, как показано в руководствах по Vulkan, но переработанный в мой собственный код и служебные функции). Воссоздание свопчейна из-за изменения размера / минимизации окна и т. Д. Работает правильно.

Затем я добавил создание структуры ускорения дна. И с тех пор я получаю некоторые ошибки Device Lost, но не всегда … Вот скелет моего кода:

mainLoop:
- acquireNextImage
- renderWorld
- render gui
- present

acquireNextImage:
- signaling a semaphore "Image Available"

render gui:
- wait for fence "Gui"
- begin command buffer (use graphics queue)
- begin render pass
- bind pipeline (graphics)
- set viewport
- set scissor
- draw (2 triangles in my GUI yet)
- end render pass
- end command buffer
- reset fence "Gui"
- submit command buffer (waiting for semaphore "Image Available", signaling semaphore "Rendering Done", checking fence "Gui")

present:
- queue present (waiting for semaphore "Rendering Done")

renderWorld:
(actually this does not render anything yet, it just creates a vertex buffer, an index buffer, and creates the bottom acceleration strucutre for it - and caches it for further frames, so this code runs only once at start!)
- == vertexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == indexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == bottom acceleration structure ==
- get acceleration structure build sizes info
- create buffer (acceleration structure storage, shader device address)
- create acceleration structure (bottom level)
- create buffer (acceleration structure storage, shader device address) (this is my scratch buffer)
- wait for fence "BuildAcc"
- begin command buffer (use dedicated compute queue)
- pipeline barrier (transfer write -> acceleration structure write), don't know if I need it here
- build acceleration structures
- pipeline barrier (acceleration structure write -> shader read), don't know if I need it here
- end command buffer
- reset fence "BuildAcc"
- submit command buffer (checking fence "BuildAcc")
- wait queue idle                                      <------- here device lost
- destroy scratch buffer

Итак, если я закомментирую «renderWorld», все будет нормально. Если я оставлю renderWorld, я потеряю устройство (см. Последнюю строку «очередь ожидания простаивает»). Но не каждый раз запускаю программу.

Если я поставлю точку останова в строке «очередь ожидания простаивает» и после того, как программа остановится на этой строке, я могу продолжить программу, и все будет хорошо. Также, если я закомментирую команду «построить структуры ускорения», все работает (за исключением, конечно, структуры acc, но нет потерянного устройства).

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

Также нет ошибок проверки, за исключением отсутствия привязок шейдеров, но поскольку я их еще не использую (пока не выполняю рендеринг трассировки лучей), проблем быть не должно.

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

Может кто подскажет, если где-то пропустил синхронизацию? Как я могу это добавить? Я не копировал здесь весь код, потому что это были бы тонны кода: D Vulkan очень codddddddddy. Но если вам нужно немного кода, попросите его, и я могу вставить его сюда.

2 ответа

Лучший ответ

Я нашел проблему! Это был правильный намек и швы, чтобы быть той же проблемой, что и моя:

Submitting command buffer to compute queue for BLAS creation fails, but only sometimes. from vulkan

Поэтому я не выделял память для своего буфера ускорения, вот это:

- == bottom acceleration structure ==
- get acceleration structure build sizes info
- create buffer (acceleration structure storage, shader device address) <---- no memory

Прежде чем я заметил сообщение на Reddit, я уже выделил память для моего рабочего буфера, потому что я думал, что он нужен, потому что я получаю от него адрес устройства. Но где-то в Интернете я прочитал о буфере структуры ускорения, который не требует выделения памяти и что это делается за кулисами. Но это не так :)

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


0

buildhome.eu
28 Июн 2021 в 19:12

Что я сделал за это время:

  • перестроить весь код инициализации vulkan (теперь я использую .hpp вместо .h, что приводит к некоторым приятным проверкам типов во время компиляции)
  • все, каждая строка набирается заново вручную (без копипаста), проблема остается
  • Я закомментировал рендеринг растеризатора -> нет проблем (но проблема возникает в acquNextImage и присутствует, поэтому мне нужен растеризатор, чтобы решить проблему)
  • если я закомментирую построение структуры ускорения -> без проблем
  • если я поставлю точку останова после (!) построения структуры acc, но в синхронизированной области (растеризатор не может работать в этой точке и должен ждать на стороне процессора) -> нет проблем

Мой вывод: мне не хватает некоторой синхронизации между построением Acc Structure и растеризацией. Не знаю, где мне это не хватает, потому что использую разные:

  • семейства очередей (растеризатор использует семейство очередей графики 0, семейство очередей вычислений структуры acc 1)
  • разные семафоры (у acc builder и rasterizer свои семафоры и заборы)
  • Буфер акк пока не использую, только создаю.

Я не знаю, что там происходит. Почему все в порядке, если я ставлю паузу с точкой останова? Потому что, если параметр будет неправильным, у меня возникнут те же проблемы с точкой останова, не так ли? Насколько я понимаю, с синхронизацией что-то не так. Но проблема также в том, что AcquireNextImage завершается с ошибкой DeviceLost. А это может быть неправильный параметр, указатель вне диапазона и т. Д.

Я собираюсь исследовать глубже … ^^


0

buildhome.eu
28 Июн 2021 в 01:29

Итак, последние версии драйверов Nvidia, а именно версии 522.25, 522.30, 526.47, а также 526.61 Hotfix приводят к вылетам (безо всяких объяснений причин) в первые минуты игрового процесса в вышеупомянутой игре на API Vulkan. На DX11 играть тоже невозможно в связи с плохой производительностью игры на этом API (именно с вышеуказанными версиями драйверов), сопровождаемой постоянными фризами и низким FPS. Я проверил более 20 тайлов, в том числе и относительно недавно вышедшие, однако в них такого рода проблем не обнаружил. Откат на версию драйвера под номером 517.48 решает этот вопрос в Ghost recon: Vulkan больше не вылетает, а в DX11 нормализуется производительность.

Если кого-либо не затруднит, то не могли бы вы подтвердить наличие данной проблемы на ваших системах в данной игре. В свою очередь моя система выглядит следующим образом:

Процессор: Ryzen 5 5600X

Видеокарта: GeForce RTX 3060 Ti GAMING Z TRIO 8G

Оперативная память: G.SKILL TRIDENT Z NEO 16GB (2x8GB kit) 3600MHz на 14-ых таймингах.

Материнская плата: Asus ROG CROSSHAIR VIII DARK HERO

Блок питания: Seasonic FOCUS Plus SSR-750PX (80 PLUS PLATINUM)

Буду благодарен, если кто откликнется.

I try to figure out how to use the ray tracing. What I have is a rasterizer drawed Triangle (most the same as shown by Vulkan tutorials, but refactored into my own code and utility functions). The recreation of the swapchain due to window resizing/minimizing, etc. works correctly.

Then I have added the creation of a bottom acceleration structure. And since then I get some Device Lost errors, but not always… Here is a skeleton of my code:

mainLoop:
- acquireNextImage
- renderWorld
- render gui
- present

acquireNextImage:
- signaling a semaphore "Image Available"

render gui:
- wait for fence "Gui"
- begin command buffer (use graphics queue)
- begin render pass
- bind pipeline (graphics)
- set viewport
- set scissor
- draw (2 triangles in my GUI yet)
- end render pass
- end command buffer
- reset fence "Gui"
- submit command buffer (waiting for semaphore "Image Available", signaling semaphore "Rendering Done", checking fence "Gui")

present:
- queue present (waiting for semaphore "Rendering Done")

renderWorld:
(actually this does not render anything yet, it just creates a vertex buffer, an index buffer, and creates the bottom acceleration strucutre for it - and caches it for further frames, so this code runs only once at start!)
- == vertexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == indexbuffer ==
- create buffer (usage transfer dst)
- get buffer memory requirements
- allocate memory (device local)
- bind buffer memory
- create buffer (usage transfer src) (this is my staging buffer)
- get buffer memory requirements
- allocate memory (host visible, host coherent) (this is my staging memory)
- bind buffer memory
- wait for fence "Transfer"
- begin command buffer (use dedicated transfer queue)
- copy buffer
- end command buffer
- reset fence "Transfer"
- submit command buffer (checking fence "Transfer")
- wait queue idle
- free stating memory
- destroy staging buffer
- == bottom acceleration structure ==
- get acceleration structure build sizes info
- create buffer (acceleration structure storage, shader device address)
- create acceleration structure (bottom level)
- create buffer (acceleration structure storage, shader device address) (this is my scratch buffer)
- wait for fence "BuildAcc"
- begin command buffer (use dedicated compute queue)
- pipeline barrier (transfer write -> acceleration structure write), don't know if I need it here
- build acceleration structures
- pipeline barrier (acceleration structure write -> shader read), don't know if I need it here
- end command buffer
- reset fence "BuildAcc"
- submit command buffer (checking fence "BuildAcc")
- wait queue idle                                      <------- here device lost
- destroy scratch buffer

So, if I comment out «renderWorld», all works fine. If I let renderWorld be in, then I get a device lost (see the last «wait queue idle» line). But not every time I run the program.

If I put a breakpoint on the «wait queue idle» line, and after the program stops at this line, I can continue the program and all is fine. Also if I comment out the «build acceleration structures» command, all is working (except of course there is no acc structure, but there is no device lost).

So I don’t know where the problem is. In my opinion, I need to synchronize something somehow, because with the break point I can run it and it works. So the code must be OK as I understand it.

There is also no validation error except missing shader bindings, but because I do not use them yet (I don’t ray trace render yet), it should not be a problem.

After the device lost, the other semaphores are not reset and also my gui render path is not working anymore.

Can somebody tell me if I missed a synchronisation somewhere? And how I can add it? I don’t have copied my whole code here, because it would be tons of code. But if you need some piece of code, then ask for it, and I can paste it here.


Go to Xplane


r/Xplane


r/Xplane

/r/xplane




Members





Online



by

gruenepizza



Xplane 12 and Vulkan device lost error

[removed]

Sorry, this post was removed by Reddit’s spam filters.

modest11111
  

5427



modest11111

Instr
  

6



Instr

modest11111
  

5427



modest11111

atkinson
  

89



atkinson

atkinson
  

89



atkinson

RangeMachine
  

106



RangeMachine

atkinson
  

89



atkinson

modest11111
  

5427



modest11111

Curl64
  

418



Curl64

Каратель
  

130



Каратель

Mishkannvip
  

1274



Mishkann

atkinson
  

89



atkinson

Mishkannvip
  

1274



Mishkann

atkinson
  

89



atkinson

Mishkannvip
  

1274



Mishkann

modest11111
  

5427



modest11111

DirtySanta
  

0



DirtySanta

dzies
  

686



dzies

modest11111
  

5427



modest11111

StormOnline
  

0



StormOnline

Oceanair
  

419



Oceanair

vov4ik59
  

0



vov4ik59

maestro74
  

0



maestro74

ArteKS
  

3



ArteKS

Join the conversation

You can post now and register later.

If you have an account, sign in now to post with your account.

Note: Your post will require moderator approval before it will be visible.

  • Произошла ошибка поручение не было подано
  • Произошла ошибка попробуйте снова ютуб
  • Произошла ошибка попробуйте снова через несколько секунд
  • Произошла ошибка попробуйте снова через несколько минут connect fail l2m
  • Произошла ошибка попробуйте произвести расчет еще раз яндекс директ