"Cannot create EGLImage" error when setting DMA-BUF source
sserenade opened this issue · comments
Just in case this is still being worked on:
After working around #16, I was able to build it properly (& enabled debug).
However, when selecting the DMA-BUF source, I don't get any video. The log shows error: Cannot create EGLImage: 12296
:
obs-drmsend: Opening card /dev/dri/card0
obs-drmsend: DRM planes 12:
obs-drmsend: 0: fb_id=0
obs-drmsend: 1: fb_id=0
obs-drmsend: 2: fb_id=0
obs-drmsend: 3: fb_id=0
obs-drmsend: 4: fb_id=0x6f
obs-drmsend: 5: fb_id=0x6d
obs-drmsend: 6: fb_id=0x68
obs-drmsend: 7: fb_id=0
obs-drmsend: 8: fb_id=0
obs-drmsend: 9: fb_id=0
obs-drmsend: 10: fb_id=0
obs-drmsend: 11: fb_id=0
debug: Ready to accept
obs-drmsend: sent 392 bytes
debug: Receiving message from obs-drmsend
debug: recvmsg = 392
info: Received 3 framebuffers:
info: Received width=1920 height=1080 pitch=7680 fourcc=0x34325258 fd=45
info: Received width=4520 height=1920 pitch=18432 fourcc=0x34325258 fd=46
info: Received width=128 height=128 pitch=512 fourcc=0x34325258 fd=47
debug: dmabuf_source_udpate 0x563a58f93fc0
debug: dmabuf_source_close 0x563a58f93fc0
debug: dmabuf_source_open 0x563a58f93fc0 0x6f
debug: Using framebuffer id=0x6f (index=0)
debug: 1920x1080 45 0 7680
error: Cannot create EGLImage: 12296
debug: dmabuf_source_close 0x563a58f93fc0
debug: dmabuf_source_udpate 0x563a58f93fc0
debug: dmabuf_source_close 0x563a58f93fc0
debug: dmabuf_source_open 0x563a58f93fc0 0
Where 12296 appears to correspond to EGL_BAD_DISPLAY
. When debugging with gdb
, it seems the value returned by graphics->device->plat->edisplay
in dmabuf.c
is a generic pointer, unlike the xdisplay
value. I attempted to use eglGetDisplay
here, but it failed as well.
Would be very happy to be told I'm missing something, as I would love to try out the benefits of this fork, despite the state it is in.
Maybe I should have enabled OpenGL EGL
in video settings :)