Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rockchip-rk3588: Bump edge kernel from 6.10 to 6.11-rc and current from 6.8 to 6.10 #7015

Merged
merged 10 commits into from
Aug 18, 2024

Conversation

efectn
Copy link
Member

@efectn efectn commented Aug 1, 2024

Description

  • Update edge kernel to 6.11
  • Update current kernel to 6.10
  • Add Hantro VPU decoder back (H264 is not enabled)
  • Refresh HDMI TX and RX patches from Collabora tree
  • Disable HDMI-RX on OPi5+ by default and add an overlay in order to avoid interrupts
  • Use green led as heartbeat in Orange Pi 5 Plus
  • Add HDMI & VOP2 to Orange Pi 5 which is likely to have been removed
  • Add bluetooth support to Khadas Edge 2

To Do

  • Crypto, RNG and some other nodes seem to have been removed during rewrites. I will add them back.
  • USB-C doesn't work on both boards as far as i've tested. This needs to be checked. (also not working with 6.10) works but not stable like it was

How Has This Been Tested?

  • Orange Pi 5, Orange Pi 5 Plus and Khadas Edge 2 boots.
  • HDMI works up to 1080p@120fps
  • OPi5+ and OPi5 tested with 6.10 (current kernel)
  • @ColorfulRhino: CM3588 NAS boots 6.11 fine without any visible errors in dmesg
  • Tests with more boards.

Checklist:

Please delete options that are not relevant.

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules

@github-actions github-actions bot added size/large PR with 250 lines or more Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... labels Aug 1, 2024
@timsurber
Copy link

NanoPC CM3588 is now also included in mainline as rk3588-friendlyelec-cm3588-nas.dts, so I think we should use that.

@EvilOlaf
Copy link
Member

EvilOlaf commented Aug 2, 2024

Seems like a v2 hdmitx patches have been sent yesterday.
https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=875715
Not sure if this is already up-tp-date. If they are apologize. Kind a having a hard time to compare pr with mailing list...maybe it is just too early in the morning 😅

@efectn
Copy link
Member Author

efectn commented Aug 2, 2024

Seems like a v2 hdmitx patches have been sent yesterday. https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=875715 Not sure if this is already up-tp-date. If they are apologize. Kind a having a hard time to compare pr with mailing list...maybe it is just too early in the morning 😅

I've also derived them from Cristian's branch it should be up-to-date

@efectn
Copy link
Member Author

efectn commented Aug 2, 2024

NanoPC CM3588 is now also included in mainline as rk3588-friendlyelec-cm3588-nas.dts, so I think we should use that.

I will remove it and add a patch to enable HDMI on CM3588

@ColorfulRhino
Copy link
Collaborator

NanoPC CM3588 is now also included in mainline as rk3588-friendlyelec-cm3588-nas.dts, so I think we should use that.

I will remove it and add a patch to enable HDMI on CM3588

Yes it has been added to mainline 🎉 I'll do this in a separate PR though since CM3588 needs some other new changes as well. I'll update a bunch of stuff :)

Copy link
Collaborator

@ColorfulRhino ColorfulRhino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall: nice, thanks 👍
I've got two comments though:

  1. Let's wait for ~rc3 (1.5 weeksfrom now) or at least rc2 before merging to have the first bugs ironed out.
  2. EOL 6.8 current kernel should be bumped to 6.10 in this PR as well in a way that doesn't destroy git history, since it can just use the 6.10 patches we have now. I can have a look how the optimal approach would be to make git recognize most stuff as movbed or copied instead of deleted/newly added.

@igorpecovnik
Copy link
Member

current kernel should be bumped to 6.10 in this PR as well in a way that doesn't destroy git history, since it can just use the 6.10 patches we have now.

Agree.

@igorpecovnik igorpecovnik added the 11 Milestone: Fourth quarter release label Aug 4, 2024
@EvilOlaf
Copy link
Member

EvilOlaf commented Aug 6, 2024

Builds and boots on 5+
Also bumped to rc2
https://paste.armbian.com/tiquseyopo

@EvilOlaf
Copy link
Member

EvilOlaf commented Aug 8, 2024

@efectn Hm I am confused. For me the green led already had the heartbeat trigger set before this change.

/ot
As for me I actually replaced it with the blue one since the green one is pretty annoying when its dark outside 😁

@EvilOlaf
Copy link
Member

EvilOlaf commented Aug 8, 2024

@igorpecovnik I suggest to late-merge this into 24.08 once ready.

@efectn
Copy link
Member Author

efectn commented Aug 8, 2024

@efectn Hm I am confused. For me the green led already had the heartbeat trigger set before this change.

/ot As for me I actually replaced it with the blue one since the green one is pretty annoying when its dark outside 😁

It's quite strange behavior since default-trigger is not defined for both LEDs; therefore, they both should be off by default. For example, blue LED does not have any default trigger because it's not defined by devicetree or at somewhere else.

@efectn
Copy link
Member Author

efectn commented Aug 10, 2024

Um does this apply for the rock 5b as well?

Yes it does
https://github.com/torvalds/linux/blob/master/arch/arm64/boot/dts/rockchip/rk3588-rock-5b.dts#L61

@EvilOlaf
Copy link
Member

Alright. Something was messed up in my brain. Sorry for the noise. And thanks for your patience.

@ColorfulRhino
Copy link
Collaborator

Overall: nice, thanks 👍 I've got two comments though:

  1. Let's wait for ~rc3 (1.5 weeksfrom now) or at least rc2 before merging to have the first bugs ironed out.

I've just updated it to rc2

  1. EOL 6.8 current kernel should be bumped to 6.10 in this PR as well in a way that doesn't destroy git history, since it can just use the 6.10 patches we have now. I can have a look how the optimal approach would be to make git recognize most stuff as movbed or copied instead of deleted/newly added.

Done

Thanks, this works!

RC3 should be ready today or tomorrow probably.

@igorpecovnik igorpecovnik added 08 Milestone: Third quarter release Needs review Seeking for review and removed 11 Milestone: Fourth quarter release labels Aug 12, 2024
@ColorfulRhino
Copy link
Collaborator

@efectn I tried to update to 6.11-rc3 but I can't push to this PR, likely because you want to merge this from a different account?

@ColorfulRhino ColorfulRhino changed the title rockchip-rk3588-edge: update kernel to v6.11.0-rc1 rockchip-rk3588: Bump edge kernel from 6.10 to 6.11-rc and current from 6.8 to 6.10 Aug 13, 2024
@efectn
Copy link
Member Author

efectn commented Aug 13, 2024

@efectn I tried to update to 6.11-rc3 but I can't push to this PR, likely because you want to merge this from a different account?

Yes it looks like. Can you send me your patch? I can apply it into the tree

@ColorfulRhino
Copy link
Collaborator

@efectn I tried to update to 6.11-rc3 but I can't push to this PR, likely because you want to merge this from a different account?

Yes it looks like. Can you send me your patch? I can apply it into the tree

Sure: commits are c7da0a5 and d3289df

Remove one patch that is now included in the latest kernel revision.
Copy link
Collaborator

@ColorfulRhino ColorfulRhino left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't done any thorough testing like HDMi and stuff, but from looking through the commits, the PR looks good to me in its current state 👍

@ColorfulRhino
Copy link
Collaborator

  • Add Hantro VPU decoder back (H264 is not enabled)

What's up with this though? I guess it did not make it for 6.11, does anyone know if this VPU stuff is in the pipeline for 6.12? @amazingfate

@amazingfate
Copy link
Contributor

  • Add Hantro VPU decoder back (H264 is not enabled)

What's up with this though? I guess it did not make it for 6.11, does anyone know if this VPU stuff is in the pipeline for 6.12? @amazingfate

This is a bit complicated. RK3588 has two h264 decoder: hantro g1 and rkvdec2, but userspace applications like gstreamer and chromium can't deal with two decoder with the same codec. We did a hack in armbian to disable h264 hantro vpu and use h264 decoder in rkvdec2 to make chromium work out of box. And at the moment hantro vpu patches are not at a good state to be upstreamed.

@igorpecovnik igorpecovnik added Ready to merge Reviewed, tested and ready for merge 11 Milestone: Fourth quarter release and removed Needs review Seeking for review labels Aug 15, 2024
@ColorfulRhino
Copy link
Collaborator

This is a bit complicated. RK3588 has two h264 decoder: hantro g1 and rkvdec2, but userspace applications like gstreamer and chromium can't deal with two decoder with the same codec. We did a hack in armbian to disable h264 hantro vpu and use h264 decoder in rkvdec2 to make chromium work out of box. And at the moment hantro vpu patches are not at a good state to be upstreamed.

We should not stray too far from the upstream kernel in my opinion. If the Hantro G1 is hacked in and not in a good state (as in will not be upstreamed soon), we should remove it fully since it does not really provide any benefit. Its main benefit is/was H264 (the other codecs from Hantro G1 as far as I can see, VP8 and MPEG2 have no real relevance in 2024), but if rkvdec2 can do H264 in similar quality and is in a better patch state, we should only keep that one.

Opinions?

@amazingfate
Copy link
Contributor

This is a bit complicated. RK3588 has two h264 decoder: hantro g1 and rkvdec2, but userspace applications like gstreamer and chromium can't deal with two decoder with the same codec. We did a hack in armbian to disable h264 hantro vpu and use h264 decoder in rkvdec2 to make chromium work out of box. And at the moment hantro vpu patches are not at a good state to be upstreamed.

We should not stray too far from the upstream kernel in my opinion. If the Hantro G1 is hacked in and not in a good state (as in will not be upstreamed soon), we should remove it fully since it does not really provide any benefit. Its main benefit is/was H264 (the other codecs from Hantro G1 as far as I can see, VP8 and MPEG2 have no real relevance in 2024), but if rkvdec2 can do H264 in similar quality and is in a better patch state, we should only keep that one.

Opinions?

Hantro g1 provides vp8, and I think it's worth keeping the patch.

@efectn
Copy link
Member Author

efectn commented Aug 17, 2024

I think the PR should be ready to merge. What do you think @amazingfate @ColorfulRhino

@amazingfate
Copy link
Contributor

I tried to build kernel 6.11 serval days ago, but at that time there is no kernel shallow cache in ghcr. I'm fine with it if you guys have tested the kernel since this is bleeding edge.

@lanefu
Copy link
Member

lanefu commented Aug 18, 2024

just did a build and working fine on my headless rock5b

https://paste.armbian.com/ohixoyiyeq

@igorpecovnik igorpecovnik merged commit 30ed9b3 into armbian:main Aug 18, 2024
11 checks passed
@rpardini
Copy link
Member

at that time there is no kernel shallow cache in ghcr

That's... worrying. When there is no -rc, the shallow cache should carry torvald's master instead
I just checked https://github.com/armbian/shallow/actions and something broke -- thanks for alerting me to this

@ColorfulRhino
Copy link
Collaborator

Hantro g1 provides vp8, and I think it's worth keeping the patch.

Where is VP8 used these days? Sites like Youtube use VP9 and AV1 for ages. I have personally never noticed any VP8 encoded videos.

@rpardini
Copy link
Member

the shallow cache should carry torvald's master instead

Fixed; it broke cos Torvalds pushed an arm64-uaccess branch together with his master branch and FETCH_HEAD defaulted to it. someone (@igorpecovnik ?) please merge armbian/shallow#3 there?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
08 Milestone: Third quarter release 11 Milestone: Fourth quarter release Hardware Hardware related like kernel, U-Boot, ... Patches Patches related to kernel, U-Boot, ... Ready to merge Reviewed, tested and ready for merge size/large PR with 250 lines or more
Development

Successfully merging this pull request may close these issues.

8 participants