On Sun, 2 Feb 2020 at 08:19, Mark Thompson <[email protected]> wrote:
>
> On 30/01/2020 11:00, test wrote:
> > Hi All. Thanks in advance for any assistance provided.
> >
> > I've been trying to get kmsgrab to work on my second rx570.
> > Aim is to record multiple framebuffers on both cards. Both cards are
> > maxed in terms of CRTC's, so switching all to one card isn't an
> > option. x11grab has not been performant enough.
> >
> > I have three "cards":
> >
> > /dev/dri/card0 -> intel iGPU
> > /dev/dri/card1 -> rx 570
> > /dev/dri/card2 -> rx 570
> >
> > I have card1 working fine, it's the primary card. I haven't tried card0.
> >
> > /home/test/.local/bin/ffmpeg  -framerate 60 -device /dev/dri/card1  -f
> > kmsgrab  -i - -vf 'hwmap=derive_device=vaapi,hwdownload,format=bgr0'
> > /home/test/card1.mp4
> >
> > Whilst trying for card2 and a similar command I get errors.
> > I've tried advice under https://trac.ffmpeg.org/wiki/Hardware/VAAPI
> > regarding device selection.
> > The error doesn't change?
> libva has some weird issues with KMS devices which aren't master, and the 
> behaviour might well change between cards in one session depending on which 
> one it decided was the main one.
>
> I think you're on the right track with this:
>
> > ./ffmpeg -init_hw_device
> > vaapi=foo:/dev/dri/by-path/pci-0000\:02\:00.0-render
> > -filter_hw_device foo -framerate 60 -device /dev/dri/card2  -f kmsgrab
> >  -i - -vf 'hwmap=
> > derive_device=vaapi,hwdownload,format=bgr0' /home/test/card2.mp4
> but it isn't quite there.  The derive_device option asks it to make a new 
> VAAPI device from the KMS/DRM device you have on input rather than using the 
> one on the render device which you created first.
>
> So, try removing the derive_device option from hwmap:
>
> ./ffmpeg -init_hw_device vaapi=foo:/dev/dri/by-path/pci-0000\:02\:00.0-render 
> -filter_hw_device foo -framerate 60 -device /dev/dri/card2 -f kmsgrab -i - 
> -vf 'hwmap,hwdownload,format=bgr0' /home/test/card2.mp4

Just confirming here for future users.
This did the trick.
Thanks for the explanation.

>
> which will then map to your already-created VAAPI render device.
>
> (I assume you've checked carefully that that PCI path matches the right card; 
> it certainly looks plausible to me.)

Yes. In hindsight perhaps I could have matched the -card and -render
paths to make it clear.
Thanks for the feedback.

>
> - Mark
> __

Cheers.
_____________________________________________
> ffmpeg-user mailing list
> [email protected]
> https://ffmpeg.org/mailman/listinfo/ffmpeg-user
>
> To unsubscribe, visit link above, or email
> [email protected] with subject "unsubscribe".
_______________________________________________
ffmpeg-user mailing list
[email protected]
https://ffmpeg.org/mailman/listinfo/ffmpeg-user

To unsubscribe, visit link above, or email
[email protected] with subject "unsubscribe".

Reply via email to