Does latest rpb desktop image (Debian) supports hdmi on hikey960?

Hi @Mrfai,

I think now the discussion is a bit mess in this thread.

Currently we are discussing two different types of rootfs, one is debian and another is Open Embedded rootfs; but there have no official releasing for these two rootfs on Hikey960.

Yes, the debian rootfs has not included kernel image for Hikey960; this is not perfect in practice. We can place kernel image and dtb into boot.img so UEFI can load images and boot system, though this is not general method [1].

[1] https://github.com/96boards-hikey/l-loader/blob/testing/hikey960_v1.2/cc#L223

I’m pretty sure that this does not work. If you have the kernel in the
boot.img you also need the /lib/modules directory in the rootfs to
load kernel modules.

The /lib/modules usually goes into the initial ramdisk, to avoid spoiling the rootfs with multiple module versions.

Just for the record. There’s now a Debian image for the Hikey960
including a 4.15 kernel:
http://snapshots.linaro.org/96boards/hikey/linaro/debian/17/

1 Like

Anyone tried this out yet?

Someone in this thread took it for a spin.

Thank you for the link!

I got it to work as well now.

@leo-yan @Loic Do we have any update on bug https://bugs.96boards.org/show_bug.cgi?id=677; ? I don’t see anyone comment on it or change status after 2018-01-17 it was filed. Does anyone work on it?

@leo-yan This week we tried 134 rpb build and it still looks same with before. Do we have a plan to fix this HDMI issue on rpb build? And after [Bug 677] had been filed, I don’t see any update on it.

Hi @StephenSun,

I didn’t get response for the bug: https://bugs.96boards.org/show_bug.cgi?id=677; and Hikey960 have no official releasing for rpb and debian rootfs, so this is why we have no preceding.

Regard of the hdmi display issue, I found the rpb rootfs image which can display HDMI properly, it has below fbset configurations:

root@hikey960:/etc# fbset

mode "1920x1080"
    geometry 1920 1080 1920 1080 32
    timings 0 0 0 0 0 0 0
    accel true
    rgba 8/16,8/8,8/0,0/0
endmode

But for broken rpb rootfs image, it has below configurations:

root@hikey960:~# fbset

mode "800x600"
    geometry 800 600 800 600 32
    timings 0 0 0 0 0 0 0
    accel true
    rgba 8/16,8/8,8/0,0/0
endmode

And I found I cannot manually change the framebuffer setting by command:

root@hikey960:~# fbset -fb /dev/fb0 -g 1920 1080 1920 1080 16
ioctl FBIOPUT_VSCREENINFO: Invalid argument

I am not familiar with framebuffer/display drivers, I will try to inquire colleagues with related expertise; also very welcome if you have any suggestion for this.

Thanks,
Leo Yan

Thanks a lot @leo-yan for your effort,
I have two questions related to this issue now:

  1. Do you have ever successfully displayed anything based on a recent RPB release (like 121 afterwards)?If none of them then I suggest finding out the latest working RPB release, it may be easier to figure out which commit(s) caused this issue then normal debugging.
  2. Can you tell me how to figure out the actually kernel brance used by RPB build? Recently we have some finding from AOSP side, and we want to have a try on RPB.

Best Regards.
孙国峰

Yes, I tried 123/127, both of them cannot display with my 720p LCD display.

Thanks for @Loic & @fabo pointed me, you could refer the discussion for kernel code base from: Which kernel branch is used by the current RPB 4.14 kernel? - #5 by Loic

Actually rpb building is using git tree is: https://github.com/96boards-hikey/linux/, the last commit id is: 2932b25c8003e773a0b32b52814a5fd17b287567, you could refer the OE morty config file: https://github.com/96boards/meta-96boards/blob/morty/recipes-kernel/linux/linux-hikey960_git.bb.

so, i am am on the following kernel

root@linaro-developer:~# uname -a
Linux linaro-developer 4.15-hikey #1 SMP PREEMPT Sat Mar 10 22:41:04 UTC 2018 aarch64 GNU/Linux

And /dev/fb0 isn’t available

also lsmod shows this:

root@linaro-developer:~# lsmod
Module                  Size  Used by
bnep                   24576  2
arc4                   16384  2
wl18xx                143360  0
wlcore                282624  1 wl18xx
mac80211              421888  2 wl18xx,wlcore
cfg80211              335872  3 wl18xx,wlcore,mac80211
wlcore_sdio            16384  0
hci_uart               65536  0
adv7511                28672  0
cec                    49152  1 adv7511
drm_kms_helper        180224  1 adv7511
drm                   438272  2 adv7511,drm_kms_helper
crc32_ce               16384  0
crct10dif_ce           16384  0
bluetooth             602112  23 hci_uart,bnep
ecdh_generic           24576  2 bluetooth
ip_tables              24576  0
x_tables               40960  1 ip_tables
btrfs                1024000  0
xor                    20480  1 btrfs
zstd_decompress        77824  1 btrfs
zstd_compress         159744  1 btrfs
xxhash                 16384  2 zstd_compress,zstd_decompress
raid6_pq              106496  1 btrfs
root@linaro-developer:~# 

Any ideas, I know it was working earlier for me…

That is weird, this used to work for me as well with a fbdev. However, looking at the code I don’t find where the fbdev is created. All the coder related to FBDEV initialization is commented: https://github.com/96boards-hikey/linux/blob/hikey960-upstream-rebase/drivers/gpu/drm/hisilicon/kirin960/kirin_drm_drv.c#L142 (from initial integration of the driver).

@sumit.garg AFAIK you have a working display with your hikey960/linux, any idea ?

@ric96 Looking at kernel version, it seems you are running Debian on which HDMI/DRM drivers doesn’t seems to work. So I had to install custom 96boards hikey kernel (https://github.com/96boards-hikey/linux/commits/hikey960-upstream-rebase) on Debian and passed “video=HDMI-A-1:1280x800@60” in cmdline for my 24 inch monitor screen.

Kernel install steps:
“Image.gz” should be used to replace /boot/vmlinuz-4.15-hikey image.
And for device tree, you will get hi3660-hikey960.dtb image. Place this image in “/boot/” directory. Reboot and press “e” when you get GRUB menu. Just add following line in the configuration:
devicetree /boot/hi3660-hikey960.dtb

1 Like

@sumit.garg
With that kernel if I add the video=HDMI-A-1:1280x800@60 cmd, it results in a panic during boot else it fails to find rootfs and goes into initramfs

could not open builtin file '/lib/modules/4.14.0-rc7-hikey-linaro/modules.builtin.bin'
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
Begin: Running /scripts/local-block ... done.
done.
Gave up waiting for root file system device.  Common problems:
 - Boot args (cat /proc/cmdline)
   - Check rootdelay= (did the system wait long enough?)
 - Missing modules (cat /proc/modules; ls /dev)
ALERT!  UUID=230350e9-f100-4e71-a796-4d1c259fec71 does not exist.  Dropping to a shell!
(initramfs) 

@ric96 Please check if you followed following build steps:

cd
./scripts/kconfig/merge_config.sh arch/arm64/configs/defconfig arch/arm64/configs/hikey960_defconfig
make -jnproc

1 Like

aahh… that worked but i guess this kernel doesn’t support sdcard, so i still end up booting to initramfs

@ric96 So your HDMI worked with kernel boot-logs displayed on Monitor, right? I am not sure about sdcard as I have used Debian rootfs flashed on UFS.

yes hdmi worked, but currently i require emmc to run aosp that’s why i was booting on sdcard and that didn’t work