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

Immediate crash with xf86-intel-video and xorg-server-git #7

Closed rien333 closed 4 years ago

rien333 commented 4 years ago

If I launch chamferwm (with instructions from the README), for a few seconds I see a black screen and a mouse pointer that I can move around, and then it crashes me back to the tty. It doesn't seem like it will let me start any programs. I can't see any errors in ~/.local/share/xorg/Xorg.0.log. Is there another place where errors are logged?

I installed chamerfwm from the AUR. Other specifics are that I'm running xf86-intel-video-git, xorg-server-git, and a vanilla, fully updated Arch.

It's probably a misconfiguration on my side, so my main question is where to look for errors.

jaelpark commented 4 years ago

Thanks for the report. Chamferwm does some logging to stdout, try this in your .xinitrc to have the log written:

exec stdbuf -oL chamfer --shader-path=/usr/share/chamfer/shaders/ > /tmp/log

Please upload the log here and let's see 👍

rien333 commented 4 years ago

Nothing too interesting in the log, but another possibly relevant error caught my eye. When X crashes, it spews out the error Xlib: extension "NV-GLX" missing, indicating that it tries to load something nvidia related. I do have a dual-GPU laptop, but the nvidia gpu is off, and the log below indicates that chamfer tries to use the intel HD GPU. Trying to start chamfer with --device-index=1 says [chamferwm]: invalid GPU index.

I'm really not trying to load chamfer on my nvidia gpu, and I'm not sure why it would try that. Probably doesn't matter, but I do have the latest nvidia drivers, and I think I have nouveau blacklisted/not installed.

It is supposed to work on intel GPUs right?

FIY, chamfer starts fine without compositor (i.e. with --no-compositor).

Output of exec stdbuf -oL chamfer --shader-path=/usr/share/chamfer/shaders/ > /tmp/log:

[chamferwm 2019-08-06 20:09:08] Found config /usr/share/chamfer/config/config.py
No pulsectl module.
[chamferwm 2019-08-06 20:09:08] Screen size: 3000x2000
[chamferwm 2019-08-06 20:09:08] Root id: 169
[chamferwm 2019-08-06 20:09:08] Backend initialized.
[chamferwm 2019-08-06 20:09:08] XComposite 0.4
[chamferwm 2019-08-06 20:09:08] overlay xid: 141
[chamferwm 2019-08-06 20:09:08] XFixes 5.0
[chamferwm 2019-08-06 20:09:08] Damage 1.1
[chamferwm 2019-08-06 20:09:08] SHM 1.2
[chamferwm 2019-08-06 20:09:08] Enumerating required layers
VK_LAYER_LUNARG_standard_validation
[chamferwm 2019-08-06 20:09:08] Enumerating required extensions
VK_KHR_surface
VK_KHR_xcb_surface
VK_EXT_debug_report
[chamferwm 2019-08-06 20:09:10] Enumerating physical devices
* 0: Intel(R) UHD Graphics 620 (Kabylake GT2)
    .deviceID: 22807
    .vendorID: 32902
    .deviceType: 1
  max push constant size: 128
  max bound desc sets: 8
  max viewports: 16
  multi viewport: 1
[chamferwm 2019-08-06 20:09:10] Available surface formats: 2
Surface format ok.
[chamferwm 2019-08-06 20:09:10] Enumerating required device extensions
VK_KHR_swapchain
[chamferwm 2019-08-06 20:09:10] Swap chain image extent 3000x2000
jaelpark commented 4 years ago

Yes, it should definitely work on Intel GPUs. I found that the problem is most likely related to how makepkg builds the binary. I disabled custom build flags in PKGBUILD for now, can you try update from AUR and rebuild?

rien333 commented 4 years ago

Works great, thanks!

rien333 commented 4 years ago

I still get the Xlib: extension "NV-GLX" missing "error" btw, although it seems harmless for now.