Jump to content
PaulOBrien

Advent Vega kernel source code now available!

Recommended Posts

Hi guys,

Here some help maybe. I don't know if you already did it but on desire hd I was helping devs with ICS and here is how to enable the soft buttons:

Decompile framework-res.apk, then open /res/values/bools.xml and set config_showNavigationBar to true

I thinks it's not needed as we already used softbuttons on HoneyComb but just for the surity I posted it here :P

Areo

Edited by Areo

Share this post


Link to post
Share on other sites

I know there is some anxiety on getting ICS running on Shuttle/Tegra2. Unfortunately, the original released accompanying kernel is targetting OMAP processors, not Tegra2. We need the 3.0 kernel features to get full functionality, And it does not help NVIDIA not releasing the required 3.0 kernel for Tegra2 - I even think that they don't have plans for porting Nvidia tegra2 support for the 3.0 kernel.

So, the only choice left was to do the 3.0 port itself. and trust me, it is not trivial at all... The official linux 3.0 kernel from kernel.org supports tegra, but does not support power management for it. And has outdated drivers for most Tegra2 peripherals, and does not have graphics (framebuffer) support for it.

So, this means we had to nearly start from scratch, adding to the 3.0 kernel the changes done by NV to the 2.6.36 kernel, but using the updated interfaces 3.0 has... Please, be patient. It willl take some time... I am almost done with porting, but i have still to debug it

  • Upvote 1

Share this post


Link to post
Share on other sites

So, this means we had to nearly start from scratch, adding to the 3.0 kernel the changes done by NV to the 2.6.36 kernel, but using the updated interfaces 3.0 has... Please, be patient. It willl take some time... I am almost done with porting, but i have still to debug it

We do not matter; the important thing is to enjoy the work for its own sake. Kahlil Gibran on work:-

Work is love made visible.

And if you cannot work with love but only with distaste, it is better that you should leave your work and sit at the gate of the temple and take alms of those who work with joy.

For if you bake bread with indifference, you bake a bitter bread that feeds but half man's hunger.

And if you grudge the crushing of the grapes, your grudge distils a poison in the wine.

And if you sing though as angels, and love not the singing, you muffle man's ears to the voices of the day and the voices of the night.

http://www.katsandogz.com/onwork.html

Share this post


Link to post
Share on other sites

No idea... fps perhaps could be capped to the display refresh rate inside the nvidia propietary libraries. It makes no sense to go faster than that ;)

Man, Legionnaire used the above quote almost word for word as if it were his own. Weird little thing to plagiarize if you're not him. You're not, right? That would be even weirder :lol:

Share this post


Link to post
Share on other sites

Man, Legionnaire used the above quote almost word for word as if it were his own. Weird little thing to plagiarize if you're not him. You're not, right? That would be even weirder :lol:

Not at all. Just check when i started posting here ;) --- By the way, I am still porting to the 3.0 kernel. Right now, i have booting the 2.6.39 nvidia kernel, but, as soon as i enable the USB tegra controller, it locks up ... Trying to debug that.... Then, i will probably try to fix the 3.0 kernel (i also have ported the tegra2 hw support to it, but didn't boot) ...

Share this post


Link to post
Share on other sites

Well.. nvidia android 2.6.39.4 is booting ;) - Seems to recognize everything ... And seems to support all new ICS interfaces. I will make sure everything works fine, and then, probably, either we use it or we try to port to the 3.0.1 linux kernel (it is just the next version, so porting should be much easier ;) )

  • Upvote 1

Share this post


Link to post
Share on other sites

Well.. nvidia android 2.6.39.4 is booting ;) - Seems to recognize everything ... And seems to support all new ICS interfaces. I will make sure everything works fine, and then, probably, either we use it or we try to port to the 3.0.1 linux kernel (it is just the next version, so porting should be much easier ;) )

I say release the . 39 so we can get ICS out there, then if you still feel like more fun go for the 3.x :)

EDIT :- Fixed touchscreen btw on .36 kernel :)

// And capabilities^M

//set_bit(EV_SYN, ts->input_dev->evbit);^M

//set_bit(EV_KEY, ts->input_dev->evbit);^M

set_bit(EV_ABS, ts->input_dev->evbit);^M

//set_bit(BTN_TOUCH, ts->input_dev->keybit);^M

Found it on xda in an HTC forum .. works nice ... now for the green overlay ..

Cheers

Cass

Edited by Cass67

Share this post


Link to post
Share on other sites

Im exited too :) Does everything work? Are there any problems? When will you give the link to the github so we can download it?

And ofcourse thanks for your amazing work Eduardo :)

Kindest Regards,

Areo

Share this post


Link to post
Share on other sites

I say release the . 39 so we can get ICS out there, then if you still feel like more fun go for the 3.x :)

EDIT :- Fixed touchscreen btw on .36 kernel :)

// And capabilities^M

//set_bit(EV_SYN, ts->input_dev->evbit);^M

//set_bit(EV_KEY, ts->input_dev->evbit);^M

set_bit(EV_ABS, ts->input_dev->evbit);^M

//set_bit(BTN_TOUCH, ts->input_dev->keybit);^M

Found it on xda in an HTC forum .. works nice ... now for the green overlay ..

Cheers

Cass

Be careful with that modification ... In teory, those lines should be required... Is there any reason for removing them besides that they make the touchscreen work ? (just curious!)

Share this post


Link to post
Share on other sites

Be careful with that modification ... In teory, those lines should be required... Is there any reason for removing them besides that they make the touchscreen work ? (just curious!)

Nope, with them TS not work .. without .. it works .... ICS is pretty bloody fast too ;)

Share this post


Link to post
Share on other sites

Well, just to give you an idea on where i am, i have attached my latest patches against the android-2.6.39 tag of the Nvidia kernel git..

I have still work to do:

>MMC is not working. The reason is a modification Nvidia did to the MMC driver that does not support more than one SDHC at the same time. Fix is easy, but i had no time to implement it yet

>Audio playback is crashing the kernel: Reason, probably a bug introduced in the ALC5624 codec driver when i ported it from the 2.6.36 ALSA Soc Audio to the 2.6.39 version... I have to debug it, but seems it should be easy to fix.

All the other things should be working...

As you see, there is still work to do, hopefully, in the next few days it will be done!

Regards,

Eduardo

patch2.6.39.rar

  • Upvote 1

Share this post


Link to post
Share on other sites

Well, just to give you an idea on where i am, i have attached my latest patches against the android-2.6.39 tag of the Nvidia kernel git..

I have still work to do:

>MMC is not working. The reason is a modification Nvidia did to the MMC driver that does not support more than one SDHC at the same time. Fix is easy, but i had no time to implement it yet

>Audio playback is crashing the kernel: Reason, probably a bug introduced in the ALC5624 codec driver when i ported it from the 2.6.36 ALSA Soc Audio to the 2.6.39 version... I have to debug it, but seems it should be easy to fix.

All the other things should be working...

As you see, there is still work to do, hopefully, in the next few days it will be done!

Regards,

Eduardo

Builds ok but I am unable to test the zimage as I dont have my vega at the moment :( away for repair.

https://github.com/wooshy1/android-tegra-nv-2.6.39

Share this post


Link to post
Share on other sites

hi, Ican test it if you have a compiled ics build, else i need to compile it first and that takes long :P

Areo

I dont have it compiled lol run out of disk space :-O about half way through the build

Share this post


Link to post
Share on other sites

Well, just to give you an idea on where i am, i have attached my latest patches against the android-2.6.39 tag of the Nvidia kernel git..

I have still work to do:

>MMC is not working. The reason is a modification Nvidia did to the MMC driver that does not support more than one SDHC at the same time. Fix is easy, but i had no time to implement it yet

>Audio playback is crashing the kernel: Reason, probably a bug introduced in the ALC5624 codec driver when i ported it from the 2.6.36 ALSA Soc Audio to the 2.6.39 version... I have to debug it, but seems it should be easy to fix.

All the other things should be working...

As you see, there is still work to do, hopefully, in the next few days it will be done!

Regards,

Eduardo

Seems not to boot in android ...

http://pastebin.com/vVcL0yS7

Having issues with the framebuffer it looks like ...

Not had much time to really look into it but on the few tries i had playing with the .config framebuffer settings and the cmdline args in mkbootimg it fails with pastebin above ...

Also i need to look to the config as there are no entries for

NETFILTER_XT_MATCH_QTAGUID

NETFILTER_XT_MATCH_SOCKET

Also does Atheros wifi compile ok against .39 kernel for you ? fails for me .. again not really investigated why yet ... will later tonight if i have time...

Cass

Share this post


Link to post
Share on other sites

hi, Ican test it if you have a compiled ics build, else i need to compile it first and that takes long :P

Areo

Later when i have time ill package what i have so far and pm you the link... It will be in nvflash format as i cba doing the whole cwm thing, much easier for me to run nvflash commands...

Share this post


Link to post
Share on other sites

Later when i have time ill package what i have so far and pm you the link... It will be in nvflash format as i cba doing the whole cwm thing, much easier for me to run nvflash commands...

I will wait for it :) thanks

Areo

Share this post


Link to post
Share on other sites
Seems not to boot in android ... http://pastebin.com/vVcL0yS7Having issues with the framebuffer it looks like ... Not had much time to really look into it but on the few tries i had playing with the .config framebuffer settings and the cmdline args in mkbootimg it fails with pastebin above ... Also i need to look to the config as there are no entries for NETFILTER_XT_MATCH_QTAGUIDNETFILTER_XT_MATCH_SOCKETAlso does Atheros wifi compile ok against .39 kernel for you ? fails for me .. again not really investigated why yet ... will later tonight if i have time... Cass

Don't worry. The kernel patches i posted are very preliminary. I will fix all those problems, including the gralloc not initializing. What i was most interested in, initially, was to make sure the kernel boots. We are using the fb support that nvidia supplied in the 2.6.39 kernel. My idea was to try to use that uopdated fb support, but, if it does not work and there is no way to make it work, i will forward port the 2.6.36 fb code to the 2.6.39 ... ;)

PD: By looking at:

E/gralloc ( 88): Can't set nvmap fd: Not a typewriter

E/FramebufferNativeWindow( 88): couldn't open framebuffer HAL (Not a typewriter)

E/SurfaceFlinger( 88): Display subsystem failed to initialize. check logs. exiting...

we see gralloc is failing to initialize. I suspect that the problem is that the gralloc uses a device (/dev/nvmap and /dev/knvmap), but the nvmap driver uses dynamic allocation for the minor number of the char device... Probably, the new kernel uses a different dynamically allocated minor number, so, unless we correct those nodes in the /dev folder, gralloc won't work ... You could easily find the correct numbers by looking either at /proc/misc or uin the /sys filesystem) ... ;)

Edited by ejtagle

Share this post


Link to post
Share on other sites

Probably, the new kernel uses a different dynamically allocated minor number, so, unless we correct those nodes in the /dev folder, gralloc won't work ... You could easily find the correct numbers by looking either at /proc/misc or uin the /sys filesystem) ... ;)

61 knvmap

62 nvmap

Appears the .36 and .39 use the same numbers, as above when booted ...

Share this post


Link to post
Share on other sites

61 knvmap

62 nvmap

Appears the .36 and .39 use the same numbers, as above when booted ...

OK, i will check i bit later what is going on with this ;) -- Something very silly must be missing. I'd really like to use the new fb framework of the 2.6.39 with the gralloc and openGl drivers ;)

PD:

Well, i think i found the problem. It will require an small patch to the fb driver in the kernel... Not a big problem, at least i hope so ;)

Edited by ejtagle

Share this post


Link to post
Share on other sites

Well, attached the next patch to the kernel, that should solve most issues:

1) SDHCI host fixed. Now we are able to mount the SD card without trouble

2) NAND driver fixed. Now it actually uses the timing information for the NAND chips on Shuttle

3) Several power management functions updated to the latest framework

4) Added back the missing IOCTRLs to the framebuffer driver that Nvidia removed from 2.6.36 to 2.6.39... This should make gralloc and openGl acceleration work

5) Fixed clock settings (some clock names changed from 2.6.36 to 2.6.39) on several components

6) Fixed some pin mux entries that required adjustment to work in the 2.6.39 kernel

7) Probably some other things i am forgetting right now...

8) Adjusted audio components, they are now properly recognized, but still crash the kernel while trying to reproduce audio. I still have to figure out where is the problem...

Well, except audio, everything else should be working just fine.

Regards,

Eduardo

patch2.6.39_v2.rar

Share this post


Link to post
Share on other sites

Well, attached the next patch to the kernel, that should solve most issues:

1) SDHCI host fixed. Now we are able to mount the SD card without trouble

2) NAND driver fixed. Now it actually uses the timing information for the NAND chips on Shuttle

3) Several power management functions updated to the latest framework

4) Added back the missing IOCTRLs to the framebuffer driver that Nvidia removed from 2.6.36 to 2.6.39... This should make gralloc and openGl acceleration work

5) Fixed clock settings (some clock names changed from 2.6.36 to 2.6.39) on several components

6) Fixed some pin mux entries that required adjustment to work in the 2.6.39 kernel

7) Probably some other things i am forgetting right now...

8) Adjusted audio components, they are now properly recognized, but still crash the kernel while trying to reproduce audio. I still have to figure out where is the problem...

Well, except audio, everything else should be working just fine.

Regards,

Eduardo

Boots further, right up to unlock screen then hangs, i get kicked from adb and TS does not work ... ill try to get a log of the hang/crash ... The logcat im viewing on boot does not really show anything ....

Nearly there :)

Cheers

Cass

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.