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
|
|
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.
|
|
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
|
|
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.
|
|
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
|
|
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.brMobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750
|
|
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
|
|
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 ?
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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@...>:
toggle quoted message
Show quoted text
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.
|
|