Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision |
| orangepi_800 [2024/01/30 13:53] – external edit 127.0.0.1 | orangepi_800 [2024/09/22 22:08] (current) – external edit 127.0.0.1 |
|---|
| </code> | </code> |
| |
| | ===== Kernel... ===== |
| | |
| | Existing kernel doesn't have required settings for GPU!!! Really this is the kernel from vendor supplied image. It's really old, 5.10 so working an updated kernel. |
| | <code> |
| | # CONFIG_DRM_PANFROST is not set |
| | </code> |
| | |
| | The reason it is not set is the code is broken. |
| | [[https://github.com/orangepi-xunlong/linux-orangepi/tree/orange-pi-5.10-rk3399/arch/arm64/boot/dts/rockchip|Source]] |
| | <code> |
| | drivers/gpu/drm/panfrost/panfrost_mmu.c:359:10: error: 'const struct iommu_flush_ops' has no member named 'tlb_flush_leave'; did you mean'tlb_flush_all'? |
| | </code> |
| | Looking at a newer kernel that line doesn't exist so I removed it. |
| | <code> |
| | static const struct iommu_flush_ops mmu_tlb_ops = { |
| | .tlb_flush_all = mmu_tlb_inv_context_s1, |
| | .tlb_flush_walk = mmu_tlb_flush_walk, |
| | }; |
| | </code> |
| | It compiles now, but I wonder if I should remove this function as well(I guess I'll do some testing and decide): |
| | <code> |
| | static void mmu_tlb_flush_leaf(unsigned long iova, size_t size, size_t granule, |
| | void *cookie) |
| | { |
| | mmu_tlb_sync_context(cookie); |
| | } |
| | </code> |
| | The module compiles and loads but isn't really functional now. |
| | |
| | The orangepi ubuntu based image uses this [[https://github.com/orangepi-xunlong/linux-orangepi/tree/orange-pi-5.18|kernel(5.18)]]. Its slightly newer. I couldn't get it to work with module compression(enabled with XZ compression in the image). It threw an error whenever trying to load a module. Which is really weird as I initially just copied the kernel and modules from the image and it works fine with their image. Something must prevent this from working with the openrc-stage3 from Gentoo but I didn't dig real deep into this. After recompiling without module compression it works other than rfkill.ko appears to hang when loading on boot (required by sprdwl_ng) but eventually completes loading and works fine so I've switched to this kernel for the time being. |
| | |
| | Found more recent [[https://github.com/zhangn1985/linux-stable|source(6.8-rc2)]]. It compiles and I get video output but it hangs on first daemon load. This is going to require some more work. |
| ===== references ===== | ===== references ===== |
| |