This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

BeagleBoard-X15: Android HMDI display issue

Part Number: BEAGLEBOARD-X15
Other Parts Discussed in Thread: BEAGLEBOARD-X15, AM5728

Hi, 

environment:

hardware: TI AM5728 BeagleBoard-X15  board

software: android O (SDK is ti-processor-sdk-android-am57xx-evm-04.02.00.09-Linux-x86-Install.bin)

issue:

The board connect to LCD via HDMI.
When I download prebuild images, and run below commands:

adb root
adb remount
adb shell 'echo "ro.hwc.primary.conn=HDMI" >> /system/build.prop'
adb shell 'echo "ro.hwc.external.conn=dummy" >> /system/build.prop'

The display is OK.

But when I rebuild and download these images. there is not display.

I found that replace boot.img, display is OK.
even further, only need to replace "sepolicy" file in ramdisk.img, display is OK.


why and how to solve this display problem?

Regards,

qu shenghui

  • Adding:

    build commands:

    export KERNELDIR=~/ti-processor-sdk-android-am57xx-evm-04.02.00.09/board-support/linux-4.4.91+gitAUTOINC+a9f709f7cf-ga9f709f7cf/
    export TI_SDK_PATH=/home/ti_android/ti-processor-sdk-android-am57xx-evm-04.02.00.09
    export ANDROID_DEVKIT_PATH=$TI_SDK_PATH/android-devkit
    export CROSS_COMPILE=$ANDROID_DEVKIT_PATH/arm-linux-androideabi-4.9.x/bin/arm-linux-androideabi-
    export CC=$CROSS_COMPILE\gcc
    . build/envsetup.sh
    lunch full_am57xevm-release
    make -j 48
  • Hello Qu Shenghui,

    Could you go into more detail on this part?
    "I found that replace boot.img, display is OK.
    even further, only need to replace "sepolicy" file in ramdisk.img, display is OK."

    Regards,
    Nick
  • Hi Nick,

    processed as follows:

    1. rebuild and download these images,these is not display.
    2. get boot.img from the prebuilt, and download this boot.img alone, display is OK.

    even further,
    1. rebuild and download these images,these is not display.
    2. get zImage and ramdisk.img from rebuild images, and extract ramdisk.img to root1 directory.
    3. get ramdisk.img from the prebuilt, and extract ramdisk.img to root2 directory.
    4. enter root1 directory, remove sepolicy file, then copy sepolicy file from root2 directory.
    5. use root1 directory to create ramdisk_new.img.
    6. use zImage and ramdisk_new.img to create boot_new.img.
    7. then download ramdisk_new.img, display is OK.

    create boot_new.img commands as below:

    #cp ../aosp-6AO.1.0/out/target/product/am57xevm/kernel ./
    #cp ../aosp-6AO.1.0/out/target/product/am57xevm/ramdisk.img ./ramdisk_rebuild.img
    #
    #cp ../prebuilt-images/ramdisk.img ./ramdisk_prebuilt.img
    #mkdir root1
    #gzip -d -S .img ramdisk_rebuild.img
    #
    #cd root1/
    #
    #cpio -i -F ../ramdisk_rebuild
    #
    #cd ../
    #mkdir root2
    #
    #gzip -d -S .img ramdisk_prebuilt.img
    #
    #cd root2/
    #cpio -i -F ../ramdisk_prebuilt
    #
    #cd ../root1
    #
    #rm sepolicy
    #cp ../root2/sepolicy ./
    #
    #
    #find . | cpio -o -H newc > ../ramdisk_temp.img
    #cd ../
    #
    #gzip -c tmp_ramdisk.img > ramdisk_new.img
    #
    #/home/ti_android/ti-processor-sdk-android-am57xx-evm-04.02.00.09/bin/mkbootimg --kernel kernel --ramdisk ramdisk_new.img --ramdisk_offset 0x01f00000 --base 0x80000000 --output boot_new.img
    #
    Regards,
    Qu Shenghui
  • there are some abnormal log, zygote has been killed.
    why?

    [ 13.198396] init: Untracked pid 305 exited with status 0
    [ 13.204016] init: Service 'gralloc-2-0' (pid 183) killed by signal 6
    [ 13.210531] init: Sending signal 9 to service 'gralloc-2-0' (pid 183) process group...
    [ 13.218801] init: kill(183, 9) failed: No such process
    [ 13.224100] init: Sending signal 9 to service 'surfaceflinger' (pid 188) process group...
    [ 13.238552] init: Service 'surfaceflinger' (pid 188) killed by signal 9
    [ 13.245458] init: Sending signal 9 to service 'surfaceflinger' (pid 188) process group...
    [ 13.253716] init: failed to open /acct/uid_1000/pid_188/cgroup.procs: No such file or directory
    [ 13.262523] init: killProcessGroup(1000, 188, 9) failed: Device or resource busy
    [ 13.270157] init: kill(188, 9) failed: No such process
    [ 13.275421] init: Sending signal 9 to service 'zygote' (pid 166) process group...
    [ 13.330619] init: Command 'restart zygote' action=onrestart returned 0 took 55.1749ms.
    [ 13.339280] init: Service 'zygote' (pid 166) killed by signal 9
    [ 13.345399] init: Sending signal 9 to service 'zygote' (pid 166) process group...
    [ 13.353015] init: failed to open /acct/uid_0/pid_166/cgroup.procs: No such file or directory
    [ 13.361910] init: killProcessGroup(0, 166, 9) failed: Device or resource busy
    [ 13.369169] init: write_file: Unable to open '/sys/android_power/request_state': No such file or directory
    [ 13.379035] init: write_file: Unable to write to '/sys/power/state': Invalid argument
    [ 13.386946] init: Sending signal 9 to service 'audioserver' (pid 214) process group...
    [ 13.402888] init: Sending signal 9 to service 'cameraserver' (pid 215) process group...
    [ 13.416575] init: Sending signal 9 to service 'media' (pid 222) process group...
    [ 13.429640] init: Sending signal 9 to service 'netd' (pid 165) process group...
    [ 13.443944] init: Sending signal 9 to service 'wificond' (pid 224) process group...
    [ 13.458075] init: Service 'netd' (pid 165) killed by signal 9
    [ 13.464114] init: Sending signal 9 to service 'netd' (pid 165) process group...
    [ 13.471580] init: failed to open /acct/uid_0/pid_165/cgroup.procs: No such file or directory
    [ 13.480317] init: killProcessGroup(0, 165, 9) failed: Device or resource busy
    [ 13.488033] init: Service 'audioserver' (pid 214) killed by signal 9
    [ 13.494532] init: Sending signal 9 to service 'audioserver' (pid 214) process group...
    [ 13.502576] init: failed to open /acct/uid_1041/pid_214/cgroup.procs: No such file or directory
    [ 13.511544] init: killProcessGroup(1041, 214, 9) failed: Device or resource busy
    [ 13.518982] init: kill(214, 9) failed: No such process

  • 1) for proc sdk android 04.02 release, The only supported platforms are www.ti.com/.../TMDSEVM572X and www.ti.com/.../TMDXIDK5728
    2) for HDMI only configuration, the following might help for beagleboard x15. ( assuming you have a revb)

    >> flash am57xx-beagle-x15-revb1.dtb instead of am57x-evm-reva3.dtb in environment partition.
    >>>> sudo ./fastboot flash environment am57xx-beagle-x15-revb1.dtb and keep rest of the images same.
    >> try the hdmi only app note at processors.wiki.ti.com/.../6AO.1.0_Application_Notes

    3) Not sure the intent of unpacking/packing and updating the sepolicy. This is not recommended.
    the following is tested till android-m
    omappedia.org/.../Android_eMMC_Booting
  • Hi ,

    Can not solve this problem by change DTB file.

    check the kernel log, many services has been killed.

    the kernel log is attached, please help check?

    Best regards!

    Qu Shenghui

    4048.self-image-log.txt

    am57xevm:/ # ps -A
    USER           PID  PPID     VSZ    RSS WCHAN            ADDR S NAME
    root             1     0    9692   1828 0               b2884 R init
    root             2     0       0      0 kthreadd            0 S [kthreadd]
    root             3     2       0      0 smpboot_t+          0 S [ksoftirqd/0]
    root             4     2       0      0 worker_th+          0 S [kworker/0:0]
    root             5     2       0      0 worker_th+          0 S [kworker/0:0H]
    root             6     2       0      0 worker_th+          0 S [kworker/u4:0]
    root             7     2       0      0 rcu_gp_kt+          0 S [rcu_preempt]
    root             8     2       0      0 rcu_gp_kt+          0 S [rcu_sched]
    root             9     2       0      0 rcu_gp_kt+          0 S [rcu_bh]
    root            10     2       0      0 smpboot_t+          0 S [migration/0]
    root            11     2       0      0 smpboot_t+          0 S [migration/1]
    root            12     2       0      0 smpboot_t+          0 S [ksoftirqd/1]
    root            13     2       0      0 worker_th+          0 S [kworker/1:0]
    root            14     2       0      0 worker_th+          0 S [kworker/1:0H]
    root            15     2       0      0 rescuer_t+          0 S [netns]
    root            16     2       0      0 rescuer_t+          0 S [perf]
    root            17     2       0      0 worker_th+          0 S [kworker/0:1]
    root            18     2       0      0 rescuer_t+          0 S [writeback]
    root            19     2       0      0 ksm_scan_+          0 S [ksmd]
    root            20     2       0      0 rescuer_t+          0 S [crypto]
    root            21     2       0      0 rescuer_t+          0 S [bioset]
    root            22     2       0      0 rescuer_t+          0 S [kblockd]
    root            23     2       0      0 irq_thread          0 S [irq/337-4807000]
    root            24     2       0      0 irq_thread          0 S [irq/38-palmas]
    root            25     2       0      0 irq_thread          0 S [irq/338-4806000]
    root            26     2       0      0 irq_thread          0 S [irq/339-4807c00]
    root            27     2       0      0 rescuer_t+          0 S [edac-poller]
    root            28     2       0      0 rescuer_t+          0 S [cfg80211]
    root            29     2       0      0 cpufreq_i+          0 S [cfinteractive]
    root            30     2       0      0 kswapd              0 S [kswapd0]
    root            31     2       0      0 rescuer_t+          0 S [vmstat]
    root            32     2       0      0 fsnotify_+          0 S [fsnotify_mark]
    root            33     2       0      0 rescuer_t+          0 S [SquashFS read w]
    root            60     2       0      0 irq_thread          0 S [irq/370-OMAP HD]
    root            61     2       0      0 rescuer_t+          0 S [bioset]
    root            62     2       0      0 rescuer_t+          0 S [bioset]
    root            63     2       0      0 rescuer_t+          0 S [bioset]
    root            64     2       0      0 rescuer_t+          0 S [bioset]
    root            65     2       0      0 rescuer_t+          0 S [bioset]
    root            66     2       0      0 rescuer_t+          0 S [bioset]
    root            67     2       0      0 rescuer_t+          0 S [bioset]
    root            68     2       0      0 rescuer_t+          0 S [bioset]
    root            69     2       0      0 rescuer_t+          0 S [bioset]
    root            70     2       0      0 rescuer_t+          0 S [bioset]
    root            71     2       0      0 rescuer_t+          0 S [bioset]
    root            72     2       0      0 rescuer_t+          0 S [bioset]
    root            73     2       0      0 rescuer_t+          0 S [bioset]
    root            74     2       0      0 rescuer_t+          0 S [bioset]
    root            75     2       0      0 rescuer_t+          0 S [bioset]
    root            76     2       0      0 rescuer_t+          0 S [bioset]
    root            77     2       0      0 rescuer_t+          0 S [bioset]
    root            78     2       0      0 rescuer_t+          0 S [bioset]
    root            79     2       0      0 rescuer_t+          0 S [bioset]
    root            80     2       0      0 rescuer_t+          0 S [bioset]
    root            81     2       0      0 rescuer_t+          0 S [bioset]
    root            82     2       0      0 rescuer_t+          0 S [bioset]
    root            83     2       0      0 rescuer_t+          0 S [bioset]
    root            84     2       0      0 rescuer_t+          0 S [bioset]
    root            85     2       0      0 rescuer_t+          0 S [memory_wq]
    root            86     2       0      0 worker_th+          0 S [kworker/1:1]
    root            87     2       0      0 worker_th+          0 S [kworker/u4:1]
    root            90     2       0      0 worker_th+          0 S [kworker/0:2]
    root            91     2       0      0 irq_thread          0 S [irq/27-talert]
    root            92     2       0      0 rescuer_t+          0 S [dm_bufio_cache]
    root            93     2       0      0 irq_thread          0 S [irq/230-4809c00]
    root            94     2       0      0 worker_th+          0 S [kworker/0:3]
    root            95     2       0      0 worker_th+          0 S [kworker/0:4]
    root            96     2       0      0 worker_th+          0 S [kworker/0:5]
    root            97     2       0      0 worker_th+          0 S [kworker/0:6]
    root            98     2       0      0 worker_th+          0 S [kworker/0:7]
    root            99     2       0      0 irq_thread          0 S [irq/158-palmas_]
    root           100     2       0      0 rescuer_t+          0 S [binder]
    root           101     2       0      0 rescuer_t+          0 S [bioset]
    root           102     2       0      0 mmc_queue+          0 S [mmcqd/1]
    root           103     2       0      0 irq_thread          0 S [irq/352-4846800]
    root           104     2       0      0 irq_thread          0 S [irq/351-4846800]
    root           105     2       0      0 worker_th+          0 S [kworker/u4:2]
    root           106     2       0      0 rescuer_t+          0 S [bioset]
    root           107     2       0      0 mmc_queue+          0 S [mmcqd/1boot0]
    root           108     2       0      0 rescuer_t+          0 S [bioset]
    root           109     2       0      0 mmc_queue+          0 S [mmcqd/1boot1]
    root           110     2       0      0 rescuer_t+          0 S [ipv6_addrconf]
    root           111     2       0      0 rescuer_t+          0 S [deferwq]
    root           113     2       0      0 worker_th+          0 S [kworker/0:1H]
    root           114     2       0      0 kjournald2          0 S [jbd2/mmcblk0p10]
    root           115     2       0      0 rescuer_t+          0 S [ext4-rsv-conver]
    root           116     2       0      0 kjournald2          0 S [jbd2/mmcblk0p11]
    root           117     2       0      0 rescuer_t+          0 S [ext4-rsv-conver]
    root           118     1    3040   1456 poll_sche+      b2490 S ueventd
    root           123     2       0      0 worker_th+          0 S [kworker/1:1H]
    root           125     2       0      0 irq_thread          0 S [irq/248-tpd12s0]
    root           128     2       0      0 worker_th+          0 S [kworker/1:2]
    root           129     2       0      0 irq_thread          0 S [irq/482-remotep]
    root           131     2       0      0 irq_thread          0 S [irq/484-remotep]
    root           133     2       0      0 irq_thread          0 S [irq/494-remotep]
    root           135     2       0      0 irq_thread          0 S [irq/496-remotep]
    root           140     2       0      0 kjournald2          0 S [jbd2/mmcblk0p12]
    root           141     2       0      0 rescuer_t+          0 S [ext4-rsv-conver]
    root           145     2       0      0 kjournald2          0 S [jbd2/mmcblk0p15]
    root           146     2       0      0 rescuer_t+          0 S [ext4-rsv-conver]
    logd           147     1   13020   3456 sigsuspend   ab96c6f4 S logd
    root           152     2       0      0 kauditd_t+          0 S [kauditd]
    system         155     1    5492   2776 binder_th+   abf8a524 S servicemanager
    system         156     1    9140   4416 SyS_epoll+   b12ad3e4 S hwservicemanager
    system         157     1    4716   2288 binder_th+   b590c524 S vndservicemanager
    system         158     1   10172   4656 binder_th+   ac619524 S android.hardware.keymaster@3.0-service
    root           159     1   13024   5524 sigsuspend   af9ee6f4 S vold
    system         182     1    7176   3268 binder_th+   af59c524 S android.hidl.allocator@1.0-service
    cameraserver   185     1   16368   7528 binder_th+   acb54524 S android.hardware.camera.provider@2.4-service
    system         186     1    8768   3460 binder_th+   b22ab524 S android.hardware.configstore@1.0-service
    system         189     1    7280   3476 binder_th+   aa0ef524 S android.hardware.usb@1.0-service
    wifi           190     1    9196   4876 binder_th+   ae156524 S android.hardware.wifi@1.0-service
    root           191     1    8424   3704 SyS_epoll+   a71693e4 S healthd
    root           193     1    4580   2416 SyS_epoll+   aac8f3e4 S lmkd
    root           195     2       0      0 rescuer_t+          0 S [f_mtp]
    shell          208     1    4372   2204 wait_woken   b69e43c4 S sh
    root           210     2       0      0 irq_thread          0 S [irq/470-4802000]
    shell          212     1   10736   1288 poll_sche+      92bb8 R adbd
    drm            215     1   17912   9580 binder_th+   b0512524 S drmserver
    root           216     1    9288   3824 binder_th+   aa112524 S installd
    keystore       217     1   11836   5024 binder_th+   a88d3524 S keystore
    media          218     1   10644   5344 binder_th+   b1317524 S mediadrmserver
    mediaex        219     1   43048  11868 binder_th+   b3096524 S media.extractor
    media          220     1   16908   9092 binder_th+   a8612524 S media.metrics
    root           222     1    9552   3448 binder_th+   a9e60524 S storaged
    mediacodec     224     1   21068   9976 binder_th+   ab16e524 S media.codec
    system         225     1    9920   4628 binder_th+   ac723524 S gatekeeperd
    tombstoned     233     1    4548   2308 SyS_epoll+   a8a633e4 S tombstoned
    root           236     2       0      0 irq_thread          0 S [irq/473-dwc3]
    root           834     1       0      0 do_exit             0 Z [main]
    audioserver    835     1   29800  11096 binder_th+   ae157524 S audioserver
    cameraserver   836     1   23448  10944 binder_th+   a69ef524 S cameraserver
    media          837     1   43932  12144 binder_th+   a92e7524 S mediaserver
    root           838     1   18860   3844 binder_th+   b3e13524 S netd
    wifi           840     1    7648   3624 SyS_epoll+   b2b113e4 S wificond
    audioserver    841     1   23952   8540 binder_th+   a854b524 S android.hardware.audio@2.0-service
    root           843   838    5284   2388 pipe_wait    b04623c4 S iptables-restore
    root           849   838    5288   2408 pipe_wait    b5ce93c4 S ip6tables-restore
    shell          857   212    4372   2220 sigsuspend   a74646f4 S sh
    system         916   834       0      0 do_exit             0 Z [system_server]
    root           935   857    4372   2308 sigsuspend   aefe16f4 S sh
    system         938     1       0      0 do_exit             0 Z [crash_dump32]
    root           943   935    5368   2720 0            a8be73c4 R ps
    am57xevm:/ #

  • 1. send logcat output too.
    2. observation: looks like you are using X15 Rev C ( This is not supported in the android sdk version you are using especially kernel and uboot support).
    3. observation: your kernel log shows "Machine model: TI AM572x EVM Rev A3" . this is not correct.

    as mentioned at: e2e.ti.com/.../2465793
    if you would like to boot android on X15 Rev C . you need to wait for the later proc sdk releases in 2018.
    "or"
    try backporting the revC support from upstream uboot and kernel master branch.
  • attachments are logcat and kernel log.

    I check the board, the board is "BEAGLEBOARD-X15" “PCB RevB1".

    so I guess the board version is X15 Rev B1, is it right?

    flash am57xx-beagle-x15-revb1.dtb, log shows "Machine model: TI AM5728 BeagleBoard-X15 rev B1"

    self--RevB1-dtb--logcat.txt

    self--RevB1-dtb--log.txt

  • looks like gfx not initialized and android init process is crashing. try gfx rebuild and flash steps
    processors.wiki.ti.com/.../6AO.1.0_Application_Notes


    you have to wait for this platform support thru proc ask android later this year.
  • can not find gfx in "processors.wiki.ti.com/.../6AO.1.0_Application_Notes"
    what is gfx?
    but I can find SGX, is that?

    not /system/lib/modules/ directory, but have /vendor/lib/modules/  directory.

    It have pvrsrvkm.ko in  /vendor/lib/modules/  directory. 

    but pvrsrvkm.ko is not insmod.

     

     

  • hi guy, can you give me more advice?

    Best regards

     Qu Shenghui

  • only www.ti.com/.../TMDSEVM572X and www.ti.com/.../TMDXIDK5728 and is supported in the current proc sdk android release.

    X15 RevC is not a supported platform in the baseline you are currently using.
  • To clarify how Praneeth determined the revision of your board:

    In your boot log, it says

    U-Boot 2016.05-g6f6aaabf5a (Dec 23 2017 - 13:14:49 -0500)
    
    CPU  : DRA752-GP ES2.0
    Model: TI AM5728 BeagleBoard-X15
    Board: BeagleBoard X15 REV C.00

    That means that the board information programmed into the on-board memory when the board was assembled says your board is a Rev C.

    Regards, 

    Nick

  • Hi Praneeth and Nick,

    Thanks for your reply!

    But I have some questions.

    1、when I flash prebuilt image, the board can boot Android.
    how to build prebuilt image? what commands are used?

    2、“X15 RevC is not a supported platform in the baseline you are currently using.”

    which version of proc adk android can support my board?

    Best regards,

    Qu Shenghui

  • Hello Qu Shenghui,

    1. Please see steps 3-6 of Start your Android Development

    2. I cannot comment on the contents of future releases of Processor SDK Android. There is a possibility that a future release will include the device tree (dts) files for X15 RevC. Since that board is not designed by TI, I will not be able to answer questions about it, even if its dts files are included in the future release. 

    Regards, 

    Nick

  • Hi Nick,

    according to these steps in "Start your Android Development. ", android filesystem can be built.
    but flash these android filesystem, HDMI is not display, the board cannot boot android.
    however, flash prebuilt image, display is OK, and android can be booting.
    why?

    Best Regards,

    Qu Shenghui
  • Hello Qu Shenghui,

    When building the Android filesystem, you are building the kernel before building the Android filesystem using these instructions, right? Is the board at least getting to u-boot in both cases? What is your bootup output (from uboot through the linux kernel coming up) for both cases?

    Regards,

    Nick

  • Hi Nick,
    "When building the Android filesystem, you are building the kernel before building the Android filesystem using these instructions, right?"
    ----Yes, first build kernel and uboot, second build android filesystem.

    Is the board at least getting to u-boot in both cases?
    ----Yes, the board bootup linux kernel in boat cases. but my build image can not bootup android.

    attachment "prebuild-image-log.txt" is kernel log, the board flash prebuild image.
    attachment "self-image-log.txt" is kernel log , the board flash my build image.

    prebuild-image-log.txt

    5861.self-image-log.txt


    Best Regard,
    Qu Shenghui

  • [    7.678884] PVR_K: UM DDK-(4081762) and KM DDK-(4081762) match. [ OK ] is seen in prebuild-image-log.txt but not seen in self-image-log.txt.

    --

    Did you follow all of the instructions in the release page without making any local changes in the source repository and generate self-image?

    --

    as per the self-image-log.txt,

    Graphics module is not initializing.

    If you are making changes locally, ensure graphichs module is build accordingly

    Ref: http://processors.wiki.ti.com/index.php/Processor_SDK_Android_Building_The_SDK#Building_SGX_Kernel_Module 

    --

  • Hi Nick,

    Did you follow all of the instructions in the release page without making any local changes in the source repository and generate self-image?

    ----Yes, I follow all of the instructions in the release page without any changes.

    SGX has been built. I can find pvrsrvkm.ko in vendor directory, as below:

    i_android@ecoli:~/ti-processor-sdk-android-am57xx-evm-04.02.00.09/board-support/aosp-6AO.1.0/out/target/product/am57xevm/vendor$ find -name *.ko
    ./lib/modules/pvrsrvkm.ko

    Best Regards,
    Qu Shenghui
  • Hello Qu,

    You are correct that the prebuilt code should behave the same way as the code you build following our instructions. However, I can't help you with that debug process since you're using a board that we don't support, so there is no way for me to replicate your results.

    One thing to note is that the prebuilt image appears to be loading the dtb file for the AM572x GP EVM (see "Machine model" in the log), while the image you built is loading the dtb file for the X15 rev B1. I wouldn't expect either dtb file to be fully functional with your board.

    Regards,
    Nick