iMX6-Dual Display with vivante and X11(xserver) only one is possible with acceleration, How to use another without acceleration ?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX6-Dual Display with vivante and X11(xserver) only one is possible with acceleration, How to use another without acceleration ?

Jump to solution
4,137 Views
gauravsuryavans
Contributor II

Hi Community,

I am using imx6 with our custom board, and trying to use dual display (LVDS+HDMI).

kernel version -4.1.15

X11(xserver) version-1.18.0

Vivante (Galcore) - 5.0.11

I know accelerated dual display is not possible with imx6 (Kernel 4.1.15). its limitation.

see iMX6 Accelerated Dual-Display with X11 and Vivante Driver Segfault 

How can i use one accelerated and one without acceleration ?

Xserver recipes -

  • xf86-video-imxfb-vivante
  • xserver-xorg
  • xf86-input-evdev
  • imx-gpu-viv

My xorg,conf is as below

==================================================================

Section "Device"
    Identifier  "i.MX Accelerated Framebuffer Device 0"
    Driver      "vivante"                               // tried with fbdev driver and Noaccel option but not working.
    Option      "fbdev"     "/dev/fb0"
    Option      "vivante_fbdev" "/dev/fb0"
    Option      "HWcursor"  "false"
EndSection

Section "Device"
    Identifier  "i.MX Accelerated Framebuffer Device 1"
    Driver      "vivante"
    Option      "fbdev"     "/dev/fb2"
    Option      "vivante_fbdev" "/dev/fb2"
    Option      "HWcursor"  "false"
EndSection

Section "Screen"
        Identifier      "LCD"
        Device          "i.MX Accelerated Framebuffer Device 0"
        Monitor         "Monitor_0"
        DefaultDepth           16 #Choose the depth (16||24)
        SubSection             "Display"
                Depth              16
                Modes              "800x480_60.00" #Choose the resolution
        EndSubSection
EndSection

Section "Screen"
        Identifier      "HDMI"
        Device          "i.MX Accelerated Framebuffer Device 1"
        Monitor         "Monitor_1"
        DefaultDepth           16 #Choose the depth (16||24)
        SubSection             "Display"
                Depth              16
        EndSubSection
EndSection

Section "Monitor"
        Identifier "Monitor_1"                                                               
EndSection

Section "Monitor"
        Identifier "Monitor_0"
EndSection

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen           0 "LCD"
        Screen           1 "HDMI" RightOf "LCD"
        #InputDevice     "hy462x" "Pointer"
        #InputDevice     "eGalaxTouch" "Pointer"
        Option          "Xinerama" "on"
EndSection

Section "ServerFlags"
    Option "BlankTime"  "0"
    Option "StandbyTime"  "0"
    Option "SuspendTime"  "0"
    Option "OffTime"  "0"
EndSection

=======================================================

Please let me know how it is possible ?

Any help would be highly appreciated ?

Regards,

Pankaj

Labels (2)
1 Solution
2,935 Views
gauravsuryavans
Contributor II

Hi Bio_TICFSL‌,

Thanks for your response.

We have found another solution for that.

1. Create two users except root.(usr1 and usr2)

2. Change /dev/galcore permisssion as it is only accessible to usr1 and root, not accessible to usr2.

3. /dev/galcore is only accessible to root and one user(usr1) not to usr2.

4. Start first application with one user(usr1) who have access of /dev/galcore and second display with the user who have no access rights(usr2) on /dev/galcore.

5. Now Everything is working fine.

Regards,

Pankaj 

View solution in original post

4 Replies
2,935 Views
yyuan
Contributor III

hi

i use  your xorg.conf  but  ti is not work.

i use lcd and hdmi.

you say the way to solve it i can`t understand.

please can you teach me or tell me someting?

0 Kudos
Reply
2,935 Views
gauravsuryavans
Contributor II

Hi ,

It will works if you have two displays that are already working, but both are not working with gpu/vpu( with acceleration ) in that case you have to use this workaround. the workaround is based on primary display(with GPU/VPU) and secondary display(without GPU/VPU).

Launching application on dual displays using workaround will not crash your xorg.conf.

do not directly copy my xorg.conf, maybe it will not work for you, it will depend on which one is your primary display and which one is your secondary display, accordingly you have to setup your xorg.conf.

Regards,

Pankaj

0 Kudos
Reply
2,935 Views
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Pankaj,

Please check:

https://community.nxp.com/thread/452315 

Regards

0 Kudos
Reply
2,936 Views
gauravsuryavans
Contributor II

Hi Bio_TICFSL‌,

Thanks for your response.

We have found another solution for that.

1. Create two users except root.(usr1 and usr2)

2. Change /dev/galcore permisssion as it is only accessible to usr1 and root, not accessible to usr2.

3. /dev/galcore is only accessible to root and one user(usr1) not to usr2.

4. Start first application with one user(usr1) who have access of /dev/galcore and second display with the user who have no access rights(usr2) on /dev/galcore.

5. Now Everything is working fine.

Regards,

Pankaj