yashsingh1/xdaforums huggingface dataset:
[Atrix 4G Q&A, Help & Troubleshooting] AmeiseMike:
To see if there's an alternate route towards porting newer versions of the platform to the phone (as I said, I've ported platforms to older kernels before when I was employed by one of the manufacturers), and as a hobbyist forking Android and porting it to my phone (which is an Atrix).

I'm just very confused as to what the problem is that necessitates a new kernel; I didn't have any issues like this when porting platforms before - I merely altered the platform so that it would work with the older drivers (sometimes that required disabling newer functionality, but functionality that worked beforehand was still there).
[Atrix 4G Q&A, Help & Troubleshooting] barry_:
Instead of asking, why not try and do it and see for yourself.:good:
[Atrix 4G Q&A, Help & Troubleshooting] AmeiseMike:
Because I'm not interested in potentially bricking / rendering unusable my phone if there's a known good reason why it can't be done.
[Atrix 4G Q&A, Help & Troubleshooting] paravorheim:
Here's my take on the situation. The Gingerbread kernel is based off of version 2.6.32.60. In order to update the drivers/kernel to support each other, they need an updated kernel, I believe 3.1.10. I know the version change from 2-3 is minor, but as far as I am aware updating kernels requires new driver support. Since we do not have kernel sources for 3.1.10 directly from Motorola, only the Nvidia 3.1 reference, we do not have support for the new HWA drivers supposedly compatible with ICS/JB. I don't think that the gingerbread kernel can just"work" like you say it can with ICS, modifications are definitely needed to support drivers.
[Atrix 4G Q&A, Help & Troubleshooting] AmeiseMike:
My question is why are either of those necessary? What is the difficulty in getting ICS/GB to work with the older kernel and drivers? What has changed in ICS/JB necessitating newer drivers?
[Atrix 4G Q&A, Help & Troubleshooting] Hai_Duong:
If u want to know it u should read the github with the gb/ics kernel. so u know how they are different made u cant use old kernel for new functions that is based on new kernel. New kernel is a new generation of functions/driver and performance.Its just said roughly but i think compare the source and learn whats the different is the best.
[Atrix 4G Q&A, Help & Troubleshooting] guidoido004:
best resume you could ever get => Drivers and binaries imcompabilities, GB drivers dont work with ICS for being obsolete and outdated. ;D

there are A LOT of new stuff from 2.x to 4.x, starting from the API, that leaves from 10 to 15, more gpu use in the System Ui(starting with stuff like, HW composer, that uses GPU to make the cpu use lower and battery lasts longer thanks to it), that NEED a more updated driver with compabilities to make this kind of stuff work properly, and as we each new version of android is literally a NEW version of the OS, it (again) need drivers with the right compabilities to make everything work 100%. so, if you still want to know why this kind of thing is really necessary, ask a linux teacher, because if you still dont got it, i doubt you ever will. ;)

honesty is not always a quality. :p
[Atrix 4G Q&A, Help & Troubleshooting] AmeiseMike:
This really doesn't answer my question of where the incompatibility lies.

Nor this.

As I said, I quite literally worked as a platform engineer for one of the major manufacturers. I am quite versed in the platform layer, and quite a bit in the kernel layer as well. I don't think you quite understand the distinction between an Operating System and a Kernel, but I'm not going to go into that here. The capabilities for hardware video composition already exist in any video drivers for Froyo and up. I will say that in at least Honeycomb, they changed a few of the interfaces that they used to interact with drivers, but that's the beauty of Android - those interfaces are open-source and can be adjusted to demand. The drivers already exist, but at worst are incompatible with the interfaces which can be changed. This isn't a Linux question, and frankly, I don't see why the kernel (Linux) or the drivers need to even come into play; Android as an operating system is simply a software layer, and an open-source one at that. Any incompatibilities can be written away, and you should never have to lose functionality that you already had.

The reason I am asking for specifics is I want to know what interfaces/API calls are missing or are not there, as there is a very good chance that I am already familiar with them. Insulting someone who has firsthand experience with not only Android development but also the hardware (as I've personally read over quite a few CPU specifications for some of the chips that my former company made, as well as had developed for those devices) isn't really a wise thing to do, but I will overlook it. Having first-hand experience in porting for an actual manufacturer, as well as hobbyist kernel development experience, as well as being a professional software engineer might come in handy.

If I get a chance, I will look into it either tomorrow or over the weekend; perhaps I will notice something that's been overlooked.
[Atrix 4G Q&A, Help & Troubleshooting] dedebekri:
I think you should visit the kernel porting topic and read a bit, then ask your questions to mmontuori & krystianp via PM.

They are the only devs left to answer your questions.

EDIT : Who knows, maybe you join the team!
[Atrix 4G Q&A, Help & Troubleshooting] sa.guly10:
I would suggest talking to krystianp or mmounturi by posting in the ics kernel development thread in android development section or pm them directly. They are working on the kernel and they are humble to answer your(or anyone else's for that matter) queries in a positive manner (if they have free time of course) unlike half baked smart a**es here who think they know everything but don't actually do anything.
[Atrix 4G Q&A, Help & Troubleshooting] paravorheim:
I really wish I could remember where I read exactly what the problems were. I spent some time delving through the kernel port thread in the hopes I would find where I read about it, but to no avail. Maybe I'm restating what I said earlier, but I was under the impression that the kernel version that we have the source code for is incompatible with JB/ICS. Why this revolves around GPU drivers along with libs? No clue, because if what you are saying is true, it would mean that it would be unnecessary. I would definitely like to learn more about exactly why there is this difficulty, especially since what you are saying makes sense to my limited knowledge of the subject.
[Atrix 4G Q&A, Help & Troubleshooting] AmeiseMike:
The kernel may be open source, but the drivers are not, and drivers for Linux are most certainly requisite on specific kernel versions due to how Linux is designed: Linux has a volatile ABI on purpose to help "prevent the proliferation of closed-source drivers". You have the source for the operating system itself, however - Android. This means that you can force it to be compatible with the drivers and kernel version you have, if need be. However, you should also be very specific about what you disable. If panorama (I'd be surprised if that weren't simply software-side) and auto-focus aren't implemented, disable them. Features such as 3d Hardware Acceleration, on the other hand, is already supported in GB.

When I ported Honeycomb (which also changed how 3d surfaces are created) to a Froyo device, I did have to make a lot of changes to the device interfaces, but that was all Android-side. I still have 3D acceleration (it was blazing fast :D ) but I did have to disable some things. I ended up mostly migrating over the Froyo device interfaces and fixing the linker errors where they popped up. However, yes, I'll message the devs.

Regarding the fork, I also would like to fork Android at some point, and have been slowly writing up design docs for a potential alternative OS that still passes Android's compatibility unit tests (which would technically mean that it could have Google Play). I need to run some benchmarks on LLVM vs Dalvik still.

EDIT: You mentioned that you don't want "awful workarounds", and that "you don't want to disable features". Two of the biggest changes from GB to HC/ICS/JB were:

1. The UI was entirely hardware accelerated. (meaning the UI is smoother and uses far less battery)

2. They improved the multicore usage drastically. (meaning the OS is faster in general)

I can attest from firsthand experience that neither of these require anything that isn't present in a GB kernel. I'd point out that I very much consider using software rasterization in lieu of hardware acceleration a "awful workaround". You can continue to emulate features that you don't have as much as you like, but don't disable/cripple functionality that had already worked. This requires modification of the platform itself (the OS).
[Atrix 4G Q&A, Help & Troubleshooting] paravorheim:
Other tegra2 phones do indeed have the 2.x kernels, but how many of them are on ICS? Also, which ones are the AP20H vs the T25 vs whichever other variations of the Tegra2 SoCs out there?
[Atrix 4G Q&A, Help & Troubleshooting] AmeiseMike:
I'd actually point out (and forgot to in my previous post) that while Linux is indeed an open-source kernel, you explicitly lack the source to Motorola's kernel. Hence why either you hack the platform to work with it, or hack some other device's kernel to work with the platform on your device. The former is safer and likely to work better in the long run. The downside is you need to be familiar with the platform-side.

When I say "hack", I mean, take account of what is in the new platform. If it requires functionality that simply does not exist in the driver you have and has never worked, disable it and return to it later to see if you can implement it (even if you have to emulate it). If it has worked, then there's no real reason you can't make it work again. 3d Acceleration is one of those things.
[Atrix 4G Q&A, Help & Troubleshooting] ravilov:
...which is exactly what the devs have been doing so far, as I pointed out already. The result is a simulated HWA for ICS/JB and not a reall hardware one. That is actually why any ICS/JB builds work at all, but that is also why some features don't work. The reason for needing a new kernel which will support the newer nvidia drivers is because the current kernel has already been pushed as far as it can go. Other than re-implementing from scratch whatever the nvidia drivers are doing, there is no other way.

Again, I'm not sure as to specific reasons why HWA from GB can't work with ICS/JB, but I think it's pretty safe to assume ICS/JB needs certain system calls (possibly due to a newer 3D/OpenGL library) that simply do not exist on GB. I'm not 100% sure, but I kinda remember someone saying it has something to do with handling video buffers. Here's the thing - on GB each app that needs HWA has its own copy of the framebuffer/video memory/whatever, which was fine because only a relatively small percentage actually used HWA. On ICS/JB however, the whole entire thing is hardware-accelerated. Each single app having its own copy (plus of course the system having its own copy) means we'd be lucky to be able to run a couple of apps before running out of memory. ICS/JB framework redid this approach by having a shared framebuffer (or something like that), but that requires proper support in the kernel...
[Atrix 4G Q&A, Help & Troubleshooting] saldirai:
Maybe these help a bit:

http://www.extremetech.com/computing/107995-the-truth-about-hardware-acceleration-on-android

http://developer.sonymobile.com/201...ical-differences-between-gingerbread-and-ics/
[Atrix 4G Q&A, Help & Troubleshooting] ravilov:
OK, I suggest you sit down and actually give a shot at making ICS/JB HWA work on a GB kernel. This is clearly getting nowhere, obviously nobody is really sure what the exact issue is (I'm sure it's somewhere in the XDA archives though) so nobody can give you an answer that will make you happy, therefore I'm starting to think trying it yourself might be the only way to actually "get it". Since you're no stranger to kernel hacking and driver porting, it shouldn't take you long to either make it work fully or understand why it can't happen.
[Atrix 4G Q&A, Help & Troubleshooting] AmeiseMike:
As I said, it took me several days with a test device that could be reset on the fly or JTAG-reset (very hard to truly brick, though we managed it a few times) to get hardware acceleration to work. It would take longer without multiple devices, and again, it'd only be for HWA. All the other modules would still need to be fixed/ported from another implementation. While I'll take a look at it, it should also be a good thing for me to at least contribute the knowledge that I have; other points of views or ideas should never be considered to be a negative; that's why I'm being rather verbose.
[Atrix 4G Q&A, Help & Troubleshooting] integraletotale:
Doesn't any form of emulation create a memory penalty?
[Atrix 4G Q&A, Help & Troubleshooting] cailloup:
I'm very glad to see a new experienced developper willing to help for our Atrix kernel issue :o

Have you get any answer from mmontuori, krystianp or Epinter?

If it has been sent by MP it would interesting to copy it in this topic so that we can all try to understand the issue instead of assuming everything ^^
[Atrix 4G Q&A, Help & Troubleshooting] AmeiseMike:
"I do as well don't understand why GPU acceleration wasn't introduced before, or why devs didn't take advantage of it, or why it requires new drivers, but it looks like it does, and i think it is because the drivers handle most of the stuff not the OS (otherwise there really shouldn't be an issue)"

This is actually what I'm referring to. Hardware acceleration already exists, but there might be features that don't work with the current drivers. Some might be capable of being emulated (without disabling acceleration), some might not be. I don't feel as though "Well, no HWA!" is a suitable answer, though. You can't have a peanut, so might as well throw out the whole bag.

"Doesn't any form of emulation create a memory penalty? "

It involves mostly a runtime performance penalty. Both emulation and true hardware-accelerated 3d both require a framebuffer of the same size, and mobile devices have shared RAM. Software rasterization is substantially slower due to lacking dedicated hardware. General emulation also has a bit of a penalty, but not significant enough to care about (a few MiB at most).
[Atrix 4G Q&A, Help & Troubleshooting] zansatsu:
It's not the kernel directly. It's the NVIDIA proprietary hardware drivers for the Tegra 2 boards that are throwing a monkey wrench into the development of the Android JB/ICS OS on a Linux kernel of 2.6+ to current. It's not the kernel, it's not the non-existence of HWA, and it's not for a lack of trying. Open Source programming only progresses when hardware manufacturers release information on how to write drivers for their devices or some wonderful soul JTAGs the hell out of one of these devices and probes every register. When you have a device that bricks very easily, it becomes that much more difficult. In this case, NVIDIA (and Motorola) has been uncooperative. So there are efforts to create open source Tegra 2 drivers. From what I've read, Google is even involved here:

https://android.googlesource.com/kernel/common/+/experimental/android-3.8

And Ubuntu has been pushing development from the linux arena.

http://www.ubuntu.com/devices/phone

I know that Nouveau is the Open Source NVIDIA project that allows graphic cards to work on Linux. But I also know that Nouveau does not support Tegra devices, so that is a dead-end.

http://nouveau.freedesktop.org/wiki/

And the reason it's not a perfect fit is because the OpenGL (and other hardware) drivers are constantly updated and the fact that Android hardware manufacturers use whichever version they feel like doesn't help. Add Android's hardware fragmentation on top of that and you have a mess.

http://developer.android.com/guide/topics/graphics/opengl.html

This fragmentation exists across the board. And asking why it doesn't fit is like asking why a DirectX 9 program won't work on a DirectX 7 machine. While this is a clunky analogy, it's still valid as each progressive version of the api implements new features and "planned obsolesence" is in full effect. Simply "disabling" what doesn't work does not guarantee that the new software will run. This is why we have versioning to begin with and this is where we are in the state of development with end-of-life phones like the Motorola Atrix and Photon.
[Atrix 4G Q&A, Help & Troubleshooting] Maybachiswhereitsat:
no
[Atrix 4G Q&A, Help & Troubleshooting] AmeiseMike:
That doesn't explain what exact features you need from the GPU that are precluding you from using the existing drivers which certainly supported HWA. Nothing has changed OpenGL ES 1 or 2 spec-wise that would be relevant, so outside of the random bug-fix, I can only imagine you are depending on features that are exclusive of GLES (perhaps shared list-space support?) DX7 to DX9 really isn't valid... GLES 2 == GLES 2, whereas D3D7 and D3D9 are distinct APIs. The API hasn't changed in this case. Therefore, anything you are depending on must not be related to OpenGL directly. The only thing I can think of that you'd be dependent on is shared list space for allowing framebuffers to be shared which was introduced in Honeycomb, which can be emulated by using an intermediate library without disabling HWA. The software itself isn't dependent on a feature like that; it's an implementation issue (the application doesn't care if it requires 2MiB more shared RAM, that's an implementation detail). I also described earlier one way you could do this emulation. I know of a few others, as well.
[Atrix 4G Q&A, Help & Troubleshooting] zansatsu:
As suggested before, look at other kernel development projects here for things that work and don't. There is no comprehensive list pre-compiled that is going to tell you everything about what's not working. Do the leg work if you are interested.
[Atrix 4G Q&A, Help & Troubleshooting] AmeiseMike:
I plan to when I have time. In the meantime, I want to bring up points that I'm aware of and possible alternatives, since the developers, from what I've seen, are quite fixated on porting a kernel... I have no knowledge of if they are examining alternatives or not; it's very easy for developers to become fixated.
[Atrix 4G Q&A, Help & Troubleshooting] zansatsu:
I'm sure if you bring something to their attention that they weren't aware of it would be helpful. And I apologize if I was abrupt. The Motorola Tegra 2 community can use all the help it can get. I would love to see renewed development!
[Atrix 4G Q&A, Help & Troubleshooting] AmeiseMike:
It's fine. I'm abrupt too (as most programmers are).

What I am confident of is that it's completely possible, without altering the kernel or the drivers, to make an ICS or JB platform build that has hardware acceleration. The issue, however, is that you need to make sacrifices for it to work; features that require the driver to do things that the GB driver cannot must be disabled or emulated. The inverse is also true; at present, to use a newer kernel, you sacrifice HWA. In the former situation, it doesn't mean that no new features would be available; many don't require anything that's not there, such as the improved multiprocessing and the improvements to Dalvik. Some things would likely require a bit of hackery (shared framebuffers), and some things likely wouldn't work at all, though they shouldn't be necessary for ICS/JB compatibility. It comes down to which half of the loaf you'd prefer.
[Atrix 4G Q&A, Help & Troubleshooting] saldirai:
We are confident of that too :) I, myself, have epinter's CM10(4.1.2) installed. It's a lot better than stock 2.3.x. Why dont you try and see for yourself? You can revert back later if you want to. And there is no risk of bricking.
[Atrix 4G Q&A, Help & Troubleshooting] integraletotale:
You said you have an oem programming background. Maybe you could provide a firmware/os deployment tool to manage and push roms to the atrix via usb?
[Atrix 4G Q&A, Help & Troubleshooting] AmeiseMike:
I unfortunately personally have need of HWA. I'm currently running Neutrino. You might be confident of it, but insofar I've seen no ICS/JB ROMs using the GB kernel which have HWA, which to me suggests that no work is being done towards that end.

The manufacturer for whom I worked had their own bootloader and flashing tools which wouldn't be compatible with this device. If you can provide me with protocol information, though, I could trivially write a tool.
[Atrix 4G Q&A, Help & Troubleshooting] saldirai:
I dont know what to say, epinter's CM10 has GB HW enabled for apps. There is even a section to manually enable/disable it app by app.

The thing is... you introduced yourself as a solid developer when it comes to kernel and you showed an admirable interest, yet you dont even try to check what was done before. If you need a stable GB/CM7 rom at the moment, it will take you less than 2 hours to switch to CM10, and then back to CM7 or Neutrino.
[HTC One X] bartdeli:
Odp: One x problem rom flashing

Flash the boot.img from the zip file. Then type fastboot erase cache

Wysyłane z mojego HTC One X za pomocą Tapatalk 2
[HTC One X] Mr Hofs:
why opening another thread with the same question......i asked you several questions in your original thread ! this one is reported !
[Galaxy S II Q&A, Help & Troubleshooting] Xeno86:
Hi out there!

Come from CM10.1 to

Slim-GT-I9100-4.2.1.stable.1.0-OFFICIAL

I Use

Llama - Location Profiles from Play Store

or other Location Profiles Apps.

All these Apps seems not to working with Wifi On/Off switching. Llama sad to me: Its an Bug in the Rom.

Has anyone the same Problem? Solved it alredy?

THX a lot!
[Galaxy S II Q&A, Help & Troubleshooting] Vivek_Neel:
It has to be a ROM problem... because location profile app works on other ROM..i had the same problem.. even video don't work on 4.2.1 slim
[Galaxy S II Q&A, Help & Troubleshooting] devand11:
Hello,

it is a ROM problme. Unfortunately this seems to be linked to a slim feature. Have the same problem on the N4.

I hope the devs will find a solution :rolleyes:
[Sprint Samsung Galaxy Note II] t4d73:
When you go into menu settings more settings under the network tab, the default network mode is lte/cdma. My question is is that the best setting or do some of you think automatic would be better? Thanks.
[Sprint Samsung Galaxy Note II] w7excursion:
Depends on if you have lte and use it. It could be left on cdma. That's what I do cause I have no 4g.
[Sprint Samsung Galaxy Note II] budde2:
Why is there a GSM setting
[Sprint Samsung Galaxy Note II] Wolfbeef123:
I think sprint can unlock the GSM radio inside the phone for whenever you go where there is no signal.

I could be wrong though.
[Sprint Samsung Galaxy Note II] t4d73:
Interesting. So gsm is like at&t and phones that use sim cards correct?
[Sprint Samsung Galaxy Note II] -EViL-KoNCEPTz-:
GSM is for international roaming. It uses the embedded sim card to access partner networks worldwide.

I like to break stuff! :D
[Xperia Arc Q&A, Help & Troubleshooting] baydi:
​

It very cool, but my systemUI (Attach Files) don't have Setting button in togles bar. I can't edit, Anyone help me ? Thank you very much. :good:
[Xperia Arc Q&A, Help & Troubleshooting] SXUsr:
There's plenty to choose from in the themes and apps section, just grab one of them and edit it to suit yourself.
[Xperia Arc Q&A, Help & Troubleshooting] baydi:
you're right. but I don't know how to edit.
[Xperia Arc Q&A, Help & Troubleshooting] baydi:
Hey, I found systemUI same screenshot but no clock and "Wednesday". I want add it into systemUI, I dont know code xml that. Sorry my english.
[AT&T LG Optimus G] PhonePhan:
I can't install it on my W8 laptop. Anyone know how to fix? I'm trying to Convert to N4
[AT&T LG Optimus G] blenkows:
http://xdaforums.com/showthread.php?t=2013067

____

Sent from my LG Original Gangsta
[AT&T LG Optimus G] nymica:
http://pastebin.com/g8hXBaaA

Follow the instructions there. Be sure to run the .bat file as administrator, else it will install but not run correctly.