Unable to use Vulkan

I just updated to 1.3.6 stable and everything seems to be working fine with one exception, Vulkan. If i try to load a core while using the Vulkan video driver Retroarch simply crashes. This also happens if i try to run the paraLLel core. I also noticed that when running Vulkan the system menu runs kind of sluggish.

I double checked that i am running the latest NVIDIA drivers and that Vulkan is installed. If i go to system information under Retroarch it tells me that Vulkan is also supported on my system. I even installed Dota 2 and ran it under Vulkan to make sure it was running properly. I’m running Windows 10 and my GPU is a 780 ti, if that matters.

I tried several cores such as Mednafen, Nestopia-UE, Gambatte, and paraLLEl. Although after messing around some more I noticed that i only crash when i try to load a game off a playlist (while using Vulkan). And if i try to create a playlist by scanning for games i crash.

Same here, can’t get it to run at all with the Vulkan API, my GPU does indeed support it, 660 GTX, and according to nVidia it works, but when I save config after changing the drive, the program simply crashes sigh. Oh well.

Edit: RA 1.3.6 says the machine does support the API, deleted config files and started over, same thing.

Jep, same here. Windows 10 with GTX770. When I select the Vulkan video driver backend RetroArch does not start anymore.

Ask me if I can help in any way to debug this.

Some problems too here on win7 x64 with a GTX770. Driver is 368.69.

Thought it was OK at first, I tried ParaLLEI without issue. Then I crash when going though playists (browsing left-right in xmb) and sometimes on rom launch/close.

Log on crash in menu:

RetroArch [INFO] :: === Build =======================================
Capabilities: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 AVX AES 
Built: Jul 17 2016
RetroArch [INFO] :: Version: 1.3.6
RetroArch [INFO] :: Git: 218d6f5
RetroArch [INFO] :: =================================================
RetroArch [INFO] :: Config: loading config from: E:\Emulateurs\RetroArch64\retroarch.cfg.
RetroArch [INFO] :: Resetting undo buffers.
RetroArch [INFO] :: Environ SET_PIXEL_FORMAT: RGB565.
RetroArch [INFO] :: Version of libretro API: 1
RetroArch [INFO] :: Compiled against API: 1
RetroArch [INFO] :: Set audio input rate to: 30001.20 Hz.
RetroArch [INFO] :: Found shader "E:\Emulateurs\RetroArch64\shaders/01-scanline.cg"
RetroArch [INFO] :: Found shader "E:\Emulateurs\RetroArch64\shaders/03-crt-flatng3x.cg"
RetroArch [INFO] :: Found shader "E:\Emulateurs\RetroArch64\shaders/stock.cg"
RetroArch [INFO] :: Video @ fullscreen
RetroArch [INFO] :: Vulkan dynamic library loaded.
RetroArch [INFO] :: Detecting screen resolution 1920x1080.
RetroArch [INFO] :: [WGL]: Setting fullscreen to 1920x1080 @ 60Hz on device \\.\DISPLAY1.
RetroArch [INFO] :: [Vulkan]: Queue family 0 supports 16 sub-queues.
RetroArch [INFO] :: [Vulkan]: Swapchain supports present mode: 2.
RetroArch [INFO] :: [Vulkan]: Swapchain supports present mode: 3.
RetroArch [INFO] :: [Vulkan]: Swapchain supports present mode: 1.
RetroArch [INFO] :: [Vulkan]: Creating swapchain with present mode: 2
RetroArch [INFO] :: [Vulkan]: Using swapchain size 1920 x 1080.
RetroArch [INFO] :: [Vulkan]: Got 3 swapchain images.
RetroArch [INFO] :: Vulkan: Using resolution 1920x1080
RetroArch [INFO] :: [Vulkan]: Using RGB565 format.
RetroArch [INFO] :: [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
RetroArch [INFO] :: [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
RetroArch [INFO] :: [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
RetroArch [INFO] :: [Vulkan]: Only SLANG shaders are supported, falling back to stock.
RetroArch [INFO] :: [slang]: Building pass #0 (N/A)
RetroArch [INFO] :: [slang]: Reflection
RetroArch [INFO] :: [slang]:   Textures:
RetroArch [INFO] :: [slang]:      Source (#0)
RetroArch [INFO] :: [slang]:
RetroArch [INFO] :: [slang]:   Uniforms (Vertex: yes, Fragment: no):
RetroArch [INFO] :: [slang]:      MVP (Offset: 0)
RetroArch [INFO] :: [Vulkan filter chain]: Not using frame history.
RetroArch [INFO] :: [Vulkan filter chain]: Not using framebuffer feedback.
RetroArch [INFO] :: Found XInput v1.3.
RetroArch [INFO] :: Found XInput controller, user #0
RetroArch [INFO] :: Found XInput controller, user #1
RetroArch [INFO] :: Enumerating DInput joypads ...
RetroArch [INFO] :: Device #0 PID: {028E} VID:{045E}
RetroArch [INFO] :: Device #1 PID: {CB02} VID:{0738}
RetroArch [INFO] :: Done enumerating DInput joypads ...
RetroArch [INFO] :: Autodetect: 0 profiles found
RetroArch [INFO] :: Autodetect: 0 profiles found
RetroArch [INFO] :: Found joypad driver: "xinput".
RetroArch [INFO] :: Using font rendering backend: freetype.
RetroArch [INFO] :: DirectSound devices:
RetroArch [INFO] :: 	0: Primary Sound Driver
RetroArch [INFO] :: 	1: Line (2- Steinberg UR22)
RetroArch [INFO] :: 	2: SAMSUNG-0 (NVIDIA High Definition Audio)
RetroArch [INFO] :: [DirectSound]: Setting buffer size of 12288 bytes
RetroArch [INFO] :: [DirectSound]: Latency = 64 ms
RetroArch [INFO] :: Found menu display driver: "menu_display_vulkan".
RetroArch [INFO] :: Using font rendering backend: freetype.
RetroArch [INFO] :: Found #pragma parameter CRTGeom Target Gamma (CRTgamma) 2.400000 0.100000 5.000000 0.100000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Monitor Gamma (monitorgamma) 2.200000 0.100000 5.000000 0.100000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Curvature Toggle (CURVATURE) 1.000000 0.000000 1.000000 1.000000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Distance (d) 1.900000 0.100000 3.000000 0.100000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Curvature Radius (R) 1.800000 0.100000 10.000000 0.100000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Corner Size (cornersize) 0.010000 0.001000 1.000000 0.005000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Corner Smoothness (cornersmooth) 800.000000 80.000000 2000.000000 100.000000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Horizontal Tilt (x_tilt) 0.000000 -0.500000 0.500000 0.050000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Vertical Tilt (y_tilt) -0.150000 -0.500000 0.500000 0.050000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Horiz. Overscan % (overscan_x) 100.000000 -125.000000 125.000000 0.500000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Vert. Overscan % (overscan_y) 100.000000 -125.000000 125.000000 0.500000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Dot Mask Toggle (DOTMASK) 0.000000 0.000000 0.300000 0.300000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Sharpness (SHARPER) 1.000000 1.000000 3.000000 1.000000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Scanline Weight (scanline_weight) 0.300000 0.100000 0.500000 0.050000
RetroArch [INFO] :: Using font rendering backend: freetype.
RetroArch [INFO] :: SRAM will not be saved.
RetroArch [INFO] :: Found #pragma parameter CRTGeom Target Gamma (CRTgamma) 2.400000 0.100000 5.000000 0.100000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Monitor Gamma (monitorgamma) 2.200000 0.100000 5.000000 0.100000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Curvature Toggle (CURVATURE) 1.000000 0.000000 1.000000 1.000000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Distance (d) 1.900000 0.100000 3.000000 0.100000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Curvature Radius (R) 1.800000 0.100000 10.000000 0.100000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Corner Size (cornersize) 0.010000 0.001000 1.000000 0.005000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Corner Smoothness (cornersmooth) 800.000000 80.000000 2000.000000 100.000000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Horizontal Tilt (x_tilt) 0.000000 -0.500000 0.500000 0.050000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Vertical Tilt (y_tilt) -0.150000 -0.500000 0.500000 0.050000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Horiz. Overscan % (overscan_x) 100.000000 -125.000000 125.000000 0.500000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Vert. Overscan % (overscan_y) 100.000000 -125.000000 125.000000 0.500000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Dot Mask Toggle (DOTMASK) 0.000000 0.000000 0.300000 0.300000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Sharpness (SHARPER) 1.000000 1.000000 3.000000 1.000000
RetroArch [INFO] :: Found #pragma parameter CRTGeom Scanline Weight (scanline_weight) 0.300000 0.100000 0.500000 0.050000
RetroArch [INFO] :: null: [E:\Emulateurs\RetroArch64\content_history.lpl].
RetroArch [INFO] :: [Vulkan]: VSync => on
RetroArch [INFO] :: [Vulkan]: VSync => on
RetroArch [INFO] :: [Vulkan]: Swapchain supports present mode: 2.
RetroArch [INFO] :: [Vulkan]: Swapchain supports present mode: 3.
RetroArch [INFO] :: [Vulkan]: Swapchain supports present mode: 1.
RetroArch [INFO] :: [Vulkan]: Creating swapchain with present mode: 2
RetroArch [INFO] :: [Vulkan]: Using swapchain size 1920 x 1080.
RetroArch [INFO] :: [Vulkan]: Recycled old swapchain.
RetroArch [INFO] :: [Vulkan]: Got 3 swapchain images.
RetroArch [INFO] :: [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
RetroArch [INFO] :: [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
RetroArch [INFO] :: [Vulkan]: GPU supports linear images as textures, but not DEVICE_LOCAL. Falling back to copy path.
RetroArch [INFO] :: [slang]: Building pass #0 (N/A)
RetroArch [INFO] :: [slang]: Reflection
RetroArch [INFO] :: [slang]:   Textures:
RetroArch [INFO] :: [slang]:      Source (#0)
RetroArch [INFO] :: [slang]:
RetroArch [INFO] :: [slang]:   Uniforms (Vertex: yes, Fragment: no):
RetroArch [INFO] :: [slang]:      MVP (Offset: 0)
RetroArch [INFO] :: [Vulkan filter chain]: Not using frame history.
RetroArch [INFO] :: [Vulkan filter chain]: Not using framebuffer feedback.

Driver here is 368.81 (so, a newer one) if that helps…

Same here Win10; 64Bit | Intel® NUC Kit D54250WYK --> newest Driver (15.40.13.4331) and Vulkan Graphics Driver: https://software.intel.com/en-us/blogs/2016/03/14/new-intel-vulkan-beta-1540204404-graphics-driver-for-windows-78110-1540

just because RetroArch was built with Vulkan support doesn’t mean your system is actually set up for it, and just because your GPU/driver says it supports Vulkan doesn’t mean that support is complete or compliant enough for ParaLLEl. Vendor’s Vulkan drivers are still a mess, currently, and many that are marked as supported either don’t work at all or have massive bugs.

We’ve been working with a developer from Intel to fix bugs in the open source Mesa driver but we don’t know the state of their Windows driver yet. AMD claims Vulkan is supported all the way down to their 7730 models, but my 7770s don’t work.

The first thing to try is Nvidia’s Vulkan threaded-rendering fish demo (you have to launch it from a command line with some command line switch; it’ll tell you what to do). If that works, RetroArch/ParaLLEl probably will, too:

Vulkan seems to partially work on my system. The playlist is just causing it to crash. And when i run an N64 games through the new emulator i have several graphical glitches. Dota 2 works through Vulkan so I am at a loss here.

OK. I downgraded the driver to 368.69 (the driver from Nvidias Vulkan page) and now it is working. :slight_smile:

edit: Sadly Super Mario 64 drops down to 40fps (i5 3.2 Ghz, GTX 770)… hoping for better RSP Emulation…

But GOOD WORK so far :slight_smile: You guys are awesome!

edit2: Some problems I noticed:

  • Mario Tennis: Screen gets rendered 2-3 times vertically
  • Blast Corps: vertical black lines in the menu
  • Conkers Bad Fur Day: Rendering all messed up

A fix has been merged for xmb + vulkan. So try again with the latest nightly.

Just tried it and nothing has changed. I still crash when i try to create a playlist or a load a game off a playlist.

EDIT: Okay so after trying a bunch of different drivers and settings it seems that i can run games (including N64) under Vulkan, i just can’t do it through a playlist as It crashes instantly, even on the latest nightly. I also noticed that parallel has some weird problems. Golden Eye for example has a ton of graphical glitches. I don’t know if this is just on my end or a problem with the emulator itself.

Here is a video where I test some games:

And I’m an idiot, updated drivers and it works, though Mario Kart 64 crashes, other games work though.

Okay, so even though I was actually able to run the Vulkan fish tank demo and downloaded the latest nightly release, when I try to set the video driver as Vulkan, Retroarch immediately crashes upon startup, with the debug screen saying that “Assertion failed at gfx/common/vulkan_common.c:318.”

E: Alright, scratch that part about the latest nightly, since I evidently can’t tell the difference between a nightly release and a stable one, but still, even after actually downloading the latest nightly, it unfortunately doesn’t really change anything except get rid of the previously mentioned error message when Retroarch crashes.

Are you able to run games through a playlist without crashing?

I don’t know, I haven’t made a playlist, I guess I could try that.