yashsingh1/xdaforums huggingface dataset:
[EVO 4G Android Development] bhagiratha:
I tried this on my rooted EVO running the Fresh ROM, but I still got 29 fps when tested with Fps2D.

I also couldn't use the camera, and so reverted back to my previous state.
[EVO 4G Android Development] Cicatrize:
The code you posted grabs the max FPS from the actual interface, not the device attached, if I'm understanding it correctly. I don't know if there's a way to check max Hz or FPS from the panel, so YES this is good news, and yes, the novatec panel is being capped at the MDDI level in code.
[EVO 4G Android Development] geyes30:
From the main screen for the program, scroll down and go to View Properties, then subsection for the screen
[EVO 4G Android Development] tarheelsmj12001:
once ur in the program its under properties n just scroll down
[EVO 4G Android Development] Cicatrize:
I must not have the same app, but it's called "Quick System Info" and has nothing about screens and no View Properties.
[EVO 4G Android Development] tarheelsmj12001:
I have quick system info pro, its free also, not sure if it makes a difference
[EVO 4G Android Development] Estimated Prophet:
Try "Android System Info". It's in the screen container on the system tab.
[EVO 4G Android Development] Riztnack:
ro.media.enc.vid.h263.bps=64000,6000000

ro.media.enc.vid.h263.fps=1,30

ro.media.enc.vid.h263.height=144,720

ro.media.enc.vid.h263.width=176,1280

ro.media.enc.vid.m4v.bps=64000,6000000

ro.media.enc.vid.m4v.fps=1,30

Found this in the code as well, notice the FPS at 30 on it.
[EVO 4G Android Development] Cicatrize:
Oh ok only in Pro version. Mine also says 60. If this app is correct, which it seems to be accurate with everything else, there's our proof that it's not the screen that's the problem.
[EVO 4G Android Development] Cicatrize:
That's only for the video encoding in 720p, and we already know that's capped.
[EVO 4G Android Development] joeykrim:
sounds like good news!

as usual, out of curiosity, i wonder what exact file (or value) this app reads the screen refresh rate from?
[EVO 4G Android Development] Estimated Prophet:
Yeah, this is great news. The cap for the novas is definitely in the kernel, not the hardware. Now we just need to figure out how to fix it. I can't wait until the weekend hits so I'll actually have some time to look over the kernel source.
[EVO 4G Android Development] Cicatrize:
Looks like to me that the Epson panel is definitely receiving commands via SPI while the novatec is purely MDDI for everything. SPI has no way of controlling the flow of hardware, therefore there can be no cap implemented, but this can also be bad because I imagine this could get in the way of vsync and cause the screen tearing we've seen from the Espon 0003's.

EDIT: Basically, it seems to be in the init that the major differences are noticed. The novatec display writes to the mddi client data while the Epson uses a 9 bit SPI for init and doesn't seem to write to the mddi client.
[EVO 4G Android Development] joeykrim:
this is great info and has me thinking ...

we know in the official kernel (dont have source), there is a 30 fps cap on epson screens, plus there is no tearing.

in toast's kernel, novatec uses mddi client data while epson uses 9 bit SPI, think its the same in the stock kernel? other possible methods?
[EVO 4G Android Development] kpkimmel:
good news then, from what i gather the Epson receives commands via spi and causes tearing and vsync issues, but the NOVA is mddi which means the cap is in the kernal and can be fixed..anyways this is what i gathered from this..hope i'm correct
[EVO 4G Android Development] tarheelsmj12001:
so now i can breathe a little easier lol, i was getting nervous about having the nova
[EVO 4G Android Development] Estimated Prophet:
So how much different are the kernels? Anybody wanna diff the binaries in a hex editor? :P
[EVO 4G Android Development] Cicatrize:
I'm honestly not a professional in device programming or interfacing, but this is what I've gathered from the code. It's possible the Epson is using SPI to interface to the MDDI without a client write... someone chime in who knows more than I?

I assume the Epson uses the same method the Novatec does in the stock kernel. Toast, where did you guys get the board files for the Evo, and where was the Espon stuff grabbed from?
[EVO 4G Android Development] kpkimmel:
he used the board files from the incredible...not the evo..

http://github.com/toastcfh/HTC-Supe...er/arch/arm/mach-msm/board-supersonic-panel.c

thats where the board files are if you want to take a look...i believe the incredible used the spi just like the espon thats why it worked..but the nova uses the mddi and thats why we don't have a fix yet...but its in the kernal so we will.
[EVO 4G Android Development] zonyl:
Hate to derail the fun with the FPS cap, but where does the Camera driver currently sit?

(Just wanted to chime in from the "happy with 30fps I purchased, need my camera in Froyo" crowd ;) )
[EVO 4G Android Development] kpkimmel:
please don't derail the thread, this is why the "30fps" cap thread was removed
[EVO 4G Android Development] joeykrim:
i was wondering the same thing on the source and methods used in toast's board files ...

on the flip side, is it possible to code the novatec screen to use the 9 bit SPI method the epson screen is now using?
[EVO 4G Android Development] Estimated Prophet:
That's probably going to have to wait until the kernel source is released.
[EVO 4G Android Development] Cicatrize:
Dude, I already know this. I have my own fork and have been working on this code for over a week. lol

He took just the Incredible source. Then he put the Supersonic board files in there. I'm asking where he got those....
[EVO 4G Android Development] kpkimmel:
i don't think it is possible to encode the nova to work like the epson, if it was i'm sure htc would have done this...would have been easier for them..
[EVO 4G Android Development] joeykrim:
+1 - more info on the toast and maejrep magic!

we don't have the source code to HTC's work so we don't know for sure how they coded anything! thats what makes this so difficult...

if we had their source, many of these questions would be eliminated ... brain storming and digging at this point.

im still wondering if its possible to code the novatec to use the same methods the epson is currently using... but its only a theory
[EVO 4G Android Development] kpkimmel:
gotcha...not sure where he got those from..was looking earlier for them cause i have a friend who works for motorola dev team, and asked him to look at this...if you find them pm me and let me know where you found them..thanks.:D
[EVO 4G Android Development] zonyl:
I apologize then, as I was thinking this thread was on Toast's general kernel progress.

I got my build chain working and was hoping to start looking at the camera. Is there a better place to collaborate on that?
[EVO 4G Android Development] Cicatrize:
...What?

10char
[EVO 4G Android Development] kpkimmel:
i would just start your own thread..and give it a spiffy name..:)
[EVO 4G Android Development] Cicatrize:
ov8810 - main cam

ov9665 - front cam

Find some good documentation. ;)

EDIT: I'd keep the camera talk here too, because that's an important piece missing.
[EVO 4G Android Development] Estimated Prophet:
I doubt that. HTC kind of has a history of crappy driver coding.
[EVO 4G Android Development] Krandor311:
Looks like a general thread about toast's kernel to me.
[EVO 4G Android Development] kpkimmel:
about the camera info, just suggesting..don't want to see the thread go down like the other one did....didn't mean to step on toes..:p
[EVO 4G Android Development] toastcfh:
no we dint use the incredible source. we used IDA to take the binary stock eng kernel a part. the qspi_send_9bit is used by htc in the stock kernels. the panel is also using the mddi driver as modification was need to it to support the epson panel.
[EVO 4G Android Development] kpkimmel:
thanks for the info Toast
[EVO 4G Android Development] toastcfh:
from my source ;) and there was a little more work to do to make it compile and boot. but yes for the most part thats what was done
[EVO 4G Android Development] kpkimmel:
toast you should be working for IBM...or dare i say it......cough...microsoft
[EVO 4G Android Development] joeykrim:
i haven't dived into the code only read the excerpts and observations posted here...

does this confirm, in the stock kernel, just like in your kernel, according to the observations, the novatec panel writes to the mddi client data while epson writes to the qspi 9bit? or you saying in the stock kernel both panels write to the qspi 9bit?

perhaps im misunderstanding the earlier observation

http://xdaforums.com/showpost.php?p=6938403&postcount=301

hopefully that makes sense ...
[EVO 4G Android Development] Cicatrize:
Can I have the source? LOL :)

Also, on another note, touch frequency is registering around 30Hz as well, but according to Atmel's docs, the sensor is capable of >250Hz on a single touch. Interesting. HTC is loving the caps.
[EVO 4G Android Development] jeremydk:
I got an interesting reply back from HTC. I think we've attracted some attention:

Hello Jeremy. Thank you for taking the time to contact HTC America Technical Support via E-Mail with your comments regarding the HTC EVO 4G that you recently purchased. I do understand how important it is for your phone to work to the specifications that you enjoy, and I apologize for the difficulty you have experienced with it.

We are investigating the viability of claims that the limitation of 30fps can be overcome by software changes. As soon as we finish our investigations, HTC will announce its findings. Please continue to monitor our website at (newbie account link).
[EVO 4G Android Development] AssassinsLament:
So with that, how come the cap didn't come through the code also? Because there was a cap on the epson panels, and since you and maejrep basically reversed engineered to get the epson to work, the cap part wasn't included in the code? Weird.
[EVO 4G Android Development] Cicatrize:
I think they probably borrowed Epson code from another device.... then edited to make it work.
[EVO 4G Android Development] toastcfh:
my source as in a person :p the sum of the kernel source is had was just board files. and they are on my github and what we compile from today ;) anyhow im looking thru this stuff closer now. i think i can maybe writel the vsync setup to ensure its being writen correctly. the value that are there now match that of at least th eng kernel. which btw has the cap also.
[EVO 4G Android Development] Cicatrize:
PM me the person kthx. :)
[EVO 4G Android Development] kpkimmel:
so, is toast working on the epson panel or the nov panel
[EVO 4G Android Development] AssassinsLament:
Well, toast has an epson, so I'm sure he'll work on that. Later when maejrep gets here, I'm sure he'll spend some time on the nov panel, he has a nov.
[EVO 4G Android Development] Geniusdog254:
The OmniVision website has excellent documentation for both cameras. I think there is a datasheet on the page too but I'm not sure.

OV9665

OV8810
[EVO 4G Android Development] Estimated Prophet:
You have to submit some info to get the datasheet from them, but datasheetdir.com has them. There's hardware diagrams of each, but that's the only useful info.
[EVO 4G Android Development] kpkimmel:
Toast.....just bought you a coffee
[EVO 4G Android Development] godfather2023:
I downloaded the file and went to my file viewer and extracted it. Nothing happened. Any ideas? I have the unrevoked root. Could that be it?
[EVO 4G Android Development] techs1200:
Please fix for the nova panels!

I was so bummed last night when i did a dmesg and found that my 003 had a nova panel :(
[EVO 4G Android Development] tkrechel:
man oh man heh
[EVO 4G Android Development] kpkimmel:
no offense..but unrEVOked is a f-in joke compared to Toast's method for root..just take the leap and unlock your nand...
[EVO 4G Android Development] skantman69:
I can't use this because my phone will not charge after I flash the file. Anyone having this problem? I have tried damage and flipz rom. Can't figure it out.

Sent on my Sprint EVO using 4G speed
[EVO 4G Android Development] toastcfh:
ATTENTION

stay on topic or or im gonna go on a post deleting rampage. this isnt the general section this is a thread for the kernels source which we are woking on. please dont fill the thread with useless info and gripes. this is also not the how to or q&a section so please unless it has something to do with development do not post. if u cant figure out how to flash the kernel or how to get it working on a rom ur using. this is not the place to discuss it. the boot.imgs here were only put up for testing and development. they were not put up to be a replacement or for criticism. were not taking requests or orders. if u want to get something in the kernel to work please repo the source and get to fixing. if not then ur stuck with what the developers here want to work on. anyhow again his is not the general section and this is not a rom thread. please take all whining, crying, general discussion, q&a's, and requests to the general section of the forum.
[EVO 4G Android Development] cyrictheman:
Yes, I just noticed the same thing on my phone.
[EVO 4G Android Development] jblazea50:
i'm not sure if this belongs in this thread, but i saw this on another thread and it may be useful to you guys; i apologize if this is the wrong place to post;
[EVO 4G Android Development] Geniusdog254:
That actually looks interesting.

And toast, can you help my with my kernel build set up? I can't for the life of me get the Evo kernel to build. I can build my Nexus kernel & my G1 kernel just fine, but the Evo always throws an error on the build. I'm using your source and when I compile I get a bunch of errors pertaining to USB in devices.c.

Can you help?
[EVO 4G Android Development] kpkimmel:
just on a quick note...i got an email from HTC back....looks like they are sending mass emails of the same response...bastards...good job toast..looks like its up to you...

Hello Kenneth. Thank you for taking the time to contact HTC America Technical Support via E-Mail with your comments regarding the HTC EVO 4G that you recently purchased. I do understand how important it is for your phone to work to the specifications that you enjoy, and I apologize for the difficulty you have experienced with it. We are investigating the viability of claims that the limitation of 30fps can be overcome by software changes. As soon as we finish our investigations, HTC will announce its findings. We will also have a firmware update for the battery issue. Please continue to monitor our website at www.htc.com for an announcement regarding updates for these two issues. As for the screen separation issue, you would need to return the device for repair or replacement. The store you purchased your phone from will be able to direct you to a nearby repair center, or replace the device. We apologize for any inconvenience any of these issues have caused you.
[EVO 4G Android Development] joeykrim:
grabbed his source thru git and it compiled first attempt. im running ubuntu 9*.

maybe something got corrupted during the download, perhaps try grabbing he files again?
[EVO 4G Android Development] Geniusdog254:
For me git always freezes at:

Getting pack 17574344d1269722c55c600526eb5f26cc60fea7
which contains a62e6a84fd1e6fadb21e823a788f41ac00a5d9a0

And then throws an error that it can't pull the source (again works fine with the CM repo?).

So I just went to his github and downloaded a tar of the source.

:confused:
[EVO 4G Android Development] AssassinsLament:
Ok, after some digging around, and some clues from halfline and Cicatrize, I'm thinking we can set the framerate to our liking with the nov_init. In the document it states:

Page 119 of the document, shows the equation for calculating the frequency.

If someone could get that equation figured out, we could send it to the init. I already found the registers for it:

0xb100, 0xb101, 0xb102
[EVO 4G Android Development] AssassinsLament:
hmmm... maybe not.
[EVO 4G Android Development] Geniusdog254:
Good work, that seems like a good place to start.

I still can't get the kernel to build btw :(
[EVO 4G Android Development] skantman69:
Yea well maybe this shouldn't be here but I think this is a major problem. You folks can dev this all you want but if the damn battery won't charge it isn't worth a **** to me, not to be rude or anything.

Toast nothing personal, I love your stuff and all you do.

Sent on my Sprint EVO using 4G speed
[EVO 4G Android Development] timgt:
You can switch kernels in a matter of seconds, I would run this kernel all day and then before bed just switch real quick to charge it. Be thankful you can use it and your not left wondering if they will have a fix anytime soon because you own a novatec, novatek or whoever the damn company is.
[EVO 4G Android Development] d.cooper:
Power cycle the phone, its a bug, if you cant deal with it go back stock. Dont pollute the thread.
[EVO 4G Android Development] skantman69:
I wasn't trying to be a **** I just haven't heard of anyone else having that problem so I figured it was a new bug and might contribute to the cause. Guess not.

Sent on my Sprint EVO using 4G speed
[EVO 4G Android Development] kpkimmel:
i'm sure they'll fix the problem, this is all new...give em time.
[EVO 4G Android Development] Cicatrize:
Ok I really want to start using this code that I'm working on, but I must be a Linux idiot or something because I can't seem to grasp this seemingly simple process of compiling a kernel. I followed the directions here:

http://xdaforums.com/showpost.php?p=6826894&postcount=100

I get to the last step and get a number of errors:

bi-gcc: Command not found

scripts/kconfig/conf -s arch/arm/Kconfig

***

*** You have not yet configured your kernel!

*** (missing kernel .config file)

***

*** Please run some configurator (e.g. "make oldconfig" or

*** "make menuconfig" or "make xconfig").

***

make[2]: *** [silentoldconfig] Error 1

make[1]: *** [silentoldconfig] Error 2

CHK include/linux/version.h

make[1]: `include/asm-arm/mach-types.h' is up to date.

make: *** No rule to make target `include/config/auto.conf', needed by `include/config/kernel.release'. Stop.
[EVO 4G Android Development] AssassinsLament:
Copy over the deconfig file by running:

cp ./arch/arm/configs/supersonic_defconfig .config
[EVO 4G Android Development] Cicatrize:
Got this:

bi-gcc: Command not found

CHK include/linux/version.h

make[1]: `include/asm-arm/mach-types.h' is up to date.

CHK include/linux/utsrelease.h

SYMLINK include/asm -> include/asm-arm

CC kernel/bounds.s

/bin/sh: /home/scott/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc: not found

make[1]: *** [kernel/bounds.s] Error 127

make: *** [prepare0] Error 2
[EVO 4G Android Development] AssassinsLament:
it can't find your toolchain. Check if that path is correct. /home/scott/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0/bin/arm-eabi-gcc
[EVO 4G Android Development] d.cooper:
Linux noob, but doesnt bi-gcc: Command not found mean its looking for the gcc binaries?
[EVO 4G Android Development] ffolkes:
i'm pleased to see this, as i spend the past few hours reading that pdf, and i got to the exact same conclusion. the problem is, htc *isn't* setting that stuff at all, so where is the limit coming from? if there was code in the init for 0xb1xx, we'd know that was the limit being set.

for what it's worth, i tried setting all the sync registers to default, and i got some weird choppy results when android first booted, then back to the same 30fps limit.
[EVO 4G Android Development] joeykrim:
the gcc binaries are part of the toolchain, the path he gave isnt correct for the gcc binaries which are part of the android prebuilt toolchain distributed with the AOSP.
[EVO 4G Android Development] AssassinsLament:
I grepped the whole folder, and htc doesn't set 0xb1xx at all. So it's probably defaulting. One thing to consider also is maybe some of the registers they're setting in the init may also be contributing to it. HTC set a lot of init registers.

edit:

defaults:

(B100h) 0 0 0 0 0 1 1 0 06h

(B101h) 0 0 0 0 0 0 0 1 01h

(B102h) 0 1 0 1 0 1 0 0 54h
[EVO 4G Android Development] Cicatrize:
I suck at life. Apparently i put the **** in the home folder and not the android folder. It seems to be compiling now.
[EVO 4G Android Development] kpkimmel:
just to let anyone know..if you want me to try any kernals on my phone i will..have 002 with nova screen.
[EVO 4G Android Development] AssassinsLament:
The Equation is:

Frame Frequency (Hz) = 1
-----------------
T2 * (Line + VPA)

T2 = Display Line Time
Line = Number of Display Lines
VPA = Number of Lines for Porch

Default Settings:
T2 = 340 (No. of PCLK) = 20666.67ns (Delay Time)
Line = 800 (?)
VPA = 6

{0xb100, 0x06},
{0xb101, 0x01},
{0xb102, 0x54},

I think this is how it is, who ever is good at math, please compute and get us 60hz :)
[EVO 4G Android Development] Cicatrize:
I don't think the kernel is affecting the refresh rate of the display, at least not after the display is initialized. The interface is just capping the amount of frames sent to the screen.
[EVO 4G Android Development] Geniusdog254:
Hell seems like a simple enough equation, I'll give it a shot. Just a sec

Edit: Screw this. I fail at math
[EVO 4G Android Development] joeykrim:
real quick on the calculator, if i understand the question correctly,

Frame Frequency (Hz) = 1
----------------- = 60
T2 * (Line + VPA)

the bottom part of the fraction, the denominator, needs to equal = 0.016666666666666666666666666666667 . same as 1/60 in a fraction.

another words T2 * (Line + VPA) needs to = 1/60.

not sure how you want to change the values of those variables but in order for the whole equation to equal 60, T2 * (Line + VPA) needs to = 1/60 or 0.0166667

the overall equation would end up being

1
----- = 60
1
----
60

or 1/(1/60) = 60

somebody can prob explain better than me..
[EVO 4G Android Development] AssassinsLament:
Well the way I'm thinking is that since there doesn't seem to be anything in the panel code to constitute a cap, that maybe it's in the way HTC is doing the init calls to the nova panel. Because based on the capability packet sent back from the panel, something is setting it to 30, while on the epson, it's set or defaulting to 64.
[EVO 4G Android Development] AssassinsLament:
I think my understanding of "Line" is probably wrong. That's why I put a (?) by it.
[EVO 4G Android Development] geyes30:
Seems like the default mode (Line = 800, VPA = 7?, T2 = 20666) already works out to approximately 60Hz. That could be why the Quick System Info reads out 60Hz for the screen.
[EVO 4G Android Development] kpkimmel:
i thought you needed pixelclock*1000000/htotal/vtotal

to figure out hz..maybe i'm wrong
[EVO 4G Android Development] AssassinsLament:
How did you work that out?
[EVO 4G Android Development] joeykrim:
according to the equation, the math doesnt add up for me.

if you can give the values for two variables (line and t2 or whichever two), i can give you a value for the 3rd variable.
[EVO 4G Android Development] geyes30:
Under the default mode, T2 is fixed at ~20000ns. It is something like the signal dwell time on each line. Since our device has ~800 lines (give and take a few for the "porch", which presumably means the non-software accessible portions of the LCD), it has to work out to ~60Hz.
[EVO 4G Android Development] AssassinsLament:
Yeah, I'm still trying to figure out what the correct values are for the equation. You can look on page 119 of the pdf file for the nov panel a few pages back, and see if you can figure it out.
[EVO 4G Android Development] Shidell:
Well, the only thing making those ROMs official is the signing by HTC, correct? If we sign our ROM the same way (or get around the signing, etc.) then we could flash anything--anywhere--correct?
[EVO 4G Android Development] toastcfh:
if u did that u wold be god. no one that i know of has got htc key set.
[EVO 4G Android Development] Shidell:
Any ideas on how to get it? We've got the update executable, so the key must be contained therein..