It's Not Qualcomm's Fault: Dispelling TouchPad Mythsby Anand Lal Shimpi & Brian Klug on August 19, 2011 6:40 PM EST
- Posted in
There's a whole lot of misinformation on the web right now about reasons why HP had troubles with the TouchPad and eventually had to abandon the entire webOS hardware division. We'd moved on internally after yesterday's news but a bunch of stuff that popped up online today prompted a quick discussion about the realities of webOS hardware.
It's Not Qualcomm's Fault
Someone somewhere started this idea that by using Qualcomm hardware the TouchPad and presumably Veer/Pre 3 were handicapped. The theory is that by using Qualcomm hardware HP somehow limited performance of these devices and made it very difficult to run on devices that used other, non-Qualcomm SoCs.
Time for a reality check.
Palm's webOS launched on TI's OMAP 3. The original Palm Pre ran on an OMAP 3430. In fact, I did a quick head to head between it and the iPhone 3GS when it came out given the similar specs of the 3430 and Apple's 3rd generation SoC.
The Palm Pixi, on the other hand, used a Qualcomm MSM7x27 SoC. At the same time, the Palm Pre Plus was available with the same OMAP 3430 as the original Pre. Here we have two different SoCs which themselves implement different versions of the ARM instruction set (the MSM7x27 runs ARMv6, OMAP 3430 runs ARMv7), and yet it was possible to port the current version of webOS between two different SoCs from different vendors running different ARM instruction versions entirely.
Morover, webOS 2.0 is fundamentally the same beast at an OS level as webOS 1.x. The Pre Plus and original Pre can run webOS 2.x just fine (with appropriately changed radio firmware), an OS originally intended for the OMAP 3630 in the Pre 2 and the HP Veer's MSM7230. Porting between different SoCs thus isn't entirely impossible - already we're up to webOS 1.x and 2.x running on 4 different SoCs. It's reasonable to say that porting is actually relatively easy.
In fact, while doing the HP Veer review and poking around inside webOS 2.1.2, we found numerous references and plugins which were definite remnants of OMAP3 compatibility. This isn't a surprise at all considering that the Pre 2 likewise runs webOS 2.1.0.
It's not flip-a-switch trivial to port between SoCs, but it's not shoe-eating impossible, either. Apple, NVIDIA, TI and Qualcomm all implement the same ARMv7 instruction set in their latest SoCs (with the exception, again, of the Pixi's MSM7x27 which used ARMv6), and thus code compiled for one processor should run just fine on another. There are differences in terms of power management and what other instruction set extensions are supported (e.g. ARM's NEON SIMD extension, or thumb, vfpv3, and others) but these are minor in the big scheme of things. They require development time, but presumably the webOS team has (or is it had, now?) developers on staff whose responsibilities were to smooth over these differences.
Respective Extensions from cat /proc/cpuinfo:
MSM8x60/APQ8060:Processor : ARMv7 Processor rev 2 (v7l)Features : swp half thumb fastmult vfp edsp thumbee neon vfpv3OMAP3x30:Processor : ARMv7 Processor rev 2 (v7l)Features : swp half thumb fastmult vfp edsp neon vfpv3MSM7x30:Processor : ARMv7 Processor rev 1 (v7l)Features : swp half thumb fastmult vfp edsp thumbee neonMSM7x27:Processor : ARMv6-compatible processor rev 5 (v6l)Features : swp half thumb fastmult vfp edsp java
One of the bigger issues in porting between these SoCs has to do with graphics drivers. While all of the aforementioned companies implement the same ARM instruction set, they all use very different GPUs. Each GPU requires its own driver, no different than on an notebook or a desktop. In the Windows world it's like driver heaven, every major GPU has a driver available for every major version of Windows. In the mobile space it's a bit more complicated.
Because there's an Adreno 220 driver for Android doesn't mean that one exists for iOS or webOS. To a certain extent, each OS needs its own driver. Granted there can be a lot of code reuse thanks to similar standards existing across the OSes (OpenGL ES 2.0 for example is on all three OSes) but here's another area where development time is required.
There are other differences as well between SoCs. Differences such as what video encoders the OS will use for camera input to encode both JPEG and MPEG video. What decoders onboard the SoC to use for video playback or flash video acceleration. Where and how big the SDRAM is. What interfaces (I2C, SPI, GPIO and USB) are to be used for accelerometer, ambient light, gyro, pressure, or compass sensors. Which of those I/O ports are used for controllers for the touch panel, backlight, LED, vibrate and WLAN. All of these are considerations that make moving an OS between not just SoCs but hardware platforms, something that initially seems daunting but really amounts to pointing things in the right direction and including the right kernel drivers. Thankfully since webOS is linux based, the kernel should take care of a huge percentage of that difficulty and largely make any SoC that Android runs on a potential host for webOS.
In the end, while it does require work to port webOS to various SoCs it has not only been done in webOS history but it's a small part of the work required to bring a new tablet or phone to market. If this were an insurmountable task then we wouldn't see Android working on every single major SoC released.
Post Your CommentPlease log in or sign up to comment.
View All Comments
casteve - Monday, August 22, 2011 - linkAnand:
A ZDNet article on 8/21 by James Kendrick claims "..There is so much event logging in the background that it seriously impacts the TouchPad’s performance, as it is constantly doing things it doesn’t need to do." He then goes on to show how to disable the logging mechanism. Here's the link:
How about a quantitative analysis to compare before / after performance? :D
pwcee - Thursday, August 25, 2011 - linkI agree, would love to see this done then tested and compared.
tipoo - Saturday, December 10, 2011 - linkThirded but probably too late for them to test it. Lots of people have said disabling logging makes it pretty zippy.
ABR - Monday, August 22, 2011 - linkAmusingly in the context of the reports of these being sold in stores for $100, the true market value right now seems to be $280. This whole thing is a very dumb move by HP. They had a reasonable thesis when they acquired Palm -- vertical integration within the enterprise. As with Apple, they could and should have started by targetting consumer market first. Now they'll sell it off and give up one of the few legs up they could have had on IBM. Advantage Google/Motorola.
GotThumbs - Monday, August 22, 2011 - linkI've been wondering if anyone has already tried this.
tipoo - Saturday, December 10, 2011 - linkAndroid is being worked on and there is an alpha out for the Touchpad. iOS is not and will never be open source, so we have no way to port it.
Omid.M - Monday, August 22, 2011 - linkAnand & Brian,
Would be nice if you could get some devs to speak about working with WebOS and what they think the platform would need to take off, just as an "outsiders' " perspective. You know?
sooper_anandtech12 - Monday, August 22, 2011 - linkI still fail to see how this is HP's fault. Maybe it's HP's fault in name because they acquired Palm and all its webOS engineers. However, I still feel the issue and problem was an inherent issue of Palm's that HP took on when they acquired them. As mentioned in the article, there are simple ways to have improved the performance of webOS and yet for the past how many years has that not been done precisely? I don't expect a company like HP that's not a software company to be able to step in and say, "Yep, yep. See there Mr. webOS software engineer. Here's your problem."
If there's anyone to blame, blame Palm and all of the legacy engineers that HP inherited. How much more resources did HP need to commit to webOS when one author of an article on AnandTech can discern a few that would bring notable performance improvements? Scaling the project out by taking more time was not an option, especially when HP is being crucified by the media for taking their sweet time bring a webOS tablet to the market. Then, when they do, they get lambasted because it's undercooked.
This was a losing proposition for HP no matter how they swung it. Saying that "consumers" were disappointed is giving consumers too much credit. No one mourns the death of webOS. If we did, we'd have been picking up webOS devices from the start, fueling its development. HP was smart by getting out while it still could. Especially in this crazy patent litigating industry, they might even be able to off-load those patents at a profit to el Googs.
The0ne - Monday, August 22, 2011 - linkAnand, I appreciate you taking the time to explain some of these rumors and talks but as I read through your explanations I'm asking myself why in the world would you need to. You're basically telling people that because it is a different OS it will require different drives, encoders, decoders and what not. Having to explain this to your audience here is quite pathetic imo. Sure they may be some that are too worked up to see the reasons you've outlined but still, it should have been expected from a more knowledgeable crowd.
It feels as though you are schooling many of the users here and that is just quite sad. I thought many here were professional enough to have thought this through, pass the drivers and basic necessity that an OS requires. Don't get me wrong, I'm not bashing you, I'm just saying I'm disappointed in the audience because you had to take the time to clear some of these basic issues up. Quite sad.
The0ne - Monday, August 22, 2011 - linkEdit:
Ok, I just read Anand's own Jason Mick's article on WebOS. Yea, great headliner to have people start arguing alright. Do us a favor and fire his stupid a** reporting. If you need brain dead reporters that just pick things without thinking first, go to a pet shop and find a bird or rabbit.
So with that adding to the confusion and rumors, you're here defending that idiots' reporting. And yes, that was one God aweful thread as well ending with his "I really don't know and I think it's this and that..." comments. Jesus Christ.