Open source driver for FIMG 3DSE (GPU of Galaxy 3)

Search This thread

apollo5801

Retired Recognized Developer
Dec 14, 2010
352
1,039
Bangalore
Are you maybe trying to run OpenFIMG on Samsung's kernel module?

One more thing, Samsung's gralloc is likely to break OpenFIMG, so the preferred one is from my android_device_samsung_spica repo, as it should work just fine on G3.

And well, I've got a feeling that all those things were already written on this page.

Don't know how this stuff works at all. Just trying to figure out. Did not change anything on kernel side. Can you point any changes to spica kernel. Will try with spica gralloc.

Errors are not already written on this page. They may be different.
 

tom3q

Senior Member
May 31, 2011
358
1,611
Warsaw
github.com
You are mostly right. Kernel module must fit user space libs, so Samsung's FIMG libs will work only with Samsung's kernel module and OpenFIMG will work only with its module.
However, the user space part of OpenFIMG should work fine on G3 in its current state (or at least just produce something on the screen), so just the module needs to be ported.

EDIT: Also I'm not sure how video memory allocation is done on G3. OpenFIMG uses /dev/pmem_gpu1 to allocate video memory and it must be configured with allocator enabled. (This is going to change, though, as I'm going to rework the kernel module to use the in-kernel Direct Rendering Manager subsystem, which provides memory allocation.)
Also one more thing. It might be needed to remove all the customization to Android sources and configuration done to make original GL libs work and use a clean gralloc implementation, like the one I wrote for Spica.

Please read this post, I quoted specially for you.

Memory configuration of Spica: https://github.com/tom3q/spica-3.0/blob/android-s3c64xx/arch/arm/mach-s3c64xx/mach-gt_i5700.c#L648
PMEM configuration of Spica: https://github.com/tom3q/spica-3.0/blob/android-s3c64xx/arch/arm/mach-s3c64xx/mach-gt_i5700.c#L694
G3D resources of Spica: https://github.com/tom3q/spica-3.0/blob/android-s3c64xx/arch/arm/mach-s3c64xx/mach-gt_i5700.c#L1988

You should have similar things in G3 sources, but very likely scattered all over arch/arm/mach-s5p* and arch/arm/plat-s5p*.
 
Last edited:

apollo5801

Retired Recognized Developer
Dec 14, 2010
352
1,039
Bangalore
Please read this post, I quoted specially for you.

Memory configuration of Spica: https://github.com/tom3q/spica-3.0/blob/android-s3c64xx/arch/arm/mach-s3c64xx/mach-gt_i5700.c#L648
PMEM configuration of Spica: https://github.com/tom3q/spica-3.0/blob/android-s3c64xx/arch/arm/mach-s3c64xx/mach-gt_i5700.c#L694
G3D resources of Spica: https://github.com/tom3q/spica-3.0/blob/android-s3c64xx/arch/arm/mach-s3c64xx/mach-gt_i5700.c#L1988

You should have similar things in G3 sources, but very likely scattered all over arch/arm/mach-s5p* and arch/arm/plat-s5p*.

Thanks. I will try to figure out kernel changes and gralloc.
 

PersianSphinx

Senior Member
Aug 23, 2011
852
223
London
Samsung Galaxy S7 Edge
hillbeast has said he would be working on it after christmas! all we gotta do is have patience :)

hillbeast taking 10 day break starting from 25 december
also the devs working on ICS (apollo5801 in particular i think) are working on this. apollo said they wont touch anything else until they fix this fimg issue... TAKE THAT LAZY SAMSUNG SG3 MAKERS!!!!! TAKE THAT AND STARE AT IT WITH AWE!
 
Last edited:

Keinbockwurst

Senior Member
Mar 7, 2011
563
248
hillbeast taking 10 day break starting from 25 december
also the devs working on ICS (apollo5801 in particular i think) are working on this. apollo said they wont touch anything else until they fix this fimg issue... TAKE THAT LAZY SAMSUNG SG3 MAKERS!!!!! TAKE THAT AND STARE AT IT WITH AWE!

I did not want to be unpatient :( I am sorry if u got that wrong. I was just a bit dissapointed, because this awesome work seemed to be "death". ;) I am very happy that hillbeast wants to try to port this. :)

Sorry, if anyone got me wrong! :D
 

PersianSphinx

Senior Member
Aug 23, 2011
852
223
London
Samsung Galaxy S7 Edge
I did not want to be unpatient :( I am sorry if u got that wrong. I was just a bit dissapointed, because this awesome work seemed to be "death". ;) I am very happy that hillbeast wants to try to port this. :)

Sorry, if anyone got me wrong! :D

i think you got this wrong that i got you wrong because i didn' get you wrong! confusing? no! ;)
no, i was saying that samsung (the brand) sucks with its ummm.... what do you call it? ummm.... oh its costumer service. the costumer service sucks when you're with samsung :p
 
Last edited:

hillbeast

Inactive Recognized Developer
Feb 9, 2011
2,719
6,790
Dunedin
hillbeast taking 10 day break starting from 25 december
also the devs working on ICS (apollo5801 in particular i think) are working on this. apollo said they wont touch anything else until they fix this fimg issue... TAKE THAT LAZY SAMSUNG SG3 MAKERS!!!!! TAKE THAT AND STARE AT IT WITH AWE!

I didn't say 10 days, just said a break in general.
 

PersianSphinx

Senior Member
Aug 23, 2011
852
223
London
Samsung Galaxy S7 Edge
I didn't say 10 days, just said a break in general.

I'm pretty sure you did otherwise I wouldn't say you did, no good spreading rumours, eh?
That's irrelevant though. I was so pleased with your kyorarom, it was very fast so added kyraapp v1. 2 to cm7 a7 and it was super effective :p
And is kyorakernel the same kernel tom3q suggested? So many questions, sorry :D

Sent from my GT-I5800 using xda premium
 

PersianSphinx

Senior Member
Aug 23, 2011
852
223
London
Samsung Galaxy S7 Edge
Maybe, because we can oc the galaxy 3 at 1300mhz in average, the gpu will be more used than the galaxy spica. Sorry if I'm wrong :)

are you suggesting that we use cpu rendering instead of fimg because our cpu is good anyway? i still don't know what to expect from this fimg project, can anyone help me out here? question: if i use cpu rendering and the cpu is overclocked to 1200, i get a score of about 250 in quadrant (not too bad i suppose) and if i use fimg, i get something along the lines of 150. how much do you think this 150 will increase if we improve our fimg? :D
 

tom3q

Senior Member
May 31, 2011
358
1,611
Warsaw
github.com
Well, don't expect too much from this project. The GPU itself isn't a speed daemon and it's nowhere close to GPUs like Adreno 200. The goal of the project is to provide an OpenGL ES implementation with as little as possible CPU overhead and without the bugs and missing features of Samsung's implementation. In current state, we get about 250 points in Quadrant 3D test on Spica with the GPU overclocked to 166 MHz (stock frequency of G3) and volumetric shadows disabled in the corridor test as they don't work correctly yet.
 
  • Like
Reactions: maverickgenius

PersianSphinx

Senior Member
Aug 23, 2011
852
223
London
Samsung Galaxy S7 Edge
Well, don't expect too much from this project. The GPU itself isn't a speed daemon and it's nowhere close to GPUs like Adreno 200. The goal of the project is to provide an OpenGL ES implementation with as little as possible CPU overhead and without the bugs and missing features of Samsung's implementation. In current state, we get about 250 points in Quadrant 3D test on Spica with the GPU overclocked to 166 MHz (stock frequency of G3) and volumetric shadows disabled in the corridor test as they don't work correctly yet.

if you achieve 250 with our phone's stock, i would think we can expect something like 300-350 at least after we overclock our own gpu and finish this project? :confused:
 

Top Liked Posts

  • There are no posts matching your filters.
  • 70
    I am posting here as I am not allowed to do so in development subforum.

    Anyway, I am the developer of the OpenFIMG project (formerly GLES6410), which is aiming to provide proper OpenGL support on devices with FIMG 3DSE 3D engine, found in S3C6410, S5PC100 and probably also in S5P6442. The project is in a pretty advanced state as it is already capable of running Android 2.3 with hardware acceleration. Still many OpenGL extensions and some core features (like lighting) are still missing. More info can be found here: https://github.com/tom3q/openfimg/wiki.

    It is very likely (and almost confirmed) that the SoC used in Galaxy 3 (S5P6442) contains the same GPU as the one in S3C6410, which is the chip inside Galaxy Spica and similar phones, at least basing on what Quadrant and GLbenchmark show and on GL libraries supposed to be dumped from Galaxy 3.

    What I am trying to say is that my project may also be useful on Galaxy 3, but I am the only developer working on it and I am doing it in my free time, so it does not progress as fast as one may expect. In other words, I am looking for some other developers interested in this project.

    If you are interested, then do not hesitate to drop me a PM.

    Mod EDIT : moving this to development

    EDIT: Attached some documents about FIMG 3DSE (based on S3C6410 documentation and my reverse engineering)

    EDIT: The project has been successfully used on G3. Builds of ICS for G3 use OpenFIMG as primary graphics driver currently and there are update packages for CM7.
    32
    I was talking with my boss today regarding my personal open source contributions related to Samsung hardware and he told me that there shouldn't be any problems with OpenFIMG, although to be safe I will have to let him look through any changes and officially accept them before publication. Those which can potentially reveal any sensitive information will have to go through Korea, but there shouldn't be any problems.

    So basically the project is still alive.
    32
    I've got a G3 now (thanks to the donator, I'm not sure if he wants to be named), so I might be able to help with kernel porting and test OpenFIMG on G3 ROMs and do any necessary improvements.
    24
    I just wanted to get this thread back on top and aks if you're still busy tom ;)
    I'd love to see an update of this driver, really appreciate your work!

    Well, I'm now taking a break after the exams till the end of this week, then I'm going to finish my libcamera implementation for the 3.x kernel (for Spica currently and later also for G3) and will see what to do after that, 3.x kernel for G3 or something for OpenFIMG.
    23
    Very interesting .. I send you PM.