[Gta04-owner] Where did /dev/dri/card0 and /dev/fb0 run off to?

Josua Mayer josua.mayer97 at gmail.com
Fri Jun 22 21:35:19 CEST 2018


Okay. We know that fb0 exists on the letux debian, which the android
kernel .config is based off.
So the problem is likely a kernel module that has to be loaded, but had
been overlooked.

I took all modules present on the letux system, and added a section to
load_modules.sh for loading them one by one. Called sleep 1 after each
one and let it boot once more. This time I could watch when the
framebuffer device came up:
01-01 05:06:51.872  1555  1555 I load_modules.sh: Loading module
snd_soc_gtm601
01-01 05:06:52.055  1555  1555 I load_modules.sh: done
01-01 05:06:53.413  1555  1555 I load_modules.sh: Loading module
pwm_omap_dmtimerdone
[   63.811706] omapdrm omapdrm.0: DMM not available, disable DMM support
[   64.031341] omapdrm omapdrm.0: Tiled buffers require DMM
[   64.086120] Console: switching to colour frame buffer device 60x40
[   64.116973] omapdrm omapdrm.0: fb0: omapdrm frame buffer device

So it appears I have identified at least one module that was missing,
pwm_omap_dmtimer.
Maybe there are some more, as a lot more modules were actually loaded by
the script.

But this is good news, because replicant is getting much further now:
01-01 05:06:55.681  2651  2651 I SurfaceFlinger: SurfaceFlinger is starting
01-01 05:06:55.684  2651  2651 I SurfaceFlinger: SurfaceFlinger's main
thread ready to run. Initializing graphics H/W...
01-01 05:06:55.684  2651  2651 D libEGL  : Emulator without GPU support
detected. Fallback to software renderer.
01-01 05:06:55.693  2651  2651 D libEGL  : loaded
/system/lib/egl/libGLES_android.so
01-01 05:06:55.857  2651  2651 E gralloc : failed to put fb info
01-01 05:06:55.857  2651  2651 W gralloc : page flipping not supported
(yres_virtual=640, requested=1280)
01-01 05:06:55.857  2651  2651 I gralloc : using (fd=12)
01-01 05:06:55.857  2651  2651 I gralloc : id           = omapdrm
01-01 05:06:55.857  2651  2651 I gralloc : xres         = 480 px
01-01 05:06:55.857  2651  2651 I gralloc : yres         = 640 px
01-01 05:06:55.857  2651  2651 I gralloc : xres_virtual = 480 px
01-01 05:06:55.857  2651  2651 I gralloc : yres_virtual = 640 px
01-01 05:06:55.857  2651  2651 I gralloc : bpp          = 32
01-01 05:06:55.857  2651  2651 I gralloc : r            = 16:8
01-01 05:06:55.857  2651  2651 I gralloc : g            =  8:8
01-01 05:06:55.857  2651  2651 I gralloc : b            =  0:8
01-01 05:06:55.857  2651  2651 I gralloc : width        = 76 mm
(160.421051 dpi)
01-01 05:06:55.857  2651  2651 I gralloc : height       = 102 mm
(159.372543 dpi)
01-01 05:06:55.857  2651  2651 I gralloc : refresh rate = 60.00 Hz
01-01 05:06:55.884  2651  2651 E hwc-drm-plane: Could not get rotation
property
01-01 05:06:55.884  2651  2651 I hwc-drm-plane: Could not get alpha property
01-01 05:06:55.886  2651  2651 E hwc-drm-plane: Could not get rotation
property
01-01 05:06:55.886  2651  2651 I hwc-drm-plane: Could not get alpha property
01-01 05:06:55.888  2651  2651 E hwc-drm-plane: Could not get rotation
property
01-01 05:06:55.888  2651  2651 I hwc-drm-plane: Could not get alpha property
01-01 05:06:55.889  2651  2651 E hwcomposer-drm: Failed to create dummy
sw sync timeline -1
01-01 05:06:55.890  2651  2651 E SurfaceFlinger: composer device failed
to initialize (Operation not permitted)
01-01 05:06:55.890  2651  2651 W SurfaceFlinger: no suitable EGLConfig
found, trying a simpler query
01-01 05:06:55.890  2651  2651 F SurfaceFlinger: no suitable EGLConfig
found, giving up
01-01 05:06:55.890  2651  2651 F libc    : Fatal signal 6 (SIGABRT),
code -6 in tid 2651 (surfaceflinger)
01-01 05:06:55.890  2651  2651 F libc    : Unable to open connection to
debuggerd: Connection refused

Now is the time to figure out which of these error messages is fatal,
and how to solve the underlying problem, e.g. what is this rotation
property, and where should it come from?
As to the sw sync timeline: I remember seeing this a few months ago, and
it was related to a kernel driver that may need loading.

Am 22.06.2018 um 18:49 schrieb Josua Mayer:
> Good day to you all,
>
> While again looking into where I left off with replicant a few months
> ago, I came across a big blocker that more or less prevents any
> meaningful work:
> Neither /dev/fb0 nor /dev/dri/* do exist.
> How can we find out why that happens?
>
> Versions:
> I am using my own kernel branch based on letux-4.17.2 instead of the
> previously known-working version work/lukas/android-4.10.
> I wanted to minimize the number of patches on the android kernel, and be
> closer to upstream while potentially debugging problems in
> drm_hwcomposer and how it talks to /dev/dri/card0.
>
> In that previous 4.10 tree I notice this commit:
> commit 00702c5e70b8adb8c1b0c116f1d4a41e3569ada1
> boot:dts: disable display1/tv0 to make /dev/graphics/fb0 appear
>
> I checked its diff, and all it does is remove an alias from device-tree,
> so it does not really seem to disable anything.
> And sure enough, applying this change in my DTBs makes no difference to
> the issue of missing /dev/fb0 (and dri).
>
> Lukas, do you remember what the idea behind that commit was?
>
> Please find attached a boot log of my latest replicant build. Maybe it
> contains a hint for the more trained eye?
>
> br
> Josua Mayer
>



More information about the Gta04-owner mailing list