-
Notifications
You must be signed in to change notification settings - Fork 609
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
linux-odroid-c2-headers - fix missing arch/arm/include headers, required by arch/arm64/include #1486
Conversation
@kmihelich |
I have to report that the related change caused AMLogic hardware decoding to fail on kodi-c2. |
Didn't check it, but suspect that only relevant difference between these versions of kernel package is that one was built with gcc7 while other one with previous version, as actual fix I was trying to acheive (and apparently failed) was amended in #1498 by @zx2c4 (given the long build time, and mentioned hardkernel/linux#300 build issue, don't think I've properly checked if package actually installed those headers, only assumed that it have, which it apparently did not) This is especially true if you see the effect when installing 3.14.79-25 without afterwards rebuilding any packages, as these - probably not even installed, as mentioned - additional headers can only have effect when building stuff. |
Previously (and also today) I built kodi-c2 and aml-libs-c2 successfully even without linux headers installed. Also none of them depends (or makedepends) on linux-odroid-c2-headers. Also I doubt that switch to gcc-7.1.1 is an issue because I used this gcc version to rebuild both kodi-c2 and aml-libs-c2 last three days. And - as before - HW accel worked with linux-odroid-c2 3.14.79-24 but stopped working after upgrading to either 3.14.79-25, 3.14.79-26 or 3.14.79-27. But if you think that after either kernel or gcc upgrade some packages must be rebuilt - please specify which of them should be rebuilt and in which order? And which new "depends" or "makedepends" rules should be added? |
I meant that 3.14.79-25+ are the kernel packages built with gcc7, which might be the only visible difference between e.g. 3.14.79-25 and 3.14.79-24, and hence likely cause of the issue. |
Thank you, I understood your point. However after taking it into account - today I've made a proper rebuild of aml-libs-c2 after making these changes:
Please note that I've already rebuilt kodi-c2 with gcc 7.1.1 and had it installed - see #1500.
AFAIK the symbol amstream_vbuf_write belongs to the kernel? Could it be that the problem was introduced to the kernel itself after rebuild with gcc 7.1.1? |
If you see it in dmesg - yes, definitely backtrace from the kernel code.
"introduced" as in "when built with gcc 7.1.1 same code works differently" - this definitely can be the case. |
Thank you for clarification. I perfectly understand your point. Also I must admit that the knowledge, hardware and the time I have at the moment is not enough to properly rebuild and test all packages involved. So now I have to give up and wait until people involved in the project and who have skills make proper builds of related components. |
I finally got around to installing distcc and recompiling the latest (3.14.79-27) linux-odroid-c2 with gcc 6.3.1-2. At least on my system the problem with broken hw accelerated video decoding went away with this recompiled kernel. So from what I can tell, it really seems to be an issue with gcc 7+ and the hardkernel sources / driver blob. |
All headers under arch/arm64/include/asm/xen there look like this:
But PKGBUILD removes all headers for "arm", so building dkms modules (newer rtl8812au in my case) that use these will fail.
This is not a quirk of hardkernel/linux, but is also how they are in upstream linux-3.14.
grep shows that stuff under arch/arm64/include/asm/xen are the only headers that do this kind of thing (include stuff from "arm"), so alternative fix might be applying a patch to copy these headers from "arm" to "arm64", saving ~1.3M of space (unpacked), but probably more error-prone, hence this patch.