1

Я пытаюсь использовать устройство с установленным Nexus 5 (набор микросхем MSM 8974) с Debian, работающим с X-сервером и консолью загрузки linux framebuffer. Я перекомпилировал ядро-молот Android по умолчанию (с CONFIG_FB_MSM_MDSS=y и CONFIG_FB_MSM=y и включил опции для консоли кадрового буфера (назначить первичному отображению и использовать скомпилированные в шрифтах). Используя это ядро, я могу успешно загрузить Android с помощью fastboot boot -c "console=tty0,115200 fbcon=font:VGA8x8" kernel-fbcon.img , однако во время загрузки отсутствует консоль кадрового буфера, только логотип Google с последующей анимацией загрузки.

Я проверил, остановив фреймворк Android (stop) и используя корневую оболочку через ADB, чтобы попробовать разные вещи в буфере кадров (/dev/graphics/fb0).

# cat /dev/urandom > /dev/graphics/fb0      # does not affect the screen
cat: write error: No space left on device

Использование con2fbmap 1 0 при включенном экране не имеет никакого эффекта, и оно не изменяет отображение и не отображает какой-либо текст, который находится на консоли tty0. Я также попытался запустить Xorg на дисплее с помощью команды FRAMEBUFFER=/dev/graphics/fb0 Xorg vt1 , которая работает и завершается как обычно, без ошибок, однако на экране не отображается ничего, кроме очень короткой вспышки того, что было отображено на экране последний раз, когда X заканчивается (Ctrl + C в оболочке). Xorg настроен на использование драйвера fbdev по умолчанию.

Я подозреваю, что эти проблемы вызваны нестандартной реализацией устройства кадрового буфера MSM (для Nexus это находится в kernel_source/drivers/video/msm/mdss/mdss_fb.c). Многие новые устройства Android имеют эту проблему, поскольку устройства с кадровым буфером не работают должным образом.

Я хотел бы знать, возможно ли изменить драйвер кадрового буфера или настроить ядро так, чтобы при загрузке устройства оно отображало консоль загрузки на кадровом буфере.

Спасибо всем, кто может помочь.

РЕДАКТИРОВАТЬ: Эта проблема кажется очень специфичным для Nexus 5. Другие устройства из серии Google Nexus, похоже, не имеют проблем с графикой кадрового буфера и загрузочными консолями.

2 ответа2

1

На моем Nexus 4 у меня была такая же проблема. Это решило это:

cat /sys/class/graphics/fb0/modes > /sys/class/graphics/fb0/mode

1

Проверьте ваши dts файлы на наличие таких записей: qcom,cont-splash-enabled:

--- a/arch/arm/boot/dts/msm8226-sec-matissewifi-r03.dtsi
+++ b/arch/arm/boot/dts/msm8226-sec-matissewifi-r03.dtsi
@@ -752,5 +752,5 @@
 };
 &dsi2lvds_wxga_vid_r01 {
-   qcom,cont-splash-enabled;
+
 };

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .