I first implement xf86-video-armsoc(ver1.1.0) video driver, compile and cp armsoc_drv.so to directory "/usr/lib/xorg/modules/drivers".
And then compile arm mali r5p0 DDK and cp egl and gles libs(libEGL.so libEGL.so.1 libEGL.so.1.4 libGLESv1_CM.so libGLESv1_CM.so.1 libGLESv1_CM.so.1.1 libGLESv2.so libGLESv2.so.2 libGLESv2.so.2.0 libMali.so) to directory "/usr/lib/aarch64-linux-gnu/" or "/usr/lib".
But i found that the X process doesn't load any EGL and GLES libs by seeing the info of /proc/X process ID/task/*/smaps file.
Please tell me if you know what's going wrong, thanks.
cat /var/log/Xorg.0.log
[ 23.704]
X.Org X Server 1.16.4
Release Date: 2014-12-20
[ 23.704] X Protocol Version 11, Revision 0
[ 23.704] Build Operating System: Linux 3.16.0-4-arm64 aarch64 Debian
[ 23.704] Current Operating System: Linux linaro-alip 3.18.0-linaro-hikey #37 SMP PREEMPT Tue May 12 19:01:21 HKT 2015 aarch64
[ 23.704] Kernel command line: iommu_ddr_size=0x40000000 console=tty0 console=ttyAMA0,115200n8 loglevel=7 root=/dev/mmcblk0p7 rootwait rw
mem=908M boardid=0x48696220,0x00000011,0x0000002b thermal_trim=0xb6aaaa09 pd_charge=0 boottype=defaultnormal enter_recovery=0 androidboot.swtype=normal fastboot_version= himn
[ 23.704] Build Date: 11 February 2015 01:19:23AM
[ 23.704] Current version of pixman: 0.32.6
to make sure that you have the latest version.
[ 23.704] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 23.705] (==) Log file: "/var/log/Xorg.0.log", Time: Tue May 12 09:11:51 2015
[ 23.705] (==) Using config file: "/etc/X11/xorg.conf"
[ 23.705] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 23.706] (==) No Layout section. Using the first Screen section.
[ 23.706] (**) |-->Screen "Screen0" (0)
[ 23.706] (**) | |-->Monitor "<default monitor>"
[ 23.707] (**) | |-->Device "Card0"
[ 23.707] (==) No monitor specified for screen "Screen0".
Using a default monitor configuration.
[ 23.707] (==) Automatically adding devices
[ 23.707] (==) Automatically enabling devices
[ 23.707] (==) Automatically adding GPU devices
[ 23.707] (WW) The directory "/usr/share/fonts/X11/misc" does not exist.
[ 23.707] Entry deleted from font path.
[ 23.707] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 23.707] Entry deleted from font path.
[ 23.707] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[ 23.707] Entry deleted from font path.
[ 23.707] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[ 23.707] Entry deleted from font path.
[ 23.707] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
[ 23.707] Entry deleted from font path.
[ 23.707] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[ 23.707] Entry deleted from font path.
[ 23.707] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[ 23.707] Entry deleted from font path.
[ 23.707] (==) FontPath set to:
built-ins
[ 23.707] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 23.707] (II) The server relies on udev to provide the list of input devices.
If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 23.707] (II) Loader magic: 0x7fa49a7ce8
[ 23.707] (II) Module ABI versions:
[ 23.707] X.Org ANSI C Emulation: 0.4
[ 23.707] X.Org Video Driver: 18.0
[ 23.708] X.Org XInput driver : 21.0
[ 23.708] X.Org Server Extension : 8.0
[ 23.708] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 23.709] (II) no primary bus or device found
[ 23.709] falling back to /sys/devices/smb/smb:display-subsystem/drm/card0
[ 23.709] (II) LoadModule: "glx"
[ 23.710] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 23.717] (II) Module glx: vendor="X.Org Foundation"
[ 23.717] compiled for 1.16.4, module version = 1.0.0
[ 23.717] ABI class: X.Org Server Extension, version 8.0
[ 23.717] (==) AIGLX enabled
[ 23.718] (II) LoadModule: "armsoc"
[ 23.718] (II) Loading /usr/lib/xorg/modules/drivers/armsoc_drv.so
[ 23.718] (II) Module armsoc: vendor="X.Org Foundation"
[ 23.718] compiled for 1.16.4, module version = 1.1.0
[ 23.718] Module class: X.Org Video Driver
[ 23.718] ABI class: X.Org Video Driver, version 18.0
[ 23.718] (II) ARMSOC: Driver for ARM Mali compatible chipsets
[ 23.718] (++) using VT number 7
[ 23.719] (WW) Falling back to old probe method for armsoc
[ 23.719] (II) No BusID or DriverName specified - opening /dev/dri/card0
[ 23.719] (II) Got BusID platform:smb:display-subsystem:00
[ 23.719] (II) Opened DRM
[ 23.719] (II) DeviceName is [/dev/dri/card0]
[ 23.719] (II) bus_id is [platform:smb:display-subsystem:00]
[ 23.719] (II) DriverName is [hisi]
[ 23.719] (II) version is [1.0.0]
[ 23.719] (II) Screen:0, CRTC:-1
[ 23.720] (II) ARMSOC(0): Creating default Display subsection in Screen section
"Screen0" for depth/fbbpp 24/32
[ 23.720] (**) ARMSOC(0): Depth 24, (--) framebuffer bpp 32
[ 23.720] (==) ARMSOC(0): RGB weight 888
[ 23.720] (==) ARMSOC(0): Using gamma correction (1.0, 1.0, 1.0)
[ 23.720] (==) ARMSOC(0): Default visual is TrueColor
[ 23.720] (II) No BusID or DriverName specified - opening /dev/dri/card0
[ 23.720] (II) Got BusID platform:smb:display-subsystem:00
[ 23.720] (II) Opened DRM
[ 23.720] (II) DeviceName is [/dev/dri/card0]
[ 23.720] (II) bus_id is [platform:smb:display-subsystem:00]
[ 23.720] (II) DriverName is [hisi]
[ 23.720] (II) version is [1.0.0]
[ 23.720] (II) ARMSOC(0): Chipset: Mali
[ 23.720] (II) ARMSOC(0): Buffer Flipping is Enabled
[ 23.720] (II) ARMSOC(0): Setting the video modes ...
[ 23.721] (II) ARMSOC(0): Adding all CRTCs
[ 23.721] (II) ARMSOC(0): Got CRTC: 0 (id: 6)
[ 23.725] (II) ARMSOC(0): Output HDMI-1 has no monitor section
[ 23.730] (II) ARMSOC(0): Printing probed modes for output HDMI-1
[ 23.730] (II) ARMSOC(0): Modeline "1280x720"x60.6 75.00 1280 1500 1540 1650 720 740 745 750 -hsync -vsync (45.5 kHz e)
[ 23.730] (II) ARMSOC(0): Output HDMI-1 connected
[ 23.730] (II) ARMSOC(0): Using sloppy heuristic for initial modes
[ 23.730] (II) ARMSOC(0): Output HDMI-1 using initial mode 1280x720
[ 23.730] (II) ARMSOC(0): Got KMS resources
[ 23.730] (==) ARMSOC(0): DPI set to (96, 96)
[ 23.730] (II) Loading sub module "dri2"
[ 23.730] (II) LoadModule: "dri2"
[ 23.730] (II) Module "dri2" already built-in
[ 23.730] (II) Loading sub module "exa"
[ 23.730] (II) LoadModule: "exa"
[ 23.731] (II) Loading /usr/lib/xorg/modules/libexa.so
[ 23.731] (II) Module exa: vendor="X.Org Foundation"
[ 23.731] compiled for 1.16.4, module version = 2.6.0
[ 23.731] ABI class: X.Org Video Driver, version 18.0
[ 23.731] (II) Loading sub module "fb"
[ 23.731] (II) LoadModule: "fb"
[ 23.732] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 23.732] (II) Module fb: vendor="X.Org Foundation"
[ 23.732] compiled for 1.16.4, module version = 1.0.0
[ 23.732] ABI class: X.Org ANSI C Emulation, version 0.4
[ 23.732] (--) Depth 24 pixmap format is 32 bpp
[ 23.734] (II) ARMSOC(0): Soft EXA mode
[ 23.734] (II) EXA(0): Driver allocated offscreen pixmaps
[ 23.735] (II) EXA(0): Driver registered support for the following operations:
[ 23.735] (II) Solid
[ 23.735] (II) Copy
[ 23.735] (II) Composite (RENDER acceleration)
[ 23.735] (II) ARMSOC(0): Setting swap chain size: 2
[ 23.735] (II) ARMSOC(0): [DRI2] Setup complete
[ 23.735] (II) ARMSOC(0): [DRI2] DRI driver: armsoc
[ 23.735] (==) ARMSOC(0): Backing store enabled
[ 23.735] (==) ARMSOC(0): Silken mouse enabled
[ 23.735] (II) ARMSOC(0): HW cursor init()
[ 23.735] (II) ARMSOC(0): HW cursor initialized
[ 23.763] (II) ARMSOC(0): RandR 1.2 enabled, ignore the following RandR disabled message.
[ 23.764] (==) ARMSOC(0): DPMS enabled
[ 23.764] (--) RandR disabled
[ 23.790] (II) SELinux: Disabled on system
[ 23.793] (EE) AIGLX error: dlopen of /usr/lib/aarch64-linux-gnu/dri/armsoc_dri.so failed (/usr/lib/aarch64-linux-gnu/dri/armsoc_dri.so: cannot open shared object file: No su)
[ 23.793] (EE) AIGLX: reverting to software rendering
[ 23.793] (EE) AIGLX error: dlopen of /usr/lib/aarch64-linux-gnu/dri/swrast_dri.so failed (/usr/lib/aarch64-linux-gnu/dri/swrast_dri.so: cannot open shared object file: No su)
[ 23.793] (EE) GLX: could not load software renderer
[ 23.793] (II) GLX: no usable GL providers found for screen 0
[ 23.793] (II) ARMSOC(0): Setting screen physical size to 338 x 190
[ 23.880] (II) config/udev: Adding input device USB OPTICAL MOUSE (/dev/input/event0)
[ 23.880] (**) USB OPTICAL MOUSE : Applying InputClass "evdev pointer catchall"
[ 23.880] (II) LoadModule: "evdev"
[ 23.881] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 23.882] (II) Module evdev: vendor="X.Org Foundation"
[ 23.882] compiled for 1.16.0, module version = 2.9.0
[ 23.882] Module class: X.Org XInput Driver
[ 23.882] ABI class: X.Org XInput driver, version 21.0
[ 23.882] (II) Using input driver 'evdev' for 'USB OPTICAL MOUSE '
[ 23.882] (**) USB OPTICAL MOUSE : always reports core events
[ 23.882] (**) evdev: USB OPTICAL MOUSE : Device: "/dev/input/event0"
[ 23.882] (--) evdev: USB OPTICAL MOUSE : Vendor 0x101 Product 0x7
[ 23.882] (--) evdev: USB OPTICAL MOUSE : Found 9 mouse buttons
[ 23.883] (--) evdev: USB OPTICAL MOUSE : Found scroll wheel(s)
[ 23.883] (--) evdev: USB OPTICAL MOUSE : Found relative axes
[ 23.883] (--) evdev: USB OPTICAL MOUSE : Found x and y relative axes
[ 23.883] (II) evdev: USB OPTICAL MOUSE : Configuring as mouse
[ 23.883] (II) evdev: USB OPTICAL MOUSE : Adding scrollwheel support
[ 23.883] (**) evdev: USB OPTICAL MOUSE : YAxisMapping: buttons 4 and 5
[ 23.883] (**) evdev: USB OPTICAL MOUSE : EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 23.883] (**) Option "config_info" "udev:/sys/devices/f72c0000.usb/usb1/1-1/1-1.1/1-1.1:1.0/0003:0101:0007.0001/input/input0/event0"
[ 23.883] (II) XINPUT: Adding extended input device "USB OPTICAL MOUSE " (type: MOUSE, id 6)
[ 23.883] (II) evdev: USB OPTICAL MOUSE : initialized for relative axes.
[ 23.884] (**) USB OPTICAL MOUSE : (accel) keeping acceleration scheme 1
[ 23.884] (**) USB OPTICAL MOUSE : (accel) acceleration profile 0
[ 23.884] (**) USB OPTICAL MOUSE : (accel) acceleration factor: 2.000
[ 23.884] (**) USB OPTICAL MOUSE : (accel) acceleration threshold: 4
[ 23.885] (II) config/udev: Adding input device USB OPTICAL MOUSE (/dev/input/mouse0)
[ 23.885] (II) No input driver specified, ignoring this device.
[ 23.885] (II) This device may have been added with another device file.
[ 23.886] (II) config/udev: Adding input device SIGMACHIP USB Keyboard (/dev/input/event1)
[ 23.886] (**) SIGMACHIP USB Keyboard: Applying InputClass "evdev keyboard catchall"
[ 23.886] (II) Using input driver 'evdev' for 'SIGMACHIP USB Keyboard'
[ 23.886] (**) SIGMACHIP USB Keyboard: always reports core events
[ 23.886] (**) evdev: SIGMACHIP USB Keyboard: Device: "/dev/input/event1"
[ 23.886] (--) evdev: SIGMACHIP USB Keyboard: Vendor 0x1c4f Product 0x2
[ 23.886] (--) evdev: SIGMACHIP USB Keyboard: Found keys
[ 23.886] (II) evdev: SIGMACHIP USB Keyboard: Configuring as keyboard
[ 23.887] (**) Option "config_info" "udev:/sys/devices/f72c0000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:1C4F:0002.0002/input/input1/event1"
[ 23.887] (II) XINPUT: Adding extended input device "SIGMACHIP USB Keyboard" (type: KEYBOARD, id 7)
[ 23.887] (**) Option "xkb_rules" "evdev"
[ 23.887] (**) Option "xkb_model" "pc105"
[ 23.887] (**) Option "xkb_layout" "us"
[ 23.889] (II) config/udev: Adding input device SIGMACHIP USB Keyboard (/dev/input/event2)
[ 23.889] (**) SIGMACHIP USB Keyboard: Applying InputClass "evdev keyboard catchall"
[ 23.889] (II) Using input driver 'evdev' for 'SIGMACHIP USB Keyboard'
[ 23.889] (**) SIGMACHIP USB Keyboard: always reports core events
[ 23.889] (**) evdev: SIGMACHIP USB Keyboard: Device: "/dev/input/event2"
[ 23.889] (--) evdev: SIGMACHIP USB Keyboard: Vendor 0x1c4f Product 0x2
[ 23.889] (--) evdev: SIGMACHIP USB Keyboard: Found 1 mouse buttons
[ 23.889] (--) evdev: SIGMACHIP USB Keyboard: Found scroll wheel(s)
[ 23.889] (--) evdev: SIGMACHIP USB Keyboard: Found relative axes
[ 23.889] (II) evdev: SIGMACHIP USB Keyboard: Forcing relative x/y axes to exist.
[ 23.889] (--) evdev: SIGMACHIP USB Keyboard: Found absolute axes
[ 23.889] (II) evdev: SIGMACHIP USB Keyboard: Forcing absolute x/y axes to exist.
[ 23.889] (--) evdev: SIGMACHIP USB Keyboard: Found keys
[ 23.889] (II) evdev: SIGMACHIP USB Keyboard: Configuring as mouse
[ 23.889] (II) evdev: SIGMACHIP USB Keyboard: Configuring as keyboard
[ 23.889] (II) evdev: SIGMACHIP USB Keyboard: Adding scrollwheel support
[ 23.889] (**) evdev: SIGMACHIP USB Keyboard: YAxisMapping: buttons 4 and 5
[ 23.889] (**) evdev: SIGMACHIP USB Keyboard: EmulateWheelButton: 4, EmulateWheelInertia: 10, EmulateWheelTimeout: 200
[ 23.890] (**) Option "config_info" "udev:/sys/devices/f72c0000.usb/usb1/1-1/1-1.2/1-1.2:1.1/0003:1C4F:0002.0003/input/input2/event2"
[ 23.890] (II) XINPUT: Adding extended input device "SIGMACHIP USB Keyboard" (type: KEYBOARD, id 8)
[ 23.890] (**) Option "xkb_rules" "evdev"
[ 23.890] (**) Option "xkb_model" "pc105"
[ 23.890] (**) Option "xkb_layout" "us"
[ 23.890] (II) evdev: SIGMACHIP USB Keyboard: initialized for relative axes.
[ 23.890] (WW) evdev: SIGMACHIP USB Keyboard: ignoring absolute axes.
[ 23.891] (**) SIGMACHIP USB Keyboard: (accel) keeping acceleration scheme 1
[ 23.891] (**) SIGMACHIP USB Keyboard: (accel) acceleration profile 0
[ 23.891] (**) SIGMACHIP USB Keyboard: (accel) acceleration factor: 2.000
[ 23.891] (**) SIGMACHIP USB Keyboard: (accel) acceleration threshold: 4
[ 24.324] (II) evdev: SIGMACHIP USB Keyboard: Close
[ 24.325] (II) UnloadModule: "evdev"
[ 24.325] (II) evdev: SIGMACHIP USB Keyboard: Close
[ 24.326] (II) UnloadModule: "evdev"
[ 24.326] (II) evdev: USB OPTICAL MOUSE : Close
[ 24.326] (II) UnloadModule: "evdev"
[ 24.332] (EE) Server terminated successfully (0). Closing log file.