Page 1 of 2

Kernel 3.17 Vivante v4 gpu driver: testers needed

PostPosted: Thu Sep 04, 2014 11:13 pm
by bscottm
I've managed to adapt the GCW project's "cleaned" v4 Vivante GPU driver so that it boots under the 3.17 kernel. This version of the driver supports the flattened device tree (FDT); there are updates to the imx6qdl.dtsi source that specify the 3D and 2D cores.

Is there anyone out there who has a working etnaviv (the open source, reverse engineered user space Vivante library) who is also booting from the 3.17 kernel who can help me test this kernel-side driver further? I'm personally working on getting entaviv compiled, but in the interests of testing, more testers make for better quality software. (Note: If there's an updated version of the proprietary libraries that works with X.Org 1.12.4 and uses the v4 kernel ABI -- that should work too and I'm interested in your results!)

If you can help test, you should be familiar with Robert Nelson's build system. Apply the patch.sh.patch patch file to the patch.sh script and copy 0003-Vivante-v4-driver.patch into the patches/wand subdirectory. Ensure that you do a full rebuild relative to the current 3.17 branch.

CAVEAT: This driver is kernel-side only. If you're looking for a full-on, full blown working Vivante acceleration system, this is only half of the solution. An important part of the solution, but again, only half. And it only applies to the 3.16 and 3.17 kernels with the boatload of updates/patches in the "Linux on ARM/Wandboard" repository (see: http://www.eewiki.net/display/linuxonarm/Wandboard)

Re: Kernel 3.17 Vivante v4 gpu driver: testers needed

PostPosted: Fri Sep 05, 2014 2:59 pm
by XoD
Hello, I'm interested to help as tester.

For now my wandboard quad run a fedora 20, and I'm able to build and run a patched vanilla kernel.

I have look at the page : http://www.eewiki.net/display/linuxonarm/Wandboard, but the kernel repository indicated is empty (https://github.com/RobertCNelson/armv7- ... atform.git)

I will try to do some test tomorrow.

Thank you for your work.

Re: Kernel 3.17 Vivante v4 gpu driver: testers needed

PostPosted: Fri Sep 05, 2014 4:13 pm
by bscottm
It looks empty until you check out the specific 3.17 branch.

Re: Kernel 3.17 Vivante v4 gpu driver: testers needed

PostPosted: Fri Sep 05, 2014 4:36 pm
by XoD
Oh, yes, sorry :)

Re: Kernel 3.17 Vivante v4 gpu driver: testers needed

PostPosted: Fri Sep 05, 2014 7:09 pm
by bscottm
Updated patch...

Re: Kernel 3.17 Vivante v4 gpu driver: testers needed

PostPosted: Fri Sep 05, 2014 7:14 pm
by bscottm
If successful, dmesg should report something similar to the following (times will be different, content same):

Code: Select all
[    2.919645] galcore 130000.gpu: Using settings from Flattened Device Tree (FDT).
[    2.927228] galcore 130000.gpu: driver v4.6.6, initializing
[    2.932824] galcore options:
[    2.935728]   irqLine           = 41
[    2.939309]   registerMemBase   = 0x00130000
[    2.943583]   registerMemSize   = 0x00004000
[    2.947868]   irqLine2D         = 42
[    2.951448]   registerMemBase2D = 0x00134000
[    2.955733]   registerMemSize2D = 0x00004000
[    2.960010]   contiguousSize    = 4194304
[    2.964033]   contiguousBase    = 0x00000000
[    2.968308]   bankSize          = 0x02000000
[    2.972583]   fastClear         = -1
[    2.976171]   compression       = -1
[    2.979752]   signal            = 48
[    2.983331]   baseAddress       = 0x00000000
[    2.987614]   physSize          = 0x00000000
[    3.037802] galcore 130000.gpu: GPU initialized, clocked at 594MHz

Re: Kernel 3.17 Vivante v4 gpu driver: testers needed

PostPosted: Sat Sep 06, 2014 1:58 pm
by LeoKesler
CAVEAT: This driver is kernel-side only. If you're looking for a full-on, full blown working Vivante acceleration system, this is only half of the solution. An important part of the solution, but again, only half.

What is the limitations ? No 3D ? No GPU video accelerated (XBMC) ?

Re: Kernel 3.17 Vivante v4 gpu driver: testers needed

PostPosted: Sat Sep 06, 2014 6:08 pm
by XoD
I'm not be able to build kernel 3.16.2 with your patch.

I have the following error :
Code: Select all
drivers/gpu/vivante/v4/gc_hal_kernel_driver.c:27:31: fatal error: linux/kernel_lock.h: No such file or directory
 #include <linux/kernel_lock.h>

PS: I tried to cross complie it from a fedora.

Re: Kernel 3.17 Vivante v4 gpu driver: testers needed

PostPosted: Mon Sep 08, 2014 4:52 am
by bscottm
@LeoKesler: I'm fairly confident that existing software would still work. The way that Vivante's proprietary library works is that it is split into two parts - user side and kernel side. Moreover, the user and kernel side have to agree on API, of which the etnaviv project has identified three, v4 being the latest that I.MX6 software apparently uses.

This is the kernel side driver. Testing is needed to ensure the user side, proprietary and open source, don't break.

User/kernel splits like this are fairly common for proprietary software.

Re: Kernel 3.17 Vivante v4 gpu driver: testers needed

PostPosted: Mon Sep 08, 2014 4:55 am
by bscottm
@Xod: thanks -- I compiled the 3.17 branch, but I'll look into the 3.16 branch.