터치 스크린이 포함된 임베디드 i.MX6 보드용 X11을 구성하는 방법은 무엇입니까?

터치 스크린이 포함된 임베디드 i.MX6 보드용 X11을 구성하는 방법은 무엇입니까?

나는 다음을 운영할 계획이다.전자내 UDOO Neo i.MX6 개발 보드의 애플리케이션UDOO Neo 공식 st1232 7인치 터치스크린 키트. 사용자 정의 Linux 배포판을 만들었습니다.좁은(thump 브랜치) "부팅 준비 완료" 이미지를 구축하는 기능. 모든 Xorg 패키지를 보유하기 위해 "x11-base" 이미지 기능을 활성화했으며위안 프리스케일하드웨어(Vivante)와 완벽하게 호환되는 배포판을 갖기 위해 패치 레이어를 제공합니다. 그러나 부팅 프로세스가 끝나면 에서 세그먼트 실패 오류 메시지가 나타납니다 xinit.

이것은 내 /etc/X11/xorg.conf파일입니다:

Section "Device"
    Identifier  "i.MX Accelerated Framebuffer Device"
    Driver      "vivante"
    Option      "fbdev"     "/dev/fb0"
    Option      "vivante_fbdev" "/dev/fb0"
    Option      "HWcursor"  "false"
    Option      "DisplayEngine" "pxp"
EndSection

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

Section "InputClass"
    Identifier "Touchscreen"
    MatchProduct    "st1232-touchscreen"
    Driver          "evdev"
    Option          "Calibration"   "3 794 476 0"
EndSection

이는 메타 프리스케일 레이어에 의해 추가되었으며 st1232 터치스크린 InputClass를 수동으로 연결했습니다.

파일 출력 /var/log/Xorg.0.log:

X.Org X Server 1.20.1
X Protocol Version 11, Revision 0
[    63.243] Build Operating System: Linux 4.15.0-72-generic x86_64 
[    63.244] Current Operating System: Linux 4.1.15+2.0.x-udoo+g34f88fa2766c #1 SMP PREEMPT Mon Jan 6 14:51:20 UTC 2020 armv7l
[    63.244] Kernel command line: console=ttymxc0,115200,115200 root=/dev/mmcblk0p1 rootwait rw rootfstype=ext4 uart_from_osc clk_ignore_unused cpuidle.off=1 consoleblank=0
[    63.257] Build Date: 07 January 2020  10:34:32AM
[    63.257]  
[    63.258] Current version of pixman: 0.34.0
[    63.258]    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
[    63.258] Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[    63.260] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Jan  7 11:51:16 2020
[    63.288] (==) Using config file: "/etc/X11/xorg.conf"
[    63.288] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[    63.297] (==) No Layout section.  Using the first Screen section.
[    63.297] (==) No screen section available. Using defaults.
[    63.297] (**) |-->Screen "Default Screen Section" (0)
[    63.297] (**) |   |-->Monitor "<default monitor>"
[    63.298] (==) No device specified for screen "Default Screen Section".
    Using the first device section listed.
[    63.298] (**) |   |-->Device "i.MX Accelerated Framebuffer Device"
[    63.298] (==) No monitor specified for screen "Default Screen Section".
    Using a default monitor configuration.
[    63.298] (**) Option "BlankTime" "0"
[    63.298] (**) Option "StandbyTime" "0"
[    63.298] (**) Option "SuspendTime" "0"
[    63.298] (**) Option "OffTime" "0"
[    63.298] (==) Automatically adding devices
[    63.298] (==) Automatically enabling devices
[    63.298] (==) Automatically adding GPU devices
[    63.298] (==) Max clients allowed: 256, resource mask: 0x1fffff
[    63.299] (WW) The directory "/usr/share/fonts/X11/misc/" does not exist.
[    63.299]    Entry deleted from font path.
[    63.299] (WW) The directory "/usr/share/fonts/X11/TTF/" does not exist.
[    63.299]    Entry deleted from font path.
[    63.299] (WW) The directory "/usr/share/fonts/X11/OTF/" does not exist.
[    63.299]    Entry deleted from font path.
[    63.299] (WW) The directory "/usr/share/fonts/X11/Type1/" does not exist.
[    63.299]    Entry deleted from font path.
[    63.299] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[    63.299]    Entry deleted from font path.
[    63.299] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[    63.299]    Entry deleted from font path.
[    63.299] (==) FontPath set to:

[    63.299] (==) ModulePath set to "/usr/lib/xorg/modules"
[    63.299] (II) The server relies on udev to provide the list of input devices.
    If no devices become available, reconfigure udev or disable AutoAddDevices.
[    63.299] (II) Loader magic: 0x54cd6d78
[    63.300] (II) Module ABI versions:
[    63.300]    X.Org ANSI C Emulation: 0.4
[    63.300]    X.Org Video Driver: 24.0
[    63.300]    X.Org XInput driver : 24.1
[    63.300]    X.Org Server Extension : 10.0
[    63.301] (II) xfree86: Adding drm device (/dev/dri/card0)
[    63.301] (II) no primary bus or device found
[    63.301]    falling back to /sys/devices/platform/Vivante GCCore/drm/card0
[    63.301] (II) LoadModule: "glx"
[    63.326] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[    63.463] (II) Module glx: vendor="X.Org Foundation"
[    63.463]    compiled for 1.20.1, module version = 1.0.0
[    63.463]    ABI class: X.Org Server Extension, version 10.0
[    63.463] (II) LoadModule: "vivante"
[    63.467] (II) Loading /usr/lib/xorg/modules/drivers/vivante_drv.so
[    63.478] (II) Module vivante: vendor="X.Org Foundation"
[    63.478]    compiled for 1.20.1, module version = 1.0.0
[    63.478]    ABI class: X.Org Video Driver, version 24.0
[    63.478] (II) VIVANTE: fb driver for vivante: VivanteGC500, VivanteGC2100,
    VivanteGCCORE
[    63.479] (--) using VT number 1

[    63.482] (WW) Falling back to old probe method for vivante
[    63.482] (II) Loading sub module "fbdevhw"
[    63.482] (II) LoadModule: "fbdevhw"
[    63.482] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    63.484] (II) Module fbdevhw: vendor="X.Org Foundation"
[    63.484]    compiled for 1.20.1, module version = 0.0.2
[    63.484]    ABI class: X.Org Video Driver, version 24.0
[    63.484] (II) VIVANTE(0): using default device
[    63.484] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
[    63.485] (WW) VIVANTE(0): Cannot get device preferred mode '/sys/class/graphics/fb0/mode (Not a directory)' 
[    63.485] (II) VIVANTE(0): Creating default Display subsection in Screen section
    "Default Screen Section" for depth/fbbpp 16/16
[    63.485] (==) VIVANTE(0): Depth 16, (==) framebuffer bpp 16
[    63.485] (==) VIVANTE(0): RGB weight 565
[    63.485] (==) VIVANTE(0): Default visual is TrueColor
[    63.485] (==) VIVANTE(0): Using gamma correction (1.0, 1.0, 1.0)
[    63.485] (DB) xf86MergeOutputClassOptions unsupported bus type 0
[    63.485] (**) VIVANTE(0): mExaHwType:1
[    63.485] (II) VIVANTE(0): checking modes against framebuffer device...
[    63.485] (II) VIVANTE(0): checking modes against monitor...
[    63.485] (II) VIVANTE(0): Virtual size is 0x0 (pitch 0)
[    63.485] (==) VIVANTE(0): DPI set to (96, 96)
[    63.485] (II) Loading sub module "fb"
[    63.485] (II) LoadModule: "fb"
[    63.485] (II) Loading /usr/lib/xorg/modules/libfb.so
[    63.493] (II) Module fb: vendor="X.Org Foundation"
[    63.493]    compiled for 1.20.1, module version = 1.0.0
[    63.493]    ABI class: X.Org ANSI C Emulation, version 0.4
[    63.493] (II) Loading sub module "exa"
[    63.493] (II) LoadModule: "exa"
[    63.495] (II) Loading /usr/lib/xorg/modules/libexa.so
[    63.499] (II) Module exa: vendor="X.Org Foundation"
[    63.499]    compiled for 1.20.1, module version = 2.6.0
[    63.499]    ABI class: X.Org Video Driver, version 24.0
[    63.500] (II) VIVANTE(0): printing discovered frame buffer 'fb0' supported modes:
[    63.501] (II) VIVANTE(0): Modeline "U:800x480p-60"x0.0   33.66  800 850 1000 1056  480 500 502 525 -hsync -vsync -csync (31.9 kHz e)
[    63.501] (II) VIVANTE(0): Output mxs-lcdif1 has no monitor section
[    63.501] (II) VIVANTE(0): Printing probed modes for output mxs-lcdif1
[    63.501] (II) VIVANTE(0): Modeline "U:800x480p-60"x60.7   33.66  800 850 1000 1056  480 500 502 525 -hsync -vsync -csync (31.9 kHz e)
[    63.501] (II) VIVANTE(0): Output mxs-lcdif1 connected
[    63.502] (II) VIVANTE(0): Using sloppy heuristic for initial modes
[    63.502] (II) VIVANTE(0): Output mxs-lcdif1 using initial mode U:800x480p-60 +0+0
[    63.502] (II) VIVANTE(0): imxDisplayPreInit: virtual set 800 x 480, display width 0
[    63.502] (II) VIVANTE(0): VivPreInit: adjust display width 800
[    63.502] (II) VIVANTE(0): reserve 4177920 bytes for on screen frame buffer; total fb memory size 33554432 bytes; offset of shadow buffer 4177920
[    63.504] (II) VIVANTE(0): hardware: mxs-lcdif1 (video memory: 32768kB)
[    63.512] (II) VIVANTE(0): FB Start = 0x7458d000  FB Base = 0x7458d000  FB Offset = (nil)
[    63.513] (II) VIVANTE(0): test Initializing EXA
[    63.817] (II) EXA(0): Driver allocated offscreen pixmaps
[    63.817] (II) EXA(0): Driver registered support for the following operations:
[    63.817] (II)         Solid
[    63.817] (II)         Copy
[    63.817] (II)         Composite (RENDER acceleration)
[    63.817] (II)         UploadToScreen
[    63.817] (==) VIVANTE(0): Backing store enabled
[    63.818] (==) VIVANTE(0): DPMS enabled
[    63.820] drmOpenDevice: node name is /dev/dri/card0
[    63.821] drmOpenDevice: open result is 11, (OK)
[    63.821] drmOpenDevice: node name is /dev/dri/card0
[    63.821] drmOpenDevice: open result is 11, (OK)
[    63.821] drmOpenByBusid: Searching for BusID platform:Vivante GCCore:00
[    63.821] drmOpenDevice: node name is /dev/dri/card0
[    63.821] drmOpenDevice: open result is 11, (OK)
[    63.821] drmOpenByBusid: drmOpenMinor returns 11
[    63.821] drmOpenByBusid: drmGetBusid reports platform:Vivante GCCore:00
[    63.821] (II) [drm] DRM interface version 1.4
[    63.821] (II) [drm] DRM open master succeeded.
[    63.821] (II) VIVANTE(0): [drm] Using the DRM lock SAREA also for drawables.
[    63.821] (II) VIVANTE(0): [drm] framebuffer handle = 0xac100000
[    63.821] (II) VIVANTE(0): [drm] added 1 reserved context for kernel
[    63.821] (II) VIVANTE(0): X context handle = 0x1
[    63.821] (EE) VIVANTE(0): [drm] failed to setup DRM signal handler
[    63.821] (EE) VIVANTE(0): [dri] DRIScreenInit failed.  Disabling DRI.
[    63.822] (II) Initializing extension Generic Event Extension
[    63.822] (II) Initializing extension SHAPE
[    63.822] (II) Initializing extension MIT-SHM
[    63.822] (II) Initializing extension XInputExtension
[    63.825] (II) Initializing extension XTEST
[    63.825] (II) Initializing extension BIG-REQUESTS
[    63.825] (II) Initializing extension SYNC
[    63.825] (II) Initializing extension XKEYBOARD
[    63.825] (II) Initializing extension XC-MISC
[    63.825] (II) Initializing extension XFIXES
[    63.825] (II) Initializing extension RENDER
[    63.825] (II) Initializing extension RANDR
[    63.825] (II) Initializing extension COMPOSITE
[    63.825] (II) Initializing extension DAMAGE
[    63.825] (II) Initializing extension MIT-SCREEN-SAVER
[    63.825] (II) Initializing extension DOUBLE-BUFFER
[    63.825] (II) Initializing extension DPMS
[    63.825] (II) Initializing extension Present
[    63.825] (II) Initializing extension DRI3
[    63.825] (II) Initializing extension X-Resource
[    63.826] (II) Initializing extension XVideo
[    63.826] (II) Initializing extension XVideo-MotionCompensation
[    63.826] (II) Initializing extension GLX
[    63.826] (II) AIGLX: Screen 0 is not DRI2 capable
[    63.974] (II) IGLX: Loaded and initialized swrast
[    63.974] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[    63.974] (II) Initializing extension XFree86-VidModeExtension
[    63.974] (II) Initializing extension XFree86-DGA
[    63.974] (II) Initializing extension XFree86-DRI
[    63.974] (II) Initializing extension DRI2
[    63.974] (II) Initializing extension vivext
[    63.974] (II) VIVANTE(0): Setting screen physical size to 211 x 127
[    64.295] (II) config/udev: Adding input device 20cc000.snvs:snvs-powerkey (/dev/input/event0)
[    64.295] (**) 20cc000.snvs:snvs-powerkey: Applying InputClass "evdev keyboard catchall"
[    64.296] (**) 20cc000.snvs:snvs-powerkey: Applying InputClass "libinput keyboard catchall"
[    64.296] (II) LoadModule: "libinput"
[    64.297] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[    64.323] (II) Module libinput: vendor="X.Org Foundation"
[    64.323]    compiled for 1.20.1, module version = 0.28.0
[    64.323]    Module class: X.Org XInput Driver
[    64.323]    ABI class: X.Org XInput driver, version 24.1
[    64.323] (II) Using input driver 'libinput' for '20cc000.snvs:snvs-powerkey'
[    64.323] (**) 20cc000.snvs:snvs-powerkey: always reports core events
[    64.323] (**) Option "Device" "/dev/input/event0"
[    64.323] (**) Option "_source" "server/udev"
[    64.324] (II) event0  - 20cc000.snvs:snvs-powerkey: is tagged by udev as: Keyboard
[    64.324] (II) event0  - 20cc000.snvs:snvs-powerkey: device is a keyboard
[    64.325] (II) event0  - 20cc000.snvs:snvs-powerkey: device removed
[    64.360] (**) Option "config_info" "udev:/sys/devices/soc0/soc/2000000.aips-bus/20cc000.snvs/20cc000.snvs:snvs-powerkey/input/input0/event0"
[    64.360] (II) XINPUT: Adding extended input device "20cc000.snvs:snvs-powerkey" (type: KEYBOARD, id 6)
[    64.362] (II) event0  - 20cc000.snvs:snvs-powerkey: is tagged by udev as: Keyboard
[    64.362] (II) event0  - 20cc000.snvs:snvs-powerkey: device is a keyboard
[    64.365] (II) config/udev: Adding input device st1232-touchscreen (/dev/input/event1)
[    64.365] (**) st1232-touchscreen: Applying InputClass "Touchscreen"
[    64.365] (II) LoadModule: "evdev"
[    64.366] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[    64.372] (II) Module evdev: vendor="X.Org Foundation"
[    64.372]    compiled for 1.20.1, module version = 2.10.6
[    64.372]    Module class: X.Org XInput Driver
[    64.372]    ABI class: X.Org XInput driver, version 24.1
[    64.372] (II) Using input driver 'evdev' for 'st1232-touchscreen'
[    64.372] (**) st1232-touchscreen: always reports core events
[    64.372] (**) evdev: st1232-touchscreen: Device: "/dev/input/event1"
[    64.373] (II) evdev: st1232-touchscreen: Using mtdev for this device
[    64.373] (--) evdev: st1232-touchscreen: Vendor 0 Product 0
[    64.378] (--) evdev: st1232-touchscreen: Found absolute axes
[    64.378] (--) evdev: st1232-touchscreen: Found absolute multitouch axes
[    64.378] (II) evdev: st1232-touchscreen: No buttons found, faking one.
[    64.378] (II) evdev: st1232-touchscreen: Forcing relative x/y axes to exist.
[    64.379] (II) evdev: st1232-touchscreen: Configuring as mouse
[    64.379] (**) evdev: st1232-touchscreen: YAxisMapping: buttons 4 and 5
[    64.379] (**) evdev: st1232-touchscreen: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[    64.379] (**) Option "config_info" "udev:/sys/devices/soc0/soc/2100000.aips-bus/21a0000.i2c/i2c-0/0-0055/input/input1/event1"
[    64.379] (II) XINPUT: Adding extended input device "st1232-touchscreen" (type: MOUSE, id 7)
[    64.379] (II) evdev: st1232-touchscreen: initialized for relative axes.
[    64.379] (WW) evdev: st1232-touchscreen: ignoring absolute axes.
[    64.381] (**) st1232-touchscreen: (accel) keeping acceleration scheme 1
[    64.381] (**) st1232-touchscreen: (accel) acceleration profile 0
[    64.381] (**) st1232-touchscreen: (accel) acceleration factor: 2.000
[    64.381] (**) st1232-touchscreen: (accel) acceleration threshold: 4
[    64.384] (II) config/udev: Adding input device FreescaleGyroscope (/dev/input/event2)
[    64.384] (II) No input driver specified, ignoring this device.
[    64.384] (II) This device may have been added with another device file.
[    64.385] (II) config/udev: Adding input device FreescaleAccelerometer (/dev/input/event3)
[    64.385] (II) No input driver specified, ignoring this device.
[    64.385] (II) This device may have been added with another device file.
[    64.386] (II) config/udev: Adding input device FreescaleMagnetometer (/dev/input/event4)
[    64.386] (II) No input driver specified, ignoring this device.
[    64.386] (II) This device may have been added with another device file.
[    64.431] (EE) 
[    64.432] (EE) Backtrace:
[    64.432] (EE) 
[    64.433] (EE) Segmentation fault at address 0x4
[    64.434] (EE) 
Fatal server error:
[    64.440] (EE) Caught signal 11 (Segmentation fault). Server aborting
[    64.440] (EE) 
[    64.441] (EE) 
Please consult the The X.Org Foundation support 
     at http://wiki.x.org
 for help. 
[    64.442] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[    64.442] (EE) 
[    64.447] (EE) Server terminated with error (1). Closing log file.

내 Xorg 구성이 정확합니까? Xorg가 제대로 작동하려면 무엇이 중요합니까? 나는 export DISPLAY=:0그것에 대해 많이 들었지만 그것을 실행해도 내 문제가 해결되지 않습니다.

답변1

6.2는 DRM용이고 imx6를 지원하지 않으므로 vivante 5.0.11 드라이버 버전을 다운로드해야 합니다. 참고 자료를 살펴볼 수 있습니다. https://lists.yoctoproject.org/g/meta-freescale/topic/68840298#24216 https://community.nxp.com/thread/526149

답변2

방금 추가했어요이번 패치내 레이어에 추가하면 이제 작동합니다.

관련 정보