-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
add support for Raspberry Pi 4 #3597
Conversation
RPi 4.19 kernel with RPi4 support is now up on official kernel repo, I've fixed the SHA256 to match that |
@@ -12,6 +12,9 @@ | |||
TARGET_CPU="arm1176jzf-s" | |||
elif [ "$DEVICE" = "RPi2" -o "$DEVICE" = "Slice3" ]; then | |||
TARGET_CPU="cortex-a7" | |||
elif [ "$DEVICE" = "RPi4" ]; then | |||
TARGET_CPU="cortex-a53" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TARGET_CPU="cortex-a72" ? Will need config/arch.arm updated too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've been testing with cortex-a72 but that lead to gdb spinning forever on a backtrace (eg when crashlog is created or when manually doing "thread apply all bt")
Thread 15 (Thread 0xa51bc370 (LWP 539)):
#0 futex_abstimed_wait_cancelable (private=0, abstime=0xa51bb930, expected=0,
futex_word=0x3884df8) at ../sysdeps/unix/sysv/linux/futex-internal.h:205
#1 __pthread_cond_wait_common (abstime=0xa51bb930, mutex=<optimized out>,
cond=0x3884dd0) at pthread_cond_wait.c:539
#2 __pthread_cond_timedwait (cond=0x3884dd0, mutex=0x0, abstime=0xa51bb930)
at pthread_cond_wait.c:667
#3 0x008b6130 in ?? ()
#4 0x008bd58c in ?? ()
#5 0x008219ac in XBMCAddon::xbmc::Monitor::waitForAbort(double) ()
#6 0x0084fbac in ?? ()
#7 0xb6c0a018 in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#8 0xb6c0a018 in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
#9 0xb6c0a018 in PyEval_EvalFrameEx () from /usr/lib/libpython2.7.so.1.0
As we didn't have the time to investigate this issue further I went back to cortex-a53 which didn't show this behaviour.
But I agree, we will need to revisit this at some point and if the issues are solved we can switch to cortex-a72
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TARGET_CPU_FLAGS="+crc" should go in here too.
Please ignore, I need more sleep. ha
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TARGET_CPU_FLAGS="+crc" is already there, in the next line :-)
Please drop the ffmpeg HEVC patches |
@lrusak I've dropped all ffmpeg patches from the PR. This wil build ffmpeg for RPi4 with |
@@ -107,7 +107,7 @@ get_graphicdrivers() { | |||
fi | |||
|
|||
if listcontains "${GRAPHIC_DRIVERS}" "vc4"; then | |||
GALLIUM_DRIVERS+=" vc4" | |||
GALLIUM_DRIVERS+=" vc4 v3d kmsro" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The previous RPi's will presumably shift to vc4 at some point, so this should be behind a if $DEVICE = RPi4?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
enabling v3d and kmsro drivers won't have a negative impact on older RPis (except for wasting a bit of space) and I'd rather keep PROJECT/DEVICE selection out of common config files and scripts like this, if possible
Merged into my RPi3 branch and built/ran without issue. Looks ok to me aside from what was noted. Cheers. |
I've updated bcmstat and brcmfmac_sdio-firmware-rpi commits to drop the local patches and update to latest versions instead. Kernel is now at 4.19.56 and firmware at Jun 25 (latest versions from official RPi repos) |
I've added WIP label, @MilhouseVH looked into kernel 5.1 options and this seems to be working well so it's best to head straight to current LE master kernel version without a detour to kernel 4.19. The current kernel 5.1 WIP version of this PR is here: https://github.com/HiassofT/LibreELEC.tv/tree/le10-rpi4-kernel51, when we have an RPi kernel 5.1 with RPi4 support in master I'll switch this PR to a rebased version of that tree. |
I've switched RPi4 to use kernel 5.1.15. Note: this PR now depends on the linux-5.1.15 bump PR #3567 |
Signed-off-by: Matthias Reichl <hias@horus.com>
bcm2835-driver provides various tools like vcdbg and tvservice Signed-off-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Matthias Reichl <hias@horus.com>
Otherwise builder user ID will leak in and storage partition will be owned by that instead of root and lots of services will fail to start. Signed-off-by: Matthias Reichl <hias@horus.com>
This makes it easier to drop the property if it's not set. Signed-off-by: Matthias Reichl <hias@horus.com>
… is set Signed-off-by: Matthias Reichl <hias@horus.com>
Use raspberrypi kernel and upstream kodi with gbm/vc4. Thanks to Milhouse for providing 5.1 kernel config! Signed-off-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Matthias Reichl <hias@horus.com>
…an Buster image Signed-off-by: Matthias Reichl <hias@horus.com>
Signed-off-by: Matthias Reichl <hias@horus.com>
libopenmaxil links against libbrcmEGL.so and libbrcmGLESv2.so so these libs should not be filtered out. Signed-off-by: Matthias Reichl <hias@horus.com>
Several 4k HEVC files were reported to play with artifacts unless gpu mem is bumped to at least 288MB. Use 320MB for now to have a bit more headroom, just in case. Unfortunately this can't be changed via distroconfig.txt so we have to do it in config.txt. Also drop the disable_overscan block as that's enabled by default via distroconfig.txt. Signed-off-by: Matthias Reichl <hias@horus.com>
Rebased on top of LE master and runtime tested on RPi4. This should be good to go in now. |
port of #3596 with separate raspberrypi-4.19 kernel and without kodi patches