jaelpark / chamferwm

A tiling X11 window manager with Vulkan compositor.
https://jaelpark.github.io/chamferwm-docs/
BSD 3-Clause "New" or "Revised" License
249 stars 11 forks source link

Crash on launch #15

Closed reyqn closed 4 years ago

reyqn commented 4 years ago

I tried launching chamferwm from exec chamfer --config=/usr/share/chamfer/config/config.py --shader-path=/usr/share/chamfer/shaders/, but it just disconnects me from tty. I tried redirecting stdout to a file to see what happens, but there is only [chamferwm 2020-01-15 19:34:43] Loading config /usr/share/chamfer/config/config.py... No pulsectl module. Also there is nothing in /var/log/Xorg.0.log Launching without the compositor does the same. Launching without exec gives Error: failed to connect to X server (I don't know if this is expected). I installed on arch with the AUR package, I'm using prime offloading with nvidia and intel proprietary drivers.

If you need any more info just ask.

jaelpark commented 4 years ago

Just to be sure, did you put the exec line in your .xinitrc, and then launch with startx? One way to reproduce what you described is to try launch directly from tty. That probaby won't work unless you have X server already running in background.

reyqn commented 4 years ago

Well sorry about that I guess I didn't read well enough. I tried that yesterday though (and it didn't work that well) but I didn't think to check the log: here it is

[chamferwm 2020-01-15 22:18:05] validation layer2: Found ICD manifest file /usr/share/vulkan/icd.d/nvidia_icd.json, version "1.0.0" [chamferwm 2020-01-15 22:18:05] validation layer2: Searching for ICD drivers named libGLX_nvidia.so.0 [chamferwm 2020-01-15 22:18:05] validation layer2: Build ICD instance extension list [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_device_group_creation (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_display (libGLX_nvidia.so.0) version 0.0.21 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_external_fence_capabilities (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_external_memory_capabilities (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_external_semaphore_capabilities (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_get_display_properties2 (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_get_physical_device_properties2 (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_get_surface_capabilities2 (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_surface (libGLX_nvidia.so.0) version 0.0.25 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_surface_protected_capabilities (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_xcb_surface (libGLX_nvidia.so.0) version 0.0.6 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_xlib_surface (libGLX_nvidia.so.0) version 0.0.6 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_EXT_acquire_xlib_display (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_EXT_debug_report (libGLX_nvidia.so.0) version 0.0.9 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_EXT_debug_utils (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_EXT_direct_mode_display (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_EXT_display_surface_counter (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Build ICD instance extension list [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_device_group_creation (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_display (libGLX_nvidia.so.0) version 0.0.21 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_external_fence_capabilities (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_external_memory_capabilities (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_external_semaphore_capabilities (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_get_display_properties2 (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_get_physical_device_properties2 (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_get_surface_capabilities2 (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_surface (libGLX_nvidia.so.0) version 0.0.25 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_surface_protected_capabilities (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_xcb_surface (libGLX_nvidia.so.0) version 0.0.6 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_KHR_xlib_surface (libGLX_nvidia.so.0) version 0.0.6 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_EXT_acquire_xlib_display (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_EXT_debug_report (libGLX_nvidia.so.0) version 0.0.9 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_EXT_debug_utils (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_EXT_direct_mode_display (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] validation layer2: Instance Extension: VK_EXT_display_surface_counter (libGLX_nvidia.so.0) version 0.0.1 [chamferwm 2020-01-15 22:18:05] Enumerating physical devices

  • 0: GeForce GTX 1060 .deviceID: 7200 .vendorID: 4318 .deviceType: 2 max push constant size: 256 max bound desc sets: 32 [chamferwm 2020-01-15 22:18:05] Available surface formats: 2 Surface format ok. [chamferwm 2020-01-15 22:18:05] Enumerating required device extensions VK_KHR_external_memory VK_KHR_external_memory_fd VK_KHR_swapchain

Also launching with -n does work.

Ok sorry about all this, the error actually thrown by chamferwn is: Could not find all required device extensions.

jaelpark commented 4 years ago

Ok sorry about all this, the error actually thrown by chamferwn is: Could not find all required device extensions.

No problem. Looks like there's actually a bunch of device extensions that were not found, if the log is complete. Is it really finding only three extensions, or are there any more reported? Some of the extensions are not absolutely necessary for basic functionality, I could maybe later try make chamfer slightly less strict about the extension requirements. You said that you had also intel graphics available, does the compositor work better on that?

reyqn commented 4 years ago

Ok so the issue was that I didn't install vulkan-intel. Chamfer doesn't see the intel card because it's hidden by prime, but it still has to work (and be vulkan compatible) since nvidia offloads to intel.