obs-kmsgrab
obs-kmsgrab copied to clipboard
"Zero-copy" Linux screen capture plugin for OBS that uses libdrm and dmabuf
This includes: - [x] updated signature for `gs_texture_create_from_dmabuf` - [x] multiple planes with `drmGetModeFb2` This should include: - [ ] original `drmGetModeFb` path for a single-plane query (not all configs...
den2:[den2]:~/Downloads/obs-kmsgrab/build$ ninja [8/9] Building C object CMakeFiles/linux-kmsgrab.dir/src/dmabuf.c.o FAILED: CMakeFiles/linux-kmsgrab.dir/src/dmabuf.c.o /usr/bin/cc -DHAVE_OBSCONFIG_H -DQT_CORE_LIB -DQT_GUI_LIB -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DUSE_PKEXEC -Dlinux_kmsgrab_EXPORTS -I/home/den2/Downloads/obs-kmsgrab/build -I/home/den2/Downloads/obs-kmsgrab -I/home/den2/Downloads/obs-kmsgrab/build/linux-kmsgrab_autogen/include -I/home/den2/Downloads/obs-kmsgrab/src -I/../UI/obs-frontend-api -isystem /usr/include/obs -isystem /usr/include/qt -isystem /usr/include/qt/QtCore -isystem /usr/lib/qt/mkspecs/linux-g++...
Can't create unix socket without 777 permission in `/usr/local/share/obs/obs-plugins/linux-kmsgrab/` folder.
Hi! OBS Studio 27 now require fourcc in `gs_texture_create_from_dmabuf` function. I edited code and added fourcc, but it doesn't work. I also tried to set fourcc manually, based on [this...
Qt is not really needed XCB implies X11, which is also completely optional, and build system should reflect that
Figure out whether libdrm provides any APIs for synchronization, and use them to make sure that we're uploading/using the DMA-BUF-backed texture at the right moment.
Print error messages to GUI if something goes wrong. Users should not grep logs for cryptic messages to figure out what went wrong.