w23 / obs-studio

OBS - Free and open source software for live streaming and screen recording

Home Page:https://obsproject.com/mantis/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

"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.

Other info dumped by OBS

Maybe I should have enabled OpenGL EGL in video settings :)