I have a system with two video cards, a integrated intel and a Nvidia quadro.
I want to use the nvidia as the xorg video card (the one connected to the monitor) but I want to use the Intel to run vaapi video decoding. I know that vaapi supports this (cfr https://github.com/intel/intel-vaapi-driver/issues/383 ) but I think have to tell to gstreamer-vaapi the path of the drm device to use. Is there any way to do that? -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Fri, 13 Jul 2018 at 05:39, RiccardoCagnasso wrote:
> I have a system with two video cards, a integrated intel and a Nvidia quadro. > I want to use the nvidia as the xorg video card (the one connected to the > monitor) but I want to use the Intel to run vaapi video decoding. If I recalled correctly, somebody did a symbolic link, or something alike, to make device enumerator, in gstremaer-vaapi, to find first their desired device. vmjl > > I know that vaapi supports this (cfr > https://github.com/intel/intel-vaapi-driver/issues/383 ) but I think have to > tell to gstreamer-vaapi the path of the drm device to use. Is there any way > to do that? > > > > -- > Sent from: http://gstreamer-devel.966125.n4.nabble.com/ > _______________________________________________ > gstreamer-devel mailing list > [hidden email] > https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
>If I recalled correctly, somebody did a symbolic link, or something alike,
to >make device enumerator, in gstremaer-vaapi, to find first their desired device. Google is not helping me here. It seems to me that gstreamer-vaapi opens the device associated to the current display, I'm not sure how can I trick that with a symlink -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Fri, 13 Jul 2018 at 06:22, RiccardoCagnasso wrote:
> >If I recalled correctly, somebody did a symbolic link, or something alike, > to > >make device enumerator, in gstremaer-vaapi, to find first their desired > device. > > Google is not helping me here. It seems to me that gstreamer-vaapi opens the > device associated to the current display, I'm not sure how can I trick that > with a symlink Yes. If you want to use DRM display, you should either use `vaapisink display=drm`, so the drm-backed vaapi display is shared among the pipeline. In this case, the symlink may help out. Another approach would be programmatic, where you application instantiates the vaapi display, and offers it as context when the pipeline requires it. Right now there's code for Wayand and X11 cases, it would need to add support for DRM. (gstvaapivideocontext.c) vmjl _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by RiccardoCagnasso
I made a couple of tests.
Using vaapi i965 driver on a pc with a Nvidia quadro connected to the monitor, i need to add --display=drm to vainfo to read the capabilities of the graphic card. No --device seems to be required. But gst-launch filesrc ! demux ! vaapidecodebin ! vaapisink display=drm doesn't really work (creates a windows but no video on it) With vaapi iHD driver (https://github.com/intel/media-driver) vainfo doesn't require --display=drm (odd). gst-launch filesrc ! demux ! vaapidecodebin ! vaapisink display=drm or gst-launch filesrc ! demux ! vaapidecodebin ! vaapisink doesn't work (doesn't create a window) but gst-launch filesrc ! demux ! vaapidecodebin ! xvimagesink works, albeit choppy on anything more than 1080p. I'm confused. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Mon, 16 Jul 2018 at 02:36, RiccardoCagnasso wrote:
> I made a couple of tests. > Using vaapi i965 driver on a pc with a Nvidia quadro connected to the > monitor, i need to add --display=drm to vainfo to read the capabilities of > the graphic card. No --device seems to be required. But gst-launch filesrc ! > demux ! vaapidecodebin ! vaapisink display=drm doesn't really work (creates > a windows but no video on it) Actually it shouldn't create a window at all. As your display is not connected to the decoding and rendering card, all the rendering should be done off-screen. That's called headless. You could do this LIBVA_DRIVER_NAME=i965 gst-launch filesrc ! demux ! vaapidecodebin ! xvimagessink That will force to use the i965 driver, which in you system is only accessible through DRM, not the windowing system. That would decode the frames in the intel card, and later each frame will be copied onto the nvidia card. > > With vaapi iHD driver (https://github.com/intel/media-driver) vainfo doesn't > require --display=drm (odd). gst-launch filesrc ! demux ! vaapidecodebin ! > vaapisink display=drm or gst-launch filesrc ! demux ! vaapidecodebin ! > vaapisink doesn't work (doesn't create a window) but gst-launch filesrc ! > demux ! vaapidecodebin ! xvimagesink works, albeit choppy on anything more > than 1080p. iHD driver is a new driver, for being used by MediaSDK. AFAIK, it doesn't provide any rendering support, thus vaapisink isn't expected to work. And iHD works, --again-- AFAIK, using only DRM, not the windowing system. That's is why it works, and work choppy, because of the memcopy, since the intel card and the nvidia card doesn't share memory areas. Now, could try to use glimagesink, and trying to use dmabuf sharing mechanisms among those cards, but that's uncharted territory. vmjl _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
> LIBVA_DRIVER_NAME=i965 gst-launch filesrc ! demux ! vaapidecodebin !
xvimagessink oh, hey, this works! nice. >iHD driver is a new driver, for being used by MediaSDK. AFAIK, it doesn't >provide any rendering support, thus vaapisink isn't expected to work. Actually, vaapisink with iHD works just fine if no other video card involved. I'm watching a 8K h265 video on an Intel NUC on the other side of my office right now. >And iHD works, --again-- AFAIK, using only DRM, not the windowing system. That's >is why it works, and work choppy, because of the memcopy, since the intel card >and the nvidia card doesn't share memory areas. >Now, could try to use glimagesink, and trying to use dmabuf sharing mechanisms >among those cards, but that's uncharted territory. With glimagesink it crashes horribly. Which is too bad because it would be useful. -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |