Re: Drivers for ARM Mali-T860MP4 Quad-core GPU

From: KIRIYAMA Kazuhiko <kiri_at_truefc.org>
Date: Tue, 17 Aug 2021 00:33:52 UTC
Hi, lists

I've found that FreeBSD kernel driver for Mali T860 GPU
(Panfrost) had been almost made at [1]. Is there anyone to
know about this information so far ?

[1] https://twitter.com/onewilshire/status/1363792441871073280

On Mon, 21 Jun 2021 09:34:25 +0900,
KIRIYAMA Kazuhiko wrote:
> 
> Hi, all
> 
> I'd installed xorg-7.7_3 in FreeBSD 14.0-CURRENT (n246349-daa5350d0e0c) on
> Pinebook Pro (PBP). X successfully started with scfb like this :
> 
> [    48.381] 
> X.Org X Server 1.20.9
> X Protocol Version 11, Revision 0
> [    48.381] Build Operating System: FreeBSD 14.0-CURRENT arm64 
> [    48.381] Current Operating System: FreeBSD kazu.tfc 14.0-CURRENT FreeBSD 14.0-CURRENT #0 n246349-daa5350d0e0c: Wed Jun  2 17:01:11 JST 2021     root@tbedfc:/usr/obj/usr/src/arm64.aarch64/sys/GENERIC-MMCCAM arm64
> [    48.384] Build Date: 20 May 2021  08:11:42PM
> [    48.385]  
> [    48.385] Current version of pixman: 0.40.0
> [    48.385] 	Before reporting problems, check http://wiki.x.org
> 	to make sure that you have the latest version.
> [    48.385] Markers: (--) probed, (**) from config file, (==) default setting,
> 	(++) from command line, (!!) notice, (II) informational,
> 	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
> [    48.386] (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jun 21 09:22:20 2021
> [    48.407] (==) Using config directory: "/usr/local/etc/X11/xorg.conf.d"
> [    48.407] (==) Using system config directory "/usr/local/share/X11/xorg.conf.d"
> [    48.415] (==) No Layout section.  Using the first Screen section.
> [    48.418] (==) No screen section available. Using defaults.
> [    48.418] (**) |-->Screen "Default Screen Section" (0)
> [    48.418] (**) |   |-->Monitor "<default monitor>"
> [    48.424] (==) No monitor specified for screen "Default Screen Section".
> 	Using a default monitor configuration.
> [    48.424] (==) Automatically adding devices
> [    48.424] (==) Automatically enabling devices
> [    48.424] (==) Not automatically adding GPU devices
> [    48.427] (==) Max clients allowed: 256, resource mask: 0x1fffff
> [    48.440] (WW) The directory "/usr/local/share/fonts/stix/" does not exist.
> [    48.440] 	Entry deleted from font path.
> [    48.444] (WW) `fonts.dir' not found (or not valid) in "/usr/local/share/fonts/std.ja_JP/".
> [    48.444] 	Entry deleted from font path.
> [    48.444] 	(Run 'mkfontdir' on "/usr/local/share/fonts/std.ja_JP/").
> [    48.488] (**) FontPath set to:
> 	/usr/local/share/fonts/cyrillic/,
> 	/usr/local/share/fonts/bitstream-vera/,
> 	/usr/local/share/fonts/misc/,
> 	/usr/local/share/fonts/TTF/,
> 	/usr/local/share/fonts/OTF/,
> 	/usr/local/share/fonts/Type1/,
> 	/usr/local/share/fonts/100dpi/,
> 	/usr/local/share/fonts/75dpi/,
> 	catalogue:/usr/local/etc/X11/fontpath.d
> [    48.488] (==) ModulePath set to "/usr/local/lib/xorg/modules"
> [    48.488] (II) The server relies on udev to provide the list of input devices.
> 	If no devices become available, reconfigure udev or disable AutoAddDevices.
> [    48.488] (II) Loader magic: 0x43b620
> [    48.488] (II) Module ABI versions:
> [    48.488] 	X.Org ANSI C Emulation: 0.4
> [    48.488] 	X.Org Video Driver: 24.1
> [    48.488] 	X.Org XInput driver : 24.1
> [    48.488] 	X.Org Server Extension : 10.0
> [    48.492] (II) LoadModule: "glx"
> [    48.497] (II) Loading /usr/local/lib/xorg/modules/extensions/libglx.so
> [    48.598] (II) Module glx: vendor="X.Org Foundation"
> [    48.598] 	compiled for 1.20.9, module version = 1.0.0
> [    48.598] 	ABI class: X.Org Server Extension, version 10.0
> [    48.601] (==) Matched modesetting as autoconfigured driver 0
> [    48.601] (==) Matched scfb as autoconfigured driver 1
> [    48.601] (==) Assigned the driver to the xf86ConfigLayout
> [    48.601] (II) LoadModule: "modesetting"
> [    48.602] (II) Loading /usr/local/lib/xorg/modules/drivers/modesetting_drv.so
> [    48.610] (II) Module modesetting: vendor="X.Org Foundation"
> [    48.610] 	compiled for 1.20.9, module version = 1.20.9
> [    48.610] 	Module class: X.Org Video Driver
> [    48.610] 	ABI class: X.Org Video Driver, version 24.1
> [    48.610] (II) LoadModule: "scfb"
> [    48.612] (II) Loading /usr/local/lib/xorg/modules/drivers/scfb_drv.so
> [    48.615] (II) Module scfb: vendor="X.Org Foundation"
> [    48.615] 	compiled for 1.20.9, module version = 0.0.5
> [    48.615] 	ABI class: X.Org Video Driver, version 24.1
> [    48.615] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
> [    48.615] (II) scfb: driver for wsdisplay framebuffer: scfb
> [    48.616] (--) Using syscons driver with X support (version 2.0)
> [    48.616] (--) using VT number 9
> 
> [    48.617] (WW) Falling back to old probe method for modesetting
> [    48.618] (EE) open /dev/dri/card0: No such file or directory
> [    48.618] (WW) Falling back to old probe method for scfb
> [    48.619] scfb trace: probe start
> [    48.619] (II) scfb(0): using default device
> [    48.619] scfb trace: probe done
> [    48.619] (WW) VGA arbiter: cannot open kernel arbiter, no multi-card support
> [    48.619] scfb: PreInit 0
> [    48.619] (II) scfb(0): Using: depth (16),	width (1920),	 height (1080)
> [    48.619] (II) scfb(0): Creating default Display subsection in Screen section
> 	"Default Screen Section" for depth/fbbpp 16/16
> [    48.619] (==) scfb(0): Depth 16, (==) framebuffer bpp 16
> [    48.620] (==) scfb(0): RGB weight 565
> [    48.620] (==) scfb(0): Default visual is TrueColor
> [    48.620] (==) scfb(0): Using gamma correction (1.0, 1.0, 1.0)
> [    48.620] (II) scfb(0): Vidmem: 4050k
> [    48.620] (==) scfb(0): DPI set to (96, 96)
> [    48.620] (**) scfb(0): Using "Shadow Framebuffer"
> [    48.620] (II) Loading sub module "shadow"
> [    48.620] (II) LoadModule: "shadow"
> [    48.625] (II) Loading /usr/local/lib/xorg/modules/libshadow.so
> [    48.628] (II) Module shadow: vendor="X.Org Foundation"
> [    48.628] 	compiled for 1.20.9, module version = 1.1.0
> [    48.628] 	ABI class: X.Org ANSI C Emulation, version 0.4
> [    48.628] (II) Loading sub module "fb"
> [    48.629] (II) LoadModule: "fb"
> [    48.632] (II) Loading /usr/local/lib/xorg/modules/libfb.so
> [    48.639] (II) Module fb: vendor="X.Org Foundation"
> [    48.639] 	compiled for 1.20.9, module version = 1.0.0
> [    48.639] 	ABI class: X.Org ANSI C Emulation, version 0.4
> [    48.639] scfb: PreInit done
> [    48.639] (II) UnloadModule: "modesetting"
> [    48.640] (II) Unloading modesetting
> [    48.640] scfb: ScfbScreenInit 0
> [    48.641] 	bitsPerPixel=16, depth=16, defaultVisual=TrueColor
> 	mask: f800,7e0,1f, offset: 11,5,0
> [    48.642] mmap returns: addr 0x42400000 len 0x3f5000, fd 10, off 0
> [    48.642] scfb: ScfbSave 0
> [    48.642] scfb: ScfbSave done
> [    48.777] (==) scfb(0): Backing store enabled
> [    48.784] scfb: ScfbScreenInit done
> [    48.788] (II) Initializing extension Generic Event Extension
> [    48.795] (II) Initializing extension SHAPE
> [    48.799] (II) Initializing extension MIT-SHM
> [    48.803] (II) Initializing extension XInputExtension
> [    48.811] (II) Initializing extension XTEST
> [    48.816] (II) Initializing extension BIG-REQUESTS
> [    48.820] (II) Initializing extension SYNC
> [    48.826] (II) Initializing extension XKEYBOARD
> [    48.834] (II) Initializing extension XC-MISC
> [    48.838] (II) Initializing extension SECURITY
> [    48.843] (II) Initializing extension XFIXES
> [    48.849] (II) Initializing extension RENDER
> [    48.855] (II) Initializing extension RANDR
> [    48.863] (II) Initializing extension COMPOSITE
> [    48.870] (II) Initializing extension DAMAGE
> [    48.874] (II) Initializing extension MIT-SCREEN-SAVER
> [    48.880] (II) Initializing extension DOUBLE-BUFFER
> [    48.884] (II) Initializing extension RECORD
> [    48.888] (II) Initializing extension DPMS
> [    48.888] (II) Initializing extension Present
> [    48.892] (II) Initializing extension DRI3
> [    48.894] (II) Initializing extension X-Resource
> [    48.898] (II) Initializing extension XVideo
> [    48.902] (II) Initializing extension XVideo-MotionCompensation
> [    48.903] (II) Initializing extension GLX
> [    48.907] (II) AIGLX: Screen 0 is not DRI2 capable
> [    51.611] (II) IGLX: Loaded and initialized swrast
> [    51.611] (II) GLX: Initialized DRISWRAST GL provider for screen 0
> [    51.611] (II) Initializing extension XFree86-VidModeExtension
> [    51.615] (II) Initializing extension XFree86-DGA
> [    51.619] (II) Initializing extension XFree86-DRI
> [    51.630] (II) Initializing extension DRI2
> [    52.983] (II) config/udev: Adding input device System mouse (/dev/input/event0)
> [    52.984] (**) System mouse: Applying InputClass "libinput pointer catchall"
> [    52.984] (II) LoadModule: "libinput"
> [    52.992] (II) Loading /usr/local/lib/xorg/modules/input/libinput_drv.so
> [    53.204] (II) Module libinput: vendor="X.Org Foundation"
> [    53.205] 	compiled for 1.20.9, module version = 0.30.0
> [    53.205] 	Module class: X.Org XInput Driver
> [    53.205] 	ABI class: X.Org XInput driver, version 24.1
> [    53.205] (II) Using input driver 'libinput' for 'System mouse'
> [    53.205] (**) System mouse: always reports core events
> [    53.205] (**) Option "Device" "/dev/input/event0"
> [    53.211] (**) Option "_source" "server/udev"
> [    53.282] (II) event0  - System mouse: is tagged by udev as: Mouse
> [    53.283] (II) event0  - System mouse: device is a pointer
> [    53.287] (II) event0  - System mouse: device removed
> [    53.289] (**) Option "config_info" "udev:/dev/input/event0"
> [    53.289] (II) XINPUT: Adding extended input device "System mouse" (type: MOUSE, id 6)
> [    53.291] (**) Option "AccelerationScheme" "none"
> [    53.292] (**) System mouse: (accel) selected scheme none/0
> [    53.292] (**) System mouse: (accel) acceleration factor: 2.000
> [    53.292] (**) System mouse: (accel) acceleration threshold: 4
> [    53.298] (II) event0  - System mouse: is tagged by udev as: Mouse
> [    53.299] (II) event0  - System mouse: device is a pointer
> [    53.301] (II) config/udev: Adding input device System keyboard multiplexer (/dev/input/event1)
> [    53.301] (**) System keyboard multiplexer: Applying InputClass "Evdev keyboard"
> [    53.302] (**) System keyboard multiplexer: Applying InputClass "libinput keyboard catchall"
> [    53.302] (II) Using input driver 'libinput' for 'System keyboard multiplexer'
> [    53.302] (**) System keyboard multiplexer: always reports core events
> [    53.302] (**) Option "Device" "/dev/input/event1"
> [    53.302] (**) Option "_source" "server/udev"
> [    53.310] (II) event1  - System keyboard multiplexer: is tagged by udev as: Keyboard
> [    53.311] (II) event1  - System keyboard multiplexer: device is a keyboard
> [    53.314] (II) event1  - System keyboard multiplexer: device removed
> [    53.314] (**) Option "config_info" "udev:/dev/input/event1"
> [    53.314] (II) XINPUT: Adding extended input device "System keyboard multiplexer" (type: KEYBOARD, id 7)
> [    53.315] (**) Option "xkb_rules" "evdev"
> [    53.800] (II) event1  - System keyboard multiplexer: is tagged by udev as: Keyboard
> [    53.801] (II) event1  - System keyboard multiplexer: device is a keyboard
> [    53.805] (II) config/udev: Adding input device HAILUCK CO. (/dev/input/event2)
> [    53.805] (**) HAILUCK CO.: Applying InputClass "Evdev keyboard"
> [    53.805] (**) HAILUCK CO.: Applying InputClass "libinput keyboard catchall"
> [    53.806] (II) Using input driver 'libinput' for 'HAILUCK CO.'
> [    53.806] (**) HAILUCK CO.: always reports core events
> [    53.806] (**) Option "Device" "/dev/input/event2"
> [    53.806] (**) Option "_source" "server/udev"
> [    53.812] (II) event2  - HAILUCK CO.,LTD USB KEYBOARD, class 0/0, rev 1.10/1.00, addr 2: is tagged by udev as: Keyboard
> [    53.813] (II) event2  - HAILUCK CO.,LTD USB KEYBOARD, class 0/0, rev 1.10/1.00, addr 2: device is a keyboard
> [    53.814] (II) event2  - HAILUCK CO.,LTD USB KEYBOARD, class 0/0, rev 1.10/1.00, addr 2: device removed
> [    53.815] (**) Option "config_info" "udev:/dev/input/event2"
> [    53.815] (II) XINPUT: Adding extended input device "HAILUCK CO." (type: KEYBOARD, id 8)
> [    53.815] (**) Option "xkb_rules" "evdev"
> [    53.823] (II) event2  - HAILUCK CO.,LTD USB KEYBOARD, class 0/0, rev 1.10/1.00, addr 2: is tagged by udev as: Keyboard
> [    53.823] (II) event2  - HAILUCK CO.,LTD USB KEYBOARD, class 0/0, rev 1.10/1.00, addr 2: device is a keyboard
> [    53.826] (II) config/udev: Adding input device HAILUCK CO. (/dev/input/event3)
> [    53.826] (**) HAILUCK CO.: Applying InputClass "libinput pointer catchall"
> [    53.826] (II) Using input driver 'libinput' for 'HAILUCK CO.'
> [    53.826] (**) HAILUCK CO.: always reports core events
> [    53.826] (**) Option "Device" "/dev/input/event3"
> [    53.827] (**) Option "_source" "server/udev"
> [    53.833] (II) event3  - HAILUCK CO.,LTD USB KEYBOARD, class 0/0, rev 1.10/1.00, addr 2: is tagged by udev as: Mouse
> [    53.834] (II) event3  - HAILUCK CO.,LTD USB KEYBOARD, class 0/0, rev 1.10/1.00, addr 2: device is a pointer
> [    53.835] (II) event3  - HAILUCK CO.,LTD USB KEYBOARD, class 0/0, rev 1.10/1.00, addr 2: device removed
> [    53.835] (**) Option "config_info" "udev:/dev/input/event3"
> [    53.835] (II) XINPUT: Adding extended input device "HAILUCK CO." (type: MOUSE, id 9)
> [    53.837] (**) Option "AccelerationScheme" "none"
> [    53.837] (**) HAILUCK CO.: (accel) selected scheme none/0
> [    53.837] (**) HAILUCK CO.: (accel) acceleration factor: 2.000
> [    53.837] (**) HAILUCK CO.: (accel) acceleration threshold: 4
> [    53.843] (II) event3  - HAILUCK CO.,LTD USB KEYBOARD, class 0/0, rev 1.10/1.00, addr 2: is tagged by udev as: Mouse
> [    53.844] (II) event3  - HAILUCK CO.,LTD USB KEYBOARD, class 0/0, rev 1.10/1.00, addr 2: device is a pointer
> [    53.846] (II) config/udev: Adding input device Logitech USB Receiver (/dev/input/event4)
> [    53.847] (**) Logitech USB Receiver: Applying InputClass "libinput pointer catchall"
> [    53.847] (II) Using input driver 'libinput' for 'Logitech USB Receiver'
> [    53.847] (**) Logitech USB Receiver: always reports core events
> [    53.847] (**) Option "Device" "/dev/input/event4"
> [    53.847] (**) Option "_source" "server/udev"
> [    53.854] (II) event4  - Logitech USB Receiver, class 0/0, rev 2.00/30.00, addr 4: is tagged by udev as: Mouse
> [    53.856] (II) event4  - Logitech USB Receiver, class 0/0, rev 2.00/30.00, addr 4: device is a pointer
> [    53.857] (II) event4  - Logitech USB Receiver, class 0/0, rev 2.00/30.00, addr 4: device removed
> [    53.858] (**) Option "config_info" "udev:/dev/input/event4"
> [    53.858] (II) XINPUT: Adding extended input device "Logitech USB Receiver" (type: MOUSE, id 10)
> [    53.859] (**) Option "AccelerationScheme" "none"
> [    53.860] (**) Logitech USB Receiver: (accel) selected scheme none/0
> [    53.860] (**) Logitech USB Receiver: (accel) acceleration factor: 2.000
> [    53.860] (**) Logitech USB Receiver: (accel) acceleration threshold: 4
> [    53.867] (II) event4  - Logitech USB Receiver, class 0/0, rev 2.00/30.00, addr 4: is tagged by udev as: Mouse
> [    53.868] (II) event4  - Logitech USB Receiver, class 0/0, rev 2.00/30.00, addr 4: device is a pointer
> [    53.875] scfb: SaveScreen 0
> [    53.875] scfb: SaveScreen done
> 
> But this is too late to work. So I've tried to search GPU driver of ARM
> Mali-T860MP4 Quad-core GPU which built in PBP, but could not found.
> 
> Is there any Xorg drivers for ARM Mali-T860MP4 ?
> 
> Best regards
> ---
> Kazuhiko Kiriyama <kiri@truefc.org>
 
---
Kazuhiko Kiriyama <kiri@truefc.org>