yashsingh1/xdaforums huggingface dataset:
[G1 Android Development] Case_:
I don't know if it helps or if I'm being Captain Obvious here, but I've tried just today porting ahmgsk's ROM to 32A old radio (using my Cyanogen-based kernel) and neither video nor 3D does work after this. And pretty much the only thing I've changed is kernel image (with ahmgsk's ramdisk) and wlan.ko, obviously (well, I've moved apps from /system/app to /data/app_s to work around the larger system partition with the new 32A radio, but I don't think that has anything to do with 3D not working). So no, the libhgl doesn't cut it by itself, there's obviously something in-kernel preventing 3D from working on the old 32A/32B radios.
[G1 Android Development] polyrhythmic:
Yes, there are a couple kernel changes that need to be made, and after boot on our Kaiser/Vogue we need to:

chmod a+rx /dev/msm_hw3dc
chmod a+rx /dev/msm_hw3dm

(we do this in our init.rc)

You also will need working copybit.msm7k.so, libGLES_qcom.so, and an egl.cfg that enables libGLES_qcom.so . There are other .so's that may affect it but those are the only ones I've ever had to move around. This gets OpenGLES mostly working.

I'm no kernel dev but our kernel source can be found here, you can thank dzo and vilord for it.
[G1 Android Development] jcarrz1:
WOW THIS IS awesome!

Why didn't i think of that?

i might wait to release a rom though, i'm busy.

How bout it king?
[G1 Android Development] kingklick:
^^ :p

so you guys just need me to compile that kernel for g1....... ?
[G1 Android Development] :
that would rock no more 1.6 if you fix open gl in eclair. but do it on a normal not hero rom with no ram hack
[G1 Android Development] Z҉A҉L҉G҉O̚̕̚:
Sorry.----
[G1 Android Development] :
go away bigot we don't need to stand for this kind of hate speech, that's not funny
[G1 Android Development] Z҉A҉L҉G҉O̚̕̚:
Sorry, I didn't know it would be taken like that.
[G1 Android Development] TaurusBullba R.I.P.:
Back on topic folks.
[G1 Android Development] axlastro:
Maybe just stating the obvious - back in the days, when HTC finally released the qualcomm GL drivers for winmo, they worked very well on the Kaiser (Touch flo 3d), as it had almost the same chipset as the diamond, which I think has the same chipset as the G1. So there might be compatability between the drivers for the Kaiser and the G1.
[G1 Android Development] speedysilwady:
thatd be awesome if you got it working king! =]
[G1 Android Development] lbcoder:
It most definitely DOES. The Kaiser has MSM7200, which differs trivially from the MSM7200A (the difference is a matter of physical size). By my observations comparing the MSM7200A driver with the MSM7201A (where I found that the driver is actually ***IDENTICAL***), it is clear that the MSM7200 driver will work on the MSM7201A (DREAM).

So this is just a matter of getting all the right bits into the right places! :eek:
[G1 Android Development] axlastro:
I'm not a developer, so all I can say go for it and make it happen guys, we will be most grateful for that.
[G1 Android Development] Jedipottsy:
so does this mean working GL for dream/32b with a new kernel, or do we also need a new radio/spl?
[G1 Android Development] lbcoder:
That is not entirely clear at this moment.
[G1 Android Development] Case_:
I think it's just a matter of modifying the kernel according to the changes for Kaiser. Radio should not matter.

Sadly, I don't have time to try that today.. :(
[G1 Android Development] lbcoder:
Might be, but that might also not work.

What it probably needs is kernel modifications SIMILAR to those for Kaiser, but which match OUR RADIO FIRMWARE.

Either that, or we need to run hero radio and kernel.... if that is even possible without causing bricks....
[G1 Android Development] jcampos:
i'm far from being a smartdevice kernel expert...and maybe this is a quite stupid question but... how does a driver for WinMo (Kaiser) relate to a driver for *nix (Android)?
[G1 Android Development] Buster3616:
No offense, but it doesn't matter if you understand it. You obvoisly won't be developing the rom. Lets keep this thread on topic and see if we can get this working!
[G1 Android Development] polyrhythmic:
Well, WinMo sucks and us Kaiser owners were quite mad about the lack of OpenGL drivers for WinMo despite it being advertised as being supported. So as soon as Android was announced we started working on porting it to Kaisers. Knowing that the Google dev phone was similar hardware, one of the main motivations was finally getting the proper HW-acceleration and speed out of our devices. With the help of countless devs Android now can be flashed and we run it as the native OS. Somewhere around last April dzo got OpenGL working on our devices. Most of the other Android msm7k drivers you all use for G1s I can now use directly on my Kaiser without modification.
[G1 Android Development] infind:
wow youre a jerk....

give the guy a break, it was an honest question.

there was no need for you to belittle him
[G1 Android Development] Case_:
So I've tried the best I can (I'm no coder, but I'm persistent ;) ) to port the changes from the Kaiser kernel to Cyanogen's Eclair kernel. I've managed to get it to compile succesfully all the way through after a bit of a struggle, but in the end when it's creating the final kernel image it complains about undefined references in several hw3d functions. I get a vague idea as to what that means and why does it happen, but tracing the cause is WAY beyond me, sorry. I give up. This needs someone more competent (=pretty much anyone else ;) )
[G1 Android Development] Case_:
Edit: Nevermind, sorry.
[G1 Android Development] speedysilwady:
thanks for trying bro! =]

damn im surprised barely anyones jumped on this o.O;
[G1 Android Development] jcampos:
Ah, didn't know that. That's great then. For the conversation in this thread I was thinking you wanted to use winmo drivers on android :-)

So I'm guessing here libhgl.so is just the hardware implementation of the GLes reference driver, which means that it's probably just (quotes around that) a different build structure, since the hardware is the same. However, Eclair libs seem to use /system/lib/egl/libGLES_* instead of that, so libhgl.so is not even called.

I'll try to get some free time and fiddle with it, if it's just the /dev/ structure which has changed, with a bit of tracing it should not be THAT hard to figure out, or just (quote that again) make the kernel load the original libhgl.so instead of the libGLES_* libraries... there are obviously different problems with this or else some dev around here would have found out already (it looks all TOO easy if it's only that). Is there any thread (I tried searching the forums but everything comes out quite vague) where development around this issue is being discussed so I can follow?

Don't worry about it... I follow these forums often (although not write that often) and know how many people here likes to behave. I get absolutely no offense from that and just ignore those kind of posts completely :-)
[G1 Android Development] lbcoder:
You aren't understanding the driver.

libGLES* calls on libhgl.so and libagl.so. We have source for libagl.so (software emulator of hardware gl functions). We only need to get the new version of libhgl.so working, i.e., the libhgl.so <--> kernel connection is broken.

And the libagl.so (and other similar stuff) also happens to be the reason for the abysmal performance of 2.x on DREAM!!!! Because it is doing GL and other hardware functions in SOFTWARE (sucking up the CPU) rather than using hardware functions.
[G1 Android Development] jcampos:
Yes, I understand how a reference driver works... however, I've read around (while looking for some documentation) that libhgl.so was not called, and instead you had several different libGLES_* which replaced that.

What I've read might have been wrong though. Can't really quote since I'm at work right now :-(
[G1 Android Development] lbcoder:
We have the source for libGLES*, so that theory is wrong.

Edit: And it doesn't make the slightest difference anyways, since we really don't care what the filename for the hardware driver is. The fact that the hardware is identical is the key.
[G1 Android Development] memphisraynz:
Guys,

Iv been following this for a while and i just sent WesGarner a PM on twitter to see if he can check this thread out.

All this seems to need a a Top kernel dev like Wes to get in on it and we might be able to get it working.

Hope he can see the missing piece
[G1 Android Development] wesgarner:
Hey guys, saw the tweet and wanted to jump in real quick

I finished up a kernel that is fully compatible with the new dev associated with this egl

I haven't have had much time to play, but in theory I should be able to copy of the files I have for it and may have success

When I tried previously, I was getting a few errors (not during compile but after boot)

I will prob give it another go in the next day or two to track down the problems - I will try to keep this thread updated if I find anything

Thanks for the Tweet!
[G1 Android Development] wesgarner:
For fun I decided to compile this kernel (been working on it for a few days, prob going to be kernel v4 - hope to have fender/mt3g 1.2 on it but not tested)

Compiles perfectly, etc - using the proper files to make it work

And included the permissions from :

What I ended up with was the same problem I ran into a while back with it and gave up for the time lol - will experiment more later but sorry nothing so far

D/libEGL ( 146): loaded /system/lib/egl/libGLES_android.so
D/libEGL ( 146): loaded /system/lib/egl/libGLES_qcom.so
E/EGL.oem ( 146): could not open hw3dc (Permission denied)
[G1 Android Development] bakgwailo:
chmod 777 -R /dev :p
[G1 Android Development] memphisraynz:
Wes,

Thanks for chiming in on this thread, i didnt expect to see you in here for a while, i know how busy you are.

Anyway thanks for looking at this.

I would love to see the G1 with Elcair and 3D drivers.

I must donate some more money for your beer fund, right after i put some more money back into Kiva
[G1 Android Development] t_rob76:
Wes and Cyan went back and forth on twitter, Cyan said it may be something about rw permissions for the graphics group
[G1 Android Development] Case_:
This definitely needs to be in init.rc for 3D acceleration to work on 32A:

chmod 666 /dev/msm_hw3dc
chmod 660 /dev/msm_hw3dm

(sent it to Wes and Cyan on Twitter as well)
[G1 Android Development] lbcoder:
Beer to a developer? You crazy? BAD BAD BAD!!! You need to contribute to the HOOKER fund.... no mental side effects! :eek:
[G1 Android Development] memphisraynz:
That hooker fund does sound like a good idea.

Not sure my G/F would approve of a hooker though LOL
[G1 Android Development] marxmarv:
You don't know some of the hookers I do. :eek::confused::(:mad:

That said, there are no doubt many female G1 owners who would be overjoyed to bestow their favors on whoever solves the toughest problems in getting a fully-enabled, accelerated Eclair on their phones.
[G1 Android Development] borodin1:
off-topic

@marxmarv BIG kudos for "reasonably-sized signature" Drives me absolutely nuts when some n00b has a half-page long sig with the list of all phones that he ever had, screenshots of his current phone, some stupid quotes and pictures of his girlfriend.

/off-topic

@ all the devs here: you guys rock and we all appreciate what you do.
[G1 Android Development] Case_:
If anyone is feeling adventurous, I've tried to compile a 32B/G1 kernel for the Eclair ROMs with working 3D I've posted earlier today in Magic forums.

Pick one of those ROMs:

http://xdaforums.com/showthread.php?t=640275

http://xdaforums.com/showthread.php?t=640272

The first one (ahmgsk Eclair) is more stable. Note that I don't have any idea what SPL you need on 32B/G1 to be able to flash these ROMs - ahmgsk Eclair has system partition size around 71MB, Kingclick's Hero at about 83MB, that's all I can tell you.

Also, read my notes as to what works, what doesn't and what's problematic ATM.

Then pick the corresponding kernel package.

Ahmgsk Eclair: http://www.mediafire.com/file/0mor4fhhyz0/AMeclair21_32Bpatch.zip MD5: 506d30b69186059abc2a22804952e7a8

Kingclick Hero: http://www.mediafire.com/file/ndzy0nqgyn5/kingclick_heroeclair_32Bpatch.zip MD5: 1edc13067d42910508b2122c9743ddee

Wipe, flash the main ROM and then (without rebooting) flash the kernel package over it. Then reboot. If I've done it right (I don't have 32B or G1 available, so I'm working blind here), it should boot (takes a while even on 32A). And if it does boot, chance is you'll get 3D acceleration working.

If it doesn't boot, then I most likely made the 32B kernel wrong and I'm sorry.
[G1 Android Development] memphisraynz:
This is amazing news.

So many people thought this wasnt possible. Look whos laughing now LOL (me)

Anyway, im personally waiting for Wes to put this into his kernel so it can be used with open eclair.

Case_ is there anything you can share with the XDA community to help out the other devs to get this working?

Once again awesome work
[G1 Android Development] Case_:
See this post with my explanation, there's nothing much to share that hasn't been already said:

http://xdaforums.com/showpost.php?p=5760830&postcount=13

I'm not doing anything extraordinary really. And I have absolutely no idea if it'll work on 32B/G1 as well. It would be great if it did, but surely G1 devs must have already tried all those things I tried long time ago...?
[G1 Android Development] ttc_smokee:
i'll give it a shot.. with the ahmgsk rom and it's kernel and i'll report back after i try a few games / apps and whatnot
[G1 Android Development] ttc_smokee:
well 3d games are running.. tried with speed forge 3d and hyperspace and it is running.

Case_ you are the man.
[G1 Android Development] speedysilwady:
edit nvm read the topics Case_ linked to again

Awesome go Case_!!!

hey ttc do youtube, mp4s, and livewallpapers work at full speed?
[G1 Android Development] Case_:
I would be surprised if they did, they don't work on 32A with these ports of mine properly, I'm not sure why, as they SHOULD work (well, low quality Youtube and video works on Kingclick's Hero, but that's about it).

Anyway, I'm somehow stumped that 3D actually works for you as well just by applying those packages. Until now I really thought that it just works on 32A for some reason (and by some coincidence nobody found out as the 32A phones are not the primary focus of most devs) and on 32B/G1 there's some big underlying unsolvable issue which prevents it from working for you. But good for you!
[G1 Android Development] Jigga0o7:
Is this on a Dream? Shouldn't everyone be very happy right now?
[G1 Android Development] memphisraynz:
Damm right everyone should be happy.

Maybe they guy who started this thread should update the title to include "Solution:" Then the devs can get on it. I dont think anyone really knows its working
[G1 Android Development] speedysilwady:
hell yeah man progress is progress! thanks a lot Case_!!! :D

Eclairs are finally progressing with partially working drivers! im sure theyll be fully working soon with the help of the devs in the community :cool:
[G1 Android Development] ttc_smokee:
didn't get a chance to try HQ youtube... some live wallpapers did work for me, but i tried a couple of games, but i have already re-flashed back to my custom eclair rom... i think Case_ might deserve that bounty for the working GL, this is the closest we have come thus far.

I would guess in a few, days now we should have decent ROM with working GL

note: i tried to implementsCase_'s kernel and wlan.ko, into a custom eclair rom that I built, but using my ramdisk edited with the permission fixes for the GPU, and it did run, but the same 3D games I tried to run FC'd. Then I merged the /system/lib/egl folder into my ROM, rebooted, and tried the games again. It did not FC, but instead it gives me a blank, black screen. I'm sure one of the more experienced dev's will have better luck than I.

Looking forward to new developments!!
[G1 Android Development] JoelOFH:
I hope all the devs pull together on this. This is incredibly exciting. :)
[G1 Android Development] TemporalShadows:
Wouldn't the games work anyway, just through the software emu lib mentioned earlier? If so, just because they run doesn't mean it worked.

Correct me if I'm wrong. I'd try this but I can't flash Eclair right now.
[G1 Android Development] Jigga0o7:
I just finished flashing Eclair w/ the 32B patch. Booting... will report back after I run some tests to see the current state of things.
[G1 Android Development] TemporalShadows:
From WesGarner on Twitter a moment ago:

"#OpenEclair 3D may be working! No error, no problem: http://pastebin.com/CzYiLmza (about to test)"

Looks like this may be it, folks. I might have to try Eclair again if this pans out. :) I imagine it'll speed it up a ton!
[G1 Android Development] Jigga0o7:
I successfully flashed the 32A rom w/ the 32B kernel but can not fully test since Wi-Fi is unable to start. Will await the release from Wesgarner.
[G1 Android Development] wesgarner:
lol good news... about to test:

D/libEGL ( 146): loaded /system/lib/egl/libGLES_android.so

D/libEGL ( 146): loaded /system/lib/egl/libGLES_qcom.so

D/EGL.oem ( 146): smi: offset=10000000, len=00700000, phys=0x0

D/EGL.oem ( 146): ebi: offset=00000000, len=00800000, phys=0x16500000

D/EGL.oem ( 146): reg: offset=20000000, len=00100000, phys=0xa0000000

D/gralloc ( 137): smi: offset=10000000, len=00700000, phys=0x0

D/gralloc ( 137): ebi: offset=00000000, len=00800000, phys=0x16500000

D/gralloc ( 137): reg: offset=20000000, len=00100000, phys=0xa0000000

D/gralloc ( 137): allocating GPU size=307200, offset=0
[G1 Android Development] MattKilla:
I've got $20 for the OE fund if we have some 3D acceleration.
[G1 Android Development] wesgarner:
3D is officially working in OE =)

Expect 1.3 in the next couple days - after beta testers get their hand on it first

Want to do video first
[G1 Android Development] speedysilwady:
omg omg omg omg *falls over* yay! :D
[G1 Android Development] mejorguille:
Wow thats great! If I was older then 15, I'd give you some cash. Will you settle for a real big thumbs up?
[G1 Android Development] cityeyes:
Holy balls this is excellent news. Can't wait!
[G1 Android Development] Rede83:
Great news! Good job to everyone involved in that.

Looking forward to a 32a port, loved OE using bcrook's patch but need my YouTube :D
[G1 Android Development] zodagreat:
working 3d and a new radio for faster downloads = a good week
[G1 Android Development] MINUS Stl:
My hands are waiting! :D
[G1 Android Development] lbcoder:
You have any idea how demanding GL is without dedicated hardware? It'll max out your CPU, drain your battery in 5 minutes, and hand you a whopping less than 1 FPS.

Believe me, you CAN TELL when it is using software emulation.
[G1 Android Development] Case_:
Just to get an idea:

Neocore benchmark in Eclar without 3D acceleration on my 32A: around 1.5 fps

Neocore benchmark in Eclair with 3D acceleration on my 32A: 20+ fps

So yeah, you can kind of tell when it's working ;)
[G1 Android Development] benoitb85:
Oh yeah ! 2.1 on the way ! :)
[G1 Android Development] stefanero313:
Neocore benchmark in Eclair with 3D acceleration on my 32B: 27 fps

with kingclick hero eclair rom :)
[G1 Android Development] lbcoder:
Good idea... I'll try. :D
[G1 Android Development] nickstewartroc:
Neocore benchmark in Eclar without 3D acceleration on my 32B: around 1.9 fps

Neocore benchmark in Eclair with 3D acceleration on my 32B: 27.8 fps

with sound off(in class atm)

Running KingKlick's Eclair Hero 1.3
[G1 Android Development] gophergun:
Do the ROMs run noticably faster with this done?
[G1 Android Development] lbcoder:
Judging by the video: http://www.youtube.com/watch?v=qlHV1lsyO5M

They run riptastically fast.

Kinda expected... previous eclaire releases used software emulation for all GL functions -- and that is terribly taxing on the CPU.
[G1 Android Development] gophergun:
I was thinking they would, but figured it'd be better to reserve my girlish shrieks of glee until it was somewhat confirmed :p

Now I just need to find a way to snag a beta copy of OpenEclair - too excited to wait for an official release! :D
[G1 Android Development] MINUS Stl:
Definitely looking forward to this.....and to the Beta. :D
[G1 Android Development] marxmarv:
Sir, you are officially awesome and I tip my hat to you.

Does this also take care of the post-shutter preview bug in Camera?
[G1 Android Development] stevemartin1991:
call me noobish or whtever you want(i havent flashed a 2.1 in ages) so this will allow 3d acceleration yes? great and ive also seen that it now plays videos? does this mean the camcorder will be working and we will more or less have a fully working 2.1 rom? i know theres a drivers issue.
[G1 Android Development] joshua_tam:
Maybe it is a noob question...will the file (driver I mean) violate any copyright issue?
[G1 Android Development] lolmensch:
same here. so unpatient xD
[G1 Android Development] gophergun:
No, as far as I know the driver is unmodified.
[G1 Android Development] joshua_tam:
But if it is owned by HTC, I don't know whether we can include it in OpenEclair.
[G1 Android Development] lbcoder:
There are separate drivers for camera, video decoder/encoder, and GL. Fixing the GL part doesn't affect the others.

Also, playing videos is not the same as ENCODING videos.

There is also a very large possibility that the video ENCODER drivers are NOT COMPATIBLE between the 7200A and 7201A... the reason this may be so is that the DIFFERENCE between the 7200A and 7201A is due to a patent infringement lawsuit in the US regarding H264 encoding between broadcom and qualcomm.

There is also another possibility: that there is no difference AT ALL between the 7200A and 7201A and that qualcomm's solution was purely in the DRIVERS.
[G1 Android Development] gophergun:
That would make just about all of our ROMs illegal, I believe.
[G1 Android Development] joshua_tam:
Yup...hope that it won't happen :)
[G1 Android Development] gophergun:
So wait, what's the process for getting this working? Is it just a matter of chmodding those two files?
[G1 Android Development] lbcoder:
HTC isn't going to make any problems over this.

They know that if they did, roms would show up that have simply had the binary junk stripped out (ala cyanogen -- strips out the google apps), and the original rips that are the source for those binary drivers will simply be distributed in an underground type manner.

All it would do is create inconvenience and ill-will. It would NOT dampen anyone's efforts.
[G1 Android Development] njuncos:
Mad props to ALL the developers, you know who you are, who have actually taken the time to get this working! Especially @wesgarner who will be releasing OE w/ GL drivers working! This will be EPIC!
[G1 Android Development] Z҉A҉L҉G҉O̚̕̚:
Yeah HTC isn't going to start anything at the moment seeing as how they are being a pawn in Apple's proxy war.
[G1 Android Development] lolmensch:
i think the only thing that is really unfair is that "our" devs often get blamed by htc google or whatsoever. but without those devs android would be frickin boring. so the great companies get benefits out of the free developers but still are doing anything but help.

(dont know if this fits in the context but i had to say that somehow. otherwise i wouldnt be able to sleep tonight xD)
[G1 Android Development] protomanez:
Bleh, they're just mad that people aren't using their stock rom. Even though using an rooted rom pulls more people to the G1 :P
[G1 Android Development] polyrhythmic:
The kernel changes are free and open, nothing legal to worry about.

Glad to see this finally working! Yes, OE flies with 3D acceleration. I've become fond of the Bezier live wallpaper. Well done team!
[G1 Android Development] TemporalShadows:
I never tried it on the G1 using software rendering, and the poster didn't mention how fast it was going, just that it was going. You know how some people are on here, they jump the gun. :)

I do remember back in the day, using software rendering on Half-Life games sucked hardcore!