[LG Optimus 2x] TheStonedDog:
The announcement of the ICS update at IFA should not even be consider rumour, it was just speculation on my part based on experience. I have absolutely no information to support this.

This thread has really gone off the rails. People talking about wives and living out tv/movie style "hacker" fantasies. I hope a mod comes in and cleans this thread up soon.

Trying to getting this thread back on track I want to address a couple of things that keep getting repeated that I think has not been clearly explained for the average person. One is the LG/nVidia blame game and the other is using other device's Tegra 2 / drivers issue.

Reading the interview that tonyp had with Ricardo (thanks again tonyp for the effort!) I think I have a good "feel" for what is going on. Note that I am not an Android developer but I do have experience with nVidia and *nix.

Mostly known for their video acceleration hardware nVidia is a weird company in that they try to control their IP with a heavy handed style. Instead of publishing information on their hardware internals to allow developers to write their own drivers they provide pre-compiled drivers / libraries (we call these "blobs") with documentation on how to use their provided software. While this may seem like no big deal to the average user for the developer this can be really painful.

When developing software if...er when a problem is encountered not having access to the hardware documentation makes debugging harder. If you do discover a problem that you have traced to nVidia's software you have to contact nVidia and start a long process of trading information. Hopefully after this long exchange you will either have a work around or in the worst case scenario that heavens forbid you find something wrong with nVidia's software that forces nVidia to compile and release a new blob. Getting nVidia to admit there is a problem is a challenge in itself. This increases development time greatly. The result is the frustration that was being expressed with the now infamous Linus "nVidia, f*ck you!" We can live with this though after all this is just the video hardware right, its not like we are talking about a whole computer which has CPUs, memory, USB, storage, etc.

With our phones thats exactly what we are talking about here. Having a nVidia core which has everything connected to it means you are reliant on nVidia for everything not just video drivers but the drivers for every piece of hardware in the system including CPU, GPU, USB, sensors, memory, etc. It sounds like nVidia is using the same tactic with their mobile hardware as they are with their video hardware by only providing blobs. So unlike with a normal computer with interchangeable hardware where you can update drivers separately the phone is one piece controlled centrally by nVidia so you need nVidia to make a blob specifically for your device hardware. Any slight change means a new complete blob. I can imagine this can be a nightmare for manufactures.

This is why we cannot just grab a blob (some people just refer to the drivers but that is just one piece of the blob) from another Tegra 2 phone and drop it in our phone. If anything is different hardware wise (i.e. video resolution, sensors, memory, etc.) then that different piece of hardware will not work as the blob was built for that specific hardware profile. In order for everything to work we need a blob with our EXACT hardware in order for everything to function which means because of the unique hardware signature of the 2x we need a blob for the 2x.

Again this must slow down the development process for new software since when a hardware manufacture runs into a problem with nVidia's blob they have to wait on nVidia to create new blobs. I can believe that LG has been working on the update since February. I can believe that LG had to wait for nVidia drivers. I can believe that LG had drivers and were taking a long time. Back and forth they go. That is not to say LG is in the clear.

If LG does not give proper and speedy feedback then nVidia cannot produce blobs to get them moving along. With the distraction of the new ICS Optimus UI and new devices there had to be some delays in LG getting back to nVidia. They have been slow on all their devices including non-nVidia hardware as well but it does seem like the nVidia stuff is taking longer. Couple with the them not communicating what is happening to people, especially after making very public promises, makes for a very upset user base meaning well...us.

Neither company will every out the other as the problem. That just makes for bad business. I have noticed that not many of the new LG products have nVidia in it though. ;)

So to sum up:

Who is to blame LG or nVidia ? The answer IMHO is YES! To blame LG or nVidia separately for the slow update is a over simplification of the problem. Both share the responsibility.

Why can't we use drivers from other Tegra 2 phones ? Due to the nature of nVidia's hardware/software practices of only providing pre-compiled software the CPU is not the only piece that has to match but all the hardware in the device in order to be usable. Any difference in hardware results in that hardware or more being unusable. The hardware profile of our device is unique so as such the drivers for other devices will not match our device. We need our platform's drivers.