• Is your Android phone Treble Supported and are Seamless Upgrades suppor

    From Wally J@21:1/5 to All on Mon Oct 9 02:50:54 2023
    Is your Android phone Treble Supported and are Seamless Upgrades supported?
    <https://i.postimg.cc/VNn78vF0/treble01.jpg>

    https://play.google.com/store/apps/details?id=tk.hack5.treblecheck
    Treble Info
    <https://play.google.com/store/apps/details?id=tk.hack5.treblecheck>
    Project Treble = Supported
    VNDK version = 31.0
    Linker namespace isolation = VNDK is not in lite mode
    Manifest location = Modern
    System as Root = Enabled
    Seamless Upgrades = Unsupported
    Dynamic Upgrades = Unsupported
    Dynamic Partitions = Enabled
    CPU architecture = ARM64
    Binder architecture = 64 bit

    Mine supports Treble.
    But not seamless updates.

    What about yours?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andy Burns@21:1/5 to Wally J on Mon Oct 9 08:18:20 2023
    Wally J wrote:

    Is your Android phone Treble Supported and are Seamless Upgrades supported? https://play.google.com/store/apps/details?id=tk.hack5.treblecheck

    Dynamic Upgrades = Unsupported

    ^^^ are you sure about this? ^^^

    What about yours?

    Pixel 5a android 14

    Project Treble = Supported
    VNDK version = 34.0
    Linker namespace isolation = VNDK is not in lite mode
    Manifest location = Modern
    System as Root = Enabled
    Seamless Upgrades = Enabled
    Dynamic Partitions = Enabled
    CPU architecture = ARM64
    Binder architecture = 64 bit

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Wally J@21:1/5 to Andy Burns on Mon Oct 9 03:41:29 2023
    Andy Burns <usenet@andyburns.uk> wrote

    Dynamic Upgrades = Unsupported

    ^^^ are you sure about this? ^^^

    Ooops. That was a thinko/typo as it says "Seamless Upgrades" & "Dynamic Partitions", which I somehow mixed into a non-existent category of
    "Dynamic Upgrades".

    What about yours?

    Pixel 5a android 14

    Project Treble = Supported
    VNDK version = 34.0
    Linker namespace isolation = VNDK is not in lite mode
    Manifest location = Modern
    System as Root = Enabled
    Seamless Upgrades = Enabled
    Dynamic Partitions = Enabled
    CPU architecture = ARM64
    Binder architecture = 64 bit

    Thanks for the comparison (and the correction).

    Pixel 5a android 14
    Project Treble = Supported
    VNDK version = *34.0*
    Linker namespace isolation = VNDK is not in lite mode
    Manifest location = Modern
    System as Root = Enabled
    Seamless Upgrades = *Enabled*
    Dynamic Partitions = Enabled
    CPU architecture = ARM64
    Binder architecture = 64 bit

    Galaxy A32-5G android 13
    Project Treble = Supported
    VNDK version = *31.0*
    Linker namespace isolation = VNDK is not in lite mode
    Manifest location = Modern
    System as Root = Enabled
    Seamless Upgrades = *Unsupported*
    Dynamic Partitions = Enabled
    CPU architecture = ARM64
    Binder architecture = 64 bit

    Anyone else?
    --
    The whole point of Usenet is to find people who know more than you do.
    And I will readily admit that Andy Burns knows more than I ever will.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Theo@21:1/5 to Andy Burns on Mon Oct 9 11:13:29 2023
    Andy Burns <usenet@andyburns.uk> wrote:
    Wally J wrote:

    Is your Android phone Treble Supported and are Seamless Upgrades supported? https://play.google.com/store/apps/details?id=tk.hack5.treblecheck

    Dynamic Upgrades = Unsupported

    ^^^ are you sure about this? ^^^

    What about yours?

    Pixel 5a android 14

    Project Treble = Supported
    VNDK version = 34.0
    Linker namespace isolation = VNDK is not in lite mode
    Manifest location = Modern
    System as Root = Enabled
    Seamless Upgrades = Enabled
    Dynamic Partitions = Enabled
    CPU architecture = ARM64
    Binder architecture = 64 bit

    Pixel 4a (4G) Android 13 GrapheneOS:

    Project Treble = Supported
    VNDK version = 33.0
    Linker namespace isolation = VNDK is not in lite mode
    Manifest location = Modern
    System as Root = Enabled
    Seamless Upgrades = Enabled
    Dynamic Partitions = Enabled
    CPU architecture = ARM64
    Binder architecture = 64-bit

    Theo

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Wally J@21:1/5 to Theo on Mon Oct 9 22:10:09 2023
    Theo <theom+news@chiark.greenend.org.uk> wrote

    VNDK version = 33.0
    Seamless Upgrades = Enabled

    The main differences between the Pixels and Samsung seem to be:

    VNDK version = 33.0 or 34.0 for Pixels, 31.0 for (my) Samsung
    Seamless Upgrades = Enabled for Pixels, Unsupported for Samsung

    Is that a trend?

    BTW, I have never heard of VNDK.
    Is there any significance to the VNDK version differences?

    Luckily ignorance can be cured (it's stupidity that can't be cured).
    <https://source.android.com/docs/core/architecture/vndk>

    It's confusing at the first pass (or even the second or third pass),
    but it seems there are two major components of Android with Treble.
    Vendor Native Development Kit (VNDK)
    Generic System Image (GSI)

    Am I right in assuming that the GSI is the core stuff where the VNDK is the vendor-specific stuff? Or maybe it's just what the vendor uses to develop?

    What's the significance (if any) to VNDK versions being higher on Pixels?
    --
    The whole point of Usenet is to find people who know more than you do.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Theo@21:1/5 to Wally J on Tue Oct 10 13:16:07 2023
    Wally J <walterjones@invalid.nospam> wrote:
    Theo <theom+news@chiark.greenend.org.uk> wrote

    VNDK version = 33.0
    Seamless Upgrades = Enabled

    The main differences between the Pixels and Samsung seem to be:

    VNDK version = 33.0 or 34.0 for Pixels, 31.0 for (my) Samsung
    Seamless Upgrades = Enabled for Pixels, Unsupported for Samsung

    Is that a trend?

    BTW, I have never heard of VNDK.
    Is there any significance to the VNDK version differences?

    Luckily ignorance can be cured (it's stupidity that can't be cured).
    <https://source.android.com/docs/core/architecture/vndk>

    It's confusing at the first pass (or even the second or third pass),
    but it seems there are two major components of Android with Treble.
    Vendor Native Development Kit (VNDK)
    Generic System Image (GSI)

    Am I right in assuming that the GSI is the core stuff where the VNDK is the vendor-specific stuff? Or maybe it's just what the vendor uses to develop?

    I think so - there's regular Android which is GSI and there's /vendor which
    is the firmware, libraries, etc provided by the vendor.

    In a Windows analogy the GSI is the Windows DVD from Microsoft and the VNDK
    is the CD of drivers that comes with your motherboard. It is often possible
    to install Windows 10 with the CD of drivers that came with Windows 7, but there may be vulnerabilities and some things may not work.

    What's the significance (if any) to VNDK versions being higher on Pixels?

    https://source.android.com/docs/core/architecture/vndk#vndk-versioning

    It appears to be versioned according to the platform SDK (ie the Android API number) but the version can fall behind:

    Android 12: 31
    Android 12L: 32
    Android 13: 33
    Android 14: 34

    I'd guess your phone was originally released with 12 and Samsung have
    shipped an upgrade to 13, but not upgraded the VNDK.

    The Pixel 4s and 5s use Qualcomm SoCs while the Galaxy A32 5G uses a
    MediaTek MT6853 SoC; MTK are notorious for not providing updates. It seems possible that Samsung have just upgraded the Android OS after Mediatek
    didn't ship a new VNDK.

    Theo

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Wally J@21:1/5 to Theo on Tue Oct 10 14:42:25 2023
    Theo <theom+news@chiark.greenend.org.uk> wrote

    In a Windows analogy the GSI is the Windows DVD from Microsoft and the VNDK is the CD of drivers that comes with your motherboard.

    This VNDK stuff is confusing to me, but mainly because I never heard of it until this thread, so I don't have _any_ background whatsoever on it.

    But I'm always trying to figure out how "Android hardware" updates itself.
    So it's important for me to figure out how this VNDK stuff updates itself.

    Thanks for that analogy, which I'll go with for now that the GSI is the
    generic system image (which every phone hardware must be able to run) and
    then the VNDK "system image" which is the OEM's driver-like-stuff.

    I think there's a chance that the VNDK is universal though - as it might be more what the vendor is "allowed to play with" as the GSI is inviolate.

    What's the significance (if any) to VNDK versions being higher on Pixels?

    https://source.android.com/docs/core/architecture/vndk#vndk-versioning

    Thanks for that link, which says the alogorithm is this...
    If BOARD_VNDK_VERSION is not equal to current, use BOARD_VNDK_VERSION.
    If BOARD_VNDK_VERSION is equal to current:
    If PLATFORM_VERSION_CODENAME is REL, use PLATFORM_SDK_VERSION (e.g. 28).
    Otherwise, use PLATFORM_VERSION_CODENAME (e.g. P).

    It appears to be "either" the board version or SDK version from that, which
    is very confusing because the board version is hard coded (isn't it?) and
    the SDK version is not hard coded (right?).

    So if the VNDK version is the board version, it won't change, right?
    If the VNDK version can take the SDK version, it can change, right?

    That's confusing to me but maybe I'm mis-interpreting the algorithm?

    I'd guess your phone was originally released with 12 and Samsung have
    shipped an upgrade to 13, but not upgraded the VNDK.

    This is close. The Samsung A32-5G (SM-A326U) shipped in January 2021 with Android 11 but it was upgraded to 12 and then 13 (mine was given to me for
    free from T-Mobile so the carrier bloatware is theirs but I don't think the carrier can have any effect on the VNDK version, can it?).

    The Pixel 4s and 5s use Qualcomm SoCs while the Galaxy A32 5G uses a
    MediaTek MT6853 SoC; MTK are notorious for not providing updates. It seems possible that Samsung have just upgraded the Android OS after Mediatek
    didn't ship a new VNDK.

    I fully believe everything you said, which is that MediaTek needs to supply
    the VNDK update from VNDK 31 to 33 or 34 while Samsung provided the Android
    OS updates from Android 11 to 12 to 13 (meanwhile Google supplied the
    Mainline updates to September 2023).

    One thing about Android is that I do NOT understand _how_ it updates.
    This VNDK stuff was new to me this week - but you helped me a bit.

    Thanks for trying to help me understand VNDK updates - much appreciated.

    I'm still not sure if the VNDK is hard coded or if it can be changed,
    but if we look at a few phones before/after an update, we can tell.
    --
    The whole point of Usenet is to find people who know more than you do.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Theo@21:1/5 to Wally J on Wed Oct 11 13:07:27 2023
    Wally J <walterjones@invalid.nospam> wrote:
    So if the VNDK version is the board version, it won't change, right?
    If the VNDK version can take the SDK version, it can change, right?

    That's confusing to me but maybe I'm mis-interpreting the algorithm?
    ...
    One thing about Android is that I do NOT understand _how_ it updates.
    This VNDK stuff was new to me this week - but you helped me a bit.

    Thanks for trying to help me understand VNDK updates - much appreciated.

    I'm still not sure if the VNDK is hard coded or if it can be changed,
    but if we look at a few phones before/after an update, we can tell.

    I think the thing here is to understand how Android is developed:

    1. Google writes Android

    who passes it to

    2. The silicon vendor (Qualcomm, MediaTek, etc) who write the Board Support Package for a particular piece of silicon: drivers, libraries, firmware etc

    who passes it to

    3. The phone vendor (Samsung, Xiaomi, etc) who makes their own customisations (OneUI, TouchWiz, MIUI, etc) as well as drivers for their own hardware (fingerprint reader, cameras, etc)

    who passes it to

    4. The carrier (Verizon, etc) who makes their own customisations (baseband firmware)


    The VNDK is mostly written as part of the BSP for the silicon by the silicon vendor, and then customised by the phone vendor for a particular phone.
    When building the filesystem there's a /vendor tree, which is the VNDK.

    On the old Samsungs I've looked at, the baseband firmware is a separate partition so is not part of the VNDK. The carrier may also add
    customisations to the main OS (the carrier's app, for example) but that's
    not related to the VNDK.

    In the case of your Samsung, the parties are:
    Google/Mediatek/Samsung/T-Mobile

    in the case of Pixels up to 5a:
    Google/Qualcomm/Google/none

    and Pixel 6 and later
    Google/Google/Google/none

    and this reduced game of pass-the-parcel is presumably why the VNDK is more
    up to date on the Pixels.

    Theo

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)