This is the prototype solution to enable second display showing different things on JB4.2.2 SabreSD.
Make use of Class Presentation provided by android to be embedded into Status bar.
When unlock the screen, the Presentation will show on second display.
Now, the solution requires one .mp4 video placed in root sdcard.
Of course, you may change it to show anything.
The attached Files are a layout xml file, a patch and a recorded video.
The layout file should be put into android/frameworks/base/packages/SystemUI/res/layout/ folder.
The patch should be applied to frameworks/base.git.
The recorded video shows the dual display demo as a reference.
I used lvds + hdmi display port , but it is diplay identical content still. do you have change other configs? How can i control respectively control screen?
First make sure the system is upgraded to android 4.2.2.
Patch, build and re-install systemui.apk.
Can you check if the video placed on /sdcard root directory.
It shows different content when the key guard is unlock.
Following is i change:
1. bsp is jb4.2.2.
2. uboot configs: "bootargs=console=ttymxc3,115200 androidboot.console=ttymxc3 init=/init rw video=mxcfb0:dev=ldb,LDB-XGA if=RGB666 bpp=32 video=mxcfb1:dev=hdmi,1920x1080M@60 fbmem=15M,28M vmalloc=400M fb0base=0x27b00000 enable_wait_mode=off androidboot.hardware=freescale ldo_active=on\0"
3. copy presentation_with_media_router_content.xml into frameworks/base/packages/SystemUI/res/layout/
4. git apply systemui_presentation.patch.
5. build myandroid
6. burn system.img to SD card.
7. Restart system.
the system present "Unfortunately, System UI has stopped". can't entry home screen.
Have you put a .mp4 file to /sdcard directory? The error is due to missing .mp4 file.
Copy a .mp4 file into /sdcard, work fine. thanks all.
How can we have this feature on ICS for iMX6?
hi, this is the new feature provided by jb4.2
any solution on ICS platform? I also found iMX53 had this feature.
hi, ICS does not support this feature itself. And it is not customized to support it.
What kind of processor are you using now? Have you verified on iMX6 solo platform? Will it have any performance issue?
I had tried this thing, working fine for me.
I am a Java beginner and checking for the feasibility of running an android application on the separate display while keeping the other display for normal use.
Please suggest any method for doing so!!
Thanks for your time, in advance!!!
According to your instruction，My HDMI Display Different Things.
But,I found a issure, if the mp4 file have the audio,The Video player will be stoped,Print the following information，Continuously.
D/MediaPlayer( 3387): getMetadata
I/ActivityManager( 2904): Displayed com.advantech.advpresentation/.AdvPresentation: +609ms
I/vpu-lib ( 2612): Product Info: i.MX6Q/D/S
I/vpu-lib ( 2612): <gpu> alloc handle: 0x40f8f180, paddr: 0x20800000, vaddr: 0x4dc89000
I/vpu-lib ( 2612): <gpu> alloc handle: 0x40f8f1a8, paddr: 0x42ba1000, vaddr: 0x437fd000
I/vpu-lib ( 2612): bitstreamMode 1, chromaInterleave 0, mapType 0, tiled2LinearEnable 0
I/OMXCodec( 2612): [OMX.Freescale.std.video_decoder.avc.v3.hw-based] video dimensions are 480 x 288
I/OMXCodec( 2612): [OMX.Freescale.std.video_decoder.avc.v3.hw-based] Crop rect is 480 x 270 @ (0, 0)
I/vpu-lib ( 2612): <gpu> alloc handle: 0x40089e20, paddr: 0x42fbc000, vaddr: 0x43c18000
E/OMXCodec( 2612): [OMX.google.aac.decoder] ERROR(0x80001001, 8195)
W/MediaPlayer( 3387): info/warning (3, 0)
E/OMXCodec( 2612): [OMX.Freescale.std.video_decoder.avc.v3.hw-based] dequeueBuffer failed w/ error 0xfffffff0
E/MediaPlayer( 3387): error (1, -2147483648)
E/MediaPlayer( 3387): Error (1,-2147483648)
D/VideoView( 3387): Error: 1,-2147483648
I/vpu-lib ( 2612): <gpu> free handle: 0x40f8f1a8, paddr: 0x42ba1000, vaddr: 0x437fd000
I/vpu-lib ( 2612): <gpu> free handle: 0x40f8f180, paddr: 0x20800000, vaddr: 0x4dc89000
I/vpu-lib ( 2612): <gpu> free handle: 0x40089e20, paddr: 0x42fbc000, vaddr: 0x43c18000
W/AudioFlinger( 2612): session id 139 not found for pid 3387
I/OMXCodec( 2612): [OMX.Freescale.std.video_decoder.avc.v3.hw-based] AVC profile = 100 (High), level = 12
I/OMXCodec( 2612): [OMX.Freescale.std.video_decoder.avc.v3.hw-based] video dimensions are 480 x 270
Are you encounter this problem?Can you give me some suggestions，Thanks!
HaHa:smileygrin:...The problem has been resolved!
I reFormat conversion,the issure is resolved.
Could you please help me to overcome the dequeueBuffer failed w/ error 0xfffffff0.
Can we use the Kitkat 4.4 for this dual viewing feature in imx6 sabresd?
can the same patch file and the xml fles be used for the kitkat version also?
Please help us on this.
Thanks in advance
Yes,This patch file can use in KK4.4.
I has try.
I integrated the patch and found this working. :smileylaugh:
i have another query on this.
Suppose my primary display is on RGB and secondary on the HDMI.
Currently i get the media playback on the HDMI. but i want to know how can i access the media player controls(play, stop,pause etc )there?(currently while the media player is played on the HDMI , the mouse and other input devices can control only the RGB screen).
Thanks in advance.
We tried applying the patch and found that its not working for us. i.e. the video is not getting displayed on the HDMI monitor.
Can you please share your presentation.java file(after patch applied), so that we can also find out where we are wrong?
I have tried it on android Kitkat 4.4.3
We have ready-to-use solution for secondary display supported by i.MX6DL/ i.MX6Q. showing same or different frames/ pictures are both well supported by board with OS Android 4.4 or Linux