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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

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

跳至解决方案
4,060 次查看
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

标签 (2)
1 解答
2,858 次查看
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 

在原帖中查看解决方案

4 回复数
2,858 次查看
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 项奖励
回复
2,858 次查看
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 项奖励
回复
2,858 次查看
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi Pankaj,

Please check:

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

Regards

0 项奖励
回复
2,859 次查看
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