Hacker News new | ask | show | jobs
by pjmlp 2578 days ago
Khronos likes to talk about Vulkan support on Android.

The reality is that thanks for it being an optional API, introduced in version 7, only flagships have proper support.

And even then, each OEM provides a different version, with their own set of instructions.

Hardly any better than GL ES.

Now they are doing it compulsory on Android 9, upgradable via the store, with GL support being supported via ANGLE.

Guess what, first you need to get a device with Android 9 on it.

This just an example among many others across other API surface areas.

So much for Java on mobiles being too much of fragmented system that Google was going to sort out with their solution, hence the need to undercut Sun.

2 comments

I don't get the negative sentiment here. When Vulkan was brand new Google didn't want to force it in 7.0 or they might have had even more devices still stuck on 6.0 today.

The fact they made it mandatory and independent of vendor in 9 is laudable. Doing so absolutely costs them adoption of the latest releases but they did it anyway.

When you say "first you need a device with Android 9" that is on the vendors to provide. And the scarcity of 9 can in part be contributed to compulsory Vulkan support. Most of Googles first party phones now run it, even though their general attitude of abandoning 4+ year old products is still egregious.

If Google was anything like Microsoft, they would produce stuff like Android 2019 OEM requirements, and provide the OS directly from them.

Like for example, the "PC 98 System Design Guide":

https://www.amazon.com/PC-98-System-Design-Guide/dp/15723171...

Fact is, just get a new phone is not an answer that consumers likes to hear.

Not every country is like US with everyone on contracts getting free replacements every two years.

Many of us enjoy the freedom of pre-paid replacable SIM cards, and use our phones until they either die or get stolen.

In any case, I only used Vulkan as the most recent example, I can give plenty of other ones, and I develop native Android as hobby.

Other Android developers with more in depth knowledge have plenty of war stories.

I understand the frustration in Google not solving this sooner, but from your comment it seems like they have solved it (with Android 9) and you still seem annoyed?
My wallet is annoyed.

And as I replied to another comment, that is only one example among many.

I could write about Java 12 support, audio API, the constant changes in background processes, the multiple reboots on the UI framework, how NDK is handled and plenty others.

So how would you "fix" the issue? E.g. how would you add Vulcan on devices that do not have GPUs capable of Vulkan requirements and no proper drivers?
Have made it compulsory on Android 7, and like Microsoft has done multiple times, specify what the hardware requirements for any device should be.

And since Android 1, have made OS updates a requirement of the Android licence contract for Google services.

And if they did that, instead you would have just bought a phone that was stuck on Android 6

> made OS updates a requirement of the Android licence contract

Now you're being contradictory. You want to force manufacturers to always update to the new Android versions. But you ALSO want to make Android 7 require specific hardware features. How could these requirements work together?

The same way they have worked forever on the PC world.

OS updates always work with fallbacks, and minimum hardware specifications get revised every few years.

Google can ask Microsoft how to do it.

The first part of your solution conflicts with the second. You cannot both require new hardware for an OS version and require OS updates for old hardware.
It works for the PC market, as incredible as it may sound.

Those minimum requirements aren't set in stone, and OEMs seem to comply with them, strangely.