Alien vs Predator Port


Wish I could get this to launch, have the new pnd, created a folder in app data com.paw etc, have made folders and files lower case it doesnt launch on my 1 ghz, do you need to make all the files within the folders lowercase? there are loads....

any help for me?
 
It doesn't seem to be as stable now, but at least faster.
Had two crashes now. Don't know if it is because of some neon code in there now as it crashes when I overclock to 1000MHz. Didn't crash before on this setting.
 
No NEON code has gone in yet, but compiler optimisations are on now, which can expose all sorts of problems. I guess by default the Pandora doesn't create any crash dumps? Would be interesting to see the call stack when it dies. If you were to run it through gdb and ever get a crash then post the back trace.

With regards to casing, all files and folders need to be recursive. In a future release I hope to make this an automated process that is done upon launching.
 
Many thanks! renaming now fingas crossed for the excellent port!!
 
Don't know if it might help you or not.

I installed the game Alien vs Predator Gold Edition, then because i don't know what "lowercase" mean, i pasted all (windows Ctrl+A) the files and folders included in "C:\Program Files\Alien vs Predator Gold Edition" in a new folder in appdata named "com.pawprintgames.avp" and it launched.
 
Last edited by a moderator:
Don't know if it might help you or not.

I installed the game Alien vs Predator Gold Edition, then because i don't know what "lowercase" mean, i pasted all (windows Ctrl+A) the files and folders included in "C:\Program Files\Alien vs Predator Gold Edition" in a new folder in appdata named "com.pawprintgames.avp" and it launched.
Are you able to play it well?
 
On Fat32 cards it doesn't seem to matter if its upper or lowercase.

Wish I could get this to launch, have the new pnd, created a folder in app data com.paw etc, have made folders and files lower case it doesnt launch on my 1 ghz, do you need to make all the files within the folders lowercase? there are loads....


any help for me?
What version of avp datafile a do you use?


You did copy them from an installed version of the game?
 
One more thing to try is to use SGX in framebuffer mode (see above link) and put a file named powervr.ini in root of .pnd with this content:


[default]
WindowSystem=libpvrPVR2D_FLIPWSEGL.so

This should allow SGX to draw directly to fb, which might make it faster.

Thank you, I will include this in the next build.
 
But try it first if you can, I'm not 100% sure it would work as with such black box drivers of SGX anything can happen..
 
Last edited by a moderator:
I used a XBOX homebrew download and it works. A bit buggy and just about playable. No music but there are sound affects. Controls easily mapped. Some screen flickering and aliasing.

I did not lowercase anything here. All the files were put in the suggested appdata folder. This really has potential here. All settings on lowest resolution and effects.

I never played this game. Seems you begin as the Alien and one can climb all over the walls in this cave/tomb. I fell and got burned up. 

If I typed anything illegal I am so sorry...i got so excited when this booted up. :eek:    :D
 
Last edited:
Did you have a look at top again? Maybe cpuusage is down now and now the graphics limit it?
 

I just spotted perf that Notaz provided over http://boards.openpandora.org/index.php/topic/11316-binaries-share-stuff-build-for-the-pandora-os-but-no-reason-or-will-to-pnd-1-mplayer2/?p=211318 (thanks for providing this)

 

It is a nice little profiler that gives a simple overview of the current CPU usage on the system (without compiling with special flags and also runs constantly so you can easily profile different parts of the game). Whilst AVP is running (just at the start of the predator first level):

 



49.71% AvpMP (deleted) [.] 0x24810
6.36% libGLES_CM.so.1.4.14.2616 [.] 0x1f1a4
5.55% libasound.so.2.0.0 [.] 0x75044
3.05% AvpMP [.] TranslatePoint
2.49% libasound.so.2.0.0 [.] snd_pcm_lfloat_convert_floa
1.94% AvpMP [.] D3D_ZBufferedGouraudTexture
1.88% libopenal.so.1 [.] Filter2P
1.76% libopenal.so.1 [.] MixDirect_C
1.69% [kernel] [k] __do_softirq
1.34% libopenal.so.1 [.] Resample_lerp32_C
1.00% AvpMP [.] VertexIntensity_Standard_Op
0.78% AvpMP [.] TranslatePointIntoViewspace
0.77% AvpMP [.] ShapePipeline
0.76% libc-2.9.so [.] memset
0.65% AvpMP [.] PolygonWithinFrustrum
0.63% AvpMP [.] RenderSky
0.53% AvpMP [.] HModelRegen_Recursion
0.53% libgcc_s.so.1 [.] __udivsi3
0.45% libopenal.so.1 [.] aluMixData
0.45% AvpMP [.] CheckForRayIntersectionWithObject


Observations/questions:

  1. I don't know what the (deleted) means next to the top AVP process
  2. It seems to indicate the highest profiling function is TranslatePoint and that is 'only' taking up 3.05% of the frame time, which isn't exactly huge.
  3. Other than manually knocking out the draw in code, is there a sensible way to check if we are GPU limited? The fact that AVP is taking up about 50% of the frame time suggests to me we are heavily GPU bound (as in we could take twice as long on the CPU and keep the same frame rate). Or is that the 50% is unidentified code running, and all the numbers after (TranslatePoint et al) are on top of the 50%?
  4. Assuming we are GPU bound, is there any GPU profilers that can tell us what the limit is (pixel bound? bus bound? vertex bound?) and ideally give some hints to improve (e.g. use less alpha testing, change buffer depth)?
  5. Are there any utilities that will display the frame rate? I appreciate this could be hacked into the game itself, but on other platforms I work on, there is often something that sits outside of the game which can report this (often part of the profiler)
p.s. My Wifi dongle arrived today, since getting it I have experienced no Wifi issues and managed to download Codeblocks from the PNDManager which I have never been able to do before. Haven't experienced particularly great speed though, around 900 KB/s via WinSCP (obviously there are better transfer protocols but I thought I might have hit higher).
 
Last edited by a moderator:
Okay, turns out there were two copies of AVP running somehow in the above.. with this 'fixed' I now get:


10.93% libGLES_CM.so.1.4.14.2616 [.] 0x1f1a4
7.82% AvpMP [.] DrawAvPMenuGfx
5.40% libasound.so.2.0.0 [.] 0x1dff4
5.12% AvpMP [.] TranslatePoint
3.92% libc-2.9.so [.] memcpy
3.27% AvpMP [.] D3D_ZBufferedGouraudTexture
3.06% libopenal.so.1 [.] Filter2P
2.97% libopenal.so.1 [.] MixDirect_C
2.63% libopenal.so.1 [.] Resample_lerp32_C
2.37% libasound.so.2.0.0 [.] snd_pcm_lfloat_convert_floa
1.92% [kernel] [k] omap3_enter_idle
1.78% AvpMP [.] VertexIntensity_Standard_Op
1.65% AvpMP [.] TranslatePointIntoViewspace
1.53% AvpMP [.] RenderMenuText
1.46% [kernel] [k] __do_softirq
1.20% AvpMP [.] ShapePipeline
1.07% AvpMP [.] RenderSky
1.05% libgcc_s.so.1 [.] __divdi3
1.05% libc-2.9.so [.] memset
0.96% libgcc_s.so.1 [.] __udivsi3
0.92% AvpMP [.] PolygonWithinFrustrum
0.84% AvpMP [.] HModelRegen_Recursion
0.82% libsrv_um.so.1.4.14.2616 [.] PVRSRVWaitus
0.80% [kernel] [k] tick_nohz_stop_sched_tick
0.74% AvpMP [.] CheckForRayIntersectionWith
0.68% AvpMP [.] D3D_SkyPolygon_Output


Steve, about the best opengl profiler ive come across is glDebugger: http://www.gremedy.com/

If you have an AMD card you may be able to use a newer build (AMD bought them and made their own too)
Thanks, I've used this on PC several times. Question: am I understanding you right that it is possible to run it, on my Windows PC, and connect to the Pandora to profile the graphics on there? If so that is very cool! I will have to try this.
 
Steve, about the best opengl profiler ive come across is glDebugger: http://www.gremedy.com/

If you have an AMD card you may be able to use a newer build (AMD bought them and made their own too)
Thanks, I've used this on PC several times. Question: am I understanding you right that it is possible to run it, on my Windows PC, and connect to the Pandora to profile the graphics on there? If so that is very cool! I will have to try this.
Sorry no it would only profile the desktop build. There are some PVR tools for native profiling, but I expect they would not be easy to get working.
 
Sorry no it would only profile the desktop build. There are some PVR tools for native profiling, but I expect they would not be easy to get working.
Ah, okay then. May still throw something up, but unfortunately I typically find that bottle necks on mobile/tablet/etc. hardware is quite different from desktop. By the way, I do not have an AMD but I run AMD gDEBugger, unless anything has changed you can run it on Intel, however there are a couple of things that aren't possible (I seem to recall they were reading certain AMD registers or something, but they weren't anything of particular interest IIRC).
 
Thanks, have grabbed it, looks good. Seems like it provides libraries for linux armv7, hopefully they'll work on Pandora. It says I can just copy libEGL.so libGLES_CM.so libGLESvs_CM.so libGLESv2.so libPVRTrace.so into a LD preload path, set up a config and potentially be good to go. All sounds a bit too good to be true to me. Even says I can connect from my PC into the Pandora to control which frames to grab and so on.

Will see if I have time tonight to properly play with this..
 
From a very quick look (copied libs, ran game) I get a SIGSEGV which I will have to look into later. Hopefully there will be  common reason for this:


PVRTRACE(M) The current working directory is /media/mmcblk1p1/tests/AVP
PVRTRACE(M) Config file found: /media/mmcblk1p1/tests/AVP/pvrtrace.cfg

PVRTRACE(M) SaveFrameBuffer: 0
PVRTRACE(M) NetworkControl(I): Enabled
PVRTRACE(M) Config File HostEglLibPath: libs/libEGL.so
PVRTRACE(M) Config File HostEs1LibPath: libs/libGLES_CM.so
PVRTRACE(M) Config File HostEs2LibPath: libs/libGLESv2.so
PVRTRACE(M) Config File HostEs3LibPath:
PVRTRACE(M)
Initialize Server

PVRTRACE(M) Loading Host library.... libs/libEGL.so
PVRTRACE(M) Host Library Loaded: libs/libEGL.so

Program received signal SIGSEGV, Segmentation fault.
0x4046860c in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
(gdb) bt
#0 0x4046860c in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#1 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#2 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#3 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#4 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#5 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#6 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#7 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#8 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#9 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#10 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#11 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#12 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#13 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#14 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#15 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#16 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#17 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#18 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#19 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#20 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#21 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so
#22 0x404688e0 in Egl::_eglGetDisplay(int, void*) () from libs/libPVRTrace.so


However, I was able to connect via my Windows PC to the session with PVRTrace, so in principle it is looking cool, just need to hope the above can be resolved. Will let you know my progress..
 
Back
Top