imx6dl dunfell and kernel: linux-fslc or linux-fslc-imx?


Mauro Ziliani
 

Hi all.

I'm porting and old system based on Krogoth to Dunfell.

In Krogoth the kernel was linux-imx.

Now in Dunfell which is the right kernel?

linux-fslc o linux-fslc-imx?


Thanks all

   MZ


Andrey Zhizhikin
 

Hello Mauro,

On Thu, Feb 25, 2021 at 9:40 AM Mauro Ziliani <mauro@...> wrote:

Hi all.

I'm porting and old system based on Krogoth to Dunfell.

In Krogoth the kernel was linux-imx.

Now in Dunfell which is the right kernel?
Depends on what you define as "right". :)

If you build any`fsl-` distro, then you should use either `linux-imx`
of `linux-fslc-imx` kernel. If you rather opt for any of `fslc-`
distro, then the kernel provider would be set to `linux-fslc`.


linux-fslc o linux-fslc-imx?
- `linux-fslc` is an upstream kernel (from stable korg), which has few
patches not upstreamed yet
- `linux-fslc-imx` is NXP kernel with latest patch level applied from
stable korg. This is based on the NXP release (2.1.0 in [dunfell]),
and then maintained in terms of security fixes applied in LTS branch.
- `linux-imx` is a "pure" NXP kernel, which is provided as a part of
their release(s). Current NXP release version present on the [dunfell]
branch is 2.1.0



Thanks all

MZ

--
Regards,
Andrey.


Terry Barnaby
 

On 25/02/2021 08:47, Andrey Zhizhikin wrote:
Hello Mauro,

On Thu, Feb 25, 2021 at 9:40 AM Mauro Ziliani <mauro@...> wrote:
Hi all.

I'm porting and old system based on Krogoth to Dunfell.

In Krogoth the kernel was linux-imx.

Now in Dunfell which is the right kernel?
Depends on what you define as "right". :)

If you build any`fsl-` distro, then you should use either `linux-imx`
of `linux-fslc-imx` kernel. If you rather opt for any of `fslc-`
distro, then the kernel provider would be set to `linux-fslc`.

linux-fslc o linux-fslc-imx?
- `linux-fslc` is an upstream kernel (from stable korg), which has few
patches not upstreamed yet
- `linux-fslc-imx` is NXP kernel with latest patch level applied from
stable korg. This is based on the NXP release (2.1.0 in [dunfell]),
and then maintained in terms of security fixes applied in LTS branch.
- `linux-imx` is a "pure" NXP kernel, which is provided as a part of
their release(s). Current NXP release version present on the [dunfell]
branch is 2.1.0


Thanks all

   MZ



      


For a novice to NXP Freescale builds, what setup would you recommend as a basic test Yocto build for a Wandboard IMX6 dual lite system in order to test the performance of the hardware video processing system using gstreamer*imx (VPU etc) ?

Would fslc-x11 or fslc-xwayland distro with the linux-fslc-imx kernel be the best approach or would some fsl-* distro with the linux-imx kernel be the best approach ?

The standard Wandboard build uses linux-fslc which does not seem to support the imx hardware features and so I am trying to build a suitable test platform but having no luck trying various build combinations that either wont build or wont run properly in various ways, so any pointers would be gratefully received !

Terry


Andrey Zhizhikin
 

Hello Terry,

On Thu, Feb 25, 2021 at 10:01 AM Terry Barnaby <terry@...> wrote:


For a novice to NXP Freescale builds, what setup would you recommend as a basic test Yocto build for a Wandboard IMX6 dual lite system in order to test the performance of the hardware video processing system using gstreamer*imx (VPU etc) ?
Since I do not have any of the i.MX6 HW and unaware of the state of
VPU support - I can only speak from distro perspective. Anyone who
posses the HW can clarify points from machine perspective here.


Would fslc-x11 or fslc-xwayland distro with the linux-fslc-imx kernel be the best approach or would some fsl-* distro with the linux-imx kernel be the best approach ?
The first recommendation from my side would be: choose the distro
flavor. There are 2 types of distro in the layer: Community and
NXP-based.

1. All distros with `fsl-` prefix are generally NXP-based, and include
packages that NXP supplies as a part of their distribution. When it
comes to kernel and U-Boot support - `linux-imx` and `u-boot-imx`
packages are set as providers of `virtual/kernel` and
`virtual/bootloader` respectively. This automatically means that if
you take any of those distros prefixed with `fsl-` - you would be
building NXP-based distribution. In addition, all packages that are
marked as compatible with this BSP flavor would be included, in your
case that would include the `gstreamer*imx` package.
NOTE: you can switch the kernel provider to `linux-fslc-imx` for this
BSP flavor, which would include the kernel type I described already in
this thread (NXP release 2.1.0 + latest LTS patch level applied).
`linux-fslc` cannot be set with this type of distro.

2. All distros with `fslc-` prefix are Community-based distros, which
aims to include the upstream OSS packages and avoid using packages
which has "Proprietary" license types in them. Kernel provider is set
to `linux-fslc`, U-Boot provider is set to `u-boot-fslc`. As for the
`gstreamer*imx` - I do not know if the compatibility set in the recipe
would allow it to be included in this type of distro.
NOTE: in this type of distro - only `linux-fslc` can be used as kernel provider.


The standard Wandboard build uses linux-fslc which does not seem to support the imx hardware features and so I am trying to build a suitable test platform but having no luck trying various build combinations that either wont build or wont run properly in various ways, so any pointers would be gratefully received !
This means that Wandboard sets IMX_DEFAULT_BSP = "mainline" somewhere
in its machine configuration, which targets the Community-based
distribution. You can try to find where it is set and change it to
IMX_DEFAULT_BSP = "nxp" to target NXP-based distro, and then use any
of `fsl-` prefixed configuration files on your DISTRO variable.

What you will get with this setup is then NXP-based distribution, but
since as I said above I do not have any i.MX6 HW - I cannot guarantee
that this setup would be 100% operable. Also in this case you would
opt-in to use NXP distribution, so you should watch for licensing
terms.


Terry

--
Regards,
Andrey.


Terry Barnaby
 

On 25/02/2021 09:29, Andrey Zhizhikin wrote:
Hello Terry,

On Thu, Feb 25, 2021 at 10:01 AM Terry Barnaby <terry@...> wrote:

For a novice to NXP Freescale builds, what setup would you recommend as a basic test Yocto build for a Wandboard IMX6 dual lite system in order to test the performance of the hardware video processing system using gstreamer*imx (VPU etc) ?
Since I do not have any of the i.MX6 HW and unaware of the state of
VPU support - I can only speak from distro perspective. Anyone who
posses the HW can clarify points from machine perspective here.

Would fslc-x11 or fslc-xwayland distro with the linux-fslc-imx kernel be the best approach or would some fsl-* distro with the linux-imx kernel be the best approach ?
The first recommendation from my side would be: choose the distro
flavor. There are 2 types of distro in the layer: Community and
NXP-based.

1. All distros with `fsl-` prefix are generally NXP-based, and include
packages that NXP supplies as a part of their distribution. When it
comes to kernel and U-Boot support - `linux-imx` and `u-boot-imx`
packages are set as providers of `virtual/kernel` and
`virtual/bootloader` respectively. This automatically means that if
you take any of those distros prefixed with `fsl-` - you would be
building NXP-based distribution. In addition, all packages that are
marked as compatible with this BSP flavor would be included, in your
case that would include the `gstreamer*imx` package.
NOTE: you can switch the kernel provider to `linux-fslc-imx` for this
BSP flavor, which would include the kernel type I described already in
this thread (NXP release 2.1.0 + latest LTS patch level applied).
`linux-fslc` cannot be set with this type of distro.

2. All distros with `fslc-` prefix are Community-based distros, which
aims to include the upstream OSS packages and avoid using packages
which has "Proprietary" license types in them. Kernel provider is set
to `linux-fslc`, U-Boot provider is set to `u-boot-fslc`. As for the
`gstreamer*imx` - I do not know if the compatibility set in the recipe
would allow it to be included in this type of distro.
NOTE: in this type of distro - only `linux-fslc` can be used as kernel provider.

The standard Wandboard build uses linux-fslc which does not seem to support the imx hardware features and so I am trying to build a suitable test platform but having no luck trying various build combinations that either wont build or wont run properly in various ways, so any pointers would be gratefully received !
This means that Wandboard sets IMX_DEFAULT_BSP = "mainline" somewhere
in its machine configuration, which targets the Community-based
distribution. You can try to find where it is set and change it to
IMX_DEFAULT_BSP = "nxp" to target NXP-based distro, and then use any
of `fsl-` prefixed configuration files on your DISTRO variable.

What you will get with this setup is then NXP-based distribution, but
since as I said above I do not have any i.MX6 HW - I cannot guarantee
that this setup would be 100% operable. Also in this case you would
opt-in to use NXP distribution, so you should watch for licensing
terms.

Terry

--
Regards,
Andrey.
Hi Andrey,

Many thanks for your time and info on this, that is a great help to firm up where I should be starting from and which distros are compatible (to some degree anyway) with which kernel.

From what I am seeing I will have to use a NXP fsl-* based distribution to support the imx hardware video processing features. I have built such a distro with both linux-fslc-imx and limux-imx kernels (I think!) for the Wandboard, which boots and runs but the HDMI display was not functional. I will persevere looking at that.

Terry


Otavio Salvador
 

Em qui., 25 de fev. de 2021 às 06:53, Terry Barnaby
<terry@...> escreveu:
From what I am seeing I will have to use a NXP fsl-* based distribution
to support the imx hardware video processing features. I have built such
a distro with both linux-fslc-imx and limux-imx kernels (I think!) for
the Wandboard, which boots and runs but the HDMI display was not
functional. I will persevere looking at that.
No, you don't. You can use linux-fslc (mainline) and fslc-* distros as
i.MX6 has full mainline support. At O.S. Systems we have been using
Linux mainline with many customers with great success.

--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750


Fabio Estevam
 

Hi Terry,

On Thu, Feb 25, 2021 at 6:29 AM Andrey Zhizhikin <andrey.z@...> wrote:

For a novice to NXP Freescale builds, what setup would you recommend as a basic test Yocto build for a Wandboard IMX6 dual lite system in order to test the performance of the hardware video processing system using gstreamer*imx (VPU etc) ?
Since I do not have any of the i.MX6 HW and unaware of the state of
VPU support - I can only speak from distro perspective. Anyone who
posses the HW can clarify points from machine perspective here.
Yes, imx6 is well supported in mainline kernels including VPU support.

Please note that with the mainline kernel, you should use the standard
gstreamer packages, not the gstreamer-imx ones.

The gstreamer-imx packages are meant to be used only with NXP kernels.

Regards,

Fabio Estevam


Terry Barnaby
 

On 25/02/2021 11:21, Otavio Salvador wrote:
Em qui., 25 de fev. de 2021 às 06:53, Terry Barnaby
<terry@...> escreveu:
From what I am seeing I will have to use a NXP fsl-* based distribution
to support the imx hardware video processing features. I have built such
a distro with both linux-fslc-imx and limux-imx kernels (I think!) for
the Wandboard, which boots and runs but the HDMI display was not
functional. I will persevere looking at that.
No, you don't. You can use linux-fslc (mainline) and fslc-* distros as
i.MX6 has full mainline support. At O.S. Systems we have been using
Linux mainline with many customers with great success.
Thanks for the info, I must be getting something wrong then.

If I do, what I think is a standard http://freescale.github.io dunfell build, using "MACHINE ??= 'wandboard'", "DISTRO ?= 'fslc-x11'" and add IMAGE_INSTALL_append=" gstreamer1.0-plugins-imx" to get the gstreamer plugs for the imx video processing hardware support built (they are not there by default, this uses linux-fslc), I get an error:

ERROR: Nothing RPROVIDES 'gstreamer1.0-plugins-imx' (but /datal3/DartSystems/ds200i-system/fsl-community-bsp/sources/meta-freescale-distro/recipes-fsl/images/fsl-image-multimedia-full.bb RDEPENDS on or otherwise requires it)
gstreamer1.0-plugins-imx was skipped: incompatible with machine wandboard (not in COMPATIBLE_MACHINE)

If I use an IMX_DEFAULT_BSP="nxp" based build the gstreamer1.0-plugins-imx gets built. So what am i doing wrong ?


Terry Barnaby
 

On 25/02/2021 11:47, Fabio Estevam wrote:
Hi Terry,

On Thu, Feb 25, 2021 at 6:29 AM Andrey Zhizhikin <andrey.z@...> wrote:

For a novice to NXP Freescale builds, what setup would you recommend as a basic test Yocto build for a Wandboard IMX6 dual lite system in order to test the performance of the hardware video processing system using gstreamer*imx (VPU etc) ?
Since I do not have any of the i.MX6 HW and unaware of the state of
VPU support - I can only speak from distro perspective. Anyone who
posses the HW can clarify points from machine perspective here.
Yes, imx6 is well supported in mainline kernels including VPU support.

Please note that with the mainline kernel, you should use the standard
gstreamer packages, not the gstreamer-imx ones.

The gstreamer-imx packages are meant to be used only with NXP kernels.

Regards,

Fabio Estevam
Many thanks for that info, from Internet info it looked like the gstreamer-imx package and associated lower libraries/drivers were needed, I will try another build, the gstreamer video hardware support wasn't there (as reported by gst-inspect-1.0) when I tried, maybe I got lost in a tangle of distro, kernel and bitbake targets.

Terry


Fabio Estevam
 

On Thu, Feb 25, 2021 at 8:58 AM Terry Barnaby <terry@...> wrote:

Many thanks for that info, from Internet info it looked like the
gstreamer-imx package and associated lower libraries/drivers were
needed, I will try another build, the gstreamer video hardware support
wasn't there (as reported by gst-inspect-1.0) when I tried, maybe I got
lost in a tangle of distro, kernel and bitbake targets.
The v4l2dec/enc plugins only show up if the VPU driver were successfully loaded.

Make sure that the VPU (coda) driver is being loaded correctly with
the associated firmware.

After that, these v4l2dec/enc plugins should be reported by gst-inspect.


Bas Mevissen
 

On 2021-02-25 12:21, Otavio Salvador wrote:
Em qui., 25 de fev. de 2021 às 06:53, Terry Barnaby
<terry@...> escreveu:
From what I am seeing I will have to use a NXP fsl-* based distribution
to support the imx hardware video processing features. I have built such
a distro with both linux-fslc-imx and limux-imx kernels (I think!) for
the Wandboard, which boots and runs but the HDMI display was not
functional. I will persevere looking at that.
No, you don't. You can use linux-fslc (mainline) and fslc-* distros as
i.MX6 has full mainline support. At O.S. Systems we have been using
Linux mainline with many customers with great success.
Wouldn't make sense to first evaluate the performance of the platform (as Terry plans to do) first on an NXP fsl-* distro? In that case one can get direct support from NXP if required. After that, derive your own distro from fslc-*.

BTW Would kernel.org stable kernel work as well on i.MX6 if you need graphics and video? I used it successfully for headless IOT applications.

Bas.


Andrey Zhizhikin
 

On Thu, Feb 25, 2021 at 12:50 PM Terry Barnaby <terry@...> wrote:

On 25/02/2021 11:21, Otavio Salvador wrote:
Em qui., 25 de fev. de 2021 às 06:53, Terry Barnaby
<terry@...> escreveu:
From what I am seeing I will have to use a NXP fsl-* based distribution
to support the imx hardware video processing features. I have built such
a distro with both linux-fslc-imx and limux-imx kernels (I think!) for
the Wandboard, which boots and runs but the HDMI display was not
functional. I will persevere looking at that.
No, you don't. You can use linux-fslc (mainline) and fslc-* distros as
i.MX6 has full mainline support. At O.S. Systems we have been using
Linux mainline with many customers with great success.
Thanks for the info, I must be getting something wrong then.

If I do, what I think is a standard http://freescale.github.io dunfell
build, using "MACHINE ??= 'wandboard'", "DISTRO ?= 'fslc-x11'" and add
IMAGE_INSTALL_append=" gstreamer1.0-plugins-imx" to get the gstreamer
plugs for the imx video processing hardware support built (they are not
there by default, this uses linux-fslc), I get an error:

ERROR: Nothing RPROVIDES 'gstreamer1.0-plugins-imx' (but
/datal3/DartSystems/ds200i-system/fsl-community-bsp/sources/meta-freescale-distro/recipes-fsl/images/fsl-image-multimedia-full.bb
RDEPENDS on or otherwise requires it)
gstreamer1.0-plugins-imx was skipped: incompatible with machine
wandboard (not in COMPATIBLE_MACHINE)
This is expected, and actually follows to what I previously said:
gstreamer1.0-plugins-imx package is not compatible with Community BSP
(chosen by setting IMX_DEFAULT_BSP="mainline").

As Fabio already indicated, gstreamer1.0-plugins-imx should be used
**only** with NXP-based BSP (selected by setting
IMX_DEFAULT_BSP="nxp") as it requires the NXP-specific modifications
in the kernel, which are not upstreamed (and probably would not be).


If I use an IMX_DEFAULT_BSP="nxp" based build the
gstreamer1.0-plugins-imx gets built. So what am i doing wrong ?
This is also expected behavior. Once opted for NXP-based BSP - package
compatibility becomes valid, hence it can be built and installed.

So in a sense - you're not doing anything wrong here. You're changing
the BSP flavor from Community to NXP-based one.

--
Regards,
Andrey.


Andrey Zhizhikin
 

Hello Bas,

On Thu, Feb 25, 2021 at 1:18 PM Bas Mevissen <abuse@...> wrote:

On 2021-02-25 12:21, Otavio Salvador wrote:
Em qui., 25 de fev. de 2021 às 06:53, Terry Barnaby
<terry@...> escreveu:
From what I am seeing I will have to use a NXP fsl-* based
distribution
to support the imx hardware video processing features. I have built
such
a distro with both linux-fslc-imx and limux-imx kernels (I think!) for
the Wandboard, which boots and runs but the HDMI display was not
functional. I will persevere looking at that.
No, you don't. You can use linux-fslc (mainline) and fslc-* distros as
i.MX6 has full mainline support. At O.S. Systems we have been using
Linux mainline with many customers with great success.
Wouldn't make sense to first evaluate the performance of the platform
(as Terry plans to do) first on an NXP fsl-* distro? In that case one
can get direct support from NXP if required. After that, derive your own
distro from fslc-*.
This might not be quite indicative, as the NXP kernel might have some
"shortcuts" to boost performance in certain areas, sacrificing
conformance of the source code.

You might experience the situation that video performs quite well, but
then after opting for NXP kernel - you might find that some other
areas are not working as expected (some other domains). This would put
you in a situation that you've already committed to choose and deploy
the NXP-based BSP and would leave you to solve the issues in those
domains on your own efforts.

This is my pure speculation here, so take it with a grain of salt though. :)

IMHO, this should be considered and before the final product receives
commitment to use either of BSP flavors - all areas should be
validated, not only the performance aspects of Multimedia domain.


BTW Would kernel.org stable kernel work as well on i.MX6 if you need
graphics and video? I used it successfully for headless IOT
applications.
As Fabio already indicated - this is possible.


Bas.
--
Regards,
Andrey.


Bas Mevissen
 

On 2021-02-25 13:32, Andrey Zhizhikin wrote:
Hello Bas,
On Thu, Feb 25, 2021 at 1:18 PM Bas Mevissen <abuse@...> wrote:
On 2021-02-25 12:21, Otavio Salvador wrote:
Em qui., 25 de fev. de 2021 às 06:53, Terry Barnaby
<terry@...> escreveu:
From what I am seeing I will have to use a NXP fsl-* based
distribution
to support the imx hardware video processing features. I have built
such
a distro with both linux-fslc-imx and limux-imx kernels (I think!) for
the Wandboard, which boots and runs but the HDMI display was not
functional. I will persevere looking at that.
No, you don't. You can use linux-fslc (mainline) and fslc-* distros as
i.MX6 has full mainline support. At O.S. Systems we have been using
Linux mainline with many customers with great success.
Wouldn't make sense to first evaluate the performance of the platform
(as Terry plans to do) first on an NXP fsl-* distro? In that case one
can get direct support from NXP if required. After that, derive your own
distro from fslc-*.
This might not be quite indicative, as the NXP kernel might have some
"shortcuts" to boost performance in certain areas, sacrificing
conformance of the source code.
At least you get an idea of what the HW platform can do.

You might experience the situation that video performs quite well, but
then after opting for NXP kernel - you might find that some other
areas are not working as expected (some other domains). This would put
you in a situation that you've already committed to choose and deploy
the NXP-based BSP and would leave you to solve the issues in those
domains on your own efforts.
This is my pure speculation here, so take it with a grain of salt though. :)
IMHO, you should never base your *product* on FSL. It is (at least, that is what was told me by (then) Freescale field engineers) only there to demonstrate the platform. Maybe that has changed over time.

When there is a huge performance difference between fsl and fslc, it needs to be resolved.

IMHO, this should be considered and before the final product receives
commitment to use either of BSP flavors - all areas should be
validated, not only the performance aspects of Multimedia domain.
Yes, when you have decided on the hardware to use. If you are evaluating the hardware to see whether it meets your requirements, you might want to take the option that gives you the best impression of the performance that can be achieved without too much of a hassle.
(it is an important step to do, at a stage of the development where time is usually very limited, so you want a quick but reliable result).

BTW Would kernel.org stable kernel work as well on i.MX6 if you need
graphics and video? I used it successfully for headless IOT
applications.
As Fabio already indicated - this is possible.
Fabio said "mainline". I'm not sure whether meant linux-fslc (as Otavio used it) or kernel.org.
So I wanted to check that.

Bas.
--
Regards,
Andrey.


Fabio Estevam
 

Hi Bas,

On Thu, Feb 25, 2021 at 9:55 AM Bas Mevissen <abuse@...> wrote:

Fabio said "mainline". I'm not sure whether meant linux-fslc (as Otavio
used it) or kernel.org.
So I wanted to check that.
imx6 has decent graphics support in the mainline kernel via the
Etnaviv driver. Userspace is standard Mesa, with no binary blobs
involved.
VPU is supported by the coda driver and the standard Gstreamer packages.

By mainline, I do mean a "kernel.org" based kernel.

linux-fslc uses the stable tree from "kernel.org" as the base and add
additional patch on top.

Hope that clarifies things.

Cheers


Andrey Zhizhikin
 

On Thu, Feb 25, 2021 at 1:55 PM Bas Mevissen <abuse@...> wrote:

On 2021-02-25 13:32, Andrey Zhizhikin wrote:
Hello Bas,

On Thu, Feb 25, 2021 at 1:18 PM Bas Mevissen <abuse@...>
wrote:

On 2021-02-25 12:21, Otavio Salvador wrote:
Em qui., 25 de fev. de 2021 às 06:53, Terry Barnaby
<terry@...> escreveu:
From what I am seeing I will have to use a NXP fsl-* based
distribution
to support the imx hardware video processing features. I have built
such
a distro with both linux-fslc-imx and limux-imx kernels (I think!) for
the Wandboard, which boots and runs but the HDMI display was not
functional. I will persevere looking at that.
No, you don't. You can use linux-fslc (mainline) and fslc-* distros as
i.MX6 has full mainline support. At O.S. Systems we have been using
Linux mainline with many customers with great success.
Wouldn't make sense to first evaluate the performance of the platform
(as Terry plans to do) first on an NXP fsl-* distro? In that case one
can get direct support from NXP if required. After that, derive your
own
distro from fslc-*.
This might not be quite indicative, as the NXP kernel might have some
"shortcuts" to boost performance in certain areas, sacrificing
conformance of the source code.
At least you get an idea of what the HW platform can do.

You might experience the situation that video performs quite well, but
then after opting for NXP kernel - you might find that some other
areas are not working as expected (some other domains). This would put
you in a situation that you've already committed to choose and deploy
the NXP-based BSP and would leave you to solve the issues in those
domains on your own efforts.

This is my pure speculation here, so take it with a grain of salt
though. :)
IMHO, you should never base your *product* on FSL. It is (at least, that
is what was told me by (then) Freescale field engineers) only there to
demonstrate the platform. Maybe that has changed over time.
That is exactly what I implied, below statement is about that.


When there is a huge performance difference between fsl and fslc, it
needs to be resolved.
By whom? This would lead to a situation that community does not take
responsibility for NXP and visa-versa. In this case - I have a bad
feeling that the engineering team in the company that decided to use
one flavor or another would be dealing with this fact. And this is
what I've also described as potential outcome.


IMHO, this should be considered and before the final product receives
commitment to use either of BSP flavors - all areas should be
validated, not only the performance aspects of Multimedia domain.
Yes, when you have decided on the hardware to use. If you are evaluating
the hardware to see whether it meets your requirements, you might want
to take the option that gives you the best impression of the performance
that can be achieved without too much of a hassle.
(it is an important step to do, at a stage of the development where time
is usually very limited, so you want a quick but reliable result).
Correct, fully agree here.



BTW Would kernel.org stable kernel work as well on i.MX6 if you need
graphics and video? I used it successfully for headless IOT
applications.
As Fabio already indicated - this is possible.
Fabio said "mainline". I'm not sure whether meant linux-fslc (as Otavio
used it) or kernel.org.
In this sense, linux-fslc *is* de-facto the kernel provided from
kernel.org. It has a handful of patched that are not in upstream:

$ git log --no-merges --oneline stable-git/linux-5.10.y..5.10.x+fslc
2b929f3dcf6c media: coda: Change firmware probing order
dacfb877023a ARM: imx: add smp support for imx7d
10c7ebc67e34 drivers, misc: add U-Boot bootcount driver
67ea92db430f fec: Add disable_giga parameter to force 10/100 operation
bc552ba32d60 MA-7633-2 [Android-Reboot]reboot to fastboot\recovery mode
695186a85a0d ARM: imx: add cpu_is_imx6() routine

So I wanted to check that.


Bas.
--
Regards,
Andrey.

--
Regards,
Andrey.


Bas Mevissen
 

On 2021-02-25 14:01, Fabio Estevam wrote:
Hi Bas,
On Thu, Feb 25, 2021 at 9:55 AM Bas Mevissen <abuse@...> wrote:

Fabio said "mainline". I'm not sure whether meant linux-fslc (as Otavio
used it) or kernel.org.
So I wanted to check that.
imx6 has decent graphics support in the mainline kernel via the
Etnaviv driver. Userspace is standard Mesa, with no binary blobs
involved.
VPU is supported by the coda driver and the standard Gstreamer packages.
By mainline, I do mean a "kernel.org" based kernel.
linux-fslc uses the stable tree from "kernel.org" as the base and add
additional patch on top.
Ah yes, I see. Linux-fslc is now really up to date with kernel.org. I recall (from 2017 era) that that was different. Maybe I'm wrong about that.

Hope that clarifies things.
Yes, thanks for the explanation.

Bas.


Bas Mevissen
 

On 2021-02-25 14:04, Andrey Zhizhikin wrote:
On Thu, Feb 25, 2021 at 1:55 PM Bas Mevissen <abuse@...> wrote:
On 2021-02-25 13:32, Andrey Zhizhikin wrote:
Hello Bas,

On Thu, Feb 25, 2021 at 1:18 PM Bas Mevissen <abuse@...>
wrote:

On 2021-02-25 12:21, Otavio Salvador wrote:
Em qui., 25 de fev. de 2021 às 06:53, Terry Barnaby
<terry@...> escreveu:
From what I am seeing I will have to use a NXP fsl-* based
distribution
to support the imx hardware video processing features. I have built
such
a distro with both linux-fslc-imx and limux-imx kernels (I think!) for
the Wandboard, which boots and runs but the HDMI display was not
functional. I will persevere looking at that.
No, you don't. You can use linux-fslc (mainline) and fslc-* distros as
i.MX6 has full mainline support. At O.S. Systems we have been using
Linux mainline with many customers with great success.
Wouldn't make sense to first evaluate the performance of the platform
(as Terry plans to do) first on an NXP fsl-* distro? In that case one
can get direct support from NXP if required. After that, derive your
own
distro from fslc-*.
This might not be quite indicative, as the NXP kernel might have some
"shortcuts" to boost performance in certain areas, sacrificing
conformance of the source code.
At least you get an idea of what the HW platform can do.

You might experience the situation that video performs quite well, but
then after opting for NXP kernel - you might find that some other
areas are not working as expected (some other domains). This would put
you in a situation that you've already committed to choose and deploy
the NXP-based BSP and would leave you to solve the issues in those
domains on your own efforts.

This is my pure speculation here, so take it with a grain of salt
though. :)
IMHO, you should never base your *product* on FSL. It is (at least, that
is what was told me by (then) Freescale field engineers) only there to
demonstrate the platform. Maybe that has changed over time.
That is exactly what I implied, below statement is about that.
Ok, I missed that obviously.

When there is a huge performance difference between fsl and fslc, it
needs to be resolved.
By whom? This would lead to a situation that community does not take
responsibility for NXP and visa-versa. In this case - I have a bad
feeling that the engineering team in the company that decided to use
one flavor or another would be dealing with this fact. And this is
what I've also described as potential outcome.
It is actually that interaction between the community and NXP that has brought i.MX support at the level it has. So if a performance problem might pop up, it is that same combination that can and will work together to get it resolved. It is to the company/person who found the issue to bring it up (here) and not to resolve it as that requires capabilities that are not so widespread.


IMHO, this should be considered and before the final product receives
commitment to use either of BSP flavors - all areas should be
validated, not only the performance aspects of Multimedia domain.
Yes, when you have decided on the hardware to use. If you are evaluating
the hardware to see whether it meets your requirements, you might want
to take the option that gives you the best impression of the performance
that can be achieved without too much of a hassle.
(it is an important step to do, at a stage of the development where time
is usually very limited, so you want a quick but reliable result).
Correct, fully agree here.



BTW Would kernel.org stable kernel work as well on i.MX6 if you need
graphics and video? I used it successfully for headless IOT
applications.
As Fabio already indicated - this is possible.
Fabio said "mainline". I'm not sure whether meant linux-fslc (as Otavio
used it) or kernel.org.
In this sense, linux-fslc *is* de-facto the kernel provided from
kernel.org. It has a handful of patched that are not in upstream:
$ git log --no-merges --oneline stable-git/linux-5.10.y..5.10.x+fslc
2b929f3dcf6c media: coda: Change firmware probing order
dacfb877023a ARM: imx: add smp support for imx7d
10c7ebc67e34 drivers, misc: add U-Boot bootcount driver
67ea92db430f fec: Add disable_giga parameter to force 10/100 operation
bc552ba32d60 MA-7633-2 [Android-Reboot]reboot to fastboot\recovery mode
695186a85a0d ARM: imx: add cpu_is_imx6() routine

So I wanted to check that.
And that worked out brilliantly :-)
(thanks, see my response to Fabio on the same subject as well)


Bas.
--
Regards,
Andrey.

--
Regards,
Andrey.
Regards,

Bas.


Andrey Zhizhikin
 

On Thu, Feb 25, 2021 at 2:22 PM Bas Mevissen <abuse@...> wrote:

On 2021-02-25 14:04, Andrey Zhizhikin wrote:
On Thu, Feb 25, 2021 at 1:55 PM Bas Mevissen <abuse@...>
wrote:

On 2021-02-25 13:32, Andrey Zhizhikin wrote:
Hello Bas,

On Thu, Feb 25, 2021 at 1:18 PM Bas Mevissen <abuse@...>
wrote:

On 2021-02-25 12:21, Otavio Salvador wrote:
Em qui., 25 de fev. de 2021 às 06:53, Terry Barnaby
<terry@...> escreveu:
From what I am seeing I will have to use a NXP fsl-* based
distribution
to support the imx hardware video processing features. I have built
such
a distro with both linux-fslc-imx and limux-imx kernels (I think!) for
the Wandboard, which boots and runs but the HDMI display was not
functional. I will persevere looking at that.
No, you don't. You can use linux-fslc (mainline) and fslc-* distros as
i.MX6 has full mainline support. At O.S. Systems we have been using
Linux mainline with many customers with great success.
Wouldn't make sense to first evaluate the performance of the platform
(as Terry plans to do) first on an NXP fsl-* distro? In that case one
can get direct support from NXP if required. After that, derive your
own
distro from fslc-*.
This might not be quite indicative, as the NXP kernel might have some
"shortcuts" to boost performance in certain areas, sacrificing
conformance of the source code.
At least you get an idea of what the HW platform can do.

You might experience the situation that video performs quite well, but
then after opting for NXP kernel - you might find that some other
areas are not working as expected (some other domains). This would put
you in a situation that you've already committed to choose and deploy
the NXP-based BSP and would leave you to solve the issues in those
domains on your own efforts.

This is my pure speculation here, so take it with a grain of salt
though. :)
IMHO, you should never base your *product* on FSL. It is (at least,
that
is what was told me by (then) Freescale field engineers) only there to
demonstrate the platform. Maybe that has changed over time.
That is exactly what I implied, below statement is about that.
Ok, I missed that obviously.


When there is a huge performance difference between fsl and fslc, it
needs to be resolved.
By whom? This would lead to a situation that community does not take
responsibility for NXP and visa-versa. In this case - I have a bad
feeling that the engineering team in the company that decided to use
one flavor or another would be dealing with this fact. And this is
what I've also described as potential outcome.
It is actually that interaction between the community and NXP that has
brought i.MX support at the level it has. So if a performance problem
might pop up, it is that same combination that can and will work
together to get it resolved. It is to the company/person who found the
issue to bring it up (here) and not to resolve it as that requires
capabilities that are not so widespread.
In ideal situation - that would be a way to go. But in this case I
would expect that all patches that are present in NXP kernel tree are
posted upstream, so there would be no deviation and hence - no
performance differences between NXP and upstream kernels.

Of course, the problem when found - can be reported, but (a) I do not
believe that this list is a proper destination for such issues, as it
discuss the OE and not kernel-specific performance issues; and (b)
regressions can come from any side (NXP or upstream), which makes it
harder to bisect which side to be looked at.

I'm not saying that this is an impossible thing to solve, but in
reality the vast majority of efforts to solve those issues are landing
up at the side of those persons who've discovered them in the first
place.

This is all my point of view on the subject, and might deviate on a
case-by-case basis.



IMHO, this should be considered and before the final product receives
commitment to use either of BSP flavors - all areas should be
validated, not only the performance aspects of Multimedia domain.
Yes, when you have decided on the hardware to use. If you are
evaluating
the hardware to see whether it meets your requirements, you might want
to take the option that gives you the best impression of the
performance
that can be achieved without too much of a hassle.
(it is an important step to do, at a stage of the development where
time
is usually very limited, so you want a quick but reliable result).
Correct, fully agree here.



BTW Would kernel.org stable kernel work as well on i.MX6 if you need
graphics and video? I used it successfully for headless IOT
applications.
As Fabio already indicated - this is possible.
Fabio said "mainline". I'm not sure whether meant linux-fslc (as
Otavio
used it) or kernel.org.
In this sense, linux-fslc *is* de-facto the kernel provided from
kernel.org. It has a handful of patched that are not in upstream:

$ git log --no-merges --oneline stable-git/linux-5.10.y..5.10.x+fslc
2b929f3dcf6c media: coda: Change firmware probing order
dacfb877023a ARM: imx: add smp support for imx7d
10c7ebc67e34 drivers, misc: add U-Boot bootcount driver
67ea92db430f fec: Add disable_giga parameter to force 10/100 operation
bc552ba32d60 MA-7633-2 [Android-Reboot]reboot to fastboot\recovery mode
695186a85a0d ARM: imx: add cpu_is_imx6() routine

So I wanted to check that.
And that worked out brilliantly :-)
(thanks, see my response to Fabio on the same subject as well)


Bas.
--
Regards,
Andrey.

--
Regards,
Andrey.
Regards,

Bas.


--
Regards,
Andrey.


Константин Еременок
 

Hi, there.
I see here a lot of specialists. Some qestions. 
1. What kernel (community or non-community) would you take for your own board (not NXP, not O.S.)?
2. I took the branch origin/imx_4.14.98_2.0.0_ga. Is it a community supported branch? 

чт, 25 февр. 2021 г. в 17:00, Andrey Zhizhikin <andrey.z@...>:

On Thu, Feb 25, 2021 at 2:22 PM Bas Mevissen <abuse@...> wrote:
>
> On 2021-02-25 14:04, Andrey Zhizhikin wrote:
> > On Thu, Feb 25, 2021 at 1:55 PM Bas Mevissen <abuse@...>
> > wrote:
> >>
> >> On 2021-02-25 13:32, Andrey Zhizhikin wrote:
> >> > Hello Bas,
> >> >
> >> > On Thu, Feb 25, 2021 at 1:18 PM Bas Mevissen <abuse@...>
> >> > wrote:
> >> >>
> >> >> On 2021-02-25 12:21, Otavio Salvador wrote:
> >> >> > Em qui., 25 de fev. de 2021 às 06:53, Terry Barnaby
> >> >> > <terry@...> escreveu:
> >> >> >>  From what I am seeing I will have to use a NXP fsl-* based
> >> >> >> distribution
> >> >> >> to support the imx hardware video processing features. I have built
> >> >> >> such
> >> >> >> a distro with both linux-fslc-imx and limux-imx kernels (I think!) for
> >> >> >> the Wandboard, which boots and runs but the HDMI display was not
> >> >> >> functional. I will persevere looking at that.
> >> >> >
> >> >> > No, you don't. You can use linux-fslc (mainline) and fslc-* distros as
> >> >> > i.MX6 has full mainline support. At O.S. Systems we have been using
> >> >> > Linux mainline with many customers with great success.
> >> >> >
> >> >>
> >> >> Wouldn't make sense to first evaluate the performance of the platform
> >> >> (as Terry plans to do) first on an NXP fsl-* distro? In that case one
> >> >> can get direct support from NXP if required. After that, derive your
> >> >> own
> >> >> distro from fslc-*.
> >> >
> >> > This might not be quite indicative, as the NXP kernel might have some
> >> > "shortcuts" to boost performance in certain areas, sacrificing
> >> > conformance of the source code.
> >> >
> >>
> >> At least you get an idea of what the HW platform can do.
> >>
> >> > You might experience the situation that video performs quite well, but
> >> > then after opting for NXP kernel - you might find that some other
> >> > areas are not working as expected (some other domains). This would put
> >> > you in a situation that you've already committed to choose and deploy
> >> > the NXP-based BSP and would leave you to solve the issues in those
> >> > domains on your own efforts.
> >> >
> >> > This is my pure speculation here, so take it with a grain of salt
> >> > though. :)
> >> >
> >> IMHO, you should never base your *product* on FSL. It is (at least,
> >> that
> >> is what was told me by (then) Freescale field engineers) only there to
> >> demonstrate the platform. Maybe that has changed over time.
> >
> > That is exactly what I implied, below statement is about that.
> >
> Ok, I missed that obviously.
>
> >>
> >> When there is a huge performance difference between fsl and fslc, it
> >> needs to be resolved.
> >
> > By whom? This would lead to a situation that community does not take
> > responsibility for NXP and visa-versa. In this case - I have a bad
> > feeling that the engineering team in the company that decided to use
> > one flavor or another would be dealing with this fact. And this is
> > what I've also described as potential outcome.
> >
>
> It is actually that interaction between the community and NXP that has
> brought i.MX support at the level it has. So if a performance problem
> might pop up, it is that same combination that can and will work
> together to get it resolved. It is to the company/person who found the
> issue to bring it up (here) and not to resolve it as that requires
> capabilities that are not so widespread.

In ideal situation - that would be a way to go. But in this case I
would expect that all patches that are present in NXP kernel tree are
posted upstream, so there would be no deviation and hence - no
performance differences between NXP and upstream kernels.

Of course, the problem when found - can be reported, but (a) I do not
believe that this list is a proper destination for such issues, as it
discuss the OE and not kernel-specific performance issues; and (b)
regressions can come from any side (NXP or upstream), which makes it
harder to bisect which side to be looked at.

I'm not saying that this is an impossible thing to solve, but in
reality the vast majority of efforts to solve those issues are landing
up at the side of those persons who've discovered them in the first
place.

This is all my point of view on the subject, and might deviate on a
case-by-case basis.

>
> >>
> >> > IMHO, this should be considered and before the final product receives
> >> > commitment to use either of BSP flavors - all areas should be
> >> > validated, not only the performance aspects of Multimedia domain.
> >> >
> >>
> >> Yes, when you have decided on the hardware to use. If you are
> >> evaluating
> >> the hardware to see whether it meets your requirements, you might want
> >> to take the option that gives you the best impression of the
> >> performance
> >> that can be achieved without too much of a hassle.
> >> (it is an important step to do, at a stage of the development where
> >> time
> >> is usually very limited, so you want a quick but reliable result).
> >
> > Correct, fully agree here.
> >
> >>
> >> >>
> >> >> BTW Would kernel.org stable kernel work as well on i.MX6 if you need
> >> >> graphics and video? I used it successfully for headless IOT
> >> >> applications.
> >> >
> >> > As Fabio already indicated - this is possible.
> >> >
> >>
> >> Fabio said "mainline". I'm not sure whether meant linux-fslc (as
> >> Otavio
> >> used it) or kernel.org.
> >
> > In this sense, linux-fslc *is* de-facto the kernel provided from
> > kernel.org. It has a handful of patched that are not in upstream:
> >
> > $ git log --no-merges --oneline stable-git/linux-5.10.y..5.10.x+fslc
> > 2b929f3dcf6c media: coda: Change firmware probing order
> > dacfb877023a ARM: imx: add smp support for imx7d
> > 10c7ebc67e34 drivers, misc: add U-Boot bootcount driver
> > 67ea92db430f fec: Add disable_giga parameter to force 10/100 operation
> > bc552ba32d60 MA-7633-2 [Android-Reboot]reboot to fastboot\recovery mode
> > 695186a85a0d ARM: imx: add cpu_is_imx6() routine
> >
> >> So I wanted to check that.
> >>
> And that worked out brilliantly :-)
> (thanks, see my response to Fabio on the same subject as well)
>
> >> >>
> >> >> Bas.
> >> >>
> >> >
> >> > --
> >> > Regards,
> >> > Andrey.
> >> >
> >> >
> >
> > --
> > Regards,
> > Andrey.
>
> Regards,
>
> Bas.



--
Regards,
Andrey.