Announcement

Collapse
No announcement yet.

How Google's Android Maintains A Stable Linux Kernel ABI

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Volta
    replied
    Originally posted by Ray_o View Post
    my comment wasn't about who takes the blame, it was about the non sense of wishing the kernel ABI to be broken just so Nvidia does more work and forgetting the effect this has on the user.
    What affects the users are nvidia blobs. The proper way for writing Linux drivers is Open Source.

    Leave a comment:


  • Ray_o
    replied
    Originally posted by Volta View Post

    Blame nvidia.

    Ps. if FreeBSD and Solaris have stable ABI's, then it seems it doesn't work for them. It's not some magical solution to success.
    my comment wasn't about who takes the blame, it was about the non sense of wishing the kernel ABI to be broken just so Nvidia does more work and forgetting the effect this has on the user.

    Leave a comment:


  • flashmozzg
    replied
    Originally posted by skeevy420 View Post
    Huh. Well I'll be damned. Here I was thinking their method was to stick with old kernels.

    I don't think I have a single Android device that runs newer than 4.0.X and my current tablet and phone both run 3.1X (3.10 and 3.17).
    My 2 year old device is based on 4.4.153. IRC, 4.4 is the minimum for new devices starting with Android 8.0.

    From https://source.android.com/devices/a...re-kernel-reqs:
    For Android 9, the minimum Long Term Support (LTS) kernel version requirements are 4.4.107, 4.9.84, and 4.14.42.
    • All system-on-chips (SoCs) productized in 2018 must launch with kernel 4.9.84 or newer.
    • All other SoCs launching Android devices running Android 9 must use kernel 4.4.107 or higher.
    • Device kernels based on 4.14 must include the 4.14.42 or higher LTS release.
    • Regardless of launch date, all SoCs with device launches on Android 8.0 and higher remain subject to the kernel changes required to enable Treble.
    • Older Android devices upgrading to Android 8.0 or higher can continue to use their original base kernel version.

    Leave a comment:


  • Volta
    replied
    Originally posted by Ray_o View Post
    and let the user enjoy his time reinstalling the driver.
    Blame nvidia.

    Ps. if FreeBSD and Solaris have stable ABI's, then it seems it doesn't work for them. It's not some magical solution to success.

    Leave a comment:


  • Aeder
    replied
    Originally posted by Vistaus View Post

    If they're not writing their own kernel, then I guess Zircon is fake?
    https://fuchsia.googlesource.com/fuc...r/docs/zircon/
    Given Google's track record I fully expect them to abandon it and Fuchsia the millisecond it's not an instant success installed across all smartphone brands and driving billions of sales.

    Leave a comment:


  • carewolf
    replied
    If only they would try to provide a stable ABI or API for Chromium, or just any of the Chromium subprojects.

    Leave a comment:


  • Vistaus
    replied
    Originally posted by DanL View Post

    They intend to write their own kernel? Where did you see that?
    If they're not writing their own kernel, then I guess Zircon is fake?
    https://fuchsia.googlesource.com/fuc...r/docs/zircon/

    Leave a comment:


  • Ray_o
    replied
    Originally posted by Volta View Post
    I hope Linux will break ABI all the time, so those monkeys will have more work to do.
    and let the user enjoy his time reinstalling the driver.

    Leave a comment:


  • oiaohm
    replied
    Originally posted by skeevy420 View Post
    Seeing as how the current model is "oh, that project uses this part of the kernel so let's wall it off or remove that part" means that possible license infringing code is already influencing the kernel itself. A stable API means that an external project has to work within the limitations of the API versus use what's available until it isn't and needs to be fixed.
    Part of the problem here back in the 1990s there was a idea of making kernel drivers that could be used by Linux, Freebsd and Unix systems this would have been the stable ABI you would be talking about. But due to the abstraction overhead that kept the ABI nice and stable on performance very few drivers were made for it.

    Stable ABI=slow because you have to maintain that compatibility by doing longer code paths.

    Maybe this time around Google will be successful.

    Originally posted by skeevy420 View Post
    Do you honestly think that the kernel devs would have tweaked the GPL_EXPORTS if it weren't for ZoL?
    Without question yes. There were other areas changes to GPL_EXPORTS around the same time that no third party module used it a form of multi core performance tweak for real-time Linux support. Its todo with they type of protection that was wrapped around those parts falls under a patent who license is only granted for GPLv2 usage.

    Linux kernel has trademarks, Copyright and Patents that you have to consider. Yes some of the patent usage licenses say this is free to use as long as your stuff is GPLv2 and at times this ruins third party drivers day.

    skeevy420 there was a wacky one back in 2008 when the reason why a symbol was GPL_EXPORT and not usable by Nvidia binary blob was because Nvidia has given the patent to the Linux kernel as GPLv2 only. That end up being a straight forward fix of Nvidia providing the right paper work to legal at the Linux foundation. Float point one not that simple.

    https://yarchive.net/comp/linux/kernel_fp.html

    Please note this is 2003. Linus has always been very clear you should avoid floating point in kernel space at all costs. Also not all platforms Linux runs on has float point so no kernel space float point functions should not have been driver don't build. Driver run slow yes. Driver not run due to no float point functions the driver is defective because kernel space driver source code should not expect to find floating point.

    Leave a comment:


  • Volta
    replied
    Originally posted by loganj View Post
    birdie i have to agree with you. i have a nvidia gpu and i know the problem of drivers not working with newer kernel. and of course opensource fanatics will tell that nvidia its at fault for not helping with opensource driver. its a must for drivers to be opensource otherwise we ran into problems with kernels. so kernel is not at fault here. just the driver
    Only Nvidia fanatics will defend this crap company and their shitty blobs. I hope Linux will break ABI all the time, so those monkeys will have more work to do.

    Leave a comment:

Working...
X