Announcement

Collapse
No announcement yet.

DarkPlaces GLES on Pandaboard

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • danboid
    started a topic DarkPlaces GLES on Pandaboard

    DarkPlaces GLES on Pandaboard

    Hi Phoronix!

    I think the goal of running DarkPlaces w/ GLES rendering on a Pandaboard is about the most Phoronix-esque project I've embarked on and so I knew there was no better place to conduct and document the process than these forums.

    With the recent release of TI's OMAP4 PVR xorg drivers for 12.04 on Pandaboard, I went on the hunt for good OGLES capable apps, games and emus and I'm very disappointed at how few there currently are. As it stands, Descent (dxx) rebirth is the only one I've found that compiles and works on my Panda but one of the top candidates- better than dxx-rebirth - is DarkPlaces.

    I have downloaded the latest svn code and I can see that it should be able to compile against OGLES on my Panda because it has been ported to iOS but as it stands the makefile offers no support for building a Linux OGLES client so this is where I'm hoping Lord Havoc, Michael and/or the Phoronix readers may be able to step in and help me get OGLES working under Panda (or likely RPi too) Linux DP and then hopefully it will get added as an official option in the DP makefile.

    Maybe I'm barking up the wrong tree as we say sometimes here in the UK? Maybe there is another Quake GLES port I can compile as easily as I did dxx-rebirth?

    Also, I have no been able to find a port of Q3 to OGLES that works on Pandaboard. Michael?
    Last edited by danboid; 07-29-2012, 07:30 AM.

  • danboid
    replied
    Thanks for your feedback Oliver!

    My current best plan of action would seem to be to wait for LordHavoc to get DP to a point where it at least compiles and runs a bit (if not perfectly) for SDL2 and GLES before I'll be attempting Q3 again.

    Leave a comment:


  • olivermcfadden
    replied
    Originally posted by danboid View Post
    Indeed there were more GLES and SDL2 issues in getting DP to build so I've forwarded them to LordHavoc who is fixing them as he gets the time.

    I'll update this thread again when DP is compiling and I've got more stuff I can try to get Q3 working yet but I may bust that out into a new/ separate thread on the Pandora forums if it looks like I'm having more luck with that.

    I'd like to hear what Oliver thinks about which Q3 port is the best for my Panda. The Pandora port may have more features and be more polished but I suppose it will also be more specific to Pandora and may require more tweaking to get running over here than the Maemo port??

    The other prob with the Pandora port is that I've had no response from its dev so I could have to fend for myself with that one.
    I would guess that both have about the same level of difficulty. Apologies for the late reply. Both will likely require some specific tweaking for the Panda, after you have the game running... Input device sensitivity settings, renderer settings, etc.

    Leave a comment:


  • danboid
    replied
    update

    Indeed there were more GLES and SDL2 issues in getting DP to build so I've forwarded them to LordHavoc who is fixing them as he gets the time.

    I'll update this thread again when DP is compiling and I've got more stuff I can try to get Q3 working yet but I may bust that out into a new/ separate thread on the Pandora forums if it looks like I'm having more luck with that.

    I'd like to hear what Oliver thinks about which Q3 port is the best for my Panda. The Pandora port may have more features and be more polished but I suppose it will also be more specific to Pandora and may require more tweaking to get running over here than the Maemo port??

    The other prob with the Pandora port is that I've had no response from its dev so I could have to fend for myself with that one.

    Leave a comment:


  • LordHavoc
    replied
    I've committed fixes for the warnings/errors in this one file but I expect there are more.

    Leave a comment:


  • danboid
    replied
    DP compile errors

    I've installed SDL2 on my Pandaboard now so I've made my first attempt at compiling DP - LordHavoc did warn of likely bit-rot in DarkPlaces GLES code so maybe thats what I'm up against?

    So far, the only patching I've done is to add

    Code:
    -DUSE_GLES2 -I/usr/local/include/SDL2
    To the CFLAGS_COMMON section of makefile.inc and get rid of the SSE(2) CFLAGS a few lines below and this is where it gets up to:

    https://gist.github.com/3221935

    Leave a comment:


  • danboid
    replied
    Pandora Q3 GLES git repo

    I found and tried one of cpasjuste's Q3 GLES repos on github recently but I must've got the wrong one because it wasn't

    Code:
    git clone git://github.com/Cpasjuste/quake3_pandora_gles.git
    From what Oliver has said about his Q3 GLES port, I suspect this Pandora port will be a better fit for running on Pandaboard - this version supports both GLES1 and 2 for one which I don't think Olivers does.

    All I had to do to the Pandora makefile to get it to compile - and this definitely isn't optimal or even correct - was change softfp to hard, GLES_CM to GLESv1_CM and correct the defs for gcc, g++ and ranlib. I have compiled it in debug mode for both GLES1 and 2 and I get the same error message when I try to start it with rq3 or OpenArena:

    Code:
    [email protected]:~/src/quake3_pandora_gles/pandora/debug-arm$ ./quake3 +set com_basegame Boomstick +set r_fullscreen 0
    Q3 1.32b linux-other Jul 31 2012
    ----- FS_Startup -----
    Current search path:
    /home/dan/.q3a/baseq3
    /home/dan/src/quake3_pandora_gles/pandora/debug-arm/baseq3
    ./baseq3
    
    ----------------------
    0 files in pk3 files
    
    Running in restricted demo mode.
    
    ----- FS_Startup -----
    Current search path:
    /home/dan/.q3a/demoq3
    /home/dan/src/quake3_pandora_gles/pandora/debug-arm/demoq3
    ./demoq3
    
    ----------------------
    0 files in pk3 files
    ----- CL_Shutdown -----
    -----------------------
    ----- CL_Shutdown -----
    -----------------------
    Sys_Error: Couldn't load default.cfg
    quake3: ../code/unix/unix_main.c:343: Sys_Exit: Assertion `ex == 0' failed.
    Aborted (core dumped)
    [email protected]:~/src/quake3_pandora_gles/pandora/debug-arm$ ./quake3 +set com_basegame openarena +set r_fullscreen 0
    Q3 1.32b linux-other Jul 31 2012
    ----- FS_Startup -----
    Current search path:
    /home/dan/.q3a/baseq3
    /home/dan/src/quake3_pandora_gles/pandora/debug-arm/baseq3
    ./baseq3
    
    ----------------------
    0 files in pk3 files
    
    Running in restricted demo mode.
    
    ----- FS_Startup -----
    Current search path:
    /home/dan/.q3a/demoq3
    /home/dan/src/quake3_pandora_gles/pandora/debug-arm/demoq3
    ./demoq3
    
    ----------------------
    0 files in pk3 files
    ----- CL_Shutdown -----
    -----------------------
    ----- CL_Shutdown -----
    -----------------------
    Sys_Error: Couldn't load default.cfg
    quake3: ../code/unix/unix_main.c:343: Sys_Exit: Assertion `ex == 0' failed.
    Aborted (core dumped)
    Last edited by danboid; 07-31-2012, 01:44 PM.

    Leave a comment:


  • danboid
    replied
    Gee Cee Cee Vee

    Hi Oliver!

    Thanks for tracking that error down but its not the problem here:

    Code:
    $ echo $DISPLAY
    :0.0
    gcc -v

    Code:
    Using built-in specs.
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/lib/gcc/arm-linux-gnueabihf/4.6/lto-wrapper
    Target: arm-linux-gnueabihf
    Configured with: ../src/configure -v --with-pkgversion='Ubuntu/Linaro 4.6.3-1ubuntu5' --with-bugurl=file:///usr/share/doc/gcc-4.6/README.Bugs --enable-languages=c,c++,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-4.6 --enable-shared --enable-linker-build-id --with-system-zlib --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --with-gxx-include-dir=/usr/include/c++/4.6 --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-gnu-unique-object --enable-plugin --enable-objc-gc --enable-multilib --disable-sjlj-exceptions --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16 --with-mode=thumb --disable-werror --enable-checking=release --build=arm-linux-gnueabihf --host=arm-linux-gnueabihf --target=arm-linux-gnueabihf
    Thread model: posix
    gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5)
    I'd be happy to set you up SSH access to my Panda if required to get this working as I see it as a total must for my platforms cred!

    Thanks Oliver!

    Leave a comment:


  • olivermcfadden
    replied
    This is a bit of a shot in the dark, but from searching Google it appears you may need to have the DISPLAY environment variable setup correctly; e.g.
    Code:
    export DISPLAY=:0.0
    to avoid the PVR error. This is based on Ubuntu bug: https://bugs.launchpad.net/linaro-ubuntu/+bug/999617

    Possibly this will help you with the Quake3 problems, unfortunately there is not much I can investigate with regard to the idTech4 build error without the output from gcc -v.

    Leave a comment:


  • olivermcfadden
    replied
    Originally posted by danboid View Post
    Hold on, ES2? Your Maemo Q3 port was linking and I'm linking against the ES1 libs here so I presume you saying ES2 was a typo and you meant ES1 right?
    Yes, I'm sorry this was a typo.

    Originally posted by danboid View Post
    I can only currently give 1 working example of both ES1 and ES2 on Pandaboard:

    ES1 - dxx-rebirth works if I start it in windowed mode then switch to fullscreen after startup:

    http://www.dxx-rebirth.com/frm/index...ic,1500.0.html

    ES2 - I've not tried DarkPlaces or its required new SDL yet but I have glmark2-es2 from the Ubuntu repos running fine on my Panda

    Okay, I can try to take a look at these during the week (possibly weekend) although I have quite a lot going on at the moment. Basically I was just interested in an EGL/OpenGL ES1 (or ES2) "Hello World" so I can see whether I'm doing something silly in the Quake 3 GLimp (OpenGL IMPlementation) code. Keep in mind I wrote this quite some time ago, and with the intention of it being a simple tech demo. Indeed it's possible there are bugs there, in fact, it's likely.

    Unfortunately I do not have any Panda hardware which makes debugging very difficult compared to having the hardware on my desk and the SDK setup on my development system.

    I'm going to do a bit of investigation on the g++ errors for idTech4 and the PVRSRVOpenDCDevice() error from Quake3. Actually I expect the PVRSRVOpenDCDevice() error will also occur on ES2 programs (such as idTech4) once you're able to compile it. I'll do my best to get some answers.

    Originally posted by danboid View Post
    What log files would you like to see?
    Let's start with 'gcc -v' so that I can match your configuration.
    Last edited by olivermcfadden; 07-30-2012, 12:38 PM. Reason: s/Pandora/Panda/

    Leave a comment:

Working...
X