yashsingh1/xdaforums huggingface dataset:
[Galaxy 3 Android Development] tom3q:
I believe you don't know what you're talking about...

Anyway, as I said already, memory allocation can't be improved at the moment. A possibility will open up when we make a port of newer kernel for G3 and when I convert OpenFIMG kernel interface to use Direct Rendering Manager. This is a long term goal, so it won't happen in a very near future.
[Galaxy 3 Android Development] protomank:
But returning to the whole begin, the angry birds white areas could also be unsupported texture formats, right?

I ask because Angry Birds Seasons used to work fine, until an update started the whole white-areas issue. I do not think the engine of the game would be changed, but textures yes.

Sure, they could simply exchanged texture for higher resolution ones, and our g3 doesen't have enought memory to handle it. In that case, using what chainfire does, wouldn't help? I mean, chainfire have options to lower textures size and quality, so it could fit better (and what makes me think it is not a memory problem is the fact that I've used both options in chainfire and none helped).
[Galaxy 3 Android Development] tom3q:
That could be possible as well, but I tested Angry Birds (original) on Spica (with 32 MB video RAM) and it allocates the whole 32 MB area quickly and that's somewhere in the middle of texture loading. 40 MB isn't much more. One way would be to upgrade your PMEM driver to one supporting bitmap allocator instead of buddy allocator, which is slightly more space efficient (and allows to run normal Angry Birds on Spica with only the biggest background texture missing).
[Galaxy 3 Android Development] josip-k:
Well is it possible to upgrade PMEM driver?
[Galaxy 3 Android Development] tom3q:
Everything is possible when it's about software. It's just a matter of work (and time) needed to do it.

It's inside the kernel, so you should ask developers of your current kernels to do it or wait for our new kernel (no ETA!).
[Galaxy 3 Android Development] anant.0097:
@tom3q - dude.... Angry Birds space works on my eclair 2.1 firmware(without any modifications..... phone isn't even rooted)..... there are some missing textures here and there but it's quite playable....... the firmware i'm using is the sammobile one - XXDDJ6 .......
[Galaxy 3 Android Development] sharukins:
so what do you want to tell us with that?
[Galaxy 3 Android Development] D@rekills4:
Probably to check drivers or libraries from Eclair, cause they may provide better performance.....
[Galaxy 3 Android Development] tom3q:
Maybe 2.1 kernels have more of the reserved area allocated to the GPU and it was reduced in 2.2, because other devices needed more memory?
[Galaxy 3 Android Development] Spitlebug:
So what I am getting out of this is basically it requires a full kernel build and a change in GPU drivers which may or may not cause some programs to crash to get additional RAM outside of the 80Mb system reserved area. Moreover you would basically not even be using the 80Mb area for the GPU?

If this is done, will the system response time improve as it can then use the full 80Mb without sharing any of that with the GPU?
[Galaxy 3 Android Development] Arakmar:
It works ! But there are still some pmem_gpu1 issues I didn't have with my hack with global vars. I'll investigate that during the week.

And since your last bunch of commits (21 mars), I have pink lines in the screen off animation.
[Galaxy 3 Android Development] tom3q:
G3D module doesn't affect PMEM in any way.
[Galaxy 3 Android Development] tom3q:
Nope, you're getting it wrong.

This reserved area is basically the only reasonable memory to be used for hardware buffers. This is what I meant when saying that we can't get outside this area.

What is wrong in current setup that this area is split into several smaller parts dedicated to each peripheral. This is wrong because usually at the same time only one or two of those peripherals are used, so the memory for others is wasted.

The perfect setup is to use the full 80MB area for all peripherals without splitting it and this is what I described in my previous posts.
[Galaxy 3 Android Development] anant.0097:
and from what you said in the quoted post and an earlier post about eclair......

it should be possible to increase the GPU memory a little atleast at what eclair was..... but will it reduce os performance?..... as I believe eclair is slower than froyo....... so Ice cream sandwich or gingerbread may have a hard time coping with the less available memory?.......

but then ICS is GPU accelerated so it might just benefit the os performance as well?........ have a look at the eclair sources.... if they are out and see if it might be possible to increase the video memory a little.........

of course I'm just speculating.... not a programmer...... please correc me if i'm wrong..... :)

EDIT:- I'm not talking about the perfect setup where as you said the entire 80MB will be used for all the peripherals...... just talking about a quick fix.....
[Galaxy 3 Android Development] tom3q:
They reduced GPU memory in Froyo (it they really did, it's just a hypothesis, I haven't seen G3 eclair kernel sources), because more was needed for other hardware devices, not for system. This 80 MB isn't accessible to system, so it can't be used as generic RAM.

Btw. All Android versions are hardware accelerated. ICS is hardware rendered (which is much more than the acceleration from previous versions) but only on devices with OpenGL ES 2.0 and appropriate amount of RAM, so not on G3.
[Galaxy 3 Android Development] galaxy3-i5800:
http://xdaforums.com/showthread.php?t=1551784

Is this relevant to this topic?
[Galaxy 3 Android Development] josip-k:
No.
[Galaxy 3 Android Development] galaxy3-i5800:
I thought that hardware accelerated drivers from quallgom would help... armv6 drivers are allready made if i have read it correctly.
[Galaxy 3 Android Development] anant.0097:
nope our device ain't supported.....

@Tom3q - hmmm.... so for now all we can do is wait for you to include Direct Render Management for the OpenFimg graphics and wait for the kernel port of 3.0+ for galaxy 3 like the one you did for spica (i.e, :- completely free of samsung drivers.)

Btw I'm just wondering what kind of setup do you need for this kind of debugging...... I'm getting interested in this stuff...... and finally have a spare pc for all this.... so do I need a linux setup?..... and what kind of knowledge do i need ?.... for starters Java, Linux and C... I believe?.....

I mean I know I may not be a genius like you..... But I wish to try?..... so can you help me out a little?
[Galaxy 3 Android Development] josip-k:
They havent made it yet,and its designed for armv7 and for devices that use quallcoms ardeno gpus.so no for us
[Galaxy 3 Android Development] cdesai:
Yea, first of all you'll need a linux pc, and get used to it (more of getting used to cli)

Then, you'll need UART setup, take a look at moikop's thread for more info

As for the language, the linux kernel is mainly c/cpp, so you'll need to have pretty good experience with those languages.

But, driver development ain't an easy job, it requires in-depth understanding of how everything works.

Read a book, write some simple programs in c/c++, that's how i started!
[Galaxy 3 Android Development] unreal3000:
so your saying their is no easy way to route the gpu to use the 256mb of general ram, and our only way would be to remove the all the allocations of the 80mb of ram so that we can get a more dynamic allocated setup for the gpu?
[Galaxy 3 Android Development] cdesai:
There's no way the gpu can use all the available RAM i.e. 256 MB, where would Android run then? :p

But yea you got it right, out of the 256 MB, currently 172 MB is available for applications, rest of the 80 MB is allocated to various peripherals, so yea, dynamic allocation would mean that while x part of the 80mb aint used, the gpu can take over it :)
[Galaxy 3 Android Development] tom3q:
No, this is only for Qualcomm's Adreno GPU (ours is Samsung's FIMG-3DSE). Every GPU has different architecture and needs its own drivers.
[Galaxy 3 Android Development] tom3q:
From what I can see, there is 256 MB dedicated entirely for Linux/Android and 80 MB for hardware buffers on other chip (OneDRAM).
[Galaxy 3 Android Development] anant.0097:
Thanks Cdesai.... I guess I got some work to do!....
[Galaxy 3 Android Development] moikop:
I just happen to have Eclair sources laying around :P

Here is reserved_mem.h. As you can see, there are some changes (and yeah, your hypothesis appears to be right)...
[Galaxy 3 Android Development] tom3q:
Hehe, seems like so much time hacking Samsung phones taught me to think like Samsung ;) (just kidding ;P)

4 MB is not much, but maybe enough in this case. + PMEM is a bit inefficient in the version available in G3 kernel.
[Galaxy 3 Android Development] Spitlebug:
While not an ideal situation, you could have fullscreen or applications that require the additional memory shut down services like the modem. It might not work with ad driven apps though unless there is a way to route the ad driven portions through the local host.
[Galaxy 3 Android Development] tom3q:
Even if it would be possible (but it isn't), modem doesn't use the reserved 80 MB. (Not even saying about the 40 MB from it, reserved ONLY for the GPU.)

As I said, the solution that might give some effects would be upgrading PMEM to a version supporting bitmap-based allocator. A solution that would work for sure and also has another benefits would be to use Direct Rendering Manager. No other (reasonable) solutions are there.
[Galaxy 3 Android Development] sharukins:
hey tom, any news or any bugfixes that make it worth updating openFIMG?
[Galaxy 3 Android Development] tom3q:
Nope, I'm a bit busy lately.
[Galaxy 3 Android Development] tom3q:
OK, I have pushed few bug fixes to the repository, mostly related to rendering black areas instead of correct content in some applications.
[Galaxy 3 Android Development] Halco:
Hum, someone with an up environment building could share the newest lib when tom3q pushed some update ?

Would be nice :)
[Galaxy 3 Android Development] bioniclizard:
I feel like I shouldn't ask you for this, it's kind of silly, but is it because of openFIMG that Instagram doesn't work on the Galaxy 3? (CM7-A8). It requires OpenGL ES 2.0, and I believe openFIMG only supports OpenGL ES 1.1.

I don't think there's an easy fix, so I'm not actually requesting it, just thought I'd share this here.
[Galaxy 3 Android Development] tom3q:
Yes, that's correct.
[Galaxy 3 Android Development] silentlexx:
it seems opengl pixel format RGB_565 don't work on openfimg, black screen instead On Samsung fimg all works good.
[Galaxy 3 Android Development] tom3q:
Could you elaborate a bit more on this? What are you basing your statement on?

I'm not aware of any problems with pixel formats in OpenFIMG and my testing didn't find any.
[Galaxy 3 Android Development] silentlexx:
May be it's not pixel format issue.

I am a developer of android's port INSTEAD (INterpreter of Simple TExt ADventure) https://play.google.com/store/apps/details?id=com.silentlexx.instead , source code are here http://code.google.com/p/instead-android/

To output graphic we use SDL 1.3 via opengl. On samsung FIMG (and even on android emulator from SDK) everything works fine. But on openFimg I see only black screen. If touch to screen in places were are interactive elements, I hear sound of click. Input and sound are works correctly. Only opengl surface don't work correctly.
[Galaxy 3 Android Development] tom3q:
I guess that either some part of OpenFIMG doesn't fully conform to the standard and you rely on that or it's the opposite, you rely on something that isn't guaranteed by the standard (but accidentally was provided on your other test environments).

I can't guarantee fixing it in any time (especially if it's the second case), but I will look at it more deeply when I find some time. OpenFIMG is open source, so you can look at it too, see my signature.
[Galaxy 3 Android Development] silentlexx:
May be this help?

04-04 18:03:48.179: I/SDL(9135): [STUB] GL_LoadLibrary
04-04 18:03:48.179: V/SDL(9135): Starting up
04-04 18:03:48.210: D/libEGL(9135): loaded /system/lib/egl/libGLES_fimg.so
04-04 18:03:48.214: D/libfimg(9135): Opened /dev/s3c-g3d (50).
04-04 18:03:48.222: I/SDL(9135): [STUB] GL_SetSwapInterval
04-04 18:03:48.222: I/SDL(9135): [STUB] GL_GetSwapInterval
04-04 18:03:48.226: I/SDL(9135): [STUB] GL_GetProcAddress
04-04 18:03:48.245: W/libsgl(9135): Application called unimplemented function: EGLBoolean eglWaitNative(EGLint)

I was just wondering where the error occurred.

UPDATE: no it's not help ((

UPDATE2: SDL test app don't work too... http://www.libsdl.org/tmp/android-project.zip
[Galaxy 3 Android Development] tom3q:
It seems like there is no GL error reported, so everything should be running just fine. It looks like either no rendering is being done at all or all the fragments lose some of the tests.

I'll try to do some more low level debugging when I find some time.
[Galaxy 3 Android Development] Arakmar:
Finally, the problem was in the PMEM driver.

After applying this patch to fix G3D module (https://github.com/tom3q/spica-3.0/commit/fa1f68db6ca7ebb6fc4487ac215bffba06c01c28), it triggered an issue in the open function of PMEM.

I fixed that with your commit : https://github.com/tom3q/spica-3.0/commit/f79ae0d3175a349f91e78f9be7ef36a88515c491
[Galaxy 3 Android Development] silentlexx:
Just a couple of problems:

1) Google Star Map - can not see the text. Instead of text drawn circles. (a very troublesome problem for me).

See attachment

2) Programs that want to determine the version of opengl, determine it as 2.0 (but only 1.1 recently supported driver as far as I know), and crashes as a result.

I/ActivityManager( 2635): Displayed com.musevisions.android.OGLESCubeTestAPI/.OpenGLTestActivity: +1s538ms
D/libEGL ( 3367): loaded /system/lib/egl/libGLES_fimg.so
W/dalvikvm( 3367): threadid=10: thread exiting with uncaught exception (group=0x40015560)
E/AndroidRuntime( 3367): FATAL EXCEPTION: GLThread 11
E/AndroidRuntime( 3367): java.lang.IllegalArgumentException: No configs match configSpec
E/AndroidRuntime( 3367):	at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:764)
E/AndroidRuntime( 3367):	at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:920)
E/AndroidRuntime( 3367):	at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1265)
E/AndroidRuntime( 3367):	at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1119)
W/ActivityManager( 2635): Force finishing activity com.musevisions.android.OGLESCubeTestAPI/.OpenGLTestActivity
[Galaxy 3 Android Development] neeljinwala:
Google Maps texture problem

this looks like it is due to openFIMG. I am on CM7Alpha8 latest google maps app. deleted the old map cache too. @tom3q Can you solve it?
[Galaxy 3 Android Development] tom3q:
Second one is because of wrong OpenGL version property set in the ROM, not OpenFIMG, assuming that those errors are really because the version was identified as 2.0.

First one is worth looking at, I will look at it when I find some time.
[Galaxy 3 Android Development] tom3q:
On Spica there is no such problem with the same version of OpenFIMG, so I suspect the problem is somewhere else.

// This post should have got automerged, I wonder why automerging sometimes works and sometimes not on this forum...
[Galaxy 3 Android Development] unreal3000:
one bug found... on cm7 alpha 8 , when using camera app the side buttons dont appear in landscape mod (zoom button ect) only in potrait...

used 2 work fine on alpha 7 with open fimg...
[Galaxy 3 Android Development] silentlexx:
Yes, I fixed this one and apps run fine now.

Fix: In /system/build.prop replace ro.opengles.version=131072 to ro.opengles.version= 65537 and reboot.
[Galaxy 3 Android Development] m1trand1r:
what does this fix do?

~~~~~~~~~~~~~~~~~~~~~~~~~

Sent from Galaxy

Hercolubus' Rom v 2.0

powered by

Team g3mod by Arakmar(camera preview fixed):d

~~~~~~~~~~~~~~~~~~~~~~~~~
[Galaxy 3 Android Development] cdesai:
Setting ro.opengles.version to 131072 makes the apps think our phone supports OpenGLES 2.0, but in theory OpenFIMG doesn't support it yet, so they won't work obviously

Settings ro.opengles.version to 65537 makes em think our phone supports OpenGLES 1.1, which is true, so they should work fine :)
[Galaxy 3 Android Development] protomank:
Worked for me, also seems to help some games to run.
[Galaxy 3 Android Development] szewc1:
Google Maps look much better now, there is just a tiny problem with rescaling/resizing (pixelated image). Thanks for your contribution guys.
[Galaxy 3 Android Development] aarrun:
whoooo.....m gonna try that now then.....

---------- Post added at 03:38 PM ---------- Previous post was at 03:25 PM ----------

i actually feel the diff....... thnx cd :)
[Galaxy 3 Android Development] KilL3r!:
can u explain a bit? Where v can feel the difference?
[Galaxy 3 Android Development] jyotisankar9:
Doesn't Work
[Galaxy 3 Android Development] tom3q:
Thanks for your detailed information. Your post will be very helpful in further development.
[Galaxy 3 Android Development] KilL3r!:
LOL..
[Galaxy 3 Android Development] RafayelG:
I would like to join you, I am not a dev but I would like to learn it
[Galaxy 3 Android Development] FadeFx:
Driver development is top class coding. U need years to learn this stuff.

----------------------------------------

tapatalked
[Galaxy 3 Android Development] RafayelG:
I know I can't help at developement but i can test driver
[Galaxy 3 Android Development] insane_subro:
This project could be code named: Stick to your G3 for little more time...... Cause after reading this I am going to do so!!
[Galaxy 3 Android Development] FadeFx:
First someone has to port that driver to the g3... nothing to testdrive before that...

----------------------------------------

tapatalked
[Galaxy 3 Android Development] mohitgalaxy3:
Today in cyanogen mod list I found a thread for galaxy spica and as u said you name was there in 3G drivers, so it means that you are done with that project.

Can we use the same drivers on our G3??
[Galaxy 3 Android Development] tom3q:
This is a prerelease version to allow Spica boot Gingerbread with basic hardware acceleration, not everything is yet implemented and there are some issues to be fixed.

Yes, you can, but you have to adapt at least the G3D module to make it compatible with G3 kernel and memory map.
[Galaxy 3 Android Development] mohitgalaxy3:
Yes, you can, but you have to adapt at least the G3D module to make it compatible with G3 kernel and memory map.[/QUOTE]

All right well you continue with the spica project as of now...because what I think is when you are ready with the final drivers, then we won't need to modify it from the scratch to work on our device...I think there will be some small changes because you already told us that the GPU is same in both the device....keep posting the updates here as well...bcs i m eagerly waiting for this project...

Thanks...
[Galaxy 3 Android Development] anant.0097:
The two words g3d module and memory went over my head....

What are they?
[Galaxy 3 Android Development] ghiurtuv:
I looking for this project too...

Sent from my GT-I5800
[Galaxy 3 Android Development] hillbeast:
Memory map tells it where to find everything in the RAM (as a different hardware layout, different kernel and different SOC will cause stuff to be located a little differently) and AFAIK the G3D module is another way of saying graphics drivers, but in a more Linuxy way.
[Galaxy 3 Android Development] tom3q:
G3D module is a kernel module responsible for low level hardware handling, like interrupt handling, context management, power management and generally everything what can't be done directly from userspace code of OpenFIMG (libGLES_fimg.so). In other words it's a bridge between kernel and user space.
[Galaxy 3 Android Development] unreal3000:
so any news? :D
[Galaxy 3 Android Development] Thom47:
Yup. He made a breakthrough and managed to get Hardware accelration working for our phone. For some reason also flash videos run now, and raging thunder gives average fps of 60. But for some reason he forgot to tell all of this to us, hence the inactivity in this thread.

On topic: I'm sure he will tell us when he finds out something major :)

EDIT 7.7.2011 : Since everyone is already celebrating let me make this clear: I was just joking. It was sarcasm. Period.
[Galaxy 3 Android Development] dilzo:
Wow so it was samsungs ****ty drivers that made the games run bad. But 60 FPS holy $%&# thats huge. Could you try neocore aswell?
[Galaxy 3 Android Development] dilzo:
OK I get it. It doesn't take 4 people to tell me.
[Galaxy 3 Android Development] tom3q:
As I explained in one of my previous post, currently I'm working on a good kernel for Galaxy Spica (GT-i5700) using no original code provided by Samsung, because it was simply broken and "working" only because it was extremely patched to just sort of work. It's in a very advanced stage, as it already boots Gingerbread and supports most of the internal hardware, so only few missing pieces are left. After I finish it, I will be able to get back to OpenFIMG, which I posted here mostly to get interest of other developers (which I got almost none currently ;( ).
[Galaxy 3 Android Development] haree:
hi

all

support the developer , help him in helping us all:)

stick to the subject. :D

i have deleted all unwanted post:D

peace guys:D:D
[Galaxy 3 Android Development] debaj:
I think all 'our' developers capable of driver hacking are occupied in the CM7/Gingerbread project.
[Galaxy 3 Android Development] ghiurtuv:
Nice Haree and good luck to Tom for his kernel (spica) and hope some g3 devs would help you.

Sent from my Galaxy to Terra
[Galaxy 3 Android Development] eeshlikhith:
LOL'd so HARD! xD

BTW tom where do you get the code for OpenGL from? i mean if you were to add lightning now, where would you get its actual code from?

http://www.mesa3d.org/

Could that be of any help? Its something related to OpenGL
[Galaxy 3 Android Development] tom3q:
I ask someone to open my head, take the code from there and then close it again. Then I take the code and put into my project. ;)

Now seriously, I write the code myself, starting from thinking about how to design it properly and then, after I find an acceptable solution, I implement it. This is how programming works (in simple words).

Of course there are some additional constraints, because the project is about implementing a standard API. In this case, OpenGL standard defines which functions must be provided to applications by my library and all the requirements which must be met by those functions. The implementation itself in most cases is completely left to the developer.
[Galaxy 3 Android Development] eeshlikhith:
http://www.mesa3d.org/

Could that be of any help? Its something related to OpenGL
[Galaxy 3 Android Development] propsia:
I'm speechless & overwhelmed by your though :-)

:-) you are Real Programmer
[Galaxy 3 Android Development] protomank:
Make sure you clean that cache in google maps if you used it with errors.
[Galaxy 3 Android Development] tom3q:
I know about Mesa 3D. Sometimes I look there for ideas if I can't find a good implementation myself.

However, Mesa 3D isn't suitable for low power mobile devices, because it is designed to be heavily device independent (often at a cost of increased overhead), not tailored to specific hardware with as low overhead as possible. Furthermore it's designed for the full desktop OpenGL implementation and all the bits specific to desktop Linux, like direct/indirect rendering, GLX, X11, etc., which makes it kind of bloatware when looking at it as software to be used on a mobile device.

That's why a separate project was needed, which targets all the goals required in this specific environment.
[Galaxy 3 Android Development] cecenac:
Do I need to wipe data after flashing your newest open fimgs ?
[Galaxy 3 Android Development] ChrisTK:
I did it but gangstar west coast has white textures again.i am using cf3d v 2.0
[Galaxy 3 Android Development] Gurjot95:
Yup, chainfire 3D isn't working for me too for any game.