Difference between Android and windows - Android Q&A, Help & Troubleshooting

Hi all. I have a random question. Why is android criticized for its fragmentation but not windows.
Doesnt windows pc come with so much more different hardware Configurations?
How do developers do it for windows then?
Sent from my HTC Desire using XDA

lol...
IMHO The main problem is that despite the numerous configurations of PCs the OS is always the same. Unique to all/everybody no matter the hardware.
The differences are solved using custom Drivers for the HW (usually from the manufacturer) but that does not change the OS.
But with Android, there is not a "unique/universal" version that works on every hardware. It is modded by every hardware manufacturer/implementer.
Starting from the "root version (official android release)" Drivers are usually integrated to the OS. Also many Mods by each developer. So, in the end you get a "customized" version of the original. And so the so called "fragmentation"
This is one of the main advantages/deficiencies of open source. You are not tied/limited by a closed source OS, but in the other end, you have lots of variation of the same software.
Just a few random thoughts ...
Have fun
Dip

Related

Running Maemo 5 on Android hardware

Could anyone answer my few questions to help me get a grip whether the idea is feasible?
* How different is Android kernel from standard Linux (ie. Maemo) kernel?
* Is most of the hardware abstraction handled by Linux kernel, or the Dalvik VM internals and library?
* Is the kernel accessible? Ie. can I supplant my own init script and run custom binary in place of Dalvik?
* Is the Android hardware hackable? Ie. can I get direct access to the root partition and put custom content in?
I'm asking because I would like to get a better piece of hardware than N900 (namely HTC EVO 4G) and port Maemo 5 (ie. Mer) on it. But if Android hardware is a closed black box, I won't bother.
I don't have experience with Android (I like Maemo so much better) and I wouldn't like to spent a lot of money on hardware I could not hack.
Some android hardware is more open to changes, such as google's devloper phone.
People have managed to run Debian GNU/Linux on the nexus one, but not all the hardware is functional as of now.
There are some binary only libraries and drivers for some vendors, meaning you might not be able to use all of the hardware.
I do believe it is possible to port the Maemo OS on the nexus one, and I would love to try it if you gain momentum on this.
Unfortunately I do not know Maemo OS enough to be of any assistance apart from telling you that Android use a standard ARM Linux kernel with some modules added to enable the special IPC that Dalvik uses.
As the owner of an N900, I would love to see this project gain momentum. I don't dislike the N900 hardware, it is actually quite decent but I would prefer a smaller, thinner and lighter phone with a capacitive screen.
Maybe MeeGo is the other option to consider since that OS will be designed much more in the open which would possibly make it easier to port to various devices. (Keep an eye on the meego website for the May release, which will be the first release with UX)
Also, my brother owns a Nexus One by my recommendation so porting Maemo to his phone would be great. (Unfortunately I'm not a developer so I would rely on this forum for a guide)
I am considering getting Nexus One. As I understand it supports messing with rootfs without restrictions. (Of course you loose warranty this way.)
Byte_76 said:
Keep an eye on the meego website for the May release, which will be the first release with UX.
Click to expand...
Click to collapse
Starting with MeeGo base is a viable option.
But the upcoming UX release will be a direct port of current Moblin UI. Maemo is a different beast.
And I am against Maemo 6 migration to Qt, so I would like to stick with current Maemo 5.
With Maemo 5 being a fully functional OS I think it makes sense to try to port it directly first, however if that doesn't work then MeeGo might be another option.
After some research I found that nor Qualcomm MSM7200A, nor Samsung S3C6410 chips have open 3D driver available.
Since Maemo 5 UI requires working OpenGL ES acceleration for its desktop and window management, I guess this project is in a dead-end until I find viable platform for experimentation.
Maybe Mer is another option:
http://forum.xda-developers.com/showthread.php?t=565480
http://forum.xda-developers.com/showthread.php?t=626287
http://mer-project.blogspot.com/2010/02/mer-project-just-bunch-of-redshirts.html
http://wiki.maemo.org/Mer
Without Maemo 5 visual effects it's soooooo stone age, that I don't really care for.

[Q] Other Linux distros possibility?

So, with Ubuntu Mobile capturing the attention of hundred of thousands I thought I would ask the one question that's been in my head since the first time I heard of Ubuntu Mobile, what about other Linux distros?
Considering Ubuntu is Debian-based and one of Ubuntu Mobile's key selling points is "it's the same is your PC" software-wise *cough* bloatware *cough* how likely do you think it is for a similar feat to be acomplished by another Linux distro (I like the ring of 'Arch Mobile' :cyclops: ) or will this be a more disgustingly exclusive Ubuntu feature (much like Unity, which didn't gain much traction in other distros).
Please voice your opinion on the matter, even if it's not completely relevant. I'd like to see how the community sees this.
Ubuntu for mobile has optimised stdio.h for touch screen mode of input and integration for touch input device at kernel level. Maybe if another distro can achieve this... Probably need a lot of libs & /dev/ mod files to get compatible drivers for touch devices. Repositories (apt.get, rpm, deb & yast etc) need to haxe modified programmes (apps) optimised for phone display, i/o etc.... Not an easy task.....
Dead cookies leave no trails...
Maybe a mobilised version of PackageKit would work for package management woes, if not I think there may be hope depending on how the phone utilises its 'desktop mode' and that can resolve issues that may accompany distro-specific issues (like Arch's KISS philosophy) and the libraries will be added to repositories (or even just made into an installable package?) for touchscreen usage and hopefully packages could be installed traditionally (i.e. 'apt-get install' 'pacman -S' 'yum install' 'dpkg -i' etc.)
I built a Linux image for my phone (Galaxy Spica)
-W_O_L_F- said:
I built a Linux image for my phone (Galaxy Spica)
Click to expand...
Click to collapse
Oh that's quite interesting, when it was running a Linux image was your phone still running Android and with Linux working inside Android (using VNC for X etc.) or was it running natively in the same fashion as Ubuntu Mobile is said to be?
I would think that any Distro based of Ubuntu will be able to be run on a phone.
swehes said:
I would think that any Distro based of Ubuntu will be able to be run on a phone.
Click to expand...
Click to collapse
I hope by the time all the mobile software is "figured out" (for lack of a better word) that using the device-specific software won't be limited to Ubuntu-based distros, I don't mind Ubuntu and its derivatives per se, but I much prefer using a more advanced distro; but I suppose Ubuntu is what you make of it
swehes said:
I would think that any Distro based of Ubuntu will be able to be run on a phone.
Click to expand...
Click to collapse
This is not a comletely new idea mind you. We have two Ubuntu/Linux threads in the Asus Transformer tf101 dev thread. Both are WIPs but both have many users who are working on making the process better and simpler to have Linux and Android dual boot. Both methods are for native install as well so no need for chroot or VNC.
Sent from my Transformer TF101 using Tapatalk HD
Interesting thought. I don't know if the variation will come from other Linux flavors or just different themes or desktop environments. Could it just be that there are themes or desktop environment like cinnamon, XFCE, pantheon and others instead of different Linux operating systems completely? Then again everything is going mobile so maybe the other Linux flavors will disappear unless they follow in Ubuntu's steps and go mobile.
Sent from my SAMSUNG-SGH-T989 using xda premium
Cl3Kener said:
Interesting thought. I don't know if the variation will come from other Linux flavors or just different themes or desktop environments. Could it just be that there are themes or desktop environment like cinnamon, XFCE, pantheon and others instead of different Linux operating systems completely? Then again everything is going mobile so maybe the other Linux flavors will disappear unless they follow in Ubuntu's steps and go mobile.
Sent from my SAMSUNG-SGH-T989 using xda premium
Click to expand...
Click to collapse
No, not everything is going mobile. It's just that x86 machines have reached saturation point by now; everyone has one, so the focus is on getting a smartphone or a tablet. Plus, hardware is so powerful that there's no real need to upgrade. Software has not caught up. Even as a gamer, my ATI 6950/Phenom II 955 box hasn't had an issue with running everything topped out so far, new games and all. For sure, you don't need much just to run the everyday stuff like Chrome or Office. People still use desktop computers quite a bit, though in quite a lot of households I do find that it's not at all uncommon for the computer arsenal to consist exclusively of laptops (though that is still x86 and not ARM).
Kookas said:
No, not everything is going mobile. It's just that x86 machines have reached saturation point by now; everyone has one, so the focus is on getting a smartphone or a tablet. Plus, hardware is so powerful that there's no real need to upgrade. Software has not caught up. Even as a gamer, my ATI 6950/Phenom II 955 box hasn't had an issue with running everything topped out so far, new games and all. For sure, you don't need much just to run the everyday stuff like Chrome or Office. People still use desktop computers quite a bit, though in quite a lot of households I do find that it's not at all uncommon for the computer arsenal to consist exclusively of laptops (though that is still x86 and not ARM).
Click to expand...
Click to collapse
Well obviously software developers and video gamers will always have desktop computers. It's people that aren't processor hungry that just want to check emails and social media that are going mobile. I know people that don't even own a computer and just use internet through their phones. I can see them embracing of having their phone work as a computer when they dock it into a monitor keyboard mouse environment. That's the only way they could teach their kids about computers.
Sent from my SAMSUNG-SGH-T989 using xda premium
I'd love to see Debian for phones. But once I think about it. There's nothing "new" about this concept. Technically Its already out as I have native Debian and arch Linux on my iconia tab via an arm ports. Touch screens support has been patched into the Linux kernel since the 2.6.x series so it works great at the hardware level. So when I get to to bottom of all of the hype all I see is canonical marketing some sort of Unity Touch. (Gnome and KDE were too big I guess ). My point is what bother to get another ubuntu like os for phones when there's already 99% of distos already ported to arm and touch. The only thing that Ubuntu for phones can do that the Debian/other linux ports can't do is make calls, but any hacker with a pair of tweezers could port the radio interface to a Linux distro.
Sent from my SGH-T999 using xda app-developers app

[Q] How does Android handle device hardware?

Hi there,
I'm currently studying Software Development and Engineering in college. I'm planning on building something with android OS. I'm just wondering how Android handles hardware.
Does it detect the available hardware on a device it's installed on? or does it need to be set up for a specific configuration of hardware. Say I install android on a tablet with no phone capibilities or GPS for example, does Android handle the fact that these features aren't there and just get on with it's job? Or does it need to be tweaked for the device in question?
It needs to be built from source for the device, with all hardware drivers and binaries. Unlike Linux and Windows, you can't just install Android on a phone and have it work with most hardware. Computer OSes have years and years of driver support and backing from manufacturers. On smartphones, with the exception of a few manufacturers, a lot of them are very stingy and secretive with their proprietary drivers and other essential files, and they're not really supportive of third party development. This sucks, but it should change in future and smartphones could be just as open as PCs (I hope).
Android has a HAL (Hardware Abstraction Layer) for handling the hardware. Technically it's capable of detecting and enabling the device hardware in a modular way. But since the Android phone's hardware doesn't change typically throughout the life of the phone, the manufacturers tend to tweak it for each device so that you get the optimized version which can run only on that device. While PC like functionality is certainly possible with Android OS itself, it's not needed on a phone since there is not much scope for hardware addition / removal / upgrade.

Roms

This may be a totally noobish question but why must roms be developed for specific devices while you can download for example, you can install the 32 bit version of Ubuntu on any 32 bit computer. While roms must be developed for devices which (I think) are all 32 bit ARM architectures. Once again if this is a noobish question please don't scream at me as this is the Q&A section.
Sent from my SPH-L900 using xda app-developers app
darkMES said:
This may be a totally noobish question but why must roms be developed for specific devices while you can download for example, you can install the 32 bit version of Ubuntu on any 32 bit computer. While roms must be developed for devices which (I think) are all 32 bit ARM architectures. Once again if this is a noobish question please don't scream at me as this is the Q&A section.
Sent from my SPH-L900 using xda app-developers app
Click to expand...
Click to collapse
all android devices are not same..
they may have different chipset...
they may have different cpu and gpu..
which causes incompatibiliti issues..
for example, i am using galaxy ace 5830i which is the impeoved version of galaxy ace 5830
but both the devices have different chipsets..
the 5830i version has broadcom chip while the 5830 version has qualcom chip so it becomes necessary to make rom for each device..
mireover even if chipsets are same..
there is different in resoultion, key mapping, lcd density, screen size etc..
so it becomes impprtant to develope roms for each device..
however we can port rom from other devices easily on one condition that the chipsets are same..
Sent from my GT-S5830i using xda app-developers app
srt99 said:
all android devices are not same..
they may have different chipset...
they may have different cpu and gpu..
which causes incompatibiliti issues..
for example, i am using galaxy ace 5830i which is the impeoved version of galaxy ace 5830
but both the devices have different chipsets..
the 5830i version has broadcom chip while the 5830 version has qualcom chip so it becomes necessary to make rom for each device..
mireover even if chipsets are same..
there is different in resoultion, key mapping, lcd density, screen size etc..
so it becomes impprtant to develope roms for each device..
however we can port rom from other devices easily on one condition that the chipsets are same..
Sent from my GT-S5830i using xda app-developers app
Click to expand...
Click to collapse
Thank you but my question remains, how is this different than a regular computer(as apposed to the mini one in my hand).
Sent from my SPH-L900 using xda app-developers app
Because your computer does not operate on a telephone network. With PC most hardware is the same. To where your phone is very different from each device and each one needs drivers built for it with different partition set ups. Different bootloaders, drivers for screens, digitizers, Wi-Fi antennas, phone antennas, ect. Computers have a set standard. While there is no standard for smartphone's and to be honest most likely never will be.
Wayne Tech Nexus
zelendel said:
Because your computer does not operate on a telephone network. With PC most hardware is the same. To where your phone is very different from each device and each one needs drivers built for it with different partition set ups. Different bootloaders, drivers for screens, digitizers, Wi-Fi antennas, phone antennas, ect. Computers have a set standard. While there is no standard for smartphone's and to be honest most likely never will be.
Wayne Tech Nexus
Click to expand...
Click to collapse
Thank you for answering my question. According to this would it be harder to install a Linux build on a data enabled laptop because of the radios.
Sent from my SPH-L900 using xda app-developers app
darkMES said:
Thank you for answering my question. According to this would it be harder to install a Linux build on a data enabled laptop because of the radios.
Sent from my SPH-L900 using xda app-developers app
Click to expand...
Click to collapse
Not really as the data on PC are still standard. Unlike the Telephony parts in the phone. If you think about it. The phone apk from say a Verizon device will not work on a device from ATT. The hardware is very different.
Take my laptop for example. Because there was no open source driver for my Lan card Linux would load but I would not get internet. Drivers are only available if the OEM of the part releases the proper info so they can be made. Alot of Device drivers and such are made differently depending on the device. Also look at how big a ubuntu install is. You need 5.4 gb for 13.04 so it can load every driver it has in the hopes one works. So it is not that there is one driver for say every monitor in all laptops and desktops. Also if you take a buddy of mine. His brand new laptop has no display drivers available yet so it will load but nothing on the screen.
That doesn't really answer the question still. All phones are very different from each other, but this is the case for computers as well.
For example: The moest important parts of a computer:
CPU, Motherboard/Network Card,Memory,GPU,Harddrive
Phone has:
CPU,Motherboard,Network Card/Memory,GPU,Flash memory
So basically the same things. I think the big difference is the drivers. On Windows, Microsoft makes the software and manufacturers put their drivers online for end users to downlaod. On Android, drivers aren't just given to end-users and often they are closed source and way harder to extract. Else, you could take the drivers from HTC One, remove the drivers from Galaxy S4 and make a S4 ROM for HTC One. Unfortunately, they just haven't been able to do stuff like that and I think it is because the drivers are to hard to extract.
zxzyzd said:
That doesn't really answer the question still. All phones are very different from each other, but this is the case for computers as well.
For example: The moest important parts of a computer:
CPU, Motherboard/Network Card,Memory,GPU,Harddrive
Phone has:
CPU,Motherboard,Network Card/Memory,GPU,Flash memory
So basically the same things. I think the big difference is the drivers. On Windows, Microsoft makes the software and manufacturers put their drivers online for end users to downlaod. On Android, drivers aren't just given to end-users and often they are closed source and way harder to extract. Else, you could take the drivers from HTC One, remove the drivers from Galaxy S4 and make a S4 ROM for HTC One. Unfortunately, they just haven't been able to do stuff like that and I think it is because the drivers are to hard to extract.
Click to expand...
Click to collapse
You are also missing the fact of the kernel is made to work with certian hardware. Now porting a a base rom is not that hard. Winzip rom devs do it all the time. You can take a rom from an HTC and port it over to the S4 persay but things like Sense will not work has the framework is made to work with only HTC hardware. Samething with TW.
zelendel said:
You are also missing the fact of the kernel is made to work with certian hardware. Now porting a a base rom is not that hard. Winzip rom devs do it all the time. You can take a rom from an HTC and port it over to the S4 persay but things like Sense will not work has the framework is made to work with only HTC hardware. Samething with TW.
Click to expand...
Click to collapse
The manufacturers are locking their framework as well, that is certainly true

Would this crazy idea work?

So the whole idea of having a phone that can be put in a dock and used as a computer is really cool, but me and my friend came up with an idea to expand on that. Would it be possible to have both android and Linux on the phone and then have an app/desktop icon to switch operating systems? I know this can be done on other devices. My mate has a chrome book and installed Ubuntu on it. Just a keyboard shortcut will switch operating systems. So would it be possible to do the same thing just on an android device. Hardware wide, there shouldn't be any problems. His chrome book has a cpu that's low spec enough to not have any sort of cooling system/unit whatsoever and only has 4 gigs of ram. Since the ROG phone has a top of the line smartphone processor, an actual cooling unit, and double the ram I don't see why there should be any issues related to the hardware. The thing I'm not so sure about is software issues. From my perspective it should be possible to do something like this, but I'm not at all familiar with software and programming so I wouldn't have any idea if it were possible or not.
Oske829 said:
So the whole idea of having a phone that can be put in a dock and used as a computer is really cool, but me and my friend came up with an idea to expand on that. Would it be possible to have both android and Linux on the phone and then have an app/desktop icon to switch operating systems? I know this can be done on other devices. My mate has a chrome book and installed Ubuntu on it. Just a keyboard shortcut will switch operating systems. So would it be possible to do the same thing just on an android device. Hardware wide, there shouldn't be any problems. His chrome book has a cpu that's low spec enough to not have any sort of cooling system/unit whatsoever and only has 4 gigs of ram. Since the ROG phone has a top of the line smartphone processor, an actual cooling unit, and double the ram I don't see why there should be any issues related to the hardware. The thing I'm not so sure about is software issues. From my perspective it should be possible to do something like this, but I'm not at all familiar with software and programming so I wouldn't have any idea if it were possible or not.
Click to expand...
Click to collapse
You can do it with linux deploy afaik.
Honestly, it would be much better to get a fully OpenSource build running on this hardware, no chroot env, no android kernel, no android libs, no proprietary closed drivers.
Since Asus is going with the ROG branding on this one, maybe they will make source code (drivers, libs etc) available for the the linux hackers in the ROG fan community to build images for it.
There is already a lot of linux use on ROG notebooks and a pretty decent following in the ROG fanbase as it stands but if we can't get a pure OpenSource build, at least a libhybris supported port using LXC and the android kernel as a start.

Categories

Resources