User avatar
cdev-tux
Posts: 9
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

Enjoy Q3lite.

cdev-tux
Last edited by cdev-tux on Sat Jan 13, 2018 9:51 pm, edited 2 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: 9
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

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: 30
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: 9
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 is designed for the Broadcom driver, that’s why the Mesa driver isn’t listed in the prerequisites section of the Compiling/Installation Guide. I didn’t write the OpenGL ES renderer, I just added it to the latest ioquake3 codebase. 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 Tue Jan 09, 2018 10:09 pm, edited 1 time in total.
cdev-tux

User avatar
cdev-tux
Posts: 9
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

User avatar
misho.petrov
Posts: 45
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: 9
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

User avatar
misho.petrov
Posts: 45
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

misho@rpi3:~ $ 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: 30
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: 45
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: 30
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: 9
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

User avatar
misho.petrov
Posts: 45
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: 9
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

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.
cdev-tux

Return to “Gaming”

Who is online

Users browsing this forum: No registered users and 12 guests