Creating an "empty" OS for the pyra


levi

Still fresh, damnit!
Joined
Oct 6, 2008
Messages
14,789
Location
Somewhere off the coast of the EU
Well, we now have some games capable of exercising the SGX on Pyra OS. Am I wrong in assuming that replacing the kernel and kernel modules with your ones in a Pyra OS wouldn't be easy and suit your needs?
 

aTc

Very Active Member
Joined
Apr 25, 2009
Messages
233
Which exact kernel , kernel config, and userspace version are you using for that ?

I've just tried it with a letux-5.10.y and letux-5.14-rc3 fresh from the letux repo, and they all do pretty much this :
(using letux_lpae_defconfig , which defaults to DDK 1.17.4948957 (TI) )

kernel compiled with DDK 1.14.3699939 (TI) and pyra userspace from https://dev.pyra-handheld.com/packages/omap5-sgx-ddk-um-linux (which is the config that worked on kernels < 5.8)

[ 422.157486] PVR_K: UM DDK-(3699939) and KM DDK-(3699939) match. [ OK ]
[ 423.168395] PVR_K:(Error): PollForValueKM: Timeout. Expected 0x1 but found 0x0 (mask 0x1).
[ 423.177132] PVR_K:(Error): SGXInitialise: Wait for uKernel initialisation failed
[ 423.185404] PVR_K: SGX debug (SGX_DDK sgxddk MAIN@3699939)
(lots more PVR_K stuff, same as below, so not pasted here)

kernel compiled with DDK 1.17.4948957 (TI) and userspace from https://git.ti.com/cgit/graphics/omap5-sgx-ddk-um-linux/ , branch 1.17.4948957-next


root@atc-pyra15:/opt/omap5-sgx-ddk-um-linux/bin# ./pvrsrvctl --start --no-module
[ 845.603868] PVR_K: UM DDK-(4948957) and KM DDK-(4948957) match. [ OK ]
PVR:(Error): PVRSRVDetectPlaform: Unknown platform: OMAP5432
. [0, ]
PVR:(Error): PVRSRVDetectPlaform: Unknown platform: OMAP5432
?J. [0, ]
PVR:(Error): SGXInitialisePart1: Could not get core count from platform. Using 1 [0, ]
[ 846.617998] PVR_K:(Error): PollForValueKM: Timeout. Expected 0x1 but found 0x0 (mask 0x1).
[ 846.627186] PVR_K:(Error): SGXInitialise: Wait for uKernel initialisation failed
[ 846.635637] PVR_K: SGX debug (SGX_DDK sgxddk 1.17@4948957)
[ 846.642046] PVR_K: Host Ctl flags= 0000000c
[ 846.647020] PVR_K: SGX Host control:
[ 846.651213] PVR_K: (HC-0) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.658908] PVR_K: (HC-10) 0x00000000 0x0000000A 0x0004A666 0x00000003
[ 846.666307] PVR_K: (HC-20) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.673829] PVR_K: (HC-30) 0x00000000 0x2087CA10 0x00000000 0x00000000
[ 846.681409] PVR_K: (HC-40) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.689623] PVR_K: (HC-50) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.697221] PVR_K: (HC-60) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.704881] PVR_K: (HC-70) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.712724] PVR_K: (HC-80) 0x00000000 0x00000000 0x00000000 0xFFFFFFFF
[ 846.720468] PVR_K: SGX TA/3D control:
[ 846.725076] PVR_K: (T3C-0) 0xF4003000 0xF40031A0 0xF4002000 0x00000000
[ 846.732652] PVR_K: (T3C-10) 0x00000000 0x00000002 0x00000000 0x00000000
[ 846.740495] PVR_K: (T3C-20) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.748277] PVR_K: (T3C-30) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.756029] PVR_K: (T3C-40) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.763628] PVR_K: (T3C-50) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.771675] PVR_K: (T3C-60) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.779405] PVR_K: (T3C-70) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.787129] PVR_K: (T3C-80) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.794908] PVR_K: (T3C-90) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.802565] PVR_K: (T3C-A0) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.810287] PVR_K: (T3C-B0) 0x00000000 0xF4000000 0x8F332000 0x00000000
[ 846.818034] PVR_K: (T3C-C0) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.825700] PVR_K: (T3C-D0) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.836557] PVR_K: (T3C-E0) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.847361] PVR_K: (T3C-F0) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.857934] PVR_K: (T3C-100) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.868353] PVR_K: (T3C-110) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.878679] PVR_K: (T3C-120) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.888920] PVR_K: (T3C-130) 0xF2016010 0xF2016014 0xF2016034 0xF2016030
[ 846.899004] PVR_K: (T3C-140) 0xF4004000 0xF400F820 0xF4002020 0x00000000
[ 846.909105] PVR_K: (T3C-150) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.919178] PVR_K: (T3C-160) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.929521] PVR_K: (T3C-170) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.939378] PVR_K: (T3C-180) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.949571] PVR_K: (T3C-190) 0x00000000 0x00000000 0x00000000 0x00000000
[ 846.959612] PVR_K: SGX Kernel CCB WO:0x0 RO:0x0
[ 846.967239] PVR_K: Active syncs
[ 846.973284] PVR_K:(Error): SGXPostPowerState: SGXInitialise failed
[ 846.982927] PVR_K:(Error): PVRSRVSetDevicePowerStateKM : Transition to 0 FAILED 0x18
[ 846.994249] PVR_K:(Error): SGXScheduleCCBCommandKM failed to power up device - ui32CallerID:-1 eError:24
[ 847.010758] PVR_K:(Error): SGXGetMiscInfoUkernel: SGXScheduleCCBCommandKM failed.
[ 847.022722] PVR_K: (FAIL) SGXInit: Unable to validate hardware core revision
[ 847.034562] PVR_K:(Error): PVRSRVFinaliseSystem: Failed PVRSRVDevInitCompatCheck call (device index: 0)
PVR:(Error): PVRSRVInitSrvDisconnect: KM returne[ 847.049608] PVR_K:(Error): BridgedDispatchKM: Initialisation failed. Driver unusable.
d 24 [0, ]
PVR:(Error): PVRSRVBridgeCall: Failed to access device. Function ID:3223086862 (strerror returns no value.). [0, ]
PVR:(Error): SrvInit: PVRSRVInitSrvDisconnect failed (24). See srvkm log for details. [0, ]
./pvrsrvctl: SrvInit failed (already initialized?) (err=PVRSRV_ERROR_RETRY)
 
  • Sad
Reactions: rSl

ljones

Member
Joined
Aug 12, 2006
Messages
220
One question -- what is the SGX driver? I did a quick websearch and all I can find about that is that it has something to do with intel.

I'm really still trying to figure out how to compile video drivers properly; am I right in saying that this is the xorg (2D) accelerated driver while the 3D (GPU) driver would be provided by mesa? Sorry, I really don't have a huge amount of experience here....

ljones
 

levi

Still fresh, damnit!
Joined
Oct 6, 2008
Messages
14,789
Location
Somewhere off the coast of the EU
No, it's a PowerVR core from Imagination Tech. I forget why it's called SGX; that abbreviation to me means Silicon Graphics, and old graphics workstation manufacturer, and I don't think there's any link between the two of those that I can find about on wikipedia (and Silicon Graphics Inc. abbreviation officially is SGI it seems)
 
Top