Tuesday, April 29, 2014

Framebuffer problem screenshot software, Nexus7 tablet of


Heroes, brother recently doing a screenshot of the software, through the crawling / dev/graphics/fb0 to achieve.
Programs run on other phones are perfect flat image alone Nexus7 tablet caught out fb0 simply not displayed on the screen, but a bunch of gibberish.
And no matter what time to grab this file, the data will remain unchanged, thus confirming the underlying simply not to modify it before.
So there would like to ask of people in this area, in this case in the end should know where to go to read the display data?

Nexus7's GPU is Tegra, I personally suspect that it does not have to read and write framebuffer.

A reference is: I used to grab ddms screenshot is ok, but ddms is to call the bottom of the interface device of getScreenshot grab, with the framebuffer should be different.
<-! Main posts under Banner (D4) -><-! Posts under the main text (D5) ->
Reply:
Which is also affected by adb ddms the framebuffer read. I read your post, check the next jb's code, is now read by sceencap command. You can refer to the frameworks / native / libs / gui / SurfaceComposerClient.cpp
frameworks / base / cmds / screencap / screencap.cpp
sdk / ddms / libs / ddmlib / src / com / android / ddmlib / AdbHelper.java
sdk / ddms / libs / ddmlib / src / com / android / ddmlib / Device.java
system / core / adb / framebuffer_service.c

I hope to be helpful
Reply:
Screenshot method too many types, / dev/graphics/fb0 this general also root can read, usually with no more than a
Reply:
reference to the second floor of the reply:
shot too many kinds of methods, / dev/graphics/fb0 this general also root can read, usually with the not much

That compares to ask how common it? ?
Reply:
cited a floor reply:
ddms which also affect the framebuffer read through adb. I read your post, check the next jb's code, is now read by sceencap command. You can refer to the frameworks / native / libs / gui / SurfaceComposerClient.cpp
frameworks / base / cmds / screencap / screencap.cpp
sdk / ddms / libs / ddmlib / src / com / ......

Heroes, I see there is also a screencap by reading / dev/graphics/fb0 ah, but I did not directly read? If there Nexus7 your hand, then compare it with other phones know.
Post where I talked about ddms by getScreenshot interfaces really wrong, which is 2.3.3 code to do so.
Reply:
reference to the second floor of the reply:
shot too many kinds of methods, / dev/graphics/fb0 this general also root can read, usually with the not much

In fact, this is, I use the open source VNC program android libvncserver do, besides reading fb0, I do not know what other ways can read? root is not the problem, but have no way to root it is better. Please enlighten me.
Reply:
references, 5th Floor reply:
reference to the second floor of replies:
Screenshot method too many types, / dev/graphics/fb0 this general also root can read, usually with much of the

In fact, this is, I use the open source VNC program android libvncserver do, besides reading fb0, I do not know what other ways can read? root is not the problem, but have no way to root it is better. Please enlighten me.


In fact, to get the program should be considered as all other phones, the tablet are ok, except this Nexus7 problem.
Andrews machine Sea strategy is really a headache, you do not compatible with it, people complain that you do not, you go to are compatible with it, the existing models have to kill you, not to mention the ongoing maintenance.
Reply:
You and I encountered the same problem, I also want to get the nexus 3 fb0 data, which simply consequently, all zeros. Now suspected nexus series is not all that. The problem with the root does not matter, I have root too, as all zeros, doubt is not doing what google hands, nexus can not do their own shots, I think we can start from here to chase the code to see how it finally achieved.
Reply:
reference to the 7th floor of replies:
me and you encounter the same problem, I also want to get the nexus 3 fb0 data, and consequently there is no fundamental , all zeros. Now suspected nexus series is not all that. The problem with the root does not matter, I have root too, as all zeros, doubt is not doing what google hands, nexus can not do their own shots, I think we can start from here to chase the code to see how it finally achieved.


Nothing to do with their shots should (should you refer is hold down the power button + volume down key), this is not only Nexus is 4.0 ICS new features, after all 4.0 phones can this screenshot, but these phones I tested fb0 reading is normal.
It seems that all the Nexus series have this common problem, there must be reasons behind this. Google engineer could not know these things, maybe intentionally doing so.
Reply:
Mark, waiting for the answer
Reply:
The Internet to find some explanation of the problem E Man, probably prevented a direct say google reader framebuffer, reads as follows:

Wouldn't it be great if you could record a video of your phone's screen? Well, thanks to Media Solutions and a little rooting, Screencast does just that. However, Galaxy Nexus users (such as me) were reporting black screens instead of screen recordings. After trying everything from Mobo Player to re-installing the app, I decided to contact the developer (s). Clearly, this was the right thing to do. Within minutes, I had a response sitting in my inbox.

Media Solution's answer was nice and simple:

"Google blocked the conventional framebuffer where Screencast and other screen capture utilities grab the screen on the Galaxy Nexus. We are actively investigating new ways to support your device."

Media Solutions went on to explain to me how the Screencast app works and why exactly it is currently not compatible with the Galaxy Nexus:

"Traditionally, on all Linux systems and all Android OSs (excluding Tegra based devices) the display is updated using what is called the Framebuffer, a layer between the graphics processor and the LCD. You can think of it as a" bucket "which contains what the screen should display, the graphics processor updates it then signals to the LCD to read the bucket. All screen capture programs for Android used this layer to save the screen as a screen shot. Screencast uses it as well to create frames it needs to save as a video.

The Galaxy Nexus seems to use a framebuffer as well (good news). However, the framebuffer seems to always be empty (bad news). This can be due to many factors including permissions on the framebuffer driver. Support for the Galaxy Nexus may be as easy as changing permissions on the framebuffer or as difficult as going back to the drawing board to figure out a new way to grab the display. During each release cycle, we usually have on main big feature + previous bug fixes and tweaks. After Screencast v3.0 is released, Galaxy Nexus support will be the main feature we will be working on. "

So as you can see, Media Solutions already has two plans of action. In addition, I was told that now that v3.0 of Screencast is out, fixing the Galaxy Nexus compatibility issue is their number one priority.

Reply:
reference to the 10th floor of the reply:
the Internet to find some explanation of the problem E Man, probably prevented a direct say google reader framebuffer, reads as follows: < br />
Wouldn't it be great if you could record a video of your phone's screen? Well, thanks to Media Solutions and a little rooting, Screencast does ju ......


Thanks to this man, it should be tampered with the Google. Currently ScreenCast out to version 3.2, or can not support Galaxy Nexus series, it seems that I have a very good reason not to support it. Results posted.
Reply:
Samsung Galaxy Nexus GT-P7510 device device described with the landlord have the same problem. . . . I tried other phones can, GT-P7510 so bad, black. GTP-7310 is not all black, but it is not OK, 7310 fb0 was inside a bit like boot screen
Reply:
GT P7510 is black not read any data, there is no solution
Reply:
Our engine is also encountered this problem, after treatment Huaping on this device, you can not write data, and if so, the game runs on the tablet only after the closure of the treatment effect, the other cocos3d-x was released, you can Get on github source, interested friends can join cocos3d-x group 194,861,571 learn together.

No comments:

Post a Comment