luigifcruz / CyberEther

Multi-platform GPU-accelerated interface for compute-intensive pipelines. Radio, the final frontier.
MIT License
382 stars 14 forks source link

VK_ERROR_INCOMPATIBLE_DRIVER #74

Open franalbani opened 3 months ago

franalbani commented 3 months ago

How should I continue debugging this?

$ ./cyberether
JETSTREAM [DEBUG] | [INSTANCE] Creating instance.
JETSTREAM [DEBUG] | [INSTANCE] Building interface
JETSTREAM [DEBUG] | Initializing Vulkan backend.
JETSTREAM [DEBUG] | [VULKAN] Required layer found: VK_LAYER_KHRONOS_validation
JETSTREAM [DEBUG] | [VULKAN] Supported required instance extensions: ["VK_KHR_surface", "VK_KHR_xcb_surface", "VK_EXT_debug_report"]
JETSTREAM [FATAL] | [VULKAN] Couldn't create instance.
JETSTREAM [FATAL] | [VULKAN] Error code: VK_ERROR_INCOMPATIBLE_DRIVER
Function Vulkan (../src/backend/devices/vulkan/base.cc@189) throwed!
terminate called after throwing an instance of 'Jetstream::Result'
Aborted (core dumped)

Build instructions went fine.

luigifcruz commented 3 months ago

Nothing obvious comes to my mind. Are you launching CyberEther from a terminal that has a display attached to it? You can check this with echo $DISPLAY.

franalbani commented 3 months ago

Hi Luigi!

Nothing obvious comes to my mind. Are you launching CyberEther from a terminal that has a display attached to it? You can check this with echo $DISPLAY.

Yes.

I can also share sudo coredumpctl debug:

$ sudo coredumpctl debug
           PID: 3989869 (cyberether)
           UID: 1000 (fran)
           GID: 1000 (fran)
        Signal: 6 (ABRT)
     Timestamp: Wed 2024-03-27 23:49:37 -03 (1min 2s ago)
  Command Line: ./cyberether
    Executable: /home/fran/src/CyberEther/build/cyberether
 Control Group: /user.slice/user-1000.slice/session-5.scope
          Unit: session-5.scope
         Slice: user-1000.slice
       Session: 5
     Owner UID: 1000 (fran)
       Boot ID: dee33c6c8d6c4463bd6de475506c801a
    Machine ID: (deleted)
      Hostname: (deleted)
       Storage: /var/lib/systemd/coredump/core.cyberether.1000.dee33c6c8d6c4463bd6de475506c801a.3989869.1711594177000000.zst (present)
  Size on Disk: 2.7M
       Message: Process 3989869 (cyberether) of user 1000 dumped core.

                Stack trace of thread 3989869:
                #0  0x00007b6280eab32c n/a (libc.so.6 + 0x8d32c)
                #1  0x00007b6280e5a6c8 raise (libc.so.6 + 0x3c6c8)
                #2  0x00007b6280e424b8 abort (libc.so.6 + 0x244b8)
                #3  0x00007b628109ca6f _ZN9__gnu_cxx27__verbose_terminate_handlerEv (libstdc++.so.6 + 0x9ca6f)
                #4  0x00007b62810b011c _ZN10__cxxabiv111__terminateEPFvvE (libstdc++.so.6 + 0xb011c)
                #5  0x00007b62810b0189 _ZSt9terminatev (libstdc++.so.6 + 0xb0189)
                #6  0x00007b62810b03ed __cxa_throw (libstdc++.so.6 + 0xb03ed)
                #7  0x00007b6281567661 n/a (/home/fran/src/CyberEther/build/libjetstream.so + 0x167661)
                ELF object binary architecture: AMD x86-64

GNU gdb (GDB) 14.2
muellermartin commented 2 months ago

I had the same error on macOS Ventura (13.6.6):

./cyberether          
JETSTREAM [INFO]  | -----------------------------------------------------
JETSTREAM [INFO]  | Jetstream Heterogeneous Backend [METAL]
JETSTREAM [INFO]  | -----------------------------------------------------
JETSTREAM [INFO]  | Device Name:     Apple M1 Max
JETSTREAM [INFO]  | Device Type:     INTEGRATED
JETSTREAM [INFO]  | API Version:     Metal 3
JETSTREAM [INFO]  | Unified Memory:  YES
JETSTREAM [INFO]  | Processor Count: 10/10
JETSTREAM [INFO]  | Device Memory:   32.00 GB
JETSTREAM [INFO]  | -----------------------------------------------------
JETSTREAM [WARN]  | The Vulkan backend is not initialized. Initializing with default settings.
JETSTREAM [FATAL] | [VULKAN] Couldn't create instance.
JETSTREAM [FATAL] | [VULKAN] Error code: VK_ERROR_INCOMPATIBLE_DRIVER
Function Vulkan (../src/backend/devices/vulkan/base.cc@191) throwed!
libc++abi: terminating due to uncaught exception of type Jetstream::Result

I could fix the error by running brew install molten-vk vulkan-tools so it seems that at least one of the packages was missing.