We are setting up the plug for the Android x86 Nougat project (Android v7.1). Since there is no equipment for displaying video in our system, we are trying to configure the virtual frame buffer (VFB) so that we can process the video image in our own way (for example, route video output via a VNC server, etc.).
We, when the system boots, SurfaceError tries to initialize its failure while trying to allocate memory using gralloc. The following is a logcat snippet:
03-02 18:31:21.757 986 986 E gralloc :
Here are links to full magazines:
Initialization Log (dmesg): http://pastebin.com/sr1rAK43
Logcat: http://pastebin.com/SVYhvgu5
What we did to run everything:
In kernel / arch / x86 / configs / android-x86_defconfig, set the parameter: CONFIG_FB_VIRTUAL for M for VFB module mode
In updating the kernel frame size /drivers/video/fbdev/vfb.c to 64 MB: #define VIDEOMEMSIZE (64 * 1024 * 1024)
In the device /generic/common/init.sh, I started VFB and disabled UVESA frame buffering:
do_init () function
#init_hal_gralloc
modprobe vfb vfb_enable = 1
And in the same init.sh at the end of the file before "return 0":
/ system / bin / fbset 360 480 20
I'd like to know:
1) How can I solve the problem of running out of memory?
2) How to enable vfb from the kernel command line?
3) Any configurations / settings that I might have missed when VFB was running on the 4.4 kernel in Android 7.x
source share