PowerVR SDK (3.00.00.08a) kernel module problems

I'm trying to get the PowerVR SDK kernel modules working on my
OMAP3EVM - Although i know this forum is beagle board centric, the
majority of the major dabblers in the opengl domain happen to be on
this mailing list :stuck_out_tongue:

I’ve downloaded the OpenGL SDK v3.00.00.08a and the latest PSP
(OMAP35x-PSP-SDK-02.01.02.09) and am using the arm2007q3-51 version of
the CodeSourcery toolchain – I’m running into problems getting the
OpenGL kernel modules to load on the Linux kernel – I’ve applied the
SGX patches (found in sgx_kernelmodule_patches), and noticed that the
psp_kernel_patches/*.patch have already been applied on the Linux
kernel (so I did not apply them).

When I try to load the three kernel modules, I get errors. Loading
pvrsrvkm.ko goes without incident.

Loading omaplfb.ko produces the following error:
<4>omaplfb: no symbol version for PVRGetDisplayClassJTable
omaplfb: no symbol version for PVRGetDisplayClassJTable
<4>omaplfb: Unknown symbol PVRGetDisplayClassJTable
omaplfb: Unknown symbol PVRGetDisplayClassJTable
insmod: cannot insert 'omaplfb.ko': unknown symbol in module, or
unknown parameter

Does anyone know the source of these errors? The symbol is declared in
GFX_Linux_KM/services4/srvkm/common/deviceclass.c and does get
compiled into pvrsrvkm.ko, but somehow doesn't get recognized by
omaplfb.ko.

Thank you,

Jerry Johns
Nuvation Research Corporation

*BUMP* anyone run into this problem? I'm sure this has been
encountered before, seeing as .08a and PSP 2.01.02.09 are now official
releases from TI
I've compiled the OE version of the powervr kernel modules (available
from GIT), and compiled them against the TI PSP release, and they load
fine - however, consequently, the power VR demos do not execute.

Koen can you shed some light? A google search of this error showed
that you had mentioned the relevant patches required to fix this issue
are in OE - I can patch that myself, but just wanted some guidance as
to whether i'm patching the kernel modules, the OMAPFB driver, or the
power vr demos.

Thanks,

Jerry

*FIXED* Compilation has to be invoked from the GFX_Linux_KM/ folder,
since the IMG build is not compatible with the 2.6.29 kernel.
This should be fixed in the 09 SDK release.

Hi Jerry,
Can you just brief how you fixed this issue?
Regards
Thomas Scariah

As i alluded in my earlier post, you'll have to go into the
OMAP35x_Graphics_SDK_3_00_00_08a/GFX_Linux_KM/ folder, and edit the
Makefile so that "KERNEL_DIR", "DISCIMAGE" point to the right
locations.
then type "make" and you should your kernel modules built (pvrsrvkm.ko
in the OMAP35x_Graphics_SDK_3_00_00_08a/GFX_Linux_KM/ folder and
omaplfb.ko in the MAP35x_Graphics_SDK_3_00_00_08a/GFX_Linux_KM/
services4/3rdparty/dc_omap3430_linux folder)

Jerry

Hi Jerry,
That problem get solved.Thanks for the input. and I cam across with
other problems.My issues are
form the /opt/gfxsdkdemos/ i am able to run the demos, but demos won't
displaying anything over the LCD module.I am seeing some lines.
I tried most of the demos and getting some lines only.
I have one more issue. Every time i am trying OPENGL demos. its
registering for some isr and overflowing the buffer(arch/arm/plat-omap/
dss/dispc.c (omap_dispc_register_isr)). The buffer size is only
8.Since it is not unregistering or getting some issue.its overflowing
the buffer and getting problems.I hope with some applications we can
solve this issue.
My main issue is the first one. Using EGL I am not able to displaying
anything, ie demos not working.I am hoping for some favourable reply.
Regards and Thanks
Thomas Scariah

Those issues will happen if you haven't patched the proper files
Make sure to follow the Graphics SDK Getting Started manual, which
mentions that you'll have to patch the PSP kernel source, and the
powervr kernel modules as well.
That should fix your problems.

Jerry

Following your procedure I have succesffully built and loaded the
kernel modules. When I go to run the test I receive the following
error.

# ./gles1test1 -t
'eglInitialize' returned egl error 'EGL_NOT_INITIALIZED' (0x3001)

It should be noted I am using Graphics SDK 3.00.00.08 with PSP
2.01.01.08 on OMAP3EVM board. I am using pre-built kernel, and GFX SDK
NFS filesystem. I have replaced pvrsrvkm.ko and omaplfb.ko, and
modified /etc/init.d/rc.pvr to change "modprope -f" to "modprobe -q"
and remove the bc_example.ko stuff as it is not built using your
method.

Perhaps this has been address in 08a or 09. I will try these out if
you haven't encountered the issue I have above. These were printed
during startup:

<6>PVR:
PVRCore_Init
PVR:
PVRCore_Init
<6>PVR: PVRCore_Init: major device
252
PVR: PVRCore_Init: major device
252
<6>PVR: Setting Debug Level =
0x4
PVR: Setting Debug Level =
0x4
<6>PVR: PVRSRVDriverProbe
(pDevice=bf049528)
PVR: PVRSRVDriverProbe
(pDevice=bf049528)
<6>PVR: EnableSystemClocks: Enabling System
Clocks
PVR: EnableSystemClocks: Enabling System
Clocks
<6>PVR: Setting GPTIMER11 parent to System
Clock
PVR: Setting GPTIMER11 parent to System
Clock
<6>PVR: GPTIMER11 clock is
13MHz
PVR: GPTIMER11 clock is
13MHz
<6>PVR: Setting GPTIMER11 mode to posted (currently is non-
posted)
PVR: Setting GPTIMER11 mode to posted (currently is non-
posted)
<6>PVR: OSUnMapPhysToLin: unmapping 4 bytes from
0xd8088040
PVR: OSUnMapPhysToLin: unmapping 4 bytes from
0xd8088040
<6>PVR: OSUnMapPhysToLin: unmapping 4 bytes from
0xd8088024
PVR: OSUnMapPhysToLin: unmapping 4 bytes from
0xd8088024
<6>PVR: EnableSGXClocks: Enabling SGX
Clocks
PVR: EnableSGXClocks: Enabling SGX
Clocks
<6>PVR: CPU Clock is
1000Mhz
PVR: CPU Clock is
1000Mhz
<6>PVR: SGX Functional Clock rate is
110Mhz
PVR: SGX Functional Clock rate is
110Mhz
<6>PVR: DisableSGXClocks: Disabling SGX
Clocks
PVR: DisableSGXClocks: Disabling SGX
Clocks
<6>PVR: EnableSGXClocks: Enabling SGX
Clocks
PVR: EnableSGXClocks: Enabling SGX
Clocks
<6>PVR: CPU Clock is
1000Mhz
PVR: CPU Clock is
1000Mhz
<6>PVR: SGX Functional Clock rate is
110Mhz
PVR: SGX Functional Clock rate is
110Mhz
<6>PVR: Installing MISR with cookie
bf04a5c0
PVR: Installing MISR with cookie
bf04a5c0
<6>PVR: Installing device LISR SGX ISR on IRQ 21 with cookie
c48ec0c0
PVR: Installing device LISR SGX ISR on IRQ 21 with cookie
c48ec0c0
<6>PVR: OSUnMapPhysToLin: unmapping 16384 bytes from
0xc6220000
PVR: OSUnMapPhysToLin: unmapping 16384 bytes from
0xc6220000
<6>PVR_K:(Warning): SysFinalise: Version string: SGX revision = 1.0.3
[393, /mnt
/hdb1/opengl_bb/OpenGL-v2_0/OMAP35x_Graphics_SDK_3_00_00_08/
GFX_Linux_KM/service
s4/system/omap3430/
sysconfig.c]
PVR_K:(Warning): SysFinalise: Version string: SGX revision = 1.0.3
[393, /mnt/hd
b1/opengl_bb/OpenGL-v2_0/OMAP35x_Graphics_SDK_3_00_00_08/GFX_Linux_KM/
services4/
system/omap3430/
sysconfig.c]
<6>PVR: DisableSGXClocks: Disabling SGX
Clocks
PVR: DisableSGXClocks: Disabling SGX
Clocks
PVRSRV_PIXEL_FORMAT_RGB888
EGL library does not support
RGB888 !!!
PVRSRV_PIXEL_FORMAT_RGB888
EGL library does not support
RGB888 !!!
Loaded PowerVR consumer services.

PVRSRV_PIXEL_FORMAT_RGB888
EGL library does not support
RGB888 !!!
PVRSRV_PIXEL_FORMAT_RGB888
EGL library does not support
RGB888 !!!
Loaded PowerVR consumer services.

http://wiki.davincidsp.com/index.php/GSG:_OMAP35x_Graphics_SDK_Additional_Procedures#Testing_the_support_for_ARGB8888_in_Frame_Buffer_Driver

Driver does not support RGB888 framebuffer, switch to ARGB8888 mode.

Regards,
Pratheesh

Thanks I should have looked more closely.