Skip to content

Add chromium support#307

Open
Ashwin Prabhakar (Ashwin-Prabhakar) wants to merge 3 commits into
qualcomm-linux:mainfrom
Ashwin-Prabhakar:add-chromium-support
Open

Add chromium support#307
Ashwin Prabhakar (Ashwin-Prabhakar) wants to merge 3 commits into
qualcomm-linux:mainfrom
Ashwin-Prabhakar:add-chromium-support

Conversation

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor

Include the chromium-ozone-wayland package in the qcom-multimedia-image.

Comment thread recipes-browser/chromium/chromium-ozone-wayland_%.bbappend Outdated
Comment thread recipes-browser/chromium/chromium-ozone-wayland_%.bbappend Outdated
Comment thread recipes-products/images/qcom-multimedia-image.bb Outdated
Comment thread recipes-browser/chromium/chromium-ozone-wayland_%.bbappend Outdated
Comment thread recipes-browser/chromium/chromium-ozone-wayland_%.bbappend Outdated
@ricardosalveti

Copy link
Copy Markdown
Contributor

We need to evaluate the build impact this will have with the multimedia image, to decide if we indeed want to push this as the default image for our users (that is the case atm).

I'm not against including this in qcom-distro, but we might need a different image target for this that is not built by default by the qcom-distro.yml.

Comment thread ci/qcom-distro.yml Outdated
@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

We need to evaluate the build impact this will have with the multimedia image, to decide if we indeed want to push this as the default image for our users (that is the case atm).

I'm not against including this in qcom-distro, but we might need a different image target for this that is not built by default by the qcom-distro.yml.

I can create a qcom-distro-demo.yml and create a qcom-multimedia-demo-image and include chromium there. If this can help.

Comment thread ci/qcom-distro.yml Outdated
Comment thread ci/qcom-distro.yml Outdated
@lumag

Copy link
Copy Markdown
Contributor

We need to evaluate the build impact this will have with the multimedia image, to decide if we indeed want to push this as the default image for our users (that is the case atm).
I'm not against including this in qcom-distro, but we might need a different image target for this that is not built by default by the qcom-distro.yml.

I can create a qcom-distro-demo.yml and create a qcom-multimedia-demo-image and include chromium there. If this can help.

Please don't jump to the conclusion before evaluating. Meanwhile, what is the impact of this change? How long does it take to build chromium in your case? How much memory and disk space is required for the build?

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

We need to evaluate the build impact this will have with the multimedia image, to decide if we indeed want to push this as the default image for our users (that is the case atm).
I'm not against including this in qcom-distro, but we might need a different image target for this that is not built by default by the qcom-distro.yml.

I can create a qcom-distro-demo.yml and create a qcom-multimedia-demo-image and include chromium there. If this can help.

Please don't jump to the conclusion before evaluating. Meanwhile, what is the impact of this change? How long does it take to build chromium in your case? How much memory and disk space is required for the build?

This took me 6 hours on a 8 core 16 thread laptop. I am not sure what would be the impact on the servers though.

@lumag

Copy link
Copy Markdown
Contributor

This took me 6 hours on a 8 core 16 thread laptop. I am not sure what would be the impact on the servers though.

That's definitely too much to be enabled by default.

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

This took me 6 hours on a 8 core 16 thread laptop. I am not sure what would be the impact on the servers though.

That's definitely too much to be enabled by default.

Then what would you suggest ?

@lumag

Copy link
Copy Markdown
Contributor

This took me 6 hours on a 8 core 16 thread laptop. I am not sure what would be the impact on the servers though.

That's definitely too much to be enabled by default.

Then what would you suggest ?

That depends on the reasons we have to enable chromium here.

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

This took me 6 hours on a 8 core 16 thread laptop. I am not sure what would be the impact on the servers though.

That's definitely too much to be enabled by default.

Then what would you suggest ?

That depends on the reasons we have to enable chromium here.

Chromium is required in HMI systems because modern HMIs are increasingly web-based. It allows operators to monitor and control machines through graphical dashboards displayed in a browser environment.

@lumag

Copy link
Copy Markdown
Contributor

The 'HMI' usecase doesn't sound like the qcom-multimedia-image. Moreover, it sounds like being a part of the default image at all. It sounds like a requirement for a specific customer, which will have its own image, etc.

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

The 'HMI' usecase doesn't sound like the qcom-multimedia-image. Moreover, it sounds like being a part of the default image at all. It sounds like a requirement for a specific customer, which will have its own image, etc.

This is also true. But otherwise how would we demonstrate webgl capabilities on the SOC which clearly relies on the GPU and falls under multimedia capabilities. I am okay either way to create a separate demo image as previously suggested if that helps.

@ndechesne

Copy link
Copy Markdown
Contributor

i have never used this recipe. What does it give us? A real/full browser like on a regular desktop? or is it more of a 'kiosk' style application?

given the heavy build requirements, having a qcom-chromium-browser image might be an option. though we need to make sure it's excluded from the world build by default, and we need to decide how often we want to build it.

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

i have never used this recipe. What does it give us? A real/full browser like on a regular desktop? or is it more of a 'kiosk' style application?

given the heavy build requirements, having a qcom-chromium-browser image might be an option. though we need to make sure it's excluded from the world build by default, and we need to decide how often we want to build it.

Nicolas Dechesne (@ndechesne) this will give you both a full blown browser as in Linux chromium style and you can also launch it in kiosk mode in runtime with a --kiosk flag to launch it in kiosk mode. I will take inputs and create a new image recipe if all maintainers agree.

@ricardosalveti

Copy link
Copy Markdown
Contributor

We need to evaluate the build impact this will have with the multimedia image, to decide if we indeed want to push this as the default image for our users (that is the case atm).
I'm not against including this in qcom-distro, but we might need a different image target for this that is not built by default by the qcom-distro.yml.

I can create a qcom-distro-demo.yml and create a qcom-multimedia-demo-image and include chromium there. If this can help.

Yeah, I think a separated image and a separated kas fragment building such image makes more sense, to avoid affecting the experience for the standard user.

I'm fine trying to enable in our CI once we evaluate the impact here, but only for one target, as we don't need a matrix job to validate a generic component like this.

Can you split into a fragment and image and add to our CI build as a separated build combination? Add it to https://github.com/qualcomm-linux/meta-qcom/blob/master/.github/workflows/build-yocto.yml#L402 based on the target that will be more frequently used here.

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

We need to evaluate the build impact this will have with the multimedia image, to decide if we indeed want to push this as the default image for our users (that is the case atm).
I'm not against including this in qcom-distro, but we might need a different image target for this that is not built by default by the qcom-distro.yml.

I can create a qcom-distro-demo.yml and create a qcom-multimedia-demo-image and include chromium there. If this can help.

Yeah, I think a separated image and a separated kas fragment building such image makes more sense, to avoid affecting the experience for the standard user.

I'm fine trying to enable in our CI once we evaluate the impact here, but only for one target, as we don't need a matrix job to validate a generic component like this.

Can you split into a fragment and image and add to our CI build as a separated build combination? Add it to https://github.com/qualcomm-linux/meta-qcom/blob/master/.github/workflows/build-yocto.yml#L402 based on the target that will be more frequently used here.

Taken your feedback onboard and have updated the PR please take a look and provide me some further feedback.

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

Invert the order of the commits, the fragment should be the last one.

I have changed the order of commits.

@lumag

Copy link
Copy Markdown
Contributor

Weekly is fine, we just don't yet have a workflow for it (we only have for nightlys), would have to be defined.

Whatever cadence is selected, it must be enabled in this PR.

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

Weekly is fine, we just don't yet have a workflow for it (we only have for nightlys), would have to be defined.

Whatever cadence is selected, it must be enabled in this PR.

Is there a reference on how this can be done. This could help me to make the expected changes.

@lumag

Copy link
Copy Markdown
Contributor

Is there a reference on how this can be done. This could help me to make the expected changes.

.github/workflows/nightly*

@lumag

Copy link
Copy Markdown
Contributor

And also monthly.

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

Is there a reference on how this can be done. This could help me to make the expected changes.

.github/workflows/nightly*

Dmitry Baryshkov (@lumag) is there a preferred day and time for scheduling the weekly build corn job ?

@ricardosalveti

Copy link
Copy Markdown
Contributor

Is there a reference on how this can be done. This could help me to make the expected changes.

.github/workflows/nightly*

Dmitry Baryshkov (@lumag) is there a preferred day and time for scheduling the weekly build corn job ?

Late saturday or early sunday would be OK.

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

Is there a reference on how this can be done. This could help me to make the expected changes.

.github/workflows/nightly*

Dmitry Baryshkov (@lumag) is there a preferred day and time for scheduling the weekly build corn job ?

Late saturday or early sunday would be OK.

Ricardo Salveti (@ricardosalveti) / Nicolas Dechesne (@ndechesne) Can i create a new weekly profile in build-yocto.yml or do you prefer if I created a new build-yocto-weekly.yml for this ?

@lumag

Copy link
Copy Markdown
Contributor

Ricardo Salveti (@ricardosalveti) / Nicolas Dechesne (@ndechesne) Can i create a new weekly profile in build-yocto.yml or do you prefer if I created a new build-yocto-weekly.yml for this ?

Please create a weekly-build.yml

@ricardosalveti

Copy link
Copy Markdown
Contributor

Yeah, weekly-build.yml is fine.

@Ashwin-Prabhakar

Ashwin Prabhakar (Ashwin-Prabhakar) commented Jun 15, 2026

Copy link
Copy Markdown
Contributor Author

Yeah, weekly-build.yml is fine.

Ricardo Salveti (@ricardosalveti) / Dmitry Baryshkov (@lumag) I have tried to create a workflow as suggested. I am not sure how I can test this. I have kept the corn job times similar to other workflows. I would appreciate if you can have a look.

Comment thread .github/workflows/build-yocto-weekly.yml Outdated
@ricardosalveti

Copy link
Copy Markdown
Contributor

Please rebase your changes to fix the conflicts.

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

Please rebase your changes to fix the conflicts.

fixed the merge conflicts now.

Comment thread recipes-products/images/qcom-multimedia-demo-image.bb Outdated
Comment thread recipes-products/images/qcom-multimedia-demo-image.bb
Comment thread recipes-products/images/qcom-multimedia-demo-proprietary-image.bb
Comment thread .github/workflows/build-yocto.yml
@ricardosalveti

Copy link
Copy Markdown
Contributor

Commit sha: 35c6228, Author: Ashwin Prabhakar, Committer: Ashwin Prabhakar; Expected "Ashwin Prabhakar ashwin.prabhakar@oss.qualcomm.com", but got "Ashwin Prabhakar ashwin.prabhakar@oss.qualcom.com".

Email is incorrect, DCO is failing.

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

Commit sha: 35c6228, Author: Ashwin Prabhakar, Committer: Ashwin Prabhakar; Expected "Ashwin Prabhakar ashwin.prabhakar@oss.qualcomm.com", but got "Ashwin Prabhakar ashwin.prabhakar@oss.qualcom.com".

Email is incorrect, DCO is failing.

Fixed it. Thank you.

@Ashwin-Prabhakar

Copy link
Copy Markdown
Contributor Author

Commit sha: 35c6228, Author: Ashwin Prabhakar, Committer: Ashwin Prabhakar; Expected "Ashwin Prabhakar ashwin.prabhakar@oss.qualcomm.com", but got "Ashwin Prabhakar ashwin.prabhakar@oss.qualcom.com".
Email is incorrect, DCO is failing.

Fixed it. Thank you.

Ricardo Salveti (@ricardosalveti) / Jose Quaresma (@quaresmajose) I have addressed all the concerns raised here.can you please have a look and let me know what you think.

Comment thread recipes-products/images/qcom-multimedia-demo-image.bb Outdated
Include the `chromium-ozone-wayland` package in the image to support
user-space web demonstrations on the Weston Wayland compositor.

Exclude demo image from world build by adding EXCLUDE_FROM_WORLD = "1"
to the image recipe. This image includes Chromium, which is highly
resource-intensive and significantly increases CI/CD pipeline build
times. Setting this variable prevents 'bitbake world' from automatically
building this image during automated regression testing, while still
allowing developers to build the image explicitly when needed.

Signed-off-by: Ashwin Prabhakar <ashwin.prabhakar@oss.qualcomm.com>
Introduce the proprietary variant of the multimedia demo image to
bundle user-space applications with proprietary Qualcomm binaries.

Signed-off-by: Ashwin Prabhakar <ashwin.prabhakar@oss.qualcomm.com>
Integrate `qcom-multimedia-demo-image` and its proprietary variant
into the CI build matrix. This incorporates framework demonstrations
and user-space applications into the automated pipeline.

- Include the `meta-browser` layer to support Chromium-based apps.
- Include `qcom-distro-multimedia-image.yml` configuration.
- Set build targets for both open-source and proprietary demo images.

Signed-off-by: Ashwin Prabhakar <ashwin.prabhakar@oss.qualcomm.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants