On Tue, Sep 29, 2020 at 1:33 PM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > On Tue, Sep 29, 2020 at 9:53 PM Peter Collingbourne <pcc@xxxxxxxxxx> wrote: > > > The fbdev driver is used by Android's FVP configuration. Using the > > DRM driver together with DRM's fbdev emulation results in a failure > > to boot Android. The root cause is that Android's generic fbdev > > userspace driver relies on the ability to set the pixel format via > > FBIOPUT_VSCREENINFO, which is not supported by fbdev emulation. > > > > There have been other less critical behavioral differences identified > > between the fbdev driver and the DRM driver with fbdev emulation. The > > DRM driver exposes different values for the panel's width, height and > > refresh rate, and the DRM driver fails a FBIOPUT_VSCREENINFO syscall > > with yres_virtual greater than the maximum supported value instead > > of letting the syscall succeed and setting yres_virtual based on yres. > > Is there a way to reproduce this? A simple binary image where > we can start Android on FVP and just replace the kernel image > would be great. That way we can look at the incompatibilities > in the FBDEV emulation and try to fix them. > > Is it working with a stock kernel or do you need any out-of-tree > Android patches to run this? > > Can you also share the kernel config used for this build so it is > easy to rebuild a similar kernel? There are instructions here for how to build Android targeting FVP: https://cs.android.com/android/platform/superproject/+/master:device/generic/goldfish/fvpbase/README.md It also includes instructions for building the kernel (which is the Android common kernel so it does have some patches on top, but it does closely track mainline) so you should be able to make your changes on top of the common kernel, rebuild and test them that way. Because of how Android boot images work I don't think it would be easy to provide binaries where you can replace the kernel image. Let me know if you have any trouble following the instructions. The configuration is basically a combination of these two configs: https://android.googlesource.com/kernel/common/+/refs/heads/android-mainline/arch/arm64/configs/gki_defconfig https://android-review.googlesource.com/c/kernel/common/+/1145352/11/fvp.fragment Those configs enable the fbdev driver. You can apply the patch I posted earlier to fvp.fragment to switch to the DRM driver. Peter _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel