[Xcb] Can XCB return an image with an NVIDIA GPU memory address?

James Jones jajones at nvidia.com
Tue Aug 6 05:22:37 UTC 2019


If you want to do this specifically on NVIDIA cards with NVENC, you'll 
more than likely want to be using this:

   https://developer.nvidia.com/capture-sdk

This will be much faster and lower latency than grabbing desktop content 
using shared memory via XCB commands.

Thanks,
-James

On 8/5/19 9:49 AM, Suhail Doshi wrote:
> Thanks so much Peter. I'll look at this stuff today.
> 
> Question: Do you have any guidance on how to extract/use the OBS library 
> that's cross-platform? I wouldn't want to include everything that OBS 
> has to offer to keep the footprint of our application low. Any docs on 
> their API as well?
> 
> Suhail
> 
> --
> 
> Founder
> 
> 
> On Mon, Aug 5, 2019 at 9:20 AM Peter Harris <peter at harr.ca 
> <mailto:peter at harr.ca>> wrote:
> 
>     On 2019-08-05 11:07 a.m., Suhail Doshi wrote:
>      > My question is: Is there a way to get an image of the desktop that
>      > returns a pointer that's GPU memory? For example, in Windows 10,
>     there's
>      > an API called the Desktop Duplication API which will allows you to do
>      > this. Then, it lets you copy the data in that GPU memory block to
>      > another one such that you can encode the frame with H264, for
>     example. I
>      > am using NVIDIA GPUs and utilizing their NVENC SDK.
>      >
>      > I am looking for an equivalent.
> 
>     XCB is very low-level. For most things, you probably want to use a
>     higher level library (such as, for example, OBS:
>     https://github.com/obsproject/obs-studio , which includes a
>     cross-platform library with an API that is probably closer to the
>     Desktop Duplication API than anything in XCB).
> 
>     With that said, if you want to implement the details yourself, you can
>     take a peek inside OBS and see that the capture method that copies
>     uncompressed pixels back to main memory uses xcb_shm_get_image (and
>     xcb_xfixes_get_cursor_image, and xcb_xinerama_query_screens, among other
>     things).
>     https://github.com/obsproject/obs-studio/blob/master/plugins/linux-capture/xshm-input.c
> 
>     Peter Harris
> 
> 
> _______________________________________________
> Xcb mailing list
> Xcb at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/xcb
> 


More information about the Xcb mailing list