[Q] Profiling Development tools available? - Galaxy S I9000 Themes and Apps

Just wondering if any profiling tools exist for the SGS yet. My thoughts are that we need tools similar to Systemtap/Dtrace to be able to identify exactly why some problems are happening, and if there is none, to possibly consider starting a bounty.

Related

What can be done to get open gl working

I am aware that this has been asked many many times, but i don't see a thread for this issue. I would like to know what attemps have been made to get some sort of support. I am by no means a developer, but i will try my best to get things running. Would it be something as simple as taking a a file out of a current android phone with the same specs and modding for use with a touch pro.
I'm simply curious if there is a thread or website around that discusses this and other issues in more detail.
I'm no kernel hacker, but I am...curious.
That's what i would like to know. facts about how far the development is. Maybe we could start a thread that has such progress stated. Where only the devs would be able to post, so we can have us a look.
The best you can do is read the IRC logs from #htc-linux. I think I recall reading in the logs that klinux had gotten OpenGL working on the Pro2, even with applications like Neocore (thought they're apparently slow).
You have to be a little bit more clear on what you mean by "open gl working".
I'm the developer who was working on the open gl for the klinux build. Bottom line is that open gl is working, but not with hardware acceleration. We used then nexus one drivers (adreno200) to enable things a live wallpapers. But it's so slow its not even worth it.
Now to get hardware 3d working 100%? a lot more work and testing. lol.
Well is hardware 3d working for any of the current android ports in any capacity?
Also, I'm so used to reading hardware specs in Desktop computer form. But with these phones, the only thing I know about them is the CPU manufacturer, model number, and speed.
Is there a separate chipset that handles audio graphics etc, or is it completely SoC.
I read about recent Android ports on the iPhone, and it seems they already have things like external audio working. Is this because the hardware on the iPhone similar to another HTC Android phone, more so than the hardware in the Rhodium?
awesome thread... actually informative and supportive.
i think what the OP is saying is how can us lowerscale highend users be more involved, perhaps in the debugging, data gathering... we could start a -sub group dedicated to each corresponding issues... bill gates didnt invent windows, him and his crew did. the more the merrier eh?
I have a long running reverse engineering thing going on. I have been looking for more info other than IRC. I would like to put my good skills to work w/out starting from scratch. Any info?
EDIT: I did find this, It has some helpful starting info: http://www.androidonhtc.com/wiki/Get_Involved
This is a great thread! I've been wanting to get in on some of this action. Hopefully this will reduce some of the clutter in Reefer's thread.
I meant to get hardware acceleration working. How far has this come along since i posted this??
Only Diamond / Raphael has hardware 3D enabled so far.
Very limited 3D for "low resolution" could be enabled in blackstone or other devices with workaround but that is somehow meaningless.
phh has tried different combinations of memory allocation but in vain.
so am I... given up at the moment.
mcdull said:
Only Diamond / Raphael has hardware 3D enabled so far.
Very limited 3D for "low resolution" could be enabled in blackstone or other devices with workaround but that is somehow meaningless.
phh has tried different combinations of memory allocation but in vain.
so am I... given up at the moment.
Click to expand...
Click to collapse
Phh recommended to trace down mem locations used by wince and that has been done but it still refuses to fire up once pmem.c is modified.
Recently i got the wince dmesg from my rhod in hopes that a cold boot would show as to how the 3d is being activated but that also showed no results. I get this crap when Manila is launched.
[ManilaToday](34156): ### Launching manila ###
23:20:09 [DISP] DrvEscape::HTC_SET_3D_LAUNCHING_FLAG.
I'm not sure what HTC_SET_3D_LAUNCHING_FLAG is.
The next step would be to make an android app and trace down what the hell the libgles_qcom driver is actually doing to see if it is working properly. If you load up ahi2dati.dll on winmo you can actually use the functions to show crap on the screen so i'm hoping the same can be done on android.
Not sure what else can be done at this stage.
[ACL] said:
Phh recommended to trace down mem locations used by wince and that has been done but it still refuses to fire up once pmem.c is modified.
Recently i got the wince dmesg from my rhod in hopes that a cold boot would show as to how the 3d is being activated but that also showed no results. I get this crap when Manila is launched.
[ManilaToday](34156): ### Launching manila ###
23:20:09 [DISP] DrvEscape::HTC_SET_3D_LAUNCHING_FLAG.
I'm not sure what HTC_SET_3D_LAUNCHING_FLAG is.
The next step would be to make an android app and trace down what the hell the libgles_qcom driver is actually doing to see if it is working properly. If you load up ahi2dati.dll on winmo you can actually use the functions to show crap on the screen so i'm hoping the same can be done on android.
Not sure what else can be done at this stage.
Click to expand...
Click to collapse
Ok, i would love to help out as i have never rly done anything like this b4. What exactly are you doing. How do you get HTC_SET_3D_LAUNCHING_FLAG?
How would i open a .dll, i dont think these can just be opened up to see what they are doing. I am on the dark side of the moon here. I know whats going on, but have no clue what to do to help.
garage_man said:
Ok, i would love to help out as i have never rly done anything like this b4. What exactly are you doing. How do you get HTC_SET_3D_LAUNCHING_FLAG?
How would i open a .dll, i dont think these can just be opened up to see what they are doing. I am on the dark side of the moon here. I know whats going on, but have no clue what to do to help.
Click to expand...
Click to collapse
I actually found HTC_SET_3D_LAUNCHING_FLAG on the wince dmesg. You can do this by doing a pwf dump.txt 0x16a00000 0xFFFF0 in haret. I did it after a cold boot to see if anything is done to the gpu once wince boots.
Loading the dll is easy. just make a simple win32 app and do a loadlibrary. This part works but it's not helping on android. I'm interested to see what mcdull thinks since i think he has ventured a lot into this as well. Right now if we can make a simple app in android to load the libgles_qcom.so directly and trace every step, i think that would be helpful to see where we are failing. I'm close to giving up..lol i already took 2 sick days from work to get to where i am now so i could use some help.
Here is what i got out of the chip in wince.
name: ATI HandHeld Interface
versions: 2.07.05110.34681
Revision: 0
ChipID: 1362104322
revisionid: 0
TotalMemory: 15990784
BusInterfacemode: 2
InternalmemSize: 262144
ExternalMemSize: 0
Surface info: 800x480
surface total bytes 768000
dwFrameBufferPhysical=0x14c00780 m_dwFrameBufferVirtual=0x57e00000 dwFrameBufSize=0xbb800
Most people here could probably not help with the hardcore kernel dev stuff, but I guess if you need memory locations or so (be it for opengl/sound etc) I think there a a LOT of people that are willing to run some apps that dump a txt file with debugging info & mem locations to their SD-card and send you that
I would love to help with developing, even if it means that I have to boot into winmo and android all night long and gather certain information, memory-adresses, try different versions of programs with all kinds of parameters etc.
Star-Lite said:
Most people here could probably not help with the hardcore kernel dev stuff, but I guess if you need memory locations or so (be it for opengl/sound etc) I think there a a LOT of people that are willing to run some apps that dump a txt file with debugging info & mem locations to their SD-card and send you that
I would love to help with developing, even if it means that I have to boot into winmo and android all night long and gather certain information, memory-adresses, try different versions of programs with all kinds of parameters etc.
Click to expand...
Click to collapse
We need more devs in general. I ran a trace on a basic app that runs 3d. So there is still a lot of crap to examine.
I'm willing to kill my touch pro 2 and remove the CPU to trace the JTAG locations but I only have the datasheet from the MSM7200/7500, not sure if it will be the same locations. I bet if I hooked up my Segger I could see exactly what is failing on the OpenGL and sound side since alot of hardware debugging is done this way...just sucks I dont know for sure if the pinouts are the same. I'm done it on quite a few different phones and boards over the years so its not a big deal. Omap3430 was simple to trace and the OMAP3530 had the exact pinouts.
BinaryDroid said:
I'm willing to kill my touch pro 2 and remove the CPU to trace the JTAG locations but I only have the datasheet from the MSM7200/7500, not sure if it will be the same locations. I bet if I hooked up my Segger I could see exactly what is failing on the OpenGL and sound side since alot of hardware debugging is done this way...just sucks I dont know for sure if the pinouts are the same. I'm done it on quite a few different phones and boards over the years so its not a big deal. Omap3430 was simple to trace and the OMAP3530 had the exact pinouts.
Click to expand...
Click to collapse
Sounds crazy.. i love it.
I was messing around today and made a small app to load the libgles_qcom.so directly to see if i can replicate my winmo success. Most of the ahi functions are included in the android driver as well except for AhiDispSurfGet which made it impossible for me to draw anything on screen.
The chip did pump out the same info as i posted before and it matches so thats a step in the right direction. Means we can recognize the chip with no problems and all 15.25 memory is reporting as well. If i had more documentation on those functions exported im sure i can get the chip to try to display something directly.
Interesting bit of info I read and perhaps someone can clarify this here. The Sprint Touch Pro 2 uses the Qualcomm MSM7600 processor. The AT&T Tilt2 (GSM phone) uses the MSM7201A processor. The "A" refers to the smaller 65nm die size (I believe).
From what I've read, some changes occurred on the MSM7200 -> MSM7201 due to patent infringements. The next question is, is the MSM7201A and MSM7600 essentially the same chip, just different hardware for CDMA/GSM?
I guess the "libgles_qcom.so" library is used in many other HTC Android phones, but for some reason it's failing on the touchpro2/tilt2, and we're not sure why (although logically it sounds like the library should work as it's used by other android phones with the same chipset)? I'm no kernel dev (I write .NET/c# apps which are much easier than kernel stuff), but am somewhat familiar w/ linux and perhaps can assist in development..
NewbTrader said:
Interesting bit of info I read and perhaps someone can clarify this here. The Sprint Touch Pro 2 uses the Qualcomm MSM7600 processor. The AT&T Tilt2 (GSM phone) uses the MSM7201A processor. The "A" refers to the smaller 65nm die size (I believe).
From what I've read, some changes occurred on the MSM7200 -> MSM7201 due to patent infringements. The next question is, is the MSM7201A and MSM7600 essentially the same chip, just different hardware for CDMA/GSM?
I guess the "libgles_qcom.so" library is used in many other HTC Android phones, but for some reason it's failing on the touchpro2/tilt2, and we're not sure why (although logically it sounds like the library should work as it's used by other android phones with the same chipset)? I'm no kernel dev (I write .NET/c# apps which are much easier than kernel stuff), but am somewhat familiar w/ linux and perhaps can assist in development..
Click to expand...
Click to collapse
learn haret/haretconsole and take a look a the kernel. good place to start. Feel free to come into the irc board if you have any questions

[Q] What OEM APIs there are?

Now that we have a way to use native apis with little bit of creativity, does anyone have any information what apis there are available? Or any advice how to figure out the content of missing header files, any tools for the job? I assume that the OEM API documentations are not available anywhere in the net (couldn't find with the Google anyway).
I for one would like to know what resources we have there to use, and evaluate if I can turn my sw ideas to reality.
Any hints would be greatly appreciated!
Just use Visual Studio 2008 with the Windows Mobile 6 Pro SDK installed. Pretty much anything will work. Bear in mind though that any apps relying on interoping means the app will not pass marketplace verification.
Also, the security issue of being sandboxed still applies, so without a lot of hacking it's not certain you would be able to access parts of the system.

A collective action

One thing that I seem to notice is that even though this forum may have some releases that people can use it seems to lack both information and tools to get into trying to help the community. Some people, such as me and im sure many others, have some, even if only basic, skills but the process of applying them to the field of Windows Phone. For example a while back I wanted to tinker with the Windows Phone emulator but I failed to find working tools to dump and reconstruct the ROM and sadly no documentation to look at the format to see whats going on. I once saw a tool for HTC ROM's I think but that has since disappeared. Some of the old formats are at least partially known but burried somewhere deep in this forum where it becomes a pain to find them.
Specifically I would be interested to know if there are ways to actually debug the assemblies using tools like IDA on either the emulator or an actual phone (even though they were compiled to different instr sets they still probably mostly share the same code). I am also wondering what tools could be used to atleast compile native binaries, even if they can't be executed yet.
I personally have a little reversing experience and a fair amount of coding experience yet the current barrier of lack of information seems overwhelming and deterring. I can't say I will have either the experience or time to get us all further but I wouldn't mind tinkering with my phone and/or it's operating system and isn't that the whole point of this community?
It would interest me if there are others who feel the same way and whether there are others out there who could maybe help to get others started. XDA has a wiki but it seems to be mainly "consumer" orientated.

[Q] What do I need to know to start functional testing?

Hi everyone,
I just took an internship position in which my first project is coming up with ways to QA our company's mobile application, which we do not personally develop. I thought that thorough test cases run with some kind of automation framework (like Appium) would be the best way to do this, but please correct me if I'm wrong.
I don't have any real Android application development experience. Our application is a client-side application, not web-based. I am assuming that I am going to need to teach myself a fair amount of Java, start looking into how to use the Android development kit, and then learn how to write and implement test scripts using an automation framework. Could anyone once over my thinking on how I need to progress here to make sure I'm heading down the right path to learn how to functionally test client side applications? Will I just need to know Java to write these test scripts, or do I need to learn Javascript?
cbutler94 said:
Hi everyone,
I just took an internship position in which my first project is coming up with ways to QA our company's mobile application, which we do not personally develop. I thought that thorough test cases run with some kind of automation framework (like Appium) would be the best way to do this, but please correct me if I'm wrong.
I don't have any real Android application development experience. Our application is a client-side application, not web-based. I am assuming that I am going to need to teach myself a fair amount of Java, start looking into how to use the Android development kit, and then learn how to write and implement test scripts using an automation framework. Could anyone once over my thinking on how I need to progress here to make sure I'm heading down the right path to learn how to functionally test client side applications? Will I just need to know Java to write these test scripts, or do I need to learn Javascript?
Click to expand...
Click to collapse
You could stick with Java if you wish. There may be more work involved. Android has a built in testing framework wrapped around JUnit. Check out the documentation on developer.android.com/tools/testing/testing_android.html.
Although I suppose JUnit is more suited for unit testing. It may be that using an automation framework like Appium may better suit your needs. It also looks like Appium provides support for testing in Java, so you may be able to skip learning Javascript.

Call for help in porting PostmarketOS to OPPO Find 7/7a

Dear XDA members,
if you feel the same as the friends at https://postmarketos.org/ :
"We are sick of not receiving updates shortly after buying new phones. Sick of the walled gardens deeply integrated into Android
and iOS. That's why we are developing a sustainable, privacy and security focused free software mobile OS that is modeled after
traditional Linux distributions. With privilege separation in mind. Let's keep our devices useful and safe until they physically break!",
then it is time for you to step forward!!!
Last night initial support for the OPPO Find 7a was commited to the postmarketos pmaports git repo
https://gitlab.com/postmarketOS/pmaports with commit https://gitlab.com/postmarketOS/pmaports/commit/1f8095771c4659d31e8b228dd85018e9ca9963ca.
It was a pain to get this committed as I'm not used to the git workflow, nonetheless with the help of the maintainers over there
and after deleting a few merge requests ( a no-no, don't do that!!) at the end we got it done.
At the moment the device port is only for the Find 7a for the simple reason that I own one but I'm sure it can be extended to the
Find 7 and Find 7s.
The answer to the question that you dear reader have in your mind now: "what works?" is easy: NOTHING WORKS YET!!!
The only thing working so far is that the kernel compiles, you can flash it or fastboot boot it, start a rootfs on the microsd card
and ssh into the system over a usbnet connection to look at all that lovely processes running.
Lots of work still needs to be done, I'm pretty shure that I will not be able to do this myself as my knowledge about the hardware
part of the device is minimal and I would need to reinvent the wheel for every little progress.
As I'm sure that there are still a lot of knowleadgeable develepers (THAT'S YOU!!!) lurking around this list my hope is to lure them
to contribute to this project.
I personally dream of the Find 7 running postmarketos and KDE plasma-mobile but even maemo would be ok!!!
Come on, let's do it!!!
Best regards,
farmatito
Links to get more info:
https://postmarketos.org/
https://wiki.postmarketos.org/wiki/OPPO_FIND_7a_(oppo-find-7a)
https://wiki.postmarketos.org/wiki/Porting_to_a_new_device
Screen and touchscreen working!!!
Still a lot of work to do. Help is appreciated!
Progress report
New package for installing various firmware blobs merged!
Next big thing should be to try to make video hardware acceleration work,
if there are any experts here help is appreciated!!!!.
Progress report
The attached photo shows my Find7a running the XFCE4 desktop.
The interface is fast enough even without hardware acceleration.
As the Desktop is not optimized for mobile devices it is not
a such a great user experience, but the basics work.
Still a lot of work to do, help is appreciated.
Progress report
Wifi Works!!! and you can browse the internet!!!
Help is still appreciated!!
No progress
This time there is no progress to report:
video acceleration not working yet due to the fact that the kernel is rather old (3.4.113), backporting newer drivers did not work out as the codebase differs to much (so no KDE plasma).
making the various sensors work is also rather difficult as the kernel uses a Device Tree and so even if there are drivers for the sensors you need some board specific info to create the device tree nodes.
last but not least the last version of xfce4 in alpine linux is not touchscreen friendly. GTK combo-boxes are now unusable (will eventually try maemo).
Help is very, very appreciated.
Saw this post, has a Find 7 and want to know more.

Categories

Resources