Creating an "empty" OS for the pyra


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?
 
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
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
 
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)
 
Back
Top