Adding Vulkan to core-image-weston


Edgar Mobile
 

Greetings,

I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?

Regards


Alexander Kanavin
 

You can start by adding vulkan-samples to the image - the recipe is in
core. We do not test vulkan in qemu, because the software vulkan
rendering is still under active development, and marked as
experimental in virglrenderer.

It may help if you use qemux86_64 and kvm for it, because software
graphical paths are too slow without it generally.

Alex

On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:

Greetings,

I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?

Regards



Edgar Mobile
 

Ok, so I switched to Kirkstone and added vulkan-samples to CORE_IMAGE_EXTRA_INSTALL.
But no libvulkan.so in /usr/lib.

Am I missing something?


From: Alexander Kanavin <alex.kanavin@...>
Sent: Friday, September 16, 2022 12:14 PM
To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
You can start by adding vulkan-samples to the image - the recipe is in
core. We do not test vulkan in qemu, because the software vulkan
rendering is still under active development, and marked as
experimental in virglrenderer.

It may help if you use qemux86_64 and kvm for it, because software
graphical paths are too slow without it generally.

Alex

On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:
>
> Greetings,
>
> I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?
>
> Regards
>
>
>


Alexander Kanavin
 

If the samples don't link with libvulkan directly, it won't get pulled
into the images. How are they loading that library, is it via dlopen()
somewhere? Invisible dlopen() dependencies typically need to be listed
explicitly in RDEPENDS.

As a quick fix, you can add vulkan-loader to the same
CORE_IMAGE_EXTRA_INSTALL list.

Alex

On Fri, 16 Sept 2022 at 19:17, Edgar Mobile <heideggm@...> wrote:

Ok, so I switched to Kirkstone and added vulkan-samples to CORE_IMAGE_EXTRA_INSTALL.
But no libvulkan.so in /usr/lib.

Am I missing something?

________________________________
From: Alexander Kanavin <alex.kanavin@...>
Sent: Friday, September 16, 2022 12:14 PM
To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston

You can start by adding vulkan-samples to the image - the recipe is in
core. We do not test vulkan in qemu, because the software vulkan
rendering is still under active development, and marked as
experimental in virglrenderer.

It may help if you use qemux86_64 and kvm for it, because software
graphical paths are too slow without it generally.

Alex

On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:

Greetings,

I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?

Regards



Edgar Mobile
 

Greetings,

I see the libvulkan.so.* libs now, but I don't see any sample binaries that look like Vulkan. Is there a list somewhere for all the files in vulkan-samples?
Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Saturday, September 17, 2022 8:28 AM
To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
If the samples don't link with libvulkan directly, it won't get pulled
into the images. How are they loading that library, is it via dlopen()
somewhere? Invisible dlopen() dependencies typically need to be listed
explicitly in RDEPENDS.

As a quick fix, you can add vulkan-loader to the same
CORE_IMAGE_EXTRA_INSTALL list.

Alex

On Fri, 16 Sept 2022 at 19:17, Edgar Mobile <heideggm@...> wrote:
>
> Ok, so I switched to Kirkstone and added vulkan-samples to CORE_IMAGE_EXTRA_INSTALL.
> But no libvulkan.so in /usr/lib.
>
> Am I missing something?
>
> ________________________________
> From: Alexander Kanavin <alex.kanavin@...>
> Sent: Friday, September 16, 2022 12:14 PM
> To: Edgar Mobile <heideggm@...>
> Cc: yocto@... <yocto@...>
> Subject: Re: [yocto] Adding Vulkan to core-image-weston
>
> You can start by adding vulkan-samples to the image - the recipe is in
> core. We do not test vulkan in qemu, because the software vulkan
> rendering is still under active development, and marked as
> experimental in virglrenderer.
>
> It may help if you use qemux86_64 and kvm for it, because software
> graphical paths are too slow without it generally.
>
> Alex
>
> On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:
> >
> > Greetings,
> >
> > I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?
> >
> > Regards
> >
> >
> >


Alexander Kanavin
 

I suppose you need to look at compile and install logs for vulkan-samples. And how the installed items get split into packages. I’m short, inspect ${WORKDIR} for it.

Alex

On Mon 19. Sep 2022 at 9.36, Edgar Mobile <heideggm@...> wrote:
Greetings,

I see the libvulkan.so.* libs now, but I don't see any sample binaries that look like Vulkan. Is there a list somewhere for all the files in vulkan-samples?
Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Saturday, September 17, 2022 8:28 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
If the samples don't link with libvulkan directly, it won't get pulled
into the images. How are they loading that library, is it via dlopen()
somewhere? Invisible dlopen() dependencies typically need to be listed
explicitly in RDEPENDS.

As a quick fix, you can add vulkan-loader to the same
CORE_IMAGE_EXTRA_INSTALL list.

Alex

On Fri, 16 Sept 2022 at 19:17, Edgar Mobile <heideggm@...> wrote:
>
> Ok, so I switched to Kirkstone and added vulkan-samples to CORE_IMAGE_EXTRA_INSTALL.
> But no libvulkan.so in /usr/lib.
>
> Am I missing something?
>
> ________________________________
> From: Alexander Kanavin <alex.kanavin@...>
> Sent: Friday, September 16, 2022 12:14 PM
> To: Edgar Mobile <heideggm@...>
> Cc: yocto@... <yocto@...>
> Subject: Re: [yocto] Adding Vulkan to core-image-weston
>
> You can start by adding vulkan-samples to the image - the recipe is in
> core. We do not test vulkan in qemu, because the software vulkan
> rendering is still under active development, and marked as
> experimental in virglrenderer.
>
> It may help if you use qemux86_64 and kvm for it, because software
> graphical paths are too slow without it generally.
>
> Alex
>
> On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:
> >
> > Greetings,
> >
> > I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?
> >
> > Regards
> >
> >
> >


Edgar Mobile
 

I have the impression that the only binary vulkan-samples installs is /usr/bin/spirv-cross . Are there other packages that install more samples?


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 8:25 AM
To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
I suppose you need to look at compile and install logs for vulkan-samples. And how the installed items get split into packages. I’m short, inspect ${WORKDIR} for it.

Alex

On Mon 19. Sep 2022 at 9.36, Edgar Mobile <heideggm@...> wrote:

Greetings,

I see the libvulkan.so.* libs now, but I don't see any sample binaries that look like Vulkan. Is there a list somewhere for all the files in vulkan-samples?
Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Saturday, September 17, 2022 8:28 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
If the samples don't link with libvulkan directly, it won't get pulled
into the images. How are they loading that library, is it via dlopen()
somewhere? Invisible dlopen() dependencies typically need to be listed
explicitly in RDEPENDS.

As a quick fix, you can add vulkan-loader to the same
CORE_IMAGE_EXTRA_INSTALL list.

Alex

On Fri, 16 Sept 2022 at 19:17, Edgar Mobile <heideggm@...> wrote:
>
> Ok, so I switched to Kirkstone and added vulkan-samples to CORE_IMAGE_EXTRA_INSTALL.
> But no libvulkan.so in /usr/lib.
>
> Am I missing something?
>
> ________________________________
> From: Alexander Kanavin <alex.kanavin@...>
> Sent: Friday, September 16, 2022 12:14 PM
> To: Edgar Mobile <heideggm@...>
> Cc: yocto@... <yocto@...>
> Subject: Re: [yocto] Adding Vulkan to core-image-weston
>
> You can start by adding vulkan-samples to the image - the recipe is in
> core. We do not test vulkan in qemu, because the software vulkan
> rendering is still under active development, and marked as
> experimental in virglrenderer.
>
> It may help if you use qemux86_64 and kvm for it, because software
> graphical paths are too slow without it generally.
>
> Alex
>
> On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:
> >
> > Greetings,
> >
> > I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?
> >
> > Regards
> >
> >
> >


Alexander Kanavin
 

As I said you need to inspect the working directory of the recipe to find out what goes where. 


Alex

On Mon 19. Sep 2022 at 13.28, Edgar Mobile <heideggm@...> wrote:
I have the impression that the only binary vulkan-samples installs is /usr/bin/spirv-cross . Are there other packages that install more samples?


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 8:25 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
I suppose you need to look at compile and install logs for vulkan-samples. And how the installed items get split into packages. I’m short, inspect ${WORKDIR} for it.

Alex

On Mon 19. Sep 2022 at 9.36, Edgar Mobile <heideggm@...> wrote:
Greetings,

I see the libvulkan.so.* libs now, but I don't see any sample binaries that look like Vulkan. Is there a list somewhere for all the files in vulkan-samples?
Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Saturday, September 17, 2022 8:28 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
If the samples don't link with libvulkan directly, it won't get pulled
into the images. How are they loading that library, is it via dlopen()
somewhere? Invisible dlopen() dependencies typically need to be listed
explicitly in RDEPENDS.

As a quick fix, you can add vulkan-loader to the same
CORE_IMAGE_EXTRA_INSTALL list.

Alex

On Fri, 16 Sept 2022 at 19:17, Edgar Mobile <heideggm@...> wrote:
>
> Ok, so I switched to Kirkstone and added vulkan-samples to CORE_IMAGE_EXTRA_INSTALL.
> But no libvulkan.so in /usr/lib.
>
> Am I missing something?
>
> ________________________________
> From: Alexander Kanavin <alex.kanavin@...>
> Sent: Friday, September 16, 2022 12:14 PM
> To: Edgar Mobile <heideggm@...>
> Cc: yocto@... <yocto@...>
> Subject: Re: [yocto] Adding Vulkan to core-image-weston
>
> You can start by adding vulkan-samples to the image - the recipe is in
> core. We do not test vulkan in qemu, because the software vulkan
> rendering is still under active development, and marked as
> experimental in virglrenderer.
>
> It may help if you use qemux86_64 and kvm for it, because software
> graphical paths are too slow without it generally.
>
> Alex
>
> On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:
> >
> > Greetings,
> >
> > I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?
> >
> > Regards
> >
> >
> >


Edgar Mobile
 

For the time being I use vulkan-tools so I get vulkaninfo. It fails apparently due to no appropriate driver available.
I think adding virtio-experimental to mesa may be necessary, right? Or is there another core recipse that will add mesa vulkan drivers?

Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 1:31 PM
To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
As I said you need to inspect the working directory of the recipe to find out what goes where. 


Alex

On Mon 19. Sep 2022 at 13.28, Edgar Mobile <heideggm@...> wrote:

I have the impression that the only binary vulkan-samples installs is /usr/bin/spirv-cross . Are there other packages that install more samples?


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 8:25 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
I suppose you need to look at compile and install logs for vulkan-samples. And how the installed items get split into packages. I’m short, inspect ${WORKDIR} for it.

Alex

On Mon 19. Sep 2022 at 9.36, Edgar Mobile <heideggm@...> wrote:
Greetings,

I see the libvulkan.so.* libs now, but I don't see any sample binaries that look like Vulkan. Is there a list somewhere for all the files in vulkan-samples?
Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Saturday, September 17, 2022 8:28 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
If the samples don't link with libvulkan directly, it won't get pulled
into the images. How are they loading that library, is it via dlopen()
somewhere? Invisible dlopen() dependencies typically need to be listed
explicitly in RDEPENDS.

As a quick fix, you can add vulkan-loader to the same
CORE_IMAGE_EXTRA_INSTALL list.

Alex

On Fri, 16 Sept 2022 at 19:17, Edgar Mobile <heideggm@...> wrote:
>
> Ok, so I switched to Kirkstone and added vulkan-samples to CORE_IMAGE_EXTRA_INSTALL.
> But no libvulkan.so in /usr/lib.
>
> Am I missing something?
>
> ________________________________
> From: Alexander Kanavin <alex.kanavin@...>
> Sent: Friday, September 16, 2022 12:14 PM
> To: Edgar Mobile <heideggm@...>
> Cc: yocto@... <yocto@...>
> Subject: Re: [yocto] Adding Vulkan to core-image-weston
>
> You can start by adding vulkan-samples to the image - the recipe is in
> core. We do not test vulkan in qemu, because the software vulkan
> rendering is still under active development, and marked as
> experimental in virglrenderer.
>
> It may help if you use qemux86_64 and kvm for it, because software
> graphical paths are too slow without it generally.
>
> Alex
>
> On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:
> >
> > Greetings,
> >
> > I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?
> >
> > Regards
> >
> >
> >


Alexander Kanavin
 

I think swrast Vulkan driver may be a better option to start with. At least that is contained entirely in qemu guest so you won’t have to wrestle with pass through code paths to the host which are all experimental. It’s entirely uncharted waters for me as well.

Alex

On Mon 19. Sep 2022 at 14.52, Edgar Mobile <heideggm@...> wrote:
For the time being I use vulkan-tools so I get vulkaninfo. It fails apparently due to no appropriate driver available.
I think adding virtio-experimental to mesa may be necessary, right? Or is there another core recipse that will add mesa vulkan drivers?

Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 1:31 PM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
As I said you need to inspect the working directory of the recipe to find out what goes where. 


Alex

On Mon 19. Sep 2022 at 13.28, Edgar Mobile <heideggm@...> wrote:
I have the impression that the only binary vulkan-samples installs is /usr/bin/spirv-cross . Are there other packages that install more samples?


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 8:25 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
I suppose you need to look at compile and install logs for vulkan-samples. And how the installed items get split into packages. I’m short, inspect ${WORKDIR} for it.

Alex

On Mon 19. Sep 2022 at 9.36, Edgar Mobile <heideggm@...> wrote:
Greetings,

I see the libvulkan.so.* libs now, but I don't see any sample binaries that look like Vulkan. Is there a list somewhere for all the files in vulkan-samples?
Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Saturday, September 17, 2022 8:28 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
If the samples don't link with libvulkan directly, it won't get pulled
into the images. How are they loading that library, is it via dlopen()
somewhere? Invisible dlopen() dependencies typically need to be listed
explicitly in RDEPENDS.

As a quick fix, you can add vulkan-loader to the same
CORE_IMAGE_EXTRA_INSTALL list.

Alex

On Fri, 16 Sept 2022 at 19:17, Edgar Mobile <heideggm@...> wrote:
>
> Ok, so I switched to Kirkstone and added vulkan-samples to CORE_IMAGE_EXTRA_INSTALL.
> But no libvulkan.so in /usr/lib.
>
> Am I missing something?
>
> ________________________________
> From: Alexander Kanavin <alex.kanavin@...>
> Sent: Friday, September 16, 2022 12:14 PM
> To: Edgar Mobile <heideggm@...>
> Cc: yocto@... <yocto@...>
> Subject: Re: [yocto] Adding Vulkan to core-image-weston
>
> You can start by adding vulkan-samples to the image - the recipe is in
> core. We do not test vulkan in qemu, because the software vulkan
> rendering is still under active development, and marked as
> experimental in virglrenderer.
>
> It may help if you use qemux86_64 and kvm for it, because software
> graphical paths are too slow without it generally.
>
> Alex
>
> On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:
> >
> > Greetings,
> >
> > I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?
> >
> > Regards
> >
> >
> >


Edgar Mobile
 

What are the qemu params to activate swrast vulkan driver? And do I still need mesa vulkan package? meson logs show it wasnt't compiled with vulkan-drivers.


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 2:20 PM
To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
I think swrast Vulkan driver may be a better option to start with. At least that is contained entirely in qemu guest so you won’t have to wrestle with pass through code paths to the host which are all experimental. It’s entirely uncharted waters for me as well.

Alex

On Mon 19. Sep 2022 at 14.52, Edgar Mobile <heideggm@...> wrote:

For the time being I use vulkan-tools so I get vulkaninfo. It fails apparently due to no appropriate driver available.
I think adding virtio-experimental to mesa may be necessary, right? Or is there another core recipse that will add mesa vulkan drivers?

Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 1:31 PM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
As I said you need to inspect the working directory of the recipe to find out what goes where. 


Alex

On Mon 19. Sep 2022 at 13.28, Edgar Mobile <heideggm@...> wrote:
I have the impression that the only binary vulkan-samples installs is /usr/bin/spirv-cross . Are there other packages that install more samples?


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 8:25 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
I suppose you need to look at compile and install logs for vulkan-samples. And how the installed items get split into packages. I’m short, inspect ${WORKDIR} for it.

Alex

On Mon 19. Sep 2022 at 9.36, Edgar Mobile <heideggm@...> wrote:
Greetings,

I see the libvulkan.so.* libs now, but I don't see any sample binaries that look like Vulkan. Is there a list somewhere for all the files in vulkan-samples?
Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Saturday, September 17, 2022 8:28 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
If the samples don't link with libvulkan directly, it won't get pulled
into the images. How are they loading that library, is it via dlopen()
somewhere? Invisible dlopen() dependencies typically need to be listed
explicitly in RDEPENDS.

As a quick fix, you can add vulkan-loader to the same
CORE_IMAGE_EXTRA_INSTALL list.

Alex

On Fri, 16 Sept 2022 at 19:17, Edgar Mobile <heideggm@...> wrote:
>
> Ok, so I switched to Kirkstone and added vulkan-samples to CORE_IMAGE_EXTRA_INSTALL.
> But no libvulkan.so in /usr/lib.
>
> Am I missing something?
>
> ________________________________
> From: Alexander Kanavin <alex.kanavin@...>
> Sent: Friday, September 16, 2022 12:14 PM
> To: Edgar Mobile <heideggm@...>
> Cc: yocto@... <yocto@...>
> Subject: Re: [yocto] Adding Vulkan to core-image-weston
>
> You can start by adding vulkan-samples to the image - the recipe is in
> core. We do not test vulkan in qemu, because the software vulkan
> rendering is still under active development, and marked as
> experimental in virglrenderer.
>
> It may help if you use qemux86_64 and kvm for it, because software
> graphical paths are too slow without it generally.
>
> Alex
>
> On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:
> >
> > Greetings,
> >
> > I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?
> >
> > Regards
> >
> >
> >


Alexander Kanavin
 

You do, yes. It’s not qemu, it’s in Mesa. You can see the options here: 

Alex

On Mon 19. Sep 2022 at 15.30, Edgar Mobile <heideggm@...> wrote:
What are the qemu params to activate swrast vulkan driver? And do I still need mesa vulkan package? meson logs show it wasnt't compiled with vulkan-drivers.


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 2:20 PM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
I think swrast Vulkan driver may be a better option to start with. At least that is contained entirely in qemu guest so you won’t have to wrestle with pass through code paths to the host which are all experimental. It’s entirely uncharted waters for me as well.

Alex

On Mon 19. Sep 2022 at 14.52, Edgar Mobile <heideggm@...> wrote:
For the time being I use vulkan-tools so I get vulkaninfo. It fails apparently due to no appropriate driver available.
I think adding virtio-experimental to mesa may be necessary, right? Or is there another core recipse that will add mesa vulkan drivers?

Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 1:31 PM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
As I said you need to inspect the working directory of the recipe to find out what goes where. 


Alex

On Mon 19. Sep 2022 at 13.28, Edgar Mobile <heideggm@...> wrote:
I have the impression that the only binary vulkan-samples installs is /usr/bin/spirv-cross . Are there other packages that install more samples?


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 8:25 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
I suppose you need to look at compile and install logs for vulkan-samples. And how the installed items get split into packages. I’m short, inspect ${WORKDIR} for it.

Alex

On Mon 19. Sep 2022 at 9.36, Edgar Mobile <heideggm@...> wrote:
Greetings,

I see the libvulkan.so.* libs now, but I don't see any sample binaries that look like Vulkan. Is there a list somewhere for all the files in vulkan-samples?
Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Saturday, September 17, 2022 8:28 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
If the samples don't link with libvulkan directly, it won't get pulled
into the images. How are they loading that library, is it via dlopen()
somewhere? Invisible dlopen() dependencies typically need to be listed
explicitly in RDEPENDS.

As a quick fix, you can add vulkan-loader to the same
CORE_IMAGE_EXTRA_INSTALL list.

Alex

On Fri, 16 Sept 2022 at 19:17, Edgar Mobile <heideggm@...> wrote:
>
> Ok, so I switched to Kirkstone and added vulkan-samples to CORE_IMAGE_EXTRA_INSTALL.
> But no libvulkan.so in /usr/lib.
>
> Am I missing something?
>
> ________________________________
> From: Alexander Kanavin <alex.kanavin@...>
> Sent: Friday, September 16, 2022 12:14 PM
> To: Edgar Mobile <heideggm@...>
> Cc: yocto@... <yocto@...>
> Subject: Re: [yocto] Adding Vulkan to core-image-weston
>
> You can start by adding vulkan-samples to the image - the recipe is in
> core. We do not test vulkan in qemu, because the software vulkan
> rendering is still under active development, and marked as
> experimental in virglrenderer.
>
> It may help if you use qemux86_64 and kvm for it, because software
> graphical paths are too slow without it generally.
>
> Alex
>
> On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:
> >
> > Greetings,
> >
> > I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?
> >
> > Regards
> >
> >
> >


Edgar Mobile
 

Is editing meson_options.txt the recommended way to customize Mesa in Yocto?


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 2:36 PM
To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
You do, yes. It’s not qemu, it’s in Mesa. You can see the options here: 

Alex

On Mon 19. Sep 2022 at 15.30, Edgar Mobile <heideggm@...> wrote:

What are the qemu params to activate swrast vulkan driver? And do I still need mesa vulkan package? meson logs show it wasnt't compiled with vulkan-drivers.


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 2:20 PM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
I think swrast Vulkan driver may be a better option to start with. At least that is contained entirely in qemu guest so you won’t have to wrestle with pass through code paths to the host which are all experimental. It’s entirely uncharted waters for me as well.

Alex

On Mon 19. Sep 2022 at 14.52, Edgar Mobile <heideggm@...> wrote:
For the time being I use vulkan-tools so I get vulkaninfo. It fails apparently due to no appropriate driver available.
I think adding virtio-experimental to mesa may be necessary, right? Or is there another core recipse that will add mesa vulkan drivers?

Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 1:31 PM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
As I said you need to inspect the working directory of the recipe to find out what goes where. 


Alex

On Mon 19. Sep 2022 at 13.28, Edgar Mobile <heideggm@...> wrote:
I have the impression that the only binary vulkan-samples installs is /usr/bin/spirv-cross . Are there other packages that install more samples?


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 8:25 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
I suppose you need to look at compile and install logs for vulkan-samples. And how the installed items get split into packages. I’m short, inspect ${WORKDIR} for it.

Alex

On Mon 19. Sep 2022 at 9.36, Edgar Mobile <heideggm@...> wrote:
Greetings,

I see the libvulkan.so.* libs now, but I don't see any sample binaries that look like Vulkan. Is there a list somewhere for all the files in vulkan-samples?
Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Saturday, September 17, 2022 8:28 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
If the samples don't link with libvulkan directly, it won't get pulled
into the images. How are they loading that library, is it via dlopen()
somewhere? Invisible dlopen() dependencies typically need to be listed
explicitly in RDEPENDS.

As a quick fix, you can add vulkan-loader to the same
CORE_IMAGE_EXTRA_INSTALL list.

Alex

On Fri, 16 Sept 2022 at 19:17, Edgar Mobile <heideggm@...> wrote:
>
> Ok, so I switched to Kirkstone and added vulkan-samples to CORE_IMAGE_EXTRA_INSTALL.
> But no libvulkan.so in /usr/lib.
>
> Am I missing something?
>
> ________________________________
> From: Alexander Kanavin <alex.kanavin@...>
> Sent: Friday, September 16, 2022 12:14 PM
> To: Edgar Mobile <heideggm@...>
> Cc: yocto@... <yocto@...>
> Subject: Re: [yocto] Adding Vulkan to core-image-weston
>
> You can start by adding vulkan-samples to the image - the recipe is in
> core. We do not test vulkan in qemu, because the software vulkan
> rendering is still under active development, and marked as
> experimental in virglrenderer.
>
> It may help if you use qemux86_64 and kvm for it, because software
> graphical paths are too slow without it generally.
>
> Alex
>
> On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:
> >
> > Greetings,
> >
> > I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?
> >
> > Regards
> >
> >
> >


Alexander Kanavin
 

You need to check the Mesa recipe to see how the build options are defined, and add swrast to the list of vulkan drivers if necessary. Meson_options only defines available options in Mesa, not the actual set used in yocto.

Alex

On Mon 19. Sep 2022 at 15.40, Edgar Mobile <heideggm@...> wrote:
Is editing meson_options.txt the recommended way to customize Mesa in Yocto?


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 2:36 PM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
You do, yes. It’s not qemu, it’s in Mesa. You can see the options here: 

Alex

On Mon 19. Sep 2022 at 15.30, Edgar Mobile <heideggm@...> wrote:
What are the qemu params to activate swrast vulkan driver? And do I still need mesa vulkan package? meson logs show it wasnt't compiled with vulkan-drivers.


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 2:20 PM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
I think swrast Vulkan driver may be a better option to start with. At least that is contained entirely in qemu guest so you won’t have to wrestle with pass through code paths to the host which are all experimental. It’s entirely uncharted waters for me as well.

Alex

On Mon 19. Sep 2022 at 14.52, Edgar Mobile <heideggm@...> wrote:
For the time being I use vulkan-tools so I get vulkaninfo. It fails apparently due to no appropriate driver available.
I think adding virtio-experimental to mesa may be necessary, right? Or is there another core recipse that will add mesa vulkan drivers?

Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 1:31 PM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
As I said you need to inspect the working directory of the recipe to find out what goes where. 


Alex

On Mon 19. Sep 2022 at 13.28, Edgar Mobile <heideggm@...> wrote:
I have the impression that the only binary vulkan-samples installs is /usr/bin/spirv-cross . Are there other packages that install more samples?


From: Alexander Kanavin <alex.kanavin@...>
Sent: Monday, September 19, 2022 8:25 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
I suppose you need to look at compile and install logs for vulkan-samples. And how the installed items get split into packages. I’m short, inspect ${WORKDIR} for it.

Alex

On Mon 19. Sep 2022 at 9.36, Edgar Mobile <heideggm@...> wrote:
Greetings,

I see the libvulkan.so.* libs now, but I don't see any sample binaries that look like Vulkan. Is there a list somewhere for all the files in vulkan-samples?
Regards


From: Alexander Kanavin <alex.kanavin@...>
Sent: Saturday, September 17, 2022 8:28 AM

To: Edgar Mobile <heideggm@...>
Cc: yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
If the samples don't link with libvulkan directly, it won't get pulled
into the images. How are they loading that library, is it via dlopen()
somewhere? Invisible dlopen() dependencies typically need to be listed
explicitly in RDEPENDS.

As a quick fix, you can add vulkan-loader to the same
CORE_IMAGE_EXTRA_INSTALL list.

Alex

On Fri, 16 Sept 2022 at 19:17, Edgar Mobile <heideggm@...> wrote:
>
> Ok, so I switched to Kirkstone and added vulkan-samples to CORE_IMAGE_EXTRA_INSTALL.
> But no libvulkan.so in /usr/lib.
>
> Am I missing something?
>
> ________________________________
> From: Alexander Kanavin <alex.kanavin@...>
> Sent: Friday, September 16, 2022 12:14 PM
> To: Edgar Mobile <heideggm@...>
> Cc: yocto@... <yocto@...>
> Subject: Re: [yocto] Adding Vulkan to core-image-weston
>
> You can start by adding vulkan-samples to the image - the recipe is in
> core. We do not test vulkan in qemu, because the software vulkan
> rendering is still under active development, and marked as
> experimental in virglrenderer.
>
> It may help if you use qemux86_64 and kvm for it, because software
> graphical paths are too slow without it generally.
>
> Alex
>
> On Fri, 16 Sept 2022 at 13:43, Edgar Mobile <heideggm@...> wrote:
> >
> > Greetings,
> >
> > I'd like to test graphics rendering with Vulkan on an Aarch64 Yocto honister (qemu, host is x64). Can you tell me which parameters I need to add to local.conf to get all libs and headers installed (plus maybe some useful tools and demo if present)?
> >
> > Regards
> >
> >
> >


Markus Volk
 

Am Mo, 19. Sep 2022 um 16:33:11 +0100 schrieb Alexander Kanavin <alex.kanavin@...>:
You need to check the Mesa recipe to see how the build options are defined

mesa builds vulkan support, if you add 'vulkan' to DISTRO_FEATURES. If you need to, you can add additional drivers with a line like this to a mesa_%.bbappend:

VULKAN_DRIVERS:append = ",foo,bar"


Edgar Mobile
 

My current configuration is

DISTRO_FEATURES:append = "opengl x11 vulkan"

This wasn't enough for libvulkan.so.* to be installed or vulkaninfo to work. Only the simple weston egl examples work.

I also tried adding virtio-experimental to VULKAN_DRIVERS in mesa.inc, didn't help either.


From: Markus Volk <f_l_k@...>
Sent: Monday, September 19, 2022 4:37 PM
To: Alexander Kanavin <alex.kanavin@...>
Cc: Edgar Mobile <heideggm@...>; yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
Am Mo, 19. Sep 2022 um 16:33:11 +0100 schrieb Alexander Kanavin <alex.kanavin@...>:
You need to check the Mesa recipe to see how the build options are defined

mesa builds vulkan support, if you add 'vulkan' to DISTRO_FEATURES. If you need to, you can add additional drivers with a line like this to a mesa_%.bbappend:

VULKAN_DRIVERS:append = ",foo,bar"


Markus Volk
 

Am Mo, 19. Sep 2022 um 16:54:52 +0000 schrieb Edgar Mobile <heideggm@...>:
This wasn't enough

i guess you would also need to add venus support to virglrenderer.bb for qemu:

DEPENDS:append = "vulkan-loader vulkan-headers"
EXTRA_OEMESON += "-Dvenus-experimental=true"

but i have never tested this


Edgar Mobile
 

Hmm, I can't find a virglrenderer.bb. Do I need to add something?


From: Markus Volk <f_l_k@...>
Sent: Monday, September 19, 2022 5:16 PM
To: Edgar Mobile <heideggm@...>
Cc: Alexander Kanavin <alex.kanavin@...>; yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
Am Mo, 19. Sep 2022 um 16:54:52 +0000 schrieb Edgar Mobile <heideggm@...>:
This wasn't enough

i guess you would also need to add venus support to virglrenderer.bb for qemu:

DEPENDS:append = "vulkan-loader vulkan-headers"
EXTRA_OEMESON += "-Dvenus-experimental=true"

but i have never tested this


Edgar Mobile
 

Ok, I added these two lines now to a file named virglrenderer_0.9.1.bb . Bitbake now says:

ERROR: Nothing PROVIDES 'ninja-nativevulkan-loader' (but virtual:native: ... DEPENDS on or otherwise requires it)
ERROR: Required build target 'core-image-weston' has no buildable providers.
Missing or unbuildable dependency chain was: {'core-image-weston', 'meta-extsdk-toolchain', 'qemu-helper-native', 'qemu-system-native', 'virglrenderer-native', 'ninja-nativevulkan-loader' 


From: Markus Volk <f_l_k@...>
Sent: Monday, September 19, 2022 5:16 PM
To: Edgar Mobile <heideggm@...>
Cc: Alexander Kanavin <alex.kanavin@...>; yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
Am Mo, 19. Sep 2022 um 16:54:52 +0000 schrieb Edgar Mobile <heideggm@...>:
This wasn't enough

i guess you would also need to add venus support to virglrenderer.bb for qemu:

DEPENDS:append = "vulkan-loader vulkan-headers"
EXTRA_OEMESON += "-Dvenus-experimental=true"

but i have never tested this


Alexander Kanavin
 

Don’t bother with virgl yet. Start with the pure software implementation in Mesa. 

Alex

On Tue 20. Sep 2022 at 8.39, Edgar Mobile <heideggm@...> wrote:
Ok, I added these two lines now to a file named virglrenderer_0.9.1.bb . Bitbake now says:

ERROR: Nothing PROVIDES 'ninja-nativevulkan-loader' (but virtual:native: ... DEPENDS on or otherwise requires it)
ERROR: Required build target 'core-image-weston' has no buildable providers.
Missing or unbuildable dependency chain was: {'core-image-weston', 'meta-extsdk-toolchain', 'qemu-helper-native', 'qemu-system-native', 'virglrenderer-native', 'ninja-nativevulkan-loader' 


From: Markus Volk <f_l_k@...>
Sent: Monday, September 19, 2022 5:16 PM
To: Edgar Mobile <heideggm@...>
Cc: Alexander Kanavin <alex.kanavin@...>; yocto@... <yocto@...>
Subject: Re: [yocto] Adding Vulkan to core-image-weston
 
Am Mo, 19. Sep 2022 um 16:54:52 +0000 schrieb Edgar Mobile <heideggm@...>:
This wasn't enough

i guess you would also need to add venus support to virglrenderer.bb for qemu:

DEPENDS:append = "vulkan-loader vulkan-headers"
EXTRA_OEMESON += "-Dvenus-experimental=true"

but i have never tested this