User avatar
cdev-tux
Posts: 39
Joined: Tue Sep 26, 2017 5:12 am
Contact: Website

Q3lite - Quake III Arena for the Raspberry Pi

Tue Nov 28, 2017 12:09 pm

Hi everyone,

I created an open source update of the ioquake3 port for the Raspberry Pi. The project is based on the latest ioquake3 codebase with an OpenGL ES renderer. The game runs on Pi Zero/1/2/3's with Raspbian Desktop or Lite. Timedemo four benchmarks at ~140 fps on a Pi 3 @ 720P without overclocking, so it's very playable on a Pi 2 or 3. The source code includes a smart compiler script and robust installer that will do most of the steps for you. You'll just need to install some prerequisites and add your pak0.pk3 file from the full version of Quake III Arena.

Image

The source code is available on GitHub (scroll down for the readme file).

https://github.com/cdev-tux/q3lite

Documentation, game FAQ and Compiling/Installation Guide can be found in the wiki.

https://github.com/cdev-tux/q3lite/wiki

Troubleshooting.

https://github.com/cdev-tux/q3lite/wiki ... leshooting
https://github.com/cdev-tux/q3lite/wiki/Q3lite-FAQ


Enjoy Q3lite.

cdev-tux
Last edited by cdev-tux on Mon Jan 22, 2018 7:23 pm, edited 3 times in total.

ellisgl
Posts: 5
Joined: Fri Mar 10, 2017 9:48 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Tue Nov 28, 2017 10:47 pm

libibus-1-dev package can't be found. Using Raspian Lite - most recent - updated and all that.

User avatar
cdev-tux
Posts: 39
Joined: Tue Sep 26, 2017 5:12 am
Contact: Website

Re: Q3lite - Quake III Arena for the Raspberry Pi

Tue Nov 28, 2017 11:04 pm

Try searching for a similar package name.

Code: Select all

sudo apt-cache search libibus
The package name may be libibus-1.0-dev. Let me know what you find and I'll update the documentation.
cdev-tux
Q3lite source code: https://github.com/cdev-tux/q3lite
Documentation, game FAQ and Compiling/Installation Guide: https://github.com/cdev-tux/q3lite/wiki

ellisgl
Posts: 5
Joined: Fri Mar 10, 2017 9:48 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Tue Nov 28, 2017 11:06 pm

Code: Select all

git checkout dev
should be

Code: Select all

sudo git checkout dev

ellisgl
Posts: 5
Joined: Fri Mar 10, 2017 9:48 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Tue Nov 28, 2017 11:43 pm

cdev-tux wrote:
Tue Nov 28, 2017 11:04 pm
Try searching for a similar package name.

Code: Select all

sudo apt-cache search libibus
The package name may be libibus-1.0-dev. Let me know what you find and I'll update the documentation.
libibus-1.0-dev exists.

jdonald
Posts: 34
Joined: Fri Nov 03, 2017 4:36 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Mon Dec 18, 2017 2:29 am

I got a chance to try it out.

Originally when seeing this project I thought this was an update to use the Mesa GLES driver. After all, the existing Raspbian Quake 3 suffers from "failed to add service - already in use?" when full OpenGL+KMS is enabled, and it would be nice to have a modern replacement. However, this codebase has references to /opt/vc/lib with -lEGL -lGLESv2 that make it unclear. If intended to use the closed-source Broadcom driver, it should say -lbrcmEGL -lbrcmGLESv2 or else it won't link properly on Stretch.

I then went down the path of testing Mesa GLES (dtoverlay=vc4-kms-v3d) anyway. Needed to add -lGLESv1_CM to fix linker errors. Unfortunately the menus aren't visible and rendering is choppy at 1080p (on a Pi 3).

Is this project intended to support only the brcm VC4 driver?

User avatar
cdev-tux
Posts: 39
Joined: Tue Sep 26, 2017 5:12 am
Contact: Website

Re: Q3lite - Quake III Arena for the Raspberry Pi

Tue Dec 19, 2017 2:53 am

This project currently supports the Broadcom driver, but I’m planning to add support for the VC4 OpenGL driver. I also have an open request for help in the project wiki to find someone who can make the renderer modifications to work with the Mesa GLES driver. I didn’t write the OpenGL ES renderer, I just added it to the latest ioquake3 codebase, so I don’t have the expertise to modify it. The idea is to get a version out there that doesn’t have the serious security issues of the older version in the repository.

https://ioquake3.org/2017/03/13/importa ... mediately/
Last edited by cdev-tux on Mon Jan 29, 2018 6:24 pm, edited 2 times in total.
cdev-tux
Q3lite source code: https://github.com/cdev-tux/q3lite
Documentation, game FAQ and Compiling/Installation Guide: https://github.com/cdev-tux/q3lite/wiki

User avatar
cdev-tux
Posts: 39
Joined: Tue Sep 26, 2017 5:12 am
Contact: Website

Re: Q3lite - Quake III Arena for the Raspberry Pi

Wed Dec 27, 2017 11:19 pm

I updated Q3lite with more than 30 bug fixes/improvements and brought the codebase up to date with Upstream. A more efficient Huffman encoder/decoder was added which should lower pings a bit.
cdev-tux
Q3lite source code: https://github.com/cdev-tux/q3lite
Documentation, game FAQ and Compiling/Installation Guide: https://github.com/cdev-tux/q3lite/wiki

User avatar
misho.petrov
Posts: 46
Joined: Mon Oct 21, 2013 8:52 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Tue Jan 09, 2018 10:37 pm

[imho] This installation guide will succeed only if the default user "pi" has not been renamed. Mine was and the installation cannot bring itself to success.
1. RPi B 512 MB + Sandisk 2GB c4, vesa mount;
2. RPi B 512 MB + Hama 16GB c10, heat sinks, micro fan, built-in lead-acid battery, duplicated factory plugs, 4,3" TFT, usb mini wireless keyboard, TDA2822 and speakers;
3. RPi 2 + Maxell 16GB c10.

User avatar
cdev-tux
Posts: 39
Joined: Tue Sep 26, 2017 5:12 am
Contact: Website

Re: Q3lite - Quake III Arena for the Raspberry Pi

Wed Jan 10, 2018 12:10 am

misho.petrov wrote:
Tue Jan 09, 2018 10:37 pm
[imho] This installation guide will succeed only if the default user "pi" has not been renamed. Mine was and the installation cannot bring itself to success.

Hi misho.petrov,

Thank you for the feedback. Can you post the error message that you’re getting so that I can help to determine the cause? The compile/install script determines which user is logged in during installation and proceeds with that username, but it may need some additional logic to function correctly, so any error messages would be helpful. Thank you.
cdev-tux
Q3lite source code: https://github.com/cdev-tux/q3lite
Documentation, game FAQ and Compiling/Installation Guide: https://github.com/cdev-tux/q3lite/wiki

User avatar
misho.petrov
Posts: 46
Joined: Mon Oct 21, 2013 8:52 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Wed Jan 10, 2018 10:52 am

Odd... I'm seem to remember something about "can not chown misho:misho", but perhaps it was a one time event. But every time when I try compilation, following your guide to the letter, the same errors appeared:

Code: Select all

[3J[H[2J
[01;37mCompiling Q3lite on a Pi 3
[0m
make[1]: Entering directory '/usr/src/q3lite'
CLEAN build/debug-linux-armv7l
make[1]: Leaving directory '/usr/src/q3lite'
make[1]: Entering directory '/usr/src/q3lite'
CLEAN build/release-linux-armv7l
make[1]: Leaving directory '/usr/src/q3lite'
make[1]: Entering directory '/usr/src/q3lite/misc/setup'
rm -rf *.run image defines.m4
make[1]: Leaving directory '/usr/src/q3lite/misc/setup'
make[1]: Entering directory '/usr/src/q3lite'

Building in build/release-linux-armv7l:
  PLATFORM: linux
  ARCH: armv7l
  VERSION: v1.0.1
  COMPILE_PLATFORM: linux
  COMPILE_ARCH: armv7l
  HAVE_VM_COMPILED: true
  CC: cc

  CFLAGS:
    -DHAVE_GLES -march=armv8-a+crc -mfpu=vfpv4 -mtune=cortex-a53
    -mfloat-abi=hard -Ofast -I/opt/vc/include -Wall -fno-strict-aliasing
    -Wimplicit -Wstrict-prototypes -pipe -DUSE_ICON -DARCH_STRING="armv7l"
    -DNO_GZIP -Icode/zlib -DUSE_INTERNAL_JPEG -Icode/jpeg-8c
    -DUSE_LOCAL_HEADERS -DPRODUCT_VERSION="v1.0.1" -Wformat=2
    -Wno-format-zero-length -Wformat-security -Wno-format-nonliteral
    -Wstrict-aliasing=2 -Wmissing-format-attribute -Wdisabled-optimization
    -Werror-implicit-function-declaration -MMD -DNDEBUG -O3 -ffast-math

  CLIENT_CFLAGS:
    -Icode/SDL2/include -I/opt/vc/include
    -I/opt/vc/include/interface/vcos/pthreads
    -I/opt/vc/include/interface/vmcs_host/linux -D_REENTRANT
    -Wno-strict-prototypes

  SERVER_CFLAGS:
    

  LDFLAGS:
    -L/opt/vc/lib -lEGL -lGLESv2

  LIBS:
    -ldl -lm

  CLIENT_LIBS:
    -L/usr/local/lib/q3lite -L/usr/local/lib -Lcode/libs/q3lite/pi
    -Wl,-rpath,/usr/local/lib/q3lite:/usr/local/lib -lSDL2 -lpthread

  AUTOUPDATER_LIBS:
    -ldl

  Output:
    q3ded.armv7l
    quake3.armv7l
    baseq3/vm/cgame.qvm
    baseq3/vm/qagame.qvm
    baseq3/vm/ui.qvm

make[2]: Entering directory '/usr/src/q3lite'
DED_CC code/server/sv_bot.c
DED_CC code/server/sv_client.c
DED_CC code/server/sv_ccmds.c
DED_CC code/server/sv_game.c
DED_CC code/server/sv_init.c
DED_CC code/server/sv_main.c
DED_CC code/server/sv_net_chan.c
DED_CC code/server/sv_snapshot.c
DED_CC code/server/sv_world.c
DED_CC code/qcommon/cm_load.c
DED_CC code/qcommon/cm_patch.c
DED_CC code/qcommon/cm_polylib.c
DED_CC code/qcommon/cm_test.c
DED_CC code/qcommon/cm_trace.c
DED_CC code/qcommon/cmd.c
DED_CC code/qcommon/common.c
DED_CC code/qcommon/cvar.c
DED_CC code/qcommon/files.c
DED_CC code/qcommon/md4.c
DED_CC code/qcommon/msg.c
DED_CC code/qcommon/net_chan.c
DED_CC code/qcommon/net_ip.c
DED_CC code/qcommon/huffman.c
DED_CC code/qcommon/q_math.c
DED_CC code/qcommon/q_shared.c
DED_CC code/qcommon/unzip.c
DED_CC code/qcommon/ioapi.c
DED_CC code/qcommon/vm.c
DED_CC code/qcommon/vm_interpreted.c
BOT_CC code/botlib/be_aas_bspq3.c
BOT_CC code/botlib/be_aas_cluster.c
BOT_CC code/botlib/be_aas_debug.c
BOT_CC code/botlib/be_aas_entity.c
BOT_CC code/botlib/be_aas_file.c
BOT_CC code/botlib/be_aas_main.c
BOT_CC code/botlib/be_aas_move.c
BOT_CC code/botlib/be_aas_optimize.c
BOT_CC code/botlib/be_aas_reach.c
BOT_CC code/botlib/be_aas_route.c
BOT_CC code/botlib/be_aas_routealt.c
BOT_CC code/botlib/be_aas_sample.c
BOT_CC code/botlib/be_ai_char.c
BOT_CC code/botlib/be_ai_chat.c
BOT_CC code/botlib/be_ai_gen.c
BOT_CC code/botlib/be_ai_goal.c
BOT_CC code/botlib/be_ai_move.c
BOT_CC code/botlib/be_ai_weap.c
BOT_CC code/botlib/be_ai_weight.c
BOT_CC code/botlib/be_ea.c
BOT_CC code/botlib/be_interface.c
BOT_CC code/botlib/l_crc.c
BOT_CC code/botlib/l_libvar.c
BOT_CC code/botlib/l_log.c
BOT_CC code/botlib/l_memory.c
BOT_CC code/botlib/l_precomp.c
BOT_CC code/botlib/l_script.c
BOT_CC code/botlib/l_struct.c
DED_CC code/null/null_client.c
DED_CC code/null/null_input.c
DED_CC code/null/null_snddma.c
DED_CC code/sys/con_log.c
DED_CC code/sys/sys_autoupdater.c
DED_CC code/sys/sys_main.c
DED_CC code/zlib/adler32.c
DED_CC code/zlib/crc32.c
DED_CC code/zlib/inffast.c
DED_CC code/zlib/inflate.c
DED_CC code/zlib/inftrees.c
DED_CC code/zlib/zutil.c
CC code/qcommon/vm_armv7l.c
DED_CC code/sys/sys_unix.c
DED_CC code/sys/con_tty.c
CC code/client/cl_cgame.c
CC code/client/cl_cin.c
CC code/client/cl_console.c
CC code/client/cl_input.c
CC code/client/cl_keys.c
CC code/client/cl_main.c
CC code/client/cl_net_chan.c
CC code/client/cl_parse.c
CC code/client/cl_scrn.c
CC code/client/cl_ui.c
CC code/client/cl_avi.c
CC code/qcommon/cm_load.c
CC code/qcommon/cm_patch.c
CC code/qcommon/cm_polylib.c
CC code/qcommon/cm_test.c
CC code/qcommon/cm_trace.c
CC code/qcommon/cmd.c
CC code/qcommon/common.c
CC code/qcommon/cvar.c
CC code/qcommon/files.c
CC code/qcommon/md4.c
CC code/qcommon/md5.c
CC code/qcommon/msg.c
CC code/qcommon/net_chan.c
CC code/qcommon/net_ip.c
CC code/qcommon/huffman.c
CC code/client/snd_adpcm.c
CC code/client/snd_dma.c
CC code/client/snd_mem.c
CC code/client/snd_mix.c
CC code/client/snd_wavelet.c
CC code/client/snd_main.c
CC code/client/snd_codec.c
CC code/client/snd_codec_wav.c
CC code/client/snd_codec_ogg.c
CC code/client/snd_codec_opus.c
CC code/client/qal.c
CC code/client/snd_openal.c
CC code/client/cl_curl.c
CC code/server/sv_bot.c
CC code/server/sv_ccmds.c
CC code/server/sv_client.c
CC code/server/sv_game.c
CC code/server/sv_init.c
CC code/server/sv_main.c
CC code/server/sv_net_chan.c
CC code/server/sv_snapshot.c
CC code/server/sv_world.c
CC code/qcommon/q_math.c
CC code/qcommon/q_shared.c
CC code/qcommon/unzip.c
CC code/qcommon/ioapi.c
CC code/qcommon/puff.c
CC code/qcommon/vm.c
CC code/qcommon/vm_interpreted.c
BOT_CC code/botlib/be_aas_bspq3.c
BOT_CC code/botlib/be_aas_cluster.c
BOT_CC code/botlib/be_aas_debug.c
BOT_CC code/botlib/be_aas_entity.c
BOT_CC code/botlib/be_aas_file.c
BOT_CC code/botlib/be_aas_main.c
BOT_CC code/botlib/be_aas_move.c
BOT_CC code/botlib/be_aas_optimize.c
BOT_CC code/botlib/be_aas_reach.c
BOT_CC code/botlib/be_aas_route.c
BOT_CC code/botlib/be_aas_routealt.c
BOT_CC code/botlib/be_aas_sample.c
BOT_CC code/botlib/be_ai_char.c
BOT_CC code/botlib/be_ai_chat.c
BOT_CC code/botlib/be_ai_gen.c
BOT_CC code/botlib/be_ai_goal.c
BOT_CC code/botlib/be_ai_move.c
BOT_CC code/botlib/be_ai_weap.c
BOT_CC code/botlib/be_ai_weight.c
BOT_CC code/botlib/be_ea.c
BOT_CC code/botlib/be_interface.c
BOT_CC code/botlib/l_crc.c
BOT_CC code/botlib/l_libvar.c
BOT_CC code/botlib/l_log.c
BOT_CC code/botlib/l_memory.c
BOT_CC code/botlib/l_precomp.c
BOT_CC code/botlib/l_script.c
BOT_CC code/botlib/l_struct.c
CC code/sdl/sdl_input.c
CC code/sdl/sdl_snd.c
CC code/sys/con_log.c
CC code/sys/sys_autoupdater.c
CC code/sys/sys_main.c
CC code/sys/con_tty.c
CC code/zlib/adler32.c
CC code/zlib/crc32.c
CC code/zlib/inffast.c
CC code/zlib/inflate.c
CC code/zlib/inftrees.c
CC code/zlib/zutil.c
CC code/sys/sys_unix.c
REF_CC code/rendererq3lgles1/tr_animation.c
REF_CC code/rendererq3lgles1/tr_backend.c
REF_CC code/rendererq3lgles1/tr_bsp.c
REF_CC code/rendererq3lgles1/tr_cmds.c
REF_CC code/rendererq3lgles1/tr_curve.c
REF_CC code/rendererq3lgles1/tr_flares.c
REF_CC code/renderercommon/tr_font.c
REF_CC code/rendererq3lgles1/tr_image.c
REF_CC code/renderercommon/tr_image_bmp.c
REF_CC code/renderercommon/tr_image_jpg.c
REF_CC code/renderercommon/tr_image_pcx.c
REF_CC code/renderercommon/tr_image_png.c
REF_CC code/renderercommon/tr_image_tga.c
REF_CC code/rendererq3lgles1/tr_init.c
REF_CC code/rendererq3lgles1/tr_light.c
REF_CC code/rendererq3lgles1/tr_main.c
REF_CC code/rendererq3lgles1/tr_marks.c
REF_CC code/rendererq3lgles1/tr_mesh.c
REF_CC code/rendererq3lgles1/tr_model.c
REF_CC code/rendererq3lgles1/tr_model_iqm.c
REF_CC code/renderercommon/tr_noise.c
REF_CC code/rendererq3lgles1/tr_scene.c
REF_CC code/rendererq3lgles1/tr_shade.c
REF_CC code/rendererq3lgles1/tr_shade_calc.c
REF_CC code/rendererq3lgles1/tr_shader.c
REF_CC code/rendererq3lgles1/tr_shadows.c
REF_CC code/rendererq3lgles1/tr_sky.c
REF_CC code/rendererq3lgles1/tr_surface.c
REF_CC code/rendererq3lgles1/tr_world.c
REF_CC code/sdl/sdl_gamma.c
REF_CC code/sdl/sdl_glimp.c
REF_CC code/jpeg-8c/jaricom.c
REF_CC code/jpeg-8c/jcapimin.c
REF_CC code/jpeg-8c/jcapistd.c
REF_CC code/jpeg-8c/jcarith.c
REF_CC code/jpeg-8c/jccoefct.c
REF_CC code/jpeg-8c/jccolor.c
REF_CC code/jpeg-8c/jcdctmgr.c
REF_CC code/jpeg-8c/jchuff.c
REF_CC code/jpeg-8c/jcinit.c
REF_CC code/jpeg-8c/jcmainct.c
REF_CC code/jpeg-8c/jcmarker.c
REF_CC code/jpeg-8c/jcmaster.c
REF_CC code/jpeg-8c/jcomapi.c
REF_CC code/jpeg-8c/jcparam.c
REF_CC code/jpeg-8c/jcprepct.c
REF_CC code/jpeg-8c/jcsample.c
REF_CC code/jpeg-8c/jctrans.c
REF_CC code/jpeg-8c/jdapimin.c
REF_CC code/jpeg-8c/jdapistd.c
REF_CC code/jpeg-8c/jdarith.c
REF_CC code/jpeg-8c/jdatadst.c
REF_CC code/jpeg-8c/jdatasrc.c
REF_CC code/jpeg-8c/jdcoefct.c
REF_CC code/jpeg-8c/jdcolor.c
REF_CC code/jpeg-8c/jddctmgr.c
REF_CC code/jpeg-8c/jdinput.c
REF_CC code/jpeg-8c/jdhuff.c
REF_CC code/jpeg-8c/jdmainct.c
REF_CC code/jpeg-8c/jdmarker.c
REF_CC code/jpeg-8c/jdmaster.c
REF_CC code/jpeg-8c/jdmerge.c
REF_CC code/jpeg-8c/jdpostct.c
REF_CC code/jpeg-8c/jdsample.c
REF_CC code/jpeg-8c/jdtrans.c
REF_CC code/jpeg-8c/jerror.c
REF_CC code/jpeg-8c/jfdctflt.c
REF_CC code/jpeg-8c/jfdctfst.c
REF_CC code/jpeg-8c/jfdctint.c
REF_CC code/jpeg-8c/jidctflt.c
REF_CC code/jpeg-8c/jidctfst.c
REF_CC code/jpeg-8c/jidctint.c
REF_CC code/jpeg-8c/jmemmgr.c
REF_CC code/jpeg-8c/jmemnobs.c
REF_CC code/jpeg-8c/jquant1.c
REF_CC code/jpeg-8c/jquant2.c
REF_CC code/jpeg-8c/jutils.c
TOOLS_CC code/tools/lcc/etc/lcc.c
TOOLS_CC code/tools/lcc/etc/bytecode.c
TOOLS_CC code/tools/lcc/src/alloc.c
TOOLS_CC code/tools/lcc/src/bind.c
TOOLS_CC code/tools/lcc/src/bytecode.c
TOOLS_CC code/tools/lcc/src/dag.c
TOOLS_CC code/tools/lcc/lburg/lburg.c
TOOLS_CC code/tools/lcc/lburg/gram.c
TOOLS_CC code/tools/lcc/src/decl.c
TOOLS_CC code/tools/lcc/src/enode.c
TOOLS_CC code/tools/lcc/src/error.c
TOOLS_CC code/tools/lcc/src/event.c
TOOLS_CC code/tools/lcc/src/expr.c
TOOLS_CC code/tools/lcc/src/gen.c
TOOLS_CC code/tools/lcc/src/init.c
TOOLS_CC code/tools/lcc/src/inits.c
TOOLS_CC code/tools/lcc/src/input.c
TOOLS_CC code/tools/lcc/src/lex.c
TOOLS_CC code/tools/lcc/src/list.c
TOOLS_CC code/tools/lcc/src/main.c
TOOLS_CC code/tools/lcc/src/null.c
TOOLS_CC code/tools/lcc/src/output.c
TOOLS_CC code/tools/lcc/src/profio.c
TOOLS_CC code/tools/lcc/src/prof.c
TOOLS_CC code/tools/lcc/src/simp.c
TOOLS_CC code/tools/lcc/src/stmt.c
TOOLS_CC code/tools/lcc/src/string.c
TOOLS_CC code/tools/lcc/src/sym.c
TOOLS_CC code/tools/lcc/src/symbolic.c
TOOLS_CC code/tools/lcc/src/trace.c
TOOLS_CC code/tools/lcc/src/tree.c
TOOLS_CC code/tools/lcc/src/types.c
TOOLS_CC code/tools/lcc/cpp/cpp.c
TOOLS_CC code/tools/lcc/cpp/lex.c
TOOLS_CC code/tools/lcc/cpp/nlist.c
TOOLS_CC code/tools/lcc/cpp/tokens.c
TOOLS_CC code/tools/lcc/cpp/macro.c
TOOLS_CC code/tools/lcc/cpp/eval.c
TOOLS_CC code/tools/lcc/cpp/include.c
TOOLS_CC code/tools/lcc/cpp/hideset.c
TOOLS_CC code/tools/lcc/cpp/getopt.c
TOOLS_CC code/tools/lcc/cpp/unix.c
TOOLS_CC code/tools/asm/q3asm.c
TOOLS_CC code/tools/asm/cmdlib.c
LD build/release-linux-armv7l/q3ded.armv7l
LD build/release-linux-armv7l/quake3.armv7l
LD build/release-linux-armv7l/tools/lburg/lburg
/usr/bin/ld: не се намира -lEGL
/usr/bin/ld: не се намира -lGLESv2
collect2: error: ld returned 1 exit status
Makefile:2317: recipe for target 'build/release-linux-armv7l/q3ded.armv7l' failed
make[2]: *** [build/release-linux-armv7l/q3ded.armv7l] Error 1
make[2]: *** Waiting for unfinished jobs....
/usr/bin/ld: не се намира -lEGL
/usr/bin/ld: не се намира -lGLESv2
collect2: error: ld returned 1 exit status
Makefile:2165: recipe for target 'build/release-linux-armv7l/quake3.armv7l' failed
make[2]: *** [build/release-linux-armv7l/quake3.armv7l] Error 1
make[2]: Leaving directory '/usr/src/q3lite'
Makefile:1326: recipe for target 'targets' failed
make[1]: *** [targets] Error 2
make[1]: Leaving directory '/usr/src/q3lite'
Makefile:1277: recipe for target 'release' failed
make: *** [release] Error 2

[01;37mBuild Time: 3m:36s
Also my username "misho" is just a renamed "pi" with a home folder of "/home/pi". For some reason a folder named "/home/misho" appeared after the compilation.

And (for what matters) the last thing is that user "misho" is not a member of a group with the same name:

Code: Select all

[email protected]:~ $ groups misho
misho : pi adm dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio lpadmin
I hope this feedback is enough for sorting out the problem.

Nonetheless keep up the good work!
1. RPi B 512 MB + Sandisk 2GB c4, vesa mount;
2. RPi B 512 MB + Hama 16GB c10, heat sinks, micro fan, built-in lead-acid battery, duplicated factory plugs, 4,3" TFT, usb mini wireless keyboard, TDA2822 and speakers;
3. RPi 2 + Maxell 16GB c10.

jdonald
Posts: 34
Joined: Fri Nov 03, 2017 4:36 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Wed Jan 10, 2018 5:23 pm

There doesn't seem to be any mention of a chown error in your log, so yes maybe a one-time event and benign. This looks like the actual error:
misho.petrov wrote:
Wed Jan 10, 2018 10:52 am

Code: Select all

/usr/bin/ld: не се намира -lEGL
/usr/bin/ld: не се намира -lGLESv2
collect2: error: ld returned 1 exit status
This is the issue I pointed out in my un Dec 17, 2017 6:29 pm post above. If building on Stretch you would have to change those linker references to -lbrcmEGL -lbrcmGLESv2

User avatar
misho.petrov
Posts: 46
Joined: Mon Oct 21, 2013 8:52 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Wed Jan 10, 2018 9:23 pm

Thanks, I figured that out. But what about the "parasitic" folder creation?
1. RPi B 512 MB + Sandisk 2GB c4, vesa mount;
2. RPi B 512 MB + Hama 16GB c10, heat sinks, micro fan, built-in lead-acid battery, duplicated factory plugs, 4,3" TFT, usb mini wireless keyboard, TDA2822 and speakers;
3. RPi 2 + Maxell 16GB c10.

jdonald
Posts: 34
Joined: Fri Nov 03, 2017 4:36 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Wed Jan 10, 2018 10:14 pm

Yeah, it might make sense to replace this sort of script code:

Code: Select all

logged_in_user=$(who | grep -m 1 "." | awk '{print $1}')
if [ -z "$logged_in_user" ]; then
        q3l_user="pi"
else
        q3l_user="$logged_in_user"
fi
if [ $(dirname "$0") = "." ]; then
        q3l_compile_path=$PWD
else
        q3l_compile_path=$(dirname "$0")
fi
inst_upd="no"
q3user="quake3"
q3l_homepath="/home/$q3l_user/.q3a"
...
with just $USER and $HOME. Although I can understand having a home directory that doesn't contain the user's name is a niche case that cdev-tux didn't test for.
Last edited by jdonald on Thu Jan 11, 2018 4:33 am, edited 1 time in total.

User avatar
cdev-tux
Posts: 39
Joined: Tue Sep 26, 2017 5:12 am
Contact: Website

Re: Q3lite - Quake III Arena for the Raspberry Pi

Thu Jan 11, 2018 3:34 am

That’s great feedback. Thank you jdonald for your help with the renamed Broadcom library issue. Thank you misho.pitrov for your help with the user home directory issue.

I pushed a fix to the repository to correct both of these issues. The compile/install script now has the logic to correctly determine the logged in user’s home directory. The script runs as root, so the $HOME variable points to root’s home directory. However, I was able to get around that.

The renamed Broadcom library issue should be fixed as well. It will use the new libbrcmEGL.so and libbrcmGLESv2.so libraries if available; otherwise it will use the old libraries for compatibility with older versions of Raspbian.

@misho.petrov, you’ll need to compile and install the “dev” branch (the default) to get these latest changes. Please try the new code and let me know if you have any issues.
cdev-tux
Q3lite source code: https://github.com/cdev-tux/q3lite
Documentation, game FAQ and Compiling/Installation Guide: https://github.com/cdev-tux/q3lite/wiki

User avatar
misho.petrov
Posts: 46
Joined: Mon Oct 21, 2013 8:52 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Thu Jan 11, 2018 6:39 pm

The result:

- this edition installed flawlessly on RPi2 with Stretch Lite, upgraded and updated.
- "sudo q3lite" is not working - "command not found"

I'm trying to launch the game, using "sudo ./quake3.armv7l" at the release folder but:
- I'm using the pak0.pk3 Quake 3 DEMO release (the initial version with only 3 levels) but I'm getting this message"

Code: Select all

**************************************************
WARNING: baseq3/pak0.pk3 is present but its checksum (2985612116)
is not correct. Please re-copy pak0.pk3 from your
legitimate Q3 CDROM.
**************************************************
- also getting this message beneath the upper rows:

Code: Select all

Point Release files are missing. Please re-install the 1.32 point release. Also check that your ioq3 executable is in the correct place and that every file in the "baseq3" directory is present and readable
1. RPi B 512 MB + Sandisk 2GB c4, vesa mount;
2. RPi B 512 MB + Hama 16GB c10, heat sinks, micro fan, built-in lead-acid battery, duplicated factory plugs, 4,3" TFT, usb mini wireless keyboard, TDA2822 and speakers;
3. RPi 2 + Maxell 16GB c10.

User avatar
cdev-tux
Posts: 39
Joined: Tue Sep 26, 2017 5:12 am
Contact: Website

Re: Q3lite - Quake III Arena for the Raspberry Pi

Thu Jan 11, 2018 7:19 pm

misho.petrov wrote:
Thu Jan 11, 2018 6:39 pm

- "sudo q3lite" is not working - "command not found"

Check to see if you have the file /usr/local/bin/q3lite. Also verify that /usr/local/bin is in your path with "echo $PATH".
misho.petrov wrote:
Thu Jan 11, 2018 6:39 pm

I'm trying to launch the game, using "sudo ./quake3.armv7l" at the release folder but:
- I'm using the pak0.pk3 Quake 3 DEMO release (the initial version with only 3 levels) but I'm getting this message"

Code: Select all

**************************************************
WARNING: baseq3/pak0.pk3 is present but its checksum (2985612116)
is not correct. Please re-copy pak0.pk3 from your
legitimate Q3 CDROM.
**************************************************

You'll need to make some modifications to get the pak0.pk3 from the demo version to work with ioquake3. The ioquake3 guys have instructions on how to get it to work here:

http://wiki.ioquake3.org/Players_Guide# ... Data_Files

Updated instructions here:

https://discourse.ioquake.org/t/what-do ... ain/1097/4

I haven't tried the demo version files, so I don't know of anything else to try if it doesn't work. After you make the modifications that the ioquake3 wiki recommends, see if you're still getting the point release error message. I hope that helps to get things working for you.
Last edited by cdev-tux on Sat Mar 17, 2018 8:33 am, edited 1 time in total.
cdev-tux
Q3lite source code: https://github.com/cdev-tux/q3lite
Documentation, game FAQ and Compiling/Installation Guide: https://github.com/cdev-tux/q3lite/wiki

ztealmax
Posts: 67
Joined: Sat Aug 19, 2017 5:19 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Fri Jan 19, 2018 12:08 am

Hey first of all thank you for doing this >D
Now for my problem can't get q3lite running

have allready compiled raspbianquake3 and it runs ok on opengles (Raspbian-stretch)

so i followed your instructions to compile q3lite, and all went well and follow the instructions
trying to start it i get this message:

Code: Select all

Q3lite v1.0.1 linux-armv7l Jan 18 2018
----- FS_Startup -----
We are looking in the current search path:
/home/pi/.q3a/baseq3
/home/pi/.q3a/baseq3/pak8.pk3 (9 files)
/home/pi/.q3a/baseq3/pak7.pk3 (4 files)
/home/pi/.q3a/baseq3/pak6.pk3 (64 files)
/home/pi/.q3a/baseq3/pak5.pk3 (7 files)
/home/pi/.q3a/baseq3/pak4.pk3 (272 files)
/home/pi/.q3a/baseq3/pak3.pk3 (4 files)
/home/pi/.q3a/baseq3/pak2.pk3 (148 files)
/home/pi/.q3a/baseq3/pak1.pk3 (26 files)
/home/pi/.q3a/baseq3/pak0.pk3 (3539 files)
./baseq3
    
----------------------
4073 files in pk3 files
execing default.cfg
execing q3config.cfg
execing autoexec.cfg
Hunk_Clear: reset the hunk ok
----- Client Initialization -----
Couldn't read q3history.
----- Initializing Renderer ----
-------------------------------
QKEY found.
----- Client Initialization Complete -----
----- R_Init -----
SDL using driver "RPI"
Initializing OpenGL display
Display aspect: 1.778
...setting mode -2: 1920 1080
Couldn't get a visual
...WARNING: could not set the given mode (-2)
Initializing OpenGL display
Display aspect: 1.778
...setting mode -2: 1920 1080
Couldn't get a visual
...WARNING: could not set the given mode (-2)
----- Client Shutdown (Client fatal crashed: GLimp_Init() - could not load OpenGL subsystem) -----
RE_Shutdown( 1 )
Hunk_Clear: reset the hunk ok
-----------------------
GLimp_Init() - could not load OpenGL subsystem

any idea what might be wrong?

Sincerally
Martin

User avatar
cdev-tux
Posts: 39
Joined: Tue Sep 26, 2017 5:12 am
Contact: Website

Re: Q3lite - Quake III Arena for the Raspberry Pi

Fri Jan 19, 2018 1:32 am

ztealmax wrote:
Fri Jan 19, 2018 12:08 am

any idea what might be wrong?

Sincerally
Martin

Hi Martin,

Try compiling again with the default "dev" code branch. It has additional bug fixes which should solve your issue. Let me know if that works for you. Thanks.
cdev-tux
Q3lite source code: https://github.com/cdev-tux/q3lite
Documentation, game FAQ and Compiling/Installation Guide: https://github.com/cdev-tux/q3lite/wiki

ztealmax
Posts: 67
Joined: Sat Aug 19, 2017 5:19 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Sat Jan 20, 2018 12:25 am

cdev-tux wrote:
Fri Jan 19, 2018 1:32 am
ztealmax wrote:
Fri Jan 19, 2018 12:08 am

any idea what might be wrong?

Sincerally
Martin

Hi Martin,

Try compiling again with the default "dev" code branch. It has additional bug fixes which should solve your issue. Let me know if that works for you. Thanks.

Thank you it worked, also needed to run sudo rpi-update, after then it started up

However, it wont save config files such as keymaps etc, any idea why?

Might it be that q3lite somehow hardcoded so it want to save config files in user: pi home dir?
as i dont have that user on my pi-workstation

Sincerally
Martin

User avatar
cdev-tux
Posts: 39
Joined: Tue Sep 26, 2017 5:12 am
Contact: Website

Re: Q3lite - Quake III Arena for the Raspberry Pi

Sat Jan 20, 2018 1:55 am

ztealmax wrote:
Sat Jan 20, 2018 12:25 am

However, it wont save config files such as keymaps etc, any idea why?

Glad it worked for you. The default directory for config files is /home/pi/.q3a/baseq3, but if the user name is different than “pi” then the installer should detect the logged in user’s home directory and create a subdirectory there named .q3a/baseq3. Make sure your file manager is set to show hidden directories or it won't be visible.
cdev-tux
Q3lite source code: https://github.com/cdev-tux/q3lite
Documentation, game FAQ and Compiling/Installation Guide: https://github.com/cdev-tux/q3lite/wiki

ztealmax
Posts: 67
Joined: Sat Aug 19, 2017 5:19 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Sat Jan 20, 2018 1:29 pm

cdev-tux wrote:
Sat Jan 20, 2018 1:55 am
ztealmax wrote:
Sat Jan 20, 2018 12:25 am

However, it wont save config files such as keymaps etc, any idea why?

Glad it worked for you. The default directory for config files is /home/pi/.q3a/baseq3, but if the user name is different than “pi” then the installer should detect the logged in user’s home directory and create a subdirectory there named .q3a/baseq3. Make sure your file manager is set to show hidden directories or it won't be visible.
Well it does create .q3a under my home directory so that works as it should but it doesnt remember keymap for game, so iguess it cant find the correct path to store the config file in?

User avatar
cdev-tux
Posts: 39
Joined: Tue Sep 26, 2017 5:12 am
Contact: Website

Re: Q3lite - Quake III Arena for the Raspberry Pi

Sat Jan 20, 2018 3:23 pm

ztealmax wrote:
Sat Jan 20, 2018 1:29 pm
Well it does create .q3a under my home directory so that works as it should but it doesnt remember keymap for game, so iguess it cant find the correct path to store the config file in?

Take a look at the ~/.q3a/baseq3/autoexec.cfg file. There’s a section at the beginning of the file entitled “Binds” for defining key bindings. You can define your key bindings there so they’re loaded when the game starts. You can also comment out that section with a “//” at the beginning of each line and set all of your key bindings in the game menu instead.
cdev-tux
Q3lite source code: https://github.com/cdev-tux/q3lite
Documentation, game FAQ and Compiling/Installation Guide: https://github.com/cdev-tux/q3lite/wiki

ztealmax
Posts: 67
Joined: Sat Aug 19, 2017 5:19 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Sat Jan 20, 2018 4:02 pm

cdev-tux wrote:
Sat Jan 20, 2018 3:23 pm
ztealmax wrote:
Sat Jan 20, 2018 1:29 pm
Well it does create .q3a under my home directory so that works as it should but it doesnt remember keymap for game, so iguess it cant find the correct path to store the config file in?

Take a look at the ~/.q3a/baseq3/autoexec.cfg file. There’s a section at the beginning of the file entitled “Binds” for defining key bindings. You can define your key bindings there so they’re loaded when the game starts. You can also comment out that section with a “//” at the beginning of each line and set all of your key bindings in the game menu instead.
ill try that thank you m8 :)

ztealmax
Posts: 67
Joined: Sat Aug 19, 2017 5:19 pm

Re: Q3lite - Quake III Arena for the Raspberry Pi

Sat Jan 20, 2018 7:51 pm

Now for a different problem, it doesnt create menu entry games/q3lite/ .....

What it does is it creates a new menu entry called Other/and links end up there but only until i reboot then it disapears completely, is this couse of its a dev version?

Return to “Gaming”

Who is online

Users browsing this forum: No registered users and 5 guests