[IMX6Q][Dunfell] Problem using imxeglvivsink on top of X11
Wouter Vanhauwaert
I'm using a custom board/custom distro, based on yocto Dunfell. It's using vivante drivers (so not etnaviv).
Running kernel is: 5.4-2.1.x-imx
X11 itself is working fine. Although I get a VivDRIScreenInit -releated error message in the log:
If I run a simple gst-pipeline, it gets a SIGSEGV fault.
Running kernel is: 5.4-2.1.x-imx
X11 itself is working fine. Although I get a VivDRIScreenInit -releated error message in the log:
X.Org X Server 1.20.8X Protocol Version 11, Revision 0[ 34.528] Build Operating System: Linux[ 34.528] Current Operating System: Linux imx6qtelevic_generic 5.4.46-04202-gd069a637b280 #15 SMP PREEMPT Wed Oct 14 12:13:42 CEST 2020 armv7l[ 34.528] Kernel command line: version=DEV_33968064_1-04-02 console=ttymxc3,115200 ubi.mtd=0 root=ubi0:rootfsA rootfstype=ubifs mtdparts=gpmi-nand:-(ubipart) quiet[ 34.528] Build Date: 29 March 2020 08:21:46PM[ 34.528][ 34.534] Current version of pixman: 0.38.4[ 34.535] Before reporting problems, check http://wiki.x.orgto make sure that you have the latest version.[ 34.535] Markers: (--) probed, (**) from config file, (==) default setting,(++) from command line, (!!) notice, (II) informational,(WW) warning, (EE) error, (NI) not implemented, (??) unknown.[ 34.538] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Mar 9 12:41:08 2018[ 34.565] (==) Using config file: "/etc/X11/xorg.conf"[ 34.566] (==) Using system config directory "/usr/share/X11/xorg.conf.d"[ 34.574] (==) No Layout section. Using the first Screen section.[ 34.576] (==) No screen section available. Using defaults.[ 34.576] (**) |-->Screen "Default Screen Section" (0)[ 34.576] (**) | |-->Monitor "<default monitor>"[ 34.584] (==) No device specified for screen "Default Screen Section".Using the first device section listed.[ 34.584] (**) | |-->Device "i.MX Accelerated Framebuffer Device"[ 34.584] (==) No monitor specified for screen "Default Screen Section".Using a default monitor configuration.[ 34.585] (**) Option "BlankTime" "0"[ 34.585] (**) Option "StandbyTime" "0"[ 34.585] (**) Option "SuspendTime" "0"[ 34.585] (**) Option "OffTime" "0"[ 34.586] (==) Automatically adding devices[ 34.586] (==) Automatically enabling devices[ 34.586] (==) Automatically adding GPU devices[ 34.588] (==) Max clients allowed: 256, resource mask: 0x1fffff[ 34.589] (WW) The directory "/usr/share/fonts/X11/misc/" does not exist.[ 34.589] Entry deleted from font path.[ 34.590] (WW) The directory "/usr/share/fonts/X11/TTF/" does not exist.[ 34.590] Entry deleted from font path.[ 34.590] (WW) The directory "/usr/share/fonts/X11/OTF/" does not exist.[ 34.590] Entry deleted from font path.[ 34.590] (WW) The directory "/usr/share/fonts/X11/Type1/" does not exist.[ 34.590] Entry deleted from font path.[ 34.590] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.[ 34.590] Entry deleted from font path.[ 34.590] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.[ 34.590] Entry deleted from font path.[ 34.590] (==) FontPath set to:[ 34.591] (==) ModulePath set to "/usr/lib/xorg/modules"[ 34.591] (II) The server relies on udev to provide the list of input devices.If no devices become available, reconfigure udev or disable AutoAddDevices.[ 34.600] (II) Loader magic: 0x5f8d80[ 34.600] (II) Module ABI versions:[ 34.600] X.Org ANSI C Emulation: 0.4[ 34.601] X.Org Video Driver: 24.1[ 34.601] X.Org XInput driver : 24.1[ 34.601] X.Org Server Extension : 10.0[ 34.610] (II) no primary bus or device found[ 34.614] (II) LoadModule: "glx"[ 34.630] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so[ 34.793] (II) Module glx: vendor="X.Org Foundation"[ 34.794] compiled for 1.20.8, module version = 1.0.0[ 34.794] ABI class: X.Org Server Extension, version 10.0[ 34.797] (II) LoadModule: "vivante"[ 34.798] (II) Loading /usr/lib/xorg/modules/drivers/vivante_drv.so[ 34.809] (II) Module vivante: vendor="X.Org Foundation"[ 34.809] compiled for 1.20.8, module version = 1.0.0[ 34.810] ABI class: X.Org Video Driver, version 24.1[ 34.812] (II) VIVANTE: fb driver for vivante: VivanteGC500, VivanteGC2100,VivanteGCCORE[ 34.814] (--) using VT number 3[ 34.830] (WW) Falling back to old probe method for vivante[ 34.831] (II) Loading sub module "fbdevhw"[ 34.831] (II) LoadModule: "fbdevhw"[ 34.832] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so[ 34.842] (II) Module fbdevhw: vendor="X.Org Foundation"[ 34.843] compiled for 1.20.8, module version = 0.0.2[ 34.843] ABI class: X.Org Video Driver, version 24.1[ 34.843] (II) VIVANTE(0): using default device[ 34.849] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support[ 34.857] (II) VIVANTE(0): Device preferred mode 'fb0':U:1280x800p-59[ 34.857] (II) VIVANTE(0): Creating default Display subsection in Screen section"Default Screen Section" for depth/fbbpp 24/32[ 34.858] (==) VIVANTE(0): Depth 24, (==) framebuffer bpp 32[ 34.858] (==) VIVANTE(0): RGB weight 888[ 34.858] (==) VIVANTE(0): Default visual is TrueColor[ 34.858] (==) VIVANTE(0): Using gamma correction (1.0, 1.0, 1.0)[ 34.858] (DB) xf86MergeOutputClassOptions unsupported bus type 0[ 34.858] (**) VIVANTE(0): mExaHwType:1[ 34.858] (II) VIVANTE(0): checking modes against framebuffer device...[ 34.858] (II) VIVANTE(0): checking modes against monitor...[ 34.858] (II) VIVANTE(0): Virtual size is 0x0 (pitch 0)[ 34.858] (==) VIVANTE(0): DPI set to (96, 96)[ 34.858] (II) Loading sub module "fb"[ 34.859] (II) LoadModule: "fb"[ 34.859] (II) Loading /usr/lib/xorg/modules/libfb.so[ 34.889] (II) Module fb: vendor="X.Org Foundation"[ 34.889] compiled for 1.20.8, module version = 1.0.0[ 34.889] ABI class: X.Org ANSI C Emulation, version 0.4[ 34.889] (II) Loading sub module "exa"[ 34.889] (II) LoadModule: "exa"[ 34.889] (II) Loading /usr/lib/xorg/modules/libexa.so[ 34.894] (II) Module exa: vendor="X.Org Foundation"[ 34.894] compiled for 1.20.8, module version = 2.6.0[ 34.894] ABI class: X.Org Video Driver, version 24.1[ 35.200] (II) VIVANTE(0): printing discovered frame buffer 'fb0' supported modes:[ 35.202] (II) VIVANTE(0): Modeline "U:1280x800p-59"x0.0 71.10 1280 1320 1400 1440 800 803 813 823 -hsync -vsync -csync (49.4 kHz eP)[ 35.236] (II) VIVANTE(0): Output DISP3 BG has no monitor section[ 35.237] (II) VIVANTE(0): Printing probed modes for output DISP3 BG[ 35.237] (II) VIVANTE(0): Modeline "U:1280x800p-59"x60.0 71.10 1280 1320 1400 1440 800 803 813 823 -hsync -vsync -csync (49.4 kHz eP)[ 35.238] (II) VIVANTE(0): Output DISP3 BG connected[ 35.238] (II) VIVANTE(0): Using exact sizes for initial modes[ 35.239] (II) VIVANTE(0): Output DISP3 BG using initial mode U:1280x800p-59 +0+0[ 35.239] (II) VIVANTE(0): imxDisplayPreInit: virtual set 1280 x 800, display width 0[ 35.239] (II) VIVANTE(0): VivPreInit: adjust display width 1280[ 35.321] (II) VIVANTE(0): reserve 8355840 bytes for on screen frame buffer; total fb memory size 16721920 bytes; offset of shadow buffer 8355840[ 35.414] (II) VIVANTE(0): hardware: DISP3 BG (video memory: 16330kB)[ 35.472] (II) VIVANTE(0): FB Start = 0xb55c4000 FB Base = 0xb55c4000 FB Offset = (nil)[ 35.484] (II) VIVANTE(0): test Initializing EXA[ 35.606] (II) EXA(0): Driver allocated offscreen pixmaps[ 35.607] (II) EXA(0): Driver registered support for the following operations:[ 35.607] (II) Solid[ 35.607] (II) Copy[ 35.607] (II) Composite (RENDER acceleration)[ 35.607] (II) UploadToScreen[ 35.609] (==) VIVANTE(0): Backing store enabled[ 35.627] (==) VIVANTE(0): DPMS enabled[ 35.704] (EE) VIVANTE(0): [dri] VivDRIScreenInit failed because Drm can't be opened.[ 35.705] (II) Initializing extension Generic Event Extension[ 35.708] (II) Initializing extension SHAPE[ 35.709] (II) Initializing extension MIT-SHM[ 35.709] (II) Initializing extension XInputExtension[ 35.713] (II) Initializing extension XTEST[ 35.715] (II) Initializing extension BIG-REQUESTS[ 35.715] (II) Initializing extension SYNC[ 35.718] (II) Initializing extension XKEYBOARD[ 35.721] (II) Initializing extension XC-MISC[ 35.721] (II) Initializing extension XFIXES[ 35.722] (II) Initializing extension RENDER[ 35.724] (II) Initializing extension RANDR[ 35.724] (II) Initializing extension COMPOSITE[ 35.726] (II) Initializing extension DAMAGE[ 35.728] (II) Initializing extension MIT-SCREEN-SAVER[ 35.728] (II) Initializing extension DOUBLE-BUFFER[ 35.729] (II) Initializing extension DPMS[ 35.729] (II) Initializing extension Present[ 35.730] (II) Initializing extension DRI3[ 35.732] (II) Initializing extension X-Resource[ 35.732] (II) Initializing extension XVideo[ 35.733] (II) Initializing extension XVideo-MotionCompensation[ 35.734] (II) Initializing extension GLX[ 35.752] (II) AIGLX: Screen 0 is not DRI2 capable[ 36.443] (II) IGLX: Loaded and initialized swrast[ 36.444] (II) GLX: Initialized DRISWRAST GL provider for screen 0[ 36.444] (II) Initializing extension XFree86-VidModeExtension[ 36.445] (II) Initializing extension XFree86-DGA[ 36.445] (II) Initializing extension XFree86-DRI[ 36.447] (II) Initializing extension DRI2[ 36.447] (II) Initializing extension vivext[ 36.450] (II) VIVANTE(0): Setting screen physical size to 338 x 211
If I run a simple gst-pipeline, it gets a SIGSEGV fault.
root@imx6qtelevic_generic:/lib/modules# DISPLAY=:0 gst-launch-1.0 videotestsrc ! imxeglvivsinkSetting pipeline to PAUSED ...Xlib: extension "XFree86-DRI" missing on display ":0".Pipeline is PREROLLING ...Xlib: extension "XFree86-DRI" missing on display ":0".Xlib: extension "XFree86-DRI" missing on display ":0".Pipeline is PREROLLED ...Setting pipeline to PLAYING ...New clock: GstSystemClockCaught SIGSEGV#0 0x76bdebe4 in ?? () from /lib/libc.so.6#1 0x76c57744 in poll () from /lib/libc.so.6#2 0x76d66bfa in ?? () from /usr/lib/libglib-2.0.so.0Spinning. Please run 'gdb gst-launch-1.0 694' to continue debugging, Ctrl-C to quit, or Ctrl-\ to dump core.^Chandling interrupt.Interrupt: Stopping pipeline ...Execution ended after 0:03:45.501871360Setting pipeline to PAUSED ...Setting pipeline to READY ...Setting pipeline to NULL ...
Am I lacking something? Anyone else with similar issues?