Skip to content

Documenting issues (and hopefully solutions!) to problems one can face when porting AOSP to a mainlined device.

Notifications You must be signed in to change notification settings

SoMainline/MainlineAndroidPorting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 

Repository files navigation

Seeing "Binder driver could not be opened. Terminating." despite binder,hwbinder,vndbinder being enabled? Make sure CONFIG_ANDROID_BINDERFS is not enabled since otherwise it'll prevent binder devices initialization on binder_init() as seen below:

if (!IS_ENABLED(CONFIG_ANDROID_BINDERFS) &&
    strcmp(binder_devices_param, "") != 0) {
	/*
	* Copy the module_parameter string, because we don't want to
	* tokenize it in-place.
	 */
	device_names = kstrdup(binder_devices_param, GFP_KERNEL);
	if (!device_names) {
		ret = -ENOMEM;
		goto err_alloc_device_names_failed;
	}

	device_tmp = device_names;
	while ((device_name = strsep(&device_tmp, ","))) {
		ret = init_binder_device(device_name);
		if (ret)
			goto err_init_binder_device_failed;
	}
}

swrast gallium driver doesn't seem to expose EGL (at least on ancient bundled mesa 17), so most likely one needs proper GPU support.

Things get hilarious when one tries to force the usage of cpu rendering: Surfaceflinger tries really hard to find drm/msm libs in /vendor once it notices MDSS is available in kernel, and if you try to disable it - you have no drm framebuffers (yikes).

TL;DR: get your GPU up


Android-mainline has NO skip_initramfs, you can do funky stuff \o/


List of firmware needed with the mainline kernel (keep the list updated):

  • Adreno

  • Venus

  • Wi-Fi

  • ADSP

  • CDSP (where applicable)

  • Q6/MSS/Modem


About

Documenting issues (and hopefully solutions!) to problems one can face when porting AOSP to a mainlined device.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published