AnsweredAssumed Answered

Etnaviv+Mesa 13 on IMX6Q with Linux 4.8.10

Question asked by Alexandr Marokko on Jan 23, 2017
Latest reply on Jun 4, 2018 by Fabio Estevam

I removed gpu_vg from DTS(kernel 4.8.10) and i have this messages in "dmesg" on my IMX6Q after command "modprobe etnaviv":
-bash-4.2# dmesg|grep etnaviv
[ 79.128569] etnaviv gpu-subsystem: bound 134000.gpu (ops gpu_ops [etnaviv])
[ 79.160763] etnaviv gpu-subsystem: bound 130000.gpu (ops gpu_ops [etnaviv])
[ 79.167775] etnaviv-gpu 134000.gpu: model: GC320, revision: 5007
[ 79.224841] etnaviv-gpu 130000.gpu: model: GC2000, revision: 5108

-bash-4.2# lsmod
Module Size Used by
etnaviv 59270 0

 

-bash-4.2# ls /dev/dri/
card0 card1 controlD64 renderD128

-bash-4.2# udevadm info -a -p /sys/class/drm/card1
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/soc0/gpu-subsystem/drm/card1':
KERNEL=="card1"
SUBSYSTEM=="drm"
DRIVER==""
looking at parent device '/devices/soc0/gpu-subsystem':
KERNELS=="gpu-subsystem"
SUBSYSTEMS=="platform"
DRIVERS=="etnaviv"
ATTRS{driver_override}=="(null)"
looking at parent device '/devices/soc0':
KERNELS=="soc0"
SUBSYSTEMS=="soc"
DRIVERS==""
ATTRS{soc_id}=="i.MX6Q"
ATTRS{family}=="Freescale i.MX"
ATTRS{machine}=="Freescale i.MX6 Quad SABRE Smart Device Board"
ATTRS{revision}=="1.5"

-bash-4.2# ls /opt/lib/dri | grep etnaviv
etnaviv_dri.so

 

-bash-4.2# ls /opt/lib/ | grep etnaviv
libdrm_etnaviv.la
libdrm_etnaviv.so
libdrm_etnaviv.so.1
libdrm_etnaviv.so.1.0.0

-bash-4.2# ls /opt/lib/X11/modules/drivers | grep fbdev
fbdev_drv.so


xorg.conf:
Section "Device"
Identifier "card1"
Driver "fbdev"
EndSection

-bash-4.2# DISPLAY=:0 /opt/bin/glxinfo
name of display:
display: screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_multisample, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_OML_swap_method,
GLX_SGI_make_current_read, GLX_SGIS_multisample, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_MESA_copy_sub_buffer
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_create_context, GLX_ARB_create_context_profile,
GLX_ARB_create_context_robustness, GLX_ARB_fbconfig_float,
GLX_ARB_framebuffer_sRGB, GLX_ARB_get_proc_address, GLX_ARB_multisample,
GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating,
GLX_EXT_fbconfig_packed_float, GLX_EXT_framebuffer_sRGB,
GLX_EXT_create_context_es2_profile, GLX_EXT_create_context_es_profile,
GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent,
GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_OML_swap_method,
GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control,
GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig,
GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group,
GLX_EXT_texture_from_pixmap, GLX_INTEL_swap_event, GLX_EXT_buffer_age
GLX version: 1.4
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_MESA_multithread_makecurrent, GLX_MESA_query_renderer,
GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGIS_multisample,
GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_EXT_texture_from_pixmap
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on softpipe
OpenGL version string: 3.0 Mesa 13.0.0

-bash-4.2# cat /var/log/Xorg.0.log
X.Org X Server 1.17.2
Release Date: 2015-06-16
[ 50.021] X Protocol Version 11, Revision 0
[ 50.021] Build Operating System: Linux 3.14.52+g5f6f0a5 armv7l
[ 50.021] Current Operating System: Linux (none) 4.8.10 #5 SMP Mon Jan 23 11:05:39 MSK 2017 armv7l
[ 50.021] Kernel command line: console=ttymxc0,115200 root=/dev/mmcblk2p2 rootwait rw video=mxcfb0:dev=ldb,LDB-XGA,if=RGB666
[ 50.021] Build Date: 12 August 2016 08:01:52AM

...
[ 50.034] (**) | |-->Device "card1"

...

[ 50.159] (II) FBDEV(0): Creating default Display subsection in Screen section

"Default Screen Section" for depth/fbbpp 16/16
[ 50.162] (==) FBDEV(0): Depth 16, (==) framebuffer bpp 16
[ 50.162] (==) FBDEV(0): RGB weight 565
[ 50.162] (==) FBDEV(0): Default visual is TrueColor
[ 50.162] (==) FBDEV(0): Using gamma correction (1.0, 1.0, 1.0)
[ 50.162] (II) FBDEV(0): hardware: (video memory: 1536kB)
[ 50.162] (II) FBDEV(0): checking modes against framebuffer device...
[ 50.162] (II) FBDEV(0): checking modes against monitor...
[ 50.162] (--) FBDEV(0): Virtual size is 1024x768 (pitch 1024)
[ 50.163] (**) FBDEV(0): Built-in mode "current"
[ 50.163] (==) FBDEV(0): DPI set to (96, 96)
[ 50.163] (II) Loading sub module "fb"
[ 50.163] (II) LoadModule: "fb"
[ 50.164] (II) Loading /opt/lib/X11/modules/libfb.so
[ 50.173] (II) Module fb: vendor="X.Org Foundation"
[ 50.173] compiled for 1.17.2, module version = 1.0.0
[ 50.173] ABI class: X.Org ANSI C Emulation, version 0.4
[ 50.173] (**) FBDEV(0): using shadow framebuffer
[ 50.173] (II) Loading sub module "shadow"
[ 50.173] (II) LoadModule: "shadow"
[ 50.174] (II) Loading /opt/lib/X11/modules/libshadow.so
[ 50.177] (II) Module shadow: vendor="X.Org Foundation"
[ 50.178] compiled for 1.17.2, module version = 1.1.0
[ 50.178] ABI class: X.Org ANSI C Emulation, version 0.4
[ 50.205] (==) FBDEV(0): Backing store enabled
[ 50.209] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 50.209] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 50.209] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 50.209] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 50.209] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 50.209] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 50.210] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 50.210] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 50.210] (EE) FBDEV(0): FBIOPUTCMAP: Invalid argument
[ 50.215] (==) FBDEV(0): DPMS enabled
[ 50.215] (==) RandR enabled
[ 50.221] (II) AIGLX: Screen 0 is not DRI2 capable
[ 50.221] (EE) AIGLX: reverting to software rendering
[ 50.376] (II) AIGLX: Loaded and initialized swrast
[ 50.376] (II) GLX: Initialized DRISWRAST GL provider for screen 0

...

-bash-4.2# DISPLAY=:0 /opt/bin/xrandr
/opt/bin/xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1024 x 768, current 1024 x 768, maximum 1024 x 768
default connected 1024x768+0+0 0mm x 0mm
1024x768 0.0*

And i have low FPS in "glxgears" test:
-bash-4.2# DISPLAY=:0 /opt/bin/glxgears
40 frames in 5.0 seconds = 7.954 FPS

Why it does not use "etnaviv" driver?

Outcomes