Adaptations/libhybris/gpu

A page to track graphics adaptions to various devices

With EGL_PLATFORM=fbdev seems to run, but only black screen shown
 * Qualcomm
 * MSM8960 - Adreno 225
 * Motorola Photon Q

With EGL_PLATFORM=hwcomposer: linkerlinker.c:1110| ERROR: Library '/system/lib/egl/libGLESv2S3D_adreno200.so' not found All good after adding QCOM_BSP
 * MSM8974AC 801 - Adreno 330
 * OnePlus One

After starting lipstick, the screen turns on (black) for a few secs, then device reboots
 * MSM8974 800 - Adreno 330
 * Sony Xperia Z1 Compact

systrace [...] socket(PF_FILE, SOCK_STREAM, 0)        = 44 connect(44, {sa_family=AF_FILE, path="/dev/socket/property_service"}, 31) = 0 send(44, "\2\0\0\0debug.gralloc.map_fb_memory\0"..., 128, 0) = 128 recv(44, "\2\0\0\0debug.gralloc.map_fb_memory\0"..., 128, 0) = 128 recv(44, "", 128, 0)                   = 0 close(44)                              = 0 open("/dev/ion", O_RDONLY|O_LARGEFILE) = 44 ioctl(44, 0xc0144900

logcat - beginning of /dev/alog/main D/libEGL (  995): loaded /vendor/lib/egl/libEGL_adreno.so D/libEGL  (  995): loaded /vendor/lib/egl/libGLESv1_CM_adreno.so D/libEGL  (  995): loaded /vendor/lib/egl/libGLESv2_adreno.so E/qdutils (  995): Failed to open msm_fb_panel_info node I/qdhwcomposer( 995): Initializing Qualcomm Hardware Composer I/qdhwcomposer( 995): MDP version: 500 D/libEGL ( 3941): loaded /vendor/lib/egl/libEGL_adreno.so D/libEGL  ( 3941): loaded /vendor/lib/egl/libGLESv1_CM_adreno.so D/libEGL  ( 3941): loaded /vendor/lib/egl/libGLESv2_adreno.so E/qdutils ( 3941): Failed to open msm_fb_panel_info node I/qdhwcomposer( 3941): Initializing Qualcomm Hardware Composer I/qdhwcomposer( 3941): MDP version: 500 E/cutils-trace( 3941): Error opening trace file: No such file or directory (2) D/qdhwcomposer( 3941): hwc_blank: Unblanking display: 0 D/qdhwcomposer( 3941): hwc_blank: Done unblanking display: 0 I/Adreno-EGL( 3941): : EGL 1.4 QUALCOMM build: AU_LINUX_ANDROID_LNX.LA.3.5.2.2_RB1.04.04.02.087.006_msm8974_LNX.LA.3.5.2.2_RB1__release_AU I/Adreno-EGL( 3941): OpenGL ES Shader Compiler Version: E031.24.00.14 I/Adreno-EGL( 3941): Build Date: 04/29/14 Tue I/Adreno-EGL( 3941): Local Branch: mybranch3162585 I/Adreno-EGL( 3941): Remote Branch: quic/LNX.LA.3.5.2.2_rb1 I/Adreno-EGL( 3941): Local Patches: NONE I/Adreno-EGL( 3941): Reconstruct Branch: AU_LINUX_ANDROID_LNX.LA.3.5.2.2_RB1.04.04.02.087.006 + NOTHING

Minimer did infact run twice, out of about 20 tries. Ive no explanation for this, the parameters were identical every time!
 * MSM8255 - Adreno 205
 * HTC Desire HD
 * Status (qt5-qmlscene minimer)

sh-3.2# EGL_PLATFORM=hwcomposer /usr/lib/qt5/bin/qmlscene -platform hwcomposer main.qml EGLFS: Screen Info - Physical size: QSizeF(4.29497e+09, 4.29497e+09) - Screen size: QSize(480, 800) - Screen depth: 32 == hwcomposer module == * Address: 0x43112004 * Module API Version: 2 * HAL API Version: 0 * Identifier: hwcomposer * Name: Qualcomm Hardware Composer Module * Author: CodeAurora Forum == hwcomposer module == == hwcomposer device == * Version: 1010001 (interpreted as 1010001) * Module: 0x43112004 == hwcomposer device == QEglScreen 0x18ea640 QEglWindow 0x1932498: 0x191f600 0x0 Segmentation fault

QEglWindow 0x67ca8: 0x64600 0x0 [New LWP 1453] Program received signal SIGSEGV, Segmentation fault. [Switching to LWP 1453] 0x430f4e54 in ?? (gdb) bt Backtrace stopped: previous frame identical to this frame (corrupt stack?)
 * Backtrace is useless
 * 1) 0 0x430f4e54 in ??
 * 2) 1 0x430f4e98 in ??
 * 3) 2 0x430f4e98 in ??

All good after adding QCOM_BSP
 * APQ8064 - Adreno 320
 * find5

(qt5-qmlscene minimer)

EGL_PLATFORM=fbdev /usr/lib/qt5/bin/qmlscene -platform hwcomposer main.qml ^ is running fine, but only solid blue screen on display: https://twitter.com/Nokius/status/493465722446970880

EGL_PLATFORM=hwcomposer /usr/lib/qt5/bin/qmlscene -platform hwcomposer main.qml Segfaults (full strace https://pastee.org/jsz99 ): [pid 10851] send(23, "\2\0\0\0debug.egl.swapinterval\0\0\0\0\0\0"..., 128, 0  [pid 10810] <... clock_gettime resumed> {183787, 793935804}) = 0 [pid 10851] <... send resumed> )       = 128 [pid 10810] clock_gettime(CLOCK_MONOTONIC,   [pid 10851] recv(23, "\2\0\0\0debug.egl.swapinterval\0\0\0\0\0\0"..., 128, 0) = 128 [pid 10851] recv(23, "", 128, 0)       = 0 [pid 10851] close(23)                  = 0 [pid 10851] ioctl(10, STOP_ARRAY_RO, 0x48cc7a1c) = 0 [pid 10851] --- {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0x20} (Segmentation fault) --- Process 10851 detached [pid 10840] +++ killed by SIGSEGV +++ [pid 10827] +++ killed by SIGSEGV +++ [pid 10826] +++ killed by SIGSEGV +++ +++ killed by SIGSEGV +++ Segmentation fault


 * Nexus 7 (LTE 2013)
 * deb
 * EGL_PLATFORM=hwcomposer
 * minimer works
 * lipstick starts, no fully functional, apps crash


 * Nexus 7 (WiFi 2013)
 * flo
 * Works on enabling QCOM_BSP

I/v_gralloc(19209): using (fd=9) I/v_gralloc(19209): id          = k3fb0 I/v_gralloc(19209): xres        = 720 px I/v_gralloc(19209): yres         = 1280 px I/v_gralloc(19209): xres_virtual = 720 px I/v_gralloc(19209): yres_virtual = 5120 px I/v_gralloc(19209): bpp          = 32 I/v_gralloc(19209): r           = 16:8 I/v_gralloc(19209): g           =  8:8 I/v_gralloc(19209): b           =  0:8 I/v_gralloc(19209): width       = 58 mm (315.310333 dpi) I/v_gralloc(19209): height      = 103 mm (315.650482 dpi) I/v_gralloc(19209): refresh rate = 64.00 Hz I/v_gralloc(19209): Framebuffer phys addr = 0x3ee0b000 E/v_hwc  (19209): hwc_device_open(399): Failed to initialize hwcomposer!
 * HiSilicon
 * K3V2 - Vivante GC4000
 * Ascend P6
 * EGL_PLATFORM=hwcomposer either crashes with segfault or:

strace failing hwcomposer init

on segfault EGL_PLATFORM=hwcomposer:

I/v_gralloc(19569): using (fd=9) I/v_gralloc(19569): id          = k3fb0 I/v_gralloc(19569): xres        = 720 px I/v_gralloc(19569): yres         = 1280 px I/v_gralloc(19569): xres_virtual = 720 px I/v_gralloc(19569): yres_virtual = 5120 px I/v_gralloc(19569): bpp          = 32 I/v_gralloc(19569): r           = 16:8 I/v_gralloc(19569): g           =  8:8 I/v_gralloc(19569): b           =  0:8 I/v_gralloc(19569): width       = 58 mm (315.310333 dpi) I/v_gralloc(19569): height      = 103 mm (315.650482 dpi) I/v_gralloc(19569): refresh rate = 64.00 Hz I/v_gralloc(19569): Framebuffer phys addr = 0x3ee0b000 I/v_hwc  (19569): Vivante HWComposer v2.4 I/v_hwc  (19569): Device:               0x435338 I/v_hwc  (19569): Separated 2D:         YES I/v_hwc  (19569): 2D PE20:              YES I/v_hwc  (19569): Multi-source blit:    YES I/v_hwc  (19569): Multi-source blit Ex: NO I/v_hwc   (19569): OPF/YUV blit/Tiling : YES I/v_hwc  (19569): Filter stretch      : NO

strace hwcomposer

on segfault EGL_PLATFORM=fbdev:

I/v_gralloc(20271): using (fd=5) I/v_gralloc(20271): id          = k3fb0 I/v_gralloc(20271): xres        = 720 px I/v_gralloc(20271): yres         = 1280 px I/v_gralloc(20271): xres_virtual = 720 px I/v_gralloc(20271): yres_virtual = 5120 px I/v_gralloc(20271): bpp          = 32 I/v_gralloc(20271): r           = 16:8 I/v_gralloc(20271): g           =  8:8 I/v_gralloc(20271): b           =  0:8 I/v_gralloc(20271): width       = 58 mm (315.310333 dpi) I/v_gralloc(20271): height      = 103 mm (315.650482 dpi) I/v_gralloc(20271): refresh rate = 64.00 Hz I/v_gralloc(20271): Framebuffer phys addr = 0x3ee0b000 I/v_hwc  (20271): Vivante HWComposer v2.4 I/v_hwc  (20271): Device:               0x16fdb0 I/v_hwc  (20271): Separated 2D:         YES I/v_hwc  (20271): 2D PE20:              YES I/v_hwc  (20271): Multi-source blit:    YES I/v_hwc  (20271): Multi-source blit Ex: NO I/v_hwc   (20271): OPF/YUV blit/Tiling : YES I/v_hwc  (20271): Filter stretch      : NO I/gralloc_overlay(20271): Self allocation gralloc overlay E/v_gralloc(20271): Unknown format 1074736197 E/gralloc_overlay(20271): gralloc overlay failed to allocate, status=-1 E/v_gralloc(20271): Unknown format 1074736197 E/v_gralloc(20271): failed to allocate, status=-1

strace fbdev