Using sense on the charge. - Verizon Droid Charge

I was asked this by a friend, but it seems I lack the underlying knowledge to give him an answer.
Would it be possible to use the htc sense ui on our phones?
More generally.. why don't rom builders take stock from other popular phones and build them for multiple devices. Is there a reason that the evo sensation running sense. 3.0 wouldn't work on the charge?
I always thought android was like windows in the way you can install windows on almost any pc with any hardware config.
I am looking for a dev like danalo or kejar or someone to explain in a little detail why this is or isn't the case.
Thanks!
Sent from my SCH-I510 using XDA App

This has been asked many times. It's basically impossible.
Sent from my SCH-I510 using XDA App

DirgeExtinction said:
This has been asked many times. It's basically impossible.
Sent from my SCH-I510 using XDA App
Click to expand...
Click to collapse
has it? my forum search skills need work then i figured it was "impossible" I was just wondering why. I am a hardware engineer and while i know enough programming to get me by, I have am lost when it comes to understanding android and why one build for one device wont work on other devices.
How is it different than windows? Microsoft builds windows, and you can take that copy and install it on any PC you want, amd, intel.. nvidia graphics, radeon graphics..
why is this not the case with android? In my attempts to learn android, i downloaded the sdk, eclipse.. java etc.. and i notice that in the SDK there is "android 2.2" for example.. it doesnt break it down by device. So im wondering why there is a fragmentation between devices, if the code starts out the same for all devices.
again, why does it not function like windows, essentially "hardware independent"
EDITED
or... why coudln't just the sense UI be ripped out of an HTC rom, and ported to a samsung rom. I know I am probably speaking out of my ass here.. but i really dont know why we cant do this, hence the question to understand why
(forgive my curiosity, I am a college student.. I ask a lot of questions)

I believe it has something to do with the Sense framework. Don't quote me on that,though.
Bow Chika Wah Wah Premium

The sdk that you downloaded is for making apps. It is a baseline so if you make an app it works on all android phones. The ROM itself is basecoded for each phone as the companies ask google to develop a specific database structure. As far as the UI. Sense was made to be non portable. The Sense infostructure and libraries were written for HTC hardware. Porting it over would mean finding every lib, driver, and couple other hiddens files, decompiling them (which i don't know anybody that has successfully) rewrite the code for samsung hardware and recompile.
While impossible is the word used. it's really not, but lets call it, improbable for somebody to actually take the time to do it.

its extremely difficult if not impossible... I remember nitsuj saying there was a small coalition of devs who tried it a while ago and got it operational but almost everything was broken and borked... Its simply not meant to be run on non HTC phones and cannot be ported, but being the AOSP fan that I am I still wouldn't mind running that revamped Sense from the T-mo Sensation
blazing through on my VZ Droid Charge

so. HTC could do it then, because sense is their code, and as such, they have the source and could modify it accordingly. But trying to take Sense from an HTC phone and just install it onto a samsung phone would bork it badly.
I imagine this would be similar to ghosting a windows based machine, and then using that ghost image with an entirely different set of hardware. The image would fail to function correctly, if at all on the new hardware , especially if it was vastly differnt.
thanks for the responses. its making much more sense. I wasnt aware that the sdk wasnt the same as the rom on the phones.

you got it my friend. Although using symatec ghost, you can change the drivers and it would work. Putting sense on new hardware is like putting OS X on a tablet. Just wasn't meant to work.

Related

my 2 cents about a2dp

some devs say stop complaining about a2dp. its not working and blame tegra. Well my take is that the great minds on this site are capable of doing anything they put their minds to. just look at the hd2 forums. this is a windows mobile phone running almost every os out there. isn't the purpose of the customs roms to bring out the best features and true power of our phones. If that the purpose then isn't a2dp a great feature to have. it completely allows us to cordless from our phones. I'm sure many would reward those responsible for making this happen, just like with the lg cam on gingerbread.
thanks you all for the great and tireless work you do to make our phones as customizable as we want.
I'm not a dev, but building a driver for something like that is a lot more labor intensive than re-engineering an existing camera app. You're talking weeks of work. A2dp works with the stock-based ROMs on the G2x just fine--I used it just about every day.
I know that they work with them. I'm sure it would take some time. Like I said just look at the hd2 for proof of what can be done. They said it couldn't be done and cotulla and others made it possible. I'm not sure but I would think then maybe it would work for all android phones.
They still don't have the lgcam working on cm7 and that was the main purpose. So it must not be as simple as u make of sound.
Sent from my LG-P999 using XDA Premium App
Well, it's always so nice to see someone be so charitable with other people's time.
i would be glad to contribute some of my hard earned money. for this time u say im being generous with.
Well, you have to realize the hd2 was a whole other beast. What cotulla did was write the radio inside magldr to mimic the desire. (The reason he never opened up the source code was because of this fact, it was the only way to get rmnet working instead of ppp. Opening the source code would've allowed for people to hack the radio on it, which is not good. He did the responsible thing keeping it closed imho.) Infact, most of the drivers were ported based on the source code for the desire. (They were similar enough in hardware to where that was a good base to work with.) I used that phone for quite a while, and if you remember, a2dp wasn't working on there (hell, NO bluetooth what so ever) until they released the source code for the desire. Once that happened, it was easy to port things over.
Look, if aremcee can't get it working, with his ridiculous know-how, it's not going to happen without the source code being released (or at the very least, newer drivers.) Also, the hd2 doesn't have the same radio configuration as the g2x. The hd2 had documentation on it, it was a qualcomm radio. This one, nvidia, isn't documented. (And anyone who uses linux will agree, nvidia can be rather stingy about releasing source code.)
Another thing to remember, it took cotulla and his team a good year plus to reverse engineer the drivers just to get it loaded off nand. (And I frequented the irc a lot that they were on, it was far from easy.) And before nand, it was loaded with haret.exe (Handheld reverse engineering tool.) What this did was shutdown windows mobile, but keep certain things in memory intact to piggyback on to load the radio and other things. Once again, it was done with other things running, not written from scratch. If memory serves (and unless it's been fixed, haven't checked in a while,) cLK is the alternative to magldr, and it still doesn't have working rmnet, it's ppp only. It will probably never have working rmnet.
And please, this is not to take anything away from the amazing work the devs do here, they are truly talented, I'm just trying to explain this because of the massive amount of misinformation that gets spread so quickly.
Thanks for taking your time to write that. That really finally explains it clearly. You do get a lot miss information around here.
Sent from my G2x using XDA Premium App

Cyanogenmod6 port possible?

Possibly a noob question but since cyanogenmod7 is based off gingerbread an there is a froyo based cyanogenmod6 for the google G1 is it possible to do a port over to our phone since its froyo as well. I know drivers an such would have to be messed with but least we could have cyanogen on our phones even if its not the latest gingerbread powered version.
I don't know why people find cyanogen roms to be the be all end all of android. Not saying that I don't want them, but they're not the only thing that makes a phone good. CM6 is based off of the same kernel as CM7 which requires a newer source than we have.
Cyaongen mod roms are rubbish, they contain many bugs that are dealbreakers anyways. I know the devs are hard at work, but any current rom in these sk forums have far less bugs than cm. Cm7 on my mytouch 4g was horrible. Not belittling anyone, but just speaking from experience and hardships with those roms since the old g1 days.
Insanedrunk.....you are so ignorant if you believe Cyanogen ROMs are rubbish.
First off, the "ROMs" in the Sidekick 4G forum are nothing more than modified T-Mobile ROMs....that's all they are....nothing more.
Cyanogen and his team completely rebuild Android from scratch, that's why it's called "AOSP". Their ROMs require far more knowledge than simply zipaligning, deodexing, and deleting junk applications. If you have ever even attempted to build Android using the SDK, you would respect these guys.
You obviously are some n00b that doesn't even understand the concept of Android rooting and modding at all.
Please, if all you can do with Android is talk crap to legitimate developers, go somewhere else, you don't even deserve to type xda-DEVELOPERS into your address bar.
Sent from my stock, unlocked Sidekick 4G
Actually, AOSP stands for Android Open Source Project. It's plain vanilla android, from google's source. Yes, eventually into CM6 and 7 they got more hacky with it, but up to CM5, it was just standard google source releases patched together.
troby86 said:
Insanedrunk.....you are so ignorant if you believe Cyanogen ROMs are rubbish.
First off, the "ROMs" in the Sidekick 4G forum are nothing more than modified T-Mobile ROMs....that's all they are....nothing more.
Cyanogen and his team completely rebuild Android from scratch, that's why it's called "AOSP". Their ROMs require far more knowledge than simply zipaligning, deodexing, and deleting junk applications. If you have ever even attempted to build Android using the SDK, you would respect these guys.
You obviously are some n00b that doesn't even understand the concept of Android rooting and modding at all.
Please, if all you can do with Android is talk crap to legitimate developers, go somewhere else, you don't even deserve to type xda-DEVELOPERS into your address bar.
Sent from my stock, unlocked Sidekick 4G
Click to expand...
Click to collapse
I actually have pulled directly from source, but for mt3g, still have my linux setup ready to go, does take time, still, I don't add **** code to my roms that cause memory leaks, I'm not as ignorant to the extent that in which you think of. I'm not brown nosing any self proclaimed douche bags either.... and if you frequent this site, you wouldn't have to constantly type it in your address bar, so noob? Maybe to the sk4g scene, but not to android.
Still, I would like to say I'm sorry if my post came off as rude as you thought, but I was simply.saying I think our sk4g devs can go a diffrent direction than cm.
Cm7 for defy is amazing. Cm7 was available for the defy long before any leaked gb was available. Even with a locked bootloader. I wish somebody from that thread was here
Sent from my MB525 using XDA App
Then go find them. Don't just act helpless, if you really want someone from those threads to get over here, pay the $300 to buy a CM dev an SK4G. until then, be happy for what you have.
heard that ^
Sent from my MB525 using XDA App

How to develop drivers for any android phone

[NOTE]: Mods please move this thread to general Q&A if you find suitable, posting here because I think question comes more towards development side.
So now the question is:
Here are things which I know (mostly read somewhere / heard from friends etc.)
I'm seeing CM7 progress and time to time devs saying can't go ahead because Wimax driver / GPS driver is proprietary (what exactly does it mean?). While as I was discussing with friends I came to know Android only provide HAL so by logic all drivers should be proprietary or no?
I'm quite sure I've not understood something properly so I wanted to know
1. are drivers available only by manufacturer and Android only provide HAL?
2. If yes then what would it take to fetch those drivers and try writing HAL?
3. If no then how can one start writing own drivers?
I know its not an easy process at all, but I was curious so asking here.
I would appreciate all inputs, and if anyone want to share links I am up for some reading
Thanks
wis3m0nkey said:
So now the question is:
I'm seeing CM7 progress and time to time devs saying can't go ahead because Wimax driver / GPS driver is proprietary (what exactly does it mean?). While as I was discussing with friends I came to know Android only provide HAL so by logic all drivers should be proprietary or no?
I'm quite sure I've not understood something properly so I wanted to know
1. are drivers available only by manufacturer and Android only provide HAL?
2. If yes then what would it take to fetch those drivers and try writing HAL?
3. If no then how can one start writing own drivers?
Click to expand...
Click to collapse
Android does not provide a "HAL" as in the Windows (NT) sense. Android is an operating environment running on the Linux kernel, and the programs (apps) running in Dalvik (Java-based).
The issue with CM/other generic AOSP-based build is twofold. First the driver to interface with the underlying has to be compiled into the Linux kernel. Luckily for most of us, the majority of smartphones are based on a few common chipsets (Qualcomm MSM etc.), so chances are you can find the source for a similar phone, and try to fiddle with the source to make it work. This also means that esoteric hardware (ie. WiMax) has a lot harder time getting the driver working.
Second is what allows the Android apps to use the driver to communicate with the hardware. This is where the issues like GPSone rears its ugly head, as it seems each manufacturer likes to do it's own way, so unless you are basing things on the mfg's Android builds, it's almost impossible to get it to "talk" to the driver.
In the end, that's why builds based on official/leaked builds have a lot easier time gettin everthing working because both kernel and userland "bits" are there.
-- Starfox
Starfox said:
Android does not provide a "HAL" as in the Windows (NT) sense. Android is an operating environment running on the Linux kernel, and the programs (apps) running in Dalvik (Java-based).
The issue with CM/other generic AOSP-based build is twofold. First the driver to interface with the underlying has to be compiled into the Linux kernel. Luckily for most of us, the majority of smartphones are based on a few common chipsets (Qualcomm MSM etc.), so chances are you can find the source for a similar phone, and try to fiddle with the source to make it work. This also means that esoteric hardware (ie. WiMax) has a lot harder time getting the driver working.
Second is what allows the Android apps to use the driver to communicate with the hardware. This is where the issues like GPSone rears its ugly head, as it seems each manufacturer likes to do it's own way, so unless you are basing things on the mfg's Android builds, it's almost impossible to get it to "talk" to the driver.
In the end, that's why builds based on official/leaked builds have a lot easier time gettin everthing working because both kernel and userland "bits" are there.
-- Starfox
Click to expand...
Click to collapse
Ok so if I understood this properly :
Driver (which resides in kernel) services can be accessed by Dalvik.
And apps access services provided by Dalvik.
So in this case drivers for android would be developed in same fashion as for any other linux based system. Only requirement would be to check for manufacturer data sheet (if not source code) to tamper with.
Am I correct?
And is there a general development thread specifically for epic 4g?
Thanks
wis3m0nkey said:
Ok so if I understood this properly :
Driver (which resides in kernel) services can be accessed by Dalvik.
And apps access services provided by Dalvik.
So in this case drivers for android would be developed in same fashion as for any other linux based system. Only requirement would be to check for manufacturer data sheet (if not source code) to tamper with.
Am I correct?
And is there a general development thread specifically for epic 4g?
Thanks
Click to expand...
Click to collapse
The difficulty is that manufacturers don't seem to release data sheets for proprietary (customized by the manufacturer) hardware...
Sent from my SPH-D700 using XDA App
styles420 said:
The difficulty is that manufacturers don't seem to release data sheets for proprietary (customized by the manufacturer) hardware...
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
Aww man isn't it bad? I mean its same as what Apple tried doing with architecture specific Macs even Windows is trying with secure boot :-/ (But this is with phones compared to computers)
Why can't they just let devs work? I understand them having proprietary drivers but they should provide all required data to write one as well..
Well anyways I figure it won't matter even complaining about it. Anyways thanks guys I'll see if I can find any more info on manufacturer specific code.
wis3m0nkey said:
Aww man isn't it bad? I mean its same as what Apple tried doing with architecture specific Macs even Windows is trying with secure boot :-/ (But this is with phones compared to computers)
Why can't they just let devs work? I understand them having proprietary drivers but they should provide all required data to write one as well..
Well anyways I figure it won't matter even complaining about it. Anyways thanks guys I'll see if I can find any more info on manufacturer specific code.
Click to expand...
Click to collapse
This isn't a Mac vs PC thing.
This is a chip thing. Providing full disclosure of the register set makes some manufacturers nervous. Primarily because with some components, enough information needs to be provided such that you could potentially copy the device. Or at least features of it.
Qualcomm and Broadcom are very bad at this. They don't release anything unless it's under at least 5 NDAs.
I think u misunderstood me. I didn't say about mac vs pc. I was trying to give example about secure boot and macs rejecting to support all hardware.
Yes I understand chips can be duplicated but if its manufactured by samsung only then they shouldn't have problem
wis3m0nkey said:
I think u misunderstood me. I didn't say about mac vs pc. I was trying to give example about secure boot and macs rejecting to support all hardware.
Yes I understand chips can be duplicated but if its manufactured by samsung only then they shouldn't have problem
Click to expand...
Click to collapse
If it gets duplicated, it is no longer manufactured by Samsung only, and therefore is a problem.
Sent from my SPH-D700 using XDA App
seeing as android is a linux based operating system i dont understand why it wouldnt be possible to actually simply build the drivers from scratch. Ive done things like this for Wificards for my debian laptop as well as video drivers for intel chips that dont have linux based drivers. if they work the same way as the linux kernel does wouldn't it be logical to be able to do something similar?
metalblaster said:
seeing as android is a linux based operating system i dont understand why it wouldnt be possible to actually simply build the drivers from scratch. Ive done things like this for Wificards for my debian laptop as well as video drivers for intel chips that dont have linux based drivers. if they work the same way as the linux kernel does wouldn't it be logical to be able to do something similar?
Click to expand...
Click to collapse
It's the chip that is proprietary - those wifi cards use relatively well-documented chip sets, our phones do not. Unless you're aware of another device that uses the -exact- same chipset, with driver source code? (The question is rhetorical)
Feel free to guess at the unique opcodes and such, but trial and error will take a really long time
Sent from my SPH-D700 using XDA App
I'm glad to see some answers on this topic as I was curious about it as well. Can anyone comment on how past drivers have been hacked? E.g. how the Evo got Wimax working in cyanogen? Did they just trial and error the hell out of it until everything worked or did someone get inside information?
Some info
I'm pretty sure devs already have looked at it however anyone else who is wondering:
http://www.chipworks.com/en/technic.../teardown-of-the-samsung-epic-4g-smart-phone/
Samsung CMC730S WiMax baseband processor with SDRAM
That is wimax chip for epic 4g. I couldn't find more info that the chip itself, will report again if I come close to anything
So apparently Samsung SWC-E100 XOHM ExpressCard also uses same Wimax chip.
I'm checking if there are linux drivers available for the card.
http://www.wireless-driver.com/samsung-swc-e100-wimax-windows-driver-utility/
styles420 said:
It's the chip that is proprietary - those wifi cards use relatively well-documented chip sets, our phones do not. Unless you're aware of another device that uses the -exact- same chipset, with driver source code? (The question is rhetorical)
Feel free to guess at the unique opcodes and such, but trial and error will take a really long time
Sent from my SPH-D700 using XDA App
Click to expand...
Click to collapse
But the thing is that the samsung Galaxy S line of phones use what i can only imagine to be similar pieces of hardware. Wouldnt it make sense to be able to modify the drivers for say the fascinate`s camera or wifi for example to fit the epic. I know the keyboard isnt included in those phones but for the most part lines of phones tend to use similar if not the same hardware if they are made by the same companies. All it would take is to have the drivers for one or two of the phones in the same line and you would be able to practically guess the opcodes etc for the hardware signatures and make drivers accordingly. I mean a good example of this was when the fascinate drivers were used to boost our GPS or the fact that our CM7 is based off of the nexus S`version of CM7. It simply means that we have very similar if not the same hardware in most places. Now obviously if the phone is a random standalone piece with completely unique hardware then of course the drivers would be impossible to build with out the right specs and opcodes etc.
Actually on a side note, Ive been thinking about why the companies dont make a database for the drivers for each android phone effectively makeing each phone a nexus phone. It would allow for a version of android to be molded onto the phone with ease using a cookie cutter design making the creation of a newer phone easier and the support of older ones more feasible.
metalblaster said:
But the thing is that the samsung Galaxy S line of phones use what i can only imagine to be similar pieces of hardware. Wouldnt it make sense to be able to modify the drivers for say the fascinate`s camera or wifi for example to fit the epic. I know the keyboard isnt included in those phones but for the most part lines of phones tend to use similar if not the same hardware if they are made by the same companies. All it would take is to have the drivers for one or two of the phones in the same line and you would be able to practically guess the opcodes etc for the hardware signatures and make drivers accordingly. I mean a good example of this was when the fascinate drivers were used to boost our GPS or the fact that our CM7 is based off of the nexus S`version of CM7. It simply means that we have very similar if not the same hardware in most places. Now obviously if the phone is a random standalone piece with completely unique hardware then of course the drivers would be impossible to build with out the right specs and opcodes etc.
Actually on a side note, Ive been thinking about why the companies dont make a database for the drivers for each android phone effectively makeing each phone a nexus phone. It would allow for a version of android to be molded onto the phone with ease using a cookie cutter design making the creation of a newer phone easier and the support of older ones more feasible.
Click to expand...
Click to collapse
Well I guess sprint is only carrier using Wimax and above mentioned Wimax chips are only used in Epic. So to say this phone looks quite unique in that perspective though I think Nexus S 4G uses same chip, I couldn't find evident link pointing to it will report back as I do
rocket321 said:
I'm glad to see some answers on this topic as I was curious about it as well. Can anyone comment on how past drivers have been hacked? E.g. how the Evo got Wimax working in cyanogen? Did they just trial and error the hell out of it until everything worked or did someone get inside information?
Click to expand...
Click to collapse
I can't speak for the Evo Wimax people, but usually manufacturers that want to obscure their register set package up all the real meat in a userspace library, and distribute an open-source middleman kernel driver that basically relays commands through the middleman to the hardware (getting past the GPL).
Nvidia sorta does this, but they just link against the middleman directly and say F*** the GPL, even though it's still argued to be a violation.
Anyhow, for reverse-engineering, you can generally hack the middleman and record the 1's and 0's. Then you can attempt to decipher the data format based on what data changes, and the size of the frames. The stuff that doesn't change you can play back.
Of course, having any information about the device whatsoever helps a lot. I wouldn't be surprised if a hardware manual leaked for the Evo WiMax chip.
This is how a lot of the reverse-engineering was done on the HTC Vogue, the old device I developed for.
My life prevents me from helping at the moment, I hope to contribute on CM7 when things settle down.
jnadke said:
I can't speak for the Evo Wimax people, but usually manufacturers that want to obscure their register set package up all the real meat in a userspace library, and distribute an open-source middleman kernel driver that basically relays commands through the middleman to the hardware (getting past the GPL).
Nvidia sorta does this, but they just link against the middleman directly and say F*** the GPL, even though it's still argued to be a violation.
Anyhow, for reverse-engineering, you can generally hack the middleman and record the 1's and 0's. Then you can attempt to decipher the data format based on what data changes, and the size of the frames. The stuff that doesn't change you can play back.
Of course, having any information about the device whatsoever helps a lot. I wouldn't be surprised if a hardware manual leaked for the Evo WiMax chip.
This is how a lot of the reverse-engineering was done on the HTC Vogue, the old device I developed for.
My life prevents me from helping at the moment, I hope to contribute on CM7 when things settle down.
Click to expand...
Click to collapse
Thanks
However I don't understand most of it.
I've done until now is micro controller programming (say 8051 and similar)
Compiling kernel/FS for running on FPGA and few small boards, it was just compiling so I can set up tool chain and stuff but never actually developed / reverse engineered.
I would like to learn if u can point me to a good source.
wis3m0nkey said:
Thanks
However I don't understand most of it.
I've done until now is micro controller programming (say 8051 and similar)
Compiling kernel/FS for running on FPGA and few small boards, it was just compiling so I can set up tool chain and stuff but never actually developed / reverse engineered.
I would like to learn if u can point me to a good source.
Click to expand...
Click to collapse
Fortunately for you, the best book is free.
http://lwn.net/Kernel/LDD3/
Start with Chapter 1, I'd read all of that.
In general, I'd go through every chapter there and read the introductions. Stop once it gets to code. Those parts are irrelevant. The introductions alone are a powerful primer on how Operating Systems communicate with hardware.
Chapter 9: Communicating with Hardware is useful, since you're a hardware background.
Now, hacking android phones doesn't typically involve writing device drivers, but that book does a superb job outlining linux kernel interaction with hardware, which is the base of android. It is probably the quintessential book for anything Linux, and it's free!
jnadke said:
Fortunately for you, the best book is free.
http://lwn.net/Kernel/LDD3/
Start with Chapter 1, I'd read all of that.
In general, I'd go through every chapter there and read the introductions. Stop once it gets to code. Those parts are irrelevant. The introductions alone are a powerful primer on how Operating Systems communicate with hardware.
Chapter 9: Communicating with Hardware is useful, since you're a hardware background.
Now, hacking android phones doesn't typically involve writing device drivers, but that book does a superb job outlining linux kernel interaction with hardware, which is the base of android. It is probably the quintessential book for anything Linux, and it's free!
Click to expand...
Click to collapse
Awesome, thanks.
I'm not sure how much time it will take me but I'll try my best and probably will bother u some more

What's so different about this phone

I haven't seem any vanilla android roms for this phone so what's wrong with it? I planned on getting one but not so sure anymore.
Sent from my HTC Glacier using XDA App
It's not a single problem with this device , but the stock OS Froyo came out in 2008 so it's pretty old , but samsung modified it to the way they want it , don't get me wrong there's no vanilla device's but there are modified froyo device's that are great , we don't have gingerbread yet .
So why is it so hard to port a gingerbread Tom? I'm not a developer or anything just wondering
Sent from my HTC Glacier using XDA App
Porting Gingerbread is difficult because that would require rewriting all of the specially designed drivers for the sidekick for the GB kernel.
Vanilla ports are difficult because they rely on a stock styled framework, which due to the way the drivers were written, is very different on the sidekick.
you would have to rewrite alot of thing's including driver's that's why where using froyo .
Oh ok...so even vanilla froyo isn't gonna happen?
Sent from my HTC Glacier using XDA App
I'm working on CM6, my hangup is with the camera/camcorder driver system, the way they defined camera parts is very bizarre. AOSP froyo/CM6 are on-again-off-again projects for me, they will just require more work than other phones have in the past (or maybe I'm just not experienced in CM, who knows).
Hmm interesting. Well thanks for the replies guys. I think I'm just gonna get the g2. Even though I love you guys for your work I feel like the g2 is gonna have a lot more options especially with ics. Again thanks.
Sent from my HTC Glacier using XDA App
Why would they code this phone differently than the other Galaxy S series phones? Is it the keyboard? I'm beginning to wonder if Samsung knew what they were doing when they built this phone...it's TM's last of the 4G Galaxy phones to be upgraded to GB, and when I lurk the TM forums it's just nothing but negativity towards it. I'm glad I root/ROM. It saved me from the massive fit I would have thrown at Magenta.
And while I'm here, vick, how's the SGS4G code looking? Is it as "close" to the SK as you thought it was?
Well yes and no, the sgs4g has the same processor, so that portion of the kernel was done for me, but the screen driver wasn't yet built for GB, and would require significant tweaking. I have been working on finals around here for classes, hopefully I'll find some time shortly to continue working on it.

Strip it down and Make it Work

Hey, I'm a noob, let's get that out of the way first.
Alright, so I'd like to know, why is it so hard to get special ROMs working on certain devices?
For example, I have an Evo 3D (HTC Evo V 4G, whatever), so why is it so hard to get, say, stock ICS running on it?
Inthe end, isn't the hardware all the same, other than say processors and screen size? To get a stock ICS ROM working, couldn't you just pull it off of a similar phone with an S3 processor and a 4.3 inch screen?
Or is it not that simple? Are different codes baked into the hardware that make it impossible to just modify the pixel density, size of the screen and have the ROM work with the processors?
I understand the cameras are different, hence cameras not working on early builds of CM9... but considering many phones run the same processors, couldn't they just all work?
Please explain... thanks, thebeastglasser.
thebeastglasser said:
Hey, I'm a noob, let's get that out of the way first.
Alright, so I'd like to know, why is it so hard to get special ROMs working on certain devices?
For example, I have an Evo 3D (HTC Evo V 4G, whatever), so why is it so hard to get, say, stock ICS running on it?
Inthe end, isn't the hardware all the same, other than say processors and screen size? To get a stock ICS ROM working, couldn't you just pull it off of a similar phone with an S3 processor and a 4.3 inch screen?
Or is it not that simple? Are different codes baked into the hardware that make it impossible to just modify the pixel density, size of the screen and have the ROM work with the processors?
I understand the cameras are different, hence cameras not working on early builds of CM9... but considering many phones run the same processors, couldn't they just all work?
Please explain... thanks, thebeastglasser.
Click to expand...
Click to collapse
Is not that easy! I'm an EVO user/rom porter and I hear this alot where users such as yourself think is an easy process BUT is not. Same processor, same screen size maybe the same BUT at times the kernel is not there. Either the kernel for the device doesn't support ROM A or ROM B and therefore it can't be ported to whatever device or the libs keep it from running half way decent.....i.e WiFi doesn't work, sound is **** up or whatever the case maybe...just not functional to say the least.
Take for example Sense 4.0 on the One V....it was ported to the EVO4g and the ROM barely works! Both the One V and the EVO4g have similar hardware but one runs Sense 4.0 like a dream and the other one struggles with simple things like WiFi and Sound.
Now I'm sure someone else with a bit more knowledge on this can get into the specifics and the why's and what's of WHY this can't happen BUT that's it in a nut shell.....the kernel and 9/10 times libs
See ya around dude!
Hey first off, thanks! Second...
Another question then. If they all have relatively similar hardware, why isn't it that a universal kernel for similar phones can't be created?
Or better explained, what about the phone, makes it so that the kernel doesn't work? Or why couldn't you just take the kernel from device A and shove it on device B?
Sorry if I'm overloading you with questions, but hey I'm curious. Ya know?
EDIT: Or if they're practically both the same phones, why is it that you can't just take the ROM AND the kernel from phone A and put it onto phone B?
thebeastglasser said:
Hey first off, thanks! Second...
Another question then. If they all have relatively similar hardware, why isn't it that a universal kernel for similar phones can't be created?
Or better explained, what about the phone, makes it so that the kernel doesn't work? Or why couldn't you just take the kernel from device A and shove it on device B?
Sorry if I'm overloading you with questions, but hey I'm curious. Ya know?
EDIT: Or if they're practically both the same phones, why is it that you can't just take the ROM AND the kernel from phone A and put it onto phone B?
Click to expand...
Click to collapse
It's the manufacturer of the device who would need to release the kernel sources for the certain firmware version which they won't do continuously. In other words, device A may get ICS, hence the kernel sources may be released, but device B may be stuck with gingerbread and may not have a kernel which supports ICS. Back-porting can be done, but in many cases it is very difficult and in the end there still could be a lot of bugs.
You can't just take a kernel and "shove" it in another device. If you did this, it's quite likely nothing would work. The device would not even boot. Remember, the kernel is the center of android (Linux), so everything needs to be "linked" and correspond with each other exactly for it to work (I'm trying to make it as simple as possible ).
If they are the same devices, that would not be necessary. They would use the same roms/kernels. If they are just very similar (e.g. the a100 and a500) you may have some luck with the roms, but not the kernel. Some a500 roms can be flashed onto an a100 and work flawlessly BUT the device's original kernel must be restored for the device to boot.
Theonew said:
It's the manufacturer of the device who would need to release the kernel sources for the certain firmware version which they won't do continuously. In other words, device A may get ICS, hence the kernel sources may be released, but device B may be stuck with gingerbread and may not have a kernel which supports ICS. Back-porting can be done, but in many cases it is very difficult and in the end there still could be a lot of bugs.
You can't just take a kernel and "shove" it in another device. If you did this, it's quite likely nothing would work. The device would not even boot. Remember, the kernel is the center of android (Linux), so everything needs to be "linked" and correspond with each other exactly for it to work (I'm trying to make it as simple as possible ).
If they are the same devices, that would not be necessary. They would use the same roms/kernels. If they are just very similar (e.g. the a100 and a500) you may have some luck with the roms, but not the kernel. Some a500 roms can be flashed onto an a100 and work flawlessly BUT the device's original kernel must be restored for the device to boot.
Click to expand...
Click to collapse
I have the strangest feeling I just tried to jump into the shallow end of the swimming pool, and yet instead was shot out of a cannon into the middle of the sea without a scuba diver's suit... If only I could understand this more!
thebeastglasser said:
I have the strangest feeling I just tried to jump into the shallow end of the swimming pool, and yet instead was shot out of a cannon into the middle of the sea without a scuba diver's suit... If only I could understand this more!
Click to expand...
Click to collapse
Think about it this way. The Android OS could be run on a number of different devices that run slightly different hardware such as cameras, touchscreens, processors, etc...but the OS has to be able to communicate properly to that hardware using device drivers. Just like Windows from a 30000 foot view. It can run on a Dell or Acer computer, but must have the proper drivers.
If the manufacturer's of those devices do not write ICS drivers or preferably furnish their source code, then it is incredibly difficult if not impossible for someone without the internal company documentation to write such a driver.
mf2112 said:
Think about it this way. The Android OS could be run on a number of different devices that run slightly different hardware such as cameras, touchscreens, processors, etc...but the OS has to be able to communicate properly to that hardware using device drivers. Just like Windows from a 30000 foot view. It can run on a Dell or Acer computer, but must have the proper drivers.
If the manufacturer's of those devices do not write ICS drivers or preferably furnish their source code, then it is incredibly difficult if not impossible for someone without the internal company documentation to write such a driver.
Click to expand...
Click to collapse
Ohhh... so say you decided to put your own little phone together according to your own prerequisites, it'd be simple for you to do something on it, but not so much for someone who only has the hardware to look at... correct?
Another question, why is it so easy to port things onto Nexus Devices? Are they just more compatible with all drivers? As I've heard from one of my friends that he has a fully working Sense 4 ROM on his Nexus S... and yet it's tough to find one for my Evo V.
EDIT: I'm out of "thanks" I'll give you one as soon as I get some more...
thebeastglasser said:
Ohhh... so say you decided to put your own little phone together according to your own prerequisites, it'd be simple for you to do something on it, but not so much for someone who only has the hardware to look at... correct?
Another question, why is it so easy to port things onto Nexus Devices? Are they just more compatible with all drivers? As I've heard from one of my friends that he has a fully working Sense 4 ROM on his Nexus S... and yet it's tough to find one for my Evo V.
EDIT: I'm out of "thanks" I'll give you one as soon as I get some more...
Click to expand...
Click to collapse
Hmmm, I am not as familiar with the Nexus devices, but I suspect that Google has released the hardware spec details and the source code for the drivers for Nexus phones, so the source code can be modified and included for the ports. HTC unfortunately has not been as open with some of their phones.
If you were to put a phone together, you would need to use hardware in it that you had access to the specs and source code for. This is not a great analogy, but I think it will serve. The camera app tells the OS, "take a picture", then the OS tells the driver, "make the camera take a picture", and the camera device driver controls the hardware parts like the shutter, the focus, and zoom to cause the picture to be taken and handed back to the OS to be saved and then the OS notifies the app, "here is your picture, awaiting next command".
If you do not have access to the camera driver source code and camera hardware specs to create a driver, or an actual driver from the camera manufacturer, then you are missing the crucial third part and you cannot make the camera take a picture even if you get an OS loaded and an app installed there.
Check out The Tricorder Project for an excellent example. Create your own Star Trek "tricorder" with various sensors and a touchscreen that runs on Linux for around $200 and some work putting it together.
thebeastglasser said:
Ohhh... so say you decided to put your own little phone together according to your own prerequisites, it'd be simple for you to do something on it, but not so much for someone who only has the hardware to look at... correct?
Another question, why is it so easy to port things onto Nexus Devices? Are they just more compatible with all drivers? As I've heard from one of my friends that he has a fully working Sense 4 ROM on his Nexus S... and yet it's tough to find one for my Evo V.
EDIT: I'm out of "thanks" I'll give you one as soon as I get some more...
Click to expand...
Click to collapse
Its easy to develop for nexus devices since Google always releases their sources and those devices are easily unlockable (the bootloader). This is one reason why they are usually referred to as development/developer devices.
So in other words, the software communicates with the hardware, but without the proper code embedded in the hardware, it's not possible for the software to communicate with it? And without source code given from the developer of the hardware, you're making software that hypothetically should work, but because of the different device hardware it may or may not work...?
And that's also big because some guy on the portal recently found out that all of the eight mega pixel cameras on HTC devices are the same, so it should now be easy to use working cameras on ported and newly created ROMs...
Am I getting anywhere with this?
thebeastglasser said:
So in other words, the software communicates with the hardware, but without the proper code embedded in the hardware, it's not possible for the software to communicate with it? And without source code given from the developer of the hardware, you're making software that hypothetically should work, but because of the different device hardware it may or may not work...?
And that's also big because some guy on the portal recently found out that all of the eight mega pixel cameras on HTC devices are the same, so it should now be easy to use working cameras on ported and newly created ROMs...
Am I getting anywhere with this?
Click to expand...
Click to collapse
Yes, you got it a bit better now. The software needs to have the same codes embedded in the hardware to correspond with it. The source code is not from the hardware but of the software (kernel source).
Yes if the ROM was ported to other HTC devices with the same/similar camera (some libs will still need to be changed though).
Theonew said:
Yes, you got it a bit better now. The software needs to have the same codes embedded in the hardware to correspond with it. The source code is not from the hardware but of the software (kernel source).
Yes if the ROM was ported to other HTC devices with the same/similar camera (some libs will still need to be changed though).
Click to expand...
Click to collapse
Alright that makes a bit more sense. Thanks for your help guys!

Categories

Resources