Announcement

Collapse
No announcement yet.

Getting Qrack to compile in Linux (Ubuntu 9.10) Video included!

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

  • Getting Qrack to compile in Linux (Ubuntu 9.10) Video included!

    Welcome everyone,


    In this guide I will be showing you my method of getting Qrack 1.60.1 compiled inside Linux (Ubuntu 9.10). While its pretty straight forwards to do, I understand most people who switch over to Linux haven't a clue when it comes time to compiling their own programs.

    DEPENDENCIES FIRST!
    required packages in order to properly compile Qrack 1.60.1 SRC!

    Ok so I broke down and went an extra mile for you guys/gals and installed a fresh copy of Linux using Oracle VM VirtualBox and recompiled The Qrack source on a fresh no dependencies having Linux OS. Below are the required packages and if you're using Ubuntu I'll make it even easier by including the command to install them!

    libpng12-dev
    libgl1-mesa-dev
    libjpeg-dev
    libxxf86dga-dev
    x11proto-xf86vidmode-dev
    libxext-dev
    libxxf86vm-dev
    libsdl1.2-dev

    Type this into your Ubuntu Terminal:
    sudo apt-get install libpng12-dev libgl1-mesa-dev libjpeg-dev libxxf86dga-dev x11proto-xf86vidmode-dev libxext-dev libxxf86vm-dev libsdl1.2-dev


    The first step is to grab yourself some Qrack 1.60.1 Source code!

    Head over to Quakeone.com's file section and download the qrack 1.60.1 src file from the handful of available links. Save it to a easy to remember spot (preferable your desktop) as we will soon be extracting all the contents to a folder and preparing ourselves to compile Qrack!

    Once you've downloaded the qrack 1.60.1 src its time to extract the contents, right-click and select "Extract Here" which should extract all the contents of the compressed file onto your desktop (or wherever you chose to hide it), congratulations! Qrack 1.60.1 for Linux! Oh wait, compiling thats right!

    Open a terminal and "cd" to the Qrack 1.60.1 folder (even noobs should know how to do this.) usually the command will be similar to "cd /home/username/Desktop/qrack-1.60.1-src"

    Once you've cd'd into the Qrack 1.60.1 src directory its time to compile! cross your fingers then type "make release" (without quotations) and the compiling shall commence!

    Once the compiling completes ( It probably compiled flawlessly right? hehe) you will have 3 new files inside your "/home/username/Desktop/qrack-1.60.1-src/quake" named qrack-glx, qrack-sdl and dzip. Copy all 3 files into your working Quake directory and double-click either qrack-glx or qrack-sdl.

    NEED FULLSCREEN?
    To get fullscreen working you'll need to to go a terminal, type in the full path to your newly compiled Qrack program you'll need to provide the path to your Qrack program and append "-fullscreen" to the end of the command.

    Example of me running the command to use qrack-sdl in fullscreen from terminal.

    /path/to/quake/qrack-sdl -fullscreen -width 1440 -height 900

    just edit the path to quake to your actual quake dir then append the command for "-FULLSCREEN"


    IN CASE OF ERROR!
    Post the output of your "make release" to this forum if you receive any errors and I'll do my best to help you fix such issues. I am not a Linux guru however so let it be known!

    Hope this helps and I will build onto this as questions get solved!


    **Note***
    /*Notice how I ran qrack-glx form the terminal*/
    qrack-glx has a sound issue for me so I end up always using qrack-sdl which works great!
    Last edited by Phenom; 09-21-2012, 11:39 AM.
    QuakeOne.com
    Quake One Resurrection

    QuakeOne.com/qrack
    Great Quake engine

    Qrack 1.60.1 Ubuntu Guide
    Get Qrack 1.60.1 running in Ubuntu!

  • #2
    Sweet! I'll have to put my kubuntu machine back together and give that a shot.
    Then I can at least add features between 1.60 - 2.0 into that version. I can tell ya real-time resolution switching will be a bugger, but things along the openGL line will migrate without any changes. There's also Quore, DarkPlaces, FitzQuake, and ProQuake available for Linux too!
    www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

    Comment


    • #3
      Thanks R00k! I've been looking to see an updates Qrack for Linux for a while now

      DarkPlaces for Linux is pretty easy to use, just unzip and double-click... however I prefer Qrack over DP for Multi-player!

      g-night!
      QuakeOne.com
      Quake One Resurrection

      QuakeOne.com/qrack
      Great Quake engine

      Qrack 1.60.1 Ubuntu Guide
      Get Qrack 1.60.1 running in Ubuntu!

      Comment


      • #4
        I will try this, looks easy, however I did try running DP and it did not run, that was in Kubuntu X64. Do u have to rename all the files to lower case letters?
        I also wanna know how it runs compared to windows?

        Comment


        • #5
          Originally posted by AAA View Post
          I will try this, looks easy, however I did try running DP and it did not run, that was in Kubuntu X64. Do u have to rename all the files to lower case letters?
          I also wanna know how it runs compared to windows?
          the PAK.PAK files should be changed to all lower case (i.e pak0.pak) and the ID1 folder should also be lower case letters.
          QuakeOne.com
          Quake One Resurrection

          QuakeOne.com/qrack
          Great Quake engine

          Qrack 1.60.1 Ubuntu Guide
          Get Qrack 1.60.1 running in Ubuntu!

          Comment


          • #6
            Thanks Phenom for the demo.

            Here a quick patch to make Qrack runs on 64bit:

            http://quore.free.fr/download/qrack-1.60.1-src.patch

            to apply it:

            Code:
            cd qrack-1.60.1-src && patch < ../qrack-1.60.1-src.patch
            engine: quore.free.fr

            Comment


            • #7
              Originally posted by lxndr View Post
              Thanks Phenom for the demo.

              Here a quick patch to make Qrack runs on 64bit:

              http://quore.free.fr/download/qrack-1.60.1-src.patch

              to apply it:

              Code:
              cd qrack-1.60.1-src && patch < ../qrack-1.60.1-src.patch
              Thanks for the contribution lxndr!
              QuakeOne.com
              Quake One Resurrection

              QuakeOne.com/qrack
              Great Quake engine

              Qrack 1.60.1 Ubuntu Guide
              Get Qrack 1.60.1 running in Ubuntu!

              Comment


              • #8
                I'm double posting but at least I bring good news!

                I've updated this guide to include the required dependencies and how to install them!
                QuakeOne.com
                Quake One Resurrection

                QuakeOne.com/qrack
                Great Quake engine

                Qrack 1.60.1 Ubuntu Guide
                Get Qrack 1.60.1 running in Ubuntu!

                Comment


                • #9
                  Originally posted by R00k View Post
                  Sweet! I'll have to put my kubuntu machine back together and give that a shot.
                  Then I can at least add features between 1.60 - 2.0 into that version. I can tell ya real-time resolution switching will be a bugger, but things along the openGL line will migrate without any changes. There's also Quore, DarkPlaces, FitzQuake, and ProQuake available for Linux too!
                  I haven't checked recently, but the last time I tried Fitz SDL, hmm, no.
                  But there is something for Fitzquake lovers - Quakespasm. I use it all the time, works great, compiles immediately. They even provide both 32 and 64bit binaries along the source. Great stuff.

                  Comment


                  • #10
                    Success! I've reinstalled Ubuntu 10 and followed your instructions and have Qrack compiled without any problems. I had to rename all files that used UPPERCASE (ID1, PAK0, PAK1), but now it runs! Though. my mouse doesnt aim for me even though m_look 1 is on. Yet I can shoot and jump with the mouse buttons, hmm. Also I cant seem to get it to go fullscreen. But hey at least I have a compiled version. I can now download CodeBlocks and start upgrading the Linux version from 1.60. Thanks again Phenom for the how-to, and the push to get Linux Qrack moving forward.
                    www.quakeone.com/qrack | www.quakeone.com/cax| http://en.twitch.tv/sputnikutah

                    Comment


                    • #11
                      Originally posted by R00k View Post
                      Also I cant seem to get it to go fullscreen.
                      You might try running this command in a terminal (edit for your Linux installation)

                      /path/to/quake/qrack-sdl -fullscreen -width 800 -height 600

                      just edit the path to quake to your actual quake dir then append the command for "-FULLSCREEN"

                      let me know if that worked!

                      Thanks for pushing forward with Qrack for Linux R00k!
                      Last edited by Phenom; 09-06-2010, 01:35 PM.
                      QuakeOne.com
                      Quake One Resurrection

                      QuakeOne.com/qrack
                      Great Quake engine

                      Qrack 1.60.1 Ubuntu Guide
                      Get Qrack 1.60.1 running in Ubuntu!

                      Comment


                      • #12
                        Ubuntu 10.4 lts

                        Works like a champ.
                        I was missing those audio dependencies.
                        Now ALL my Clients seem to work including the glx.
                        Finally free of MS and 25 less ping to boot!
                        THANK YOU!!!

                        *gropes around for the xmame*
                        *mumbles*
                        now wheres that old TooBin ROM?
                        Ahh there it is between Defender and Joust... giggles...
                        Last edited by bluntz; 09-15-2010, 05:15 PM.
                        WARNING
                        May be too intense for some viewers.
                        Stress Relief Device
                        ....BANG HEAD HERE....
                        ---------------------------
                        .
                        .
                        .
                        .
                        .--------------------------

                        Comment


                        • #13
                          After extracking the qrack source, and patching the source files like lxndr showed how to do.

                          Code:
                          cd qrack-1.60.1-src && patch < /home/ler/Desktop/qrack-1.60.1-src.patch
                          patching file cl_main.c
                          patching file cmdhist.dat
                          patching file host_cmd.c
                          patching file pr_cmds.c
                          patching file pr_edict.c
                          patching file pr_exec.c
                          patching file progs.h
                          patching file sv_main.c
                          then doing the make release, as phenom showed to do.

                          Code:
                          make release
                          
                          ** Release Build **
                            Compiling >> cl_demo.c ...
                            Compiling >> cl_input.c ...
                            Compiling >> cl_main.c ...
                            Compiling >> cl_parse.c ...
                            Compiling >> cl_tent.c ...
                            Compiling >> chase.c ...
                            Compiling >> cmd.c ...
                            Compiling >> common.c ...
                            Compiling >> console.c ...
                            Compiling >> crc.c ...
                            Compiling >> cvar.c ...
                            Compiling >> corona.c ...
                            Compiling >> gl_draw.c ...
                            Compiling >> gl_image.c ...
                            Compiling >> gl_mesh.c ...
                            Compiling >> gl_model.c ...
                            Compiling >> gl_refrag.c ...
                            Compiling >> gl_rlight.c ...
                            Compiling >> gl_rmain.c ...
                            Compiling >> gl_rmisc.c ...
                            Compiling >> gl_rpart.c ...
                            Compiling >> gl_rsurf.c ...
                            Compiling >> gl_screen.c ...
                            Compiling >> gl_smokes.c ...
                            Compiling >> gl_warp.c ...
                            Compiling >> host.c ...
                            Compiling >> host_cmd.c ...
                            Compiling >> iplog.c ...
                            Compiling >> keys.c ...
                            Compiling >> location.c ...
                            Compiling >> menu.c ...
                            Compiling >> mathlib.c ...
                            Compiling >> nehahra.c ...
                            Compiling >> net_dgrm.c ...
                            Compiling >> net_loop.c ...
                            Compiling >> net_main.c ...
                            Compiling >> net_vcr.c ...
                            Compiling >> net_udp.c ...
                            Compiling >> net_bsd.c ...
                            Compiling >> pr_cmds.c ...
                            Compiling >> pr_edict.c ...
                            Compiling >> pr_exec.c ...
                            Compiling >> r_part.c ...
                            Compiling >> sbar.c ...
                            Compiling >> slist.c ...
                            Compiling >> sv_main.c ...
                          sv_main.c: In function �SV_SendServerinfo�:
                          sv_main.c:199: warning: format not a string literal and no format arguments
                            Compiling >> sv_phys.c ...
                            Compiling >> sv_move.c ...
                            Compiling >> sv_user.c ...
                            Compiling >> zone.c ...
                            Compiling >> view.c ...
                            Compiling >> version.c ...
                            Compiling >> wad.c ...
                            Compiling >> world.c ...
                          world.c: In function �SV_TouchLinks�:
                          world.c:267: warning: cast from pointer to integer of different size
                          world.c: In function �SV_ClipToLinks�:
                          world.c:723: warning: cast from pointer to integer of different size
                            Compiling >> sys_unix.c ...
                            Compiling >> snd_dma.c ...
                            Compiling >> snd_mem.c ...
                          snd_mem.c: In function �DumpChunks�:
                          snd_mem.c:234: warning: cast from pointer to integer of different size
                            Compiling >> snd_mix.c ...
                            Compiling >> vid_common_gl.c ...
                            Compiling >> vid_glx.c ...
                            Compiling >> snd_oss.c ...
                            Compiling >> cd_unix.c ...
                          
                          **Built quake/qrack-glx client with cflags:
                          gcc 4.4.1
                          -I/usr/local/include -I/usr/X11R6/include -Dstricmp=strcasecmp -DGLQUAKE -DBASEDIR='.' -fno-strict-aliasing 
                          
                          **Linking quake/qrack-glx client with flags:
                          -lm -pthread -ldl
                          -L/usr/X11R6/lib64 -lX11 -lXext -lXxf86vm -lXxf86dga
                          -L/usr/local/lib64 -L/usr/X11R6/lib64 -lGL -ljpeg -lpng12
                          
                          
                            Compiling >> cd_sdl.c ...
                            Compiling >> snd_sdl.c ...
                          
                          **Built quake/qrack-sdl client with cflags:
                          gcc 4.4.1
                          -I/usr/local/include -I/usr/X11R6/include -Dstricmp=strcasecmp -DGLQUAKE -DBASEDIR='.' -fno-strict-aliasing 
                          
                          **Linking quake/qrack-sdl client with flags:
                          -lm -pthread -ldl
                          -L/usr/X11R6/lib64 -lX11 -lXext -lXxf86vm -lXxf86dga
                          -L/usr/lib -lSDL
                          -L/usr/local/lib64 -L/usr/X11R6/lib64 -lGL -ljpeg -lpng12
                          
                          
                            Compiling >> dz29src/main.c ...
                            Compiling >> dz29src/compress.c ...
                            Compiling >> dz29src/uncompress.c ...
                            Compiling >> dz29src/list.c ...
                            Compiling >> dz29src/crc32.c ...
                            Compiling >> dz29src/encode.c ...
                            Compiling >> dz29src/decode.c ...
                            Compiling >> dz29src/v1code.c ...
                            Compiling >> dz29src/conmain.c ...
                            Compiling >> dz29src/delete.c ...
                            Compiling >> dz29src/zlib/adler32.c ...
                            Compiling >> dz29src/zlib/deflate.c ...
                            Compiling >> dz29src/zlib/trees.c ...
                            Compiling >> dz29src/zlib/inflate.c ...
                            Compiling >> dz29src/zlib/infblock.c ...
                            Compiling >> dz29src/zlib/inftrees.c ...
                            Compiling >> dz29src/zlib/infcodes.c ...
                            Compiling >> dz29src/zlib/infutil.c ...
                            Compiling >> dz29src/zlib/inffast.c ...
                          
                          **Built quake/dzip with cflags:
                          gcc 4.4.1
                          -I/usr/local/include -I/usr/X11R6/include -Dstricmp=strcasecmp -DGLQUAKE -DBASEDIR='.' -fno-strict-aliasing 
                          
                          **Linking quake/dzip with flags:
                          -lm -pthread -ldl
                          
                          
                          Compilation finished succesfully ;)
                          
                          'make install' to install in your quake home dir.
                          
                          'make install_root' if was built with DATADIR option enabled, you must gain root privileges.
                          Then relocating the qrack-sdl and etc files to my quake folder, where i've already extracked qrack 1.60, with its pak0/pak1 and pakX which i renamed to pak2.pak

                          running it in fullscreen with ./qrack-sdl -fullscreen 1680

                          It works, however i get these errors and i can't load anymaps, also i had difficulty exiting it because if you did quit;y it'd say "y" unknown command, so i found if i went to quit in the menu and hit enter then y and then ESC! which i didn't hit before ... it will actually close the qrack window.

                          Code:
                          Console initialized
                          UDP Initialized
                          Using XFree86-VidModeExtension Version 2.2
                          GL_VENDOR: NVIDIA Corporation
                          GL_RENDERER: GeForce 9800 GT/PCI/SSE2
                          GL_VERSION: 3.0.0 NVIDIA 185.18.36
                          Multitexture extensions found
                          Enabled 4 texture units on hardware
                          Video mode 800x600 initialized.
                          Couldn't load corona1 image
                          Couldn't load particlefont image
                          Couldn't load water_caustic image
                          Couldn't load solidskytexture image
                          Couldn't load alphaskytexture image
                          Sound sampling rate: 48000 Hz
                          CDAudio_Init: No CD in drive.
                          CDAudio_Init: CD contains no audio tracks.
                          CD Audio Initialized.
                          Exe: 12:06:30 Sep 22 2010
                          Hunk allocation: 128.0 MB
                          
                          Qrack version 1.60 (build 3131)
                          
                          
                           Qrack Initialized 
                          execing quake.rc
                          execing config.cfg
                          execing autoexec.cfg
                          Unknown command "cvar_reset_all"
                          Unknown command "joystick"
                          Unknown command "pq_waterblend"
                          Unknown command "pq_quadblend"
                          Unknown command "pq_pentblend"
                          Unknown command "pq_ringblend"
                          'wad' is not a field
                          CALL3      722(bound)bound()    
                              world.qc : damagescaleupdate
                              world.qc : worldspawn
                          <NO FUNCTION>
                          Bad builtin call number
                          
                          ===========================
                          Host_Error: Program error
                          ===========================
                          
                          couldn't exec serv.cfg
                          press ESC for menu. 
                          'wad' is not a field
                          CALL3      722(bound)bound()    
                              world.qc : damagescaleupdate
                              world.qc : worldspawn
                              world.qc : damagescaleupdate
                          Bad builtin call number
                          
                          ===========================
                          Host_Error: Program error
                          ===========================
                          
                          ]
                          ]map start
                          'wad' is not a field
                          CALL3      722(bound)bound()    
                              world.qc : damagescaleupdate
                              world.qc : worldspawn
                              world.qc : damagescaleupdate
                          Bad builtin call number
                          
                          ===========================
                          Host_Error: Program error
                          ===========================
                          Prior to the patching as i did try to run it once without the patch and it compiled with 0 errors as phenom showed before, however, when i went to run that compiled version without the patch, it froze my desktop and i had to hard down the pc. =(

                          Anyho... just figured i'd post this here.

                          It technically runs... as i can see console, and menu.... but can't load any maps.

                          Get that weird wad error.

                          Comment


                          • #14
                            Originally posted by Lerster View Post
                            It technically runs... as i can see console, and menu.... but can't load any maps.

                            Get that weird wad error.
                            Try this,

                            Open a terminal.

                            cd to your quake folder (i.e /home/jeremy/quake)

                            issue the command ./qrack-sdl (or qrack-glx)

                            I get the "Error: W_LoadWadFile: couldn't load gfx.wad" when I try to run qrack-sdl binary using the command "home/jeremy/quake/qrack-sdl", however cd'ing into the quake dir then executing qrack-sdl solved this. GL HF!

                            I had some issues trying to run it directly from double clicking the qrack binaries also with the launcher I created for it. I'm not a Linux Guru but I'm getting there
                            QuakeOne.com
                            Quake One Resurrection

                            QuakeOne.com/qrack
                            Great Quake engine

                            Qrack 1.60.1 Ubuntu Guide
                            Get Qrack 1.60.1 running in Ubuntu!

                            Comment


                            • #15
                              i was in the quake folder, via terminal... rather i did cd into that directory prior to the ./qrack-sdl

                              to execute it still whines, perhaps if i try the -basedir command donno if qrack has that or not, it might b/c proquake had that command tho i never needed to use it for proquake or any other client before.

                              I'm assuming that something is screwed in it heh.

                              Comment

                              Working...
                              X