-O3 -mtune i686 -msse -mfpmath=sse -pipe -fomit-frame-pointer
Code: [Select]-O3 -mtune i686 -msse -mfpmath=sse -pipe -fomit-frame-pointer
Basically I enabled better optimization, set the compiler to use SSE for floating point math instead of the old pentium I/II style.
Afterwards I used "strip -s fs2_open_r" to remove any unused libraries that got statically compiled in (16mb -> 3mb)
... I'm a former gentoo user :P (kubuntu now)
Hm link doesn't work and I can't compile it with "-mtune i686" CFLAG
Cause you are using Kubuntu: Do you have tried it with Feisty? I've massiv slowdowns when using the CVS (and I can use the same binary with Edgy without problems)
Hm link doesn't work and I can't compile it with "-mtune i686" CFLAG
Cause you are using Kubuntu: Do you have tried it with Feisty? I've massiv slowdowns when using the CVS (and I can use the same binary with Edgy without problems)
What kind of CPU do you have? I can tailor a build more to your chip, see if that helps...
Hmm there are different kinds of Athlon 64.
Can you run this in a terminal:
cat /proc/cpuinfo
If you have more than one listing, just pick one. I need the information from the sections: "Model Name" and "Stepping"
model name : AMD Athlon(tm) 64 Processor 3000+
stepping : 0
processor : 0
vendor_id : AuthenticAMD
cpu family : 15
model : 12
model name : AMD Athlon(tm) 64 Processor 3000+
stepping : 0
cpu MHz : 2000.224
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow up lahf_lm ts fid vid ttp
bogomips : 4004.11
clflush size : 64
Note that using -march=althlon64 is supposed to automatically imply that MMX/SSE/SSE2/3DNow/3DNow-enhanced are enabled, so you really don't have to specify them yourself. -mfpmath=sse is also the default, and doesn't need to be specified, when building for athlon64. And technically you are supposed to use -m64 to get a fully tuned 64-bit binary on athlon64, but that's largely impossible to do if you don't have the 64-bit stuff to link against.
First of all:
Thank you very much for your help!
But I still got these strange slowdowns...its like playing the game in slow-motion or so...seems to be some kind of feisty-problem then, I hope it wont appear in the final :blah:
I chose -m32 to build a 32-bit binary (he is running 32-bit)Oops! I skipped over the part where he mentioned that. :D
I also use a built-in RealTeK.
I've tried warsow in feisty and it worked without any slowdowns. Have no idea why fs2 works like a charm in edgy but not in feisty...well but feisty is still beta ;)
btw: when will 3.6.9 Final for Linux be released? ;)At some point tonight. I need to do a final test of the installer and then upload, but that's it.
-O3 -mtune i686 -msse -mfpmath=sse -pipe -fomit-frame-pointerWhy -mtune, and not -march?
Sorry, but I still haven't had the chance to test it all properly. I've made quite a few changes to how it works and I don't have time to get a proper setup to test all of the changes as I should. So I'm just going to upload what I've got, someone can test it, and then let me know. If it works ok then I'll post the link in all of the proper places.A quick $ chmod +x fs2_open-3.6.9.run && ./fs2_open-3.6.9.run gave me this,
This is a departure from how I've done it in the past, the 32-bit and 64-bit binaries are in the same installer now. Hurts for downloaders (23meg file), but it's going to be far easier on me from now on if this works well. It will only install the files that match your architecture, so it should be just as easy as it used to be. Two other changes of note: 1) it will install both release and debug builds, but the debug build is optional and can be installed or uninstalled separately, and 2) I have included the xmodmap tweak from the Wiki in the startup scripts, so if you have a ~/.fs2_open/xmodmap in order to use non-US keyboards then the script will make use of it.
Oh, and the only thing that really needs testing is the 32-bit stuff. That's the only thing that I couldn't test to make sure that it installed all of the proper files.
So, someone grab it and let me know: http://fs2source.warpcore.org/exes/linux/fs2_open-3.6.9.run
(side-note: I also updated the OS X build to be current, and also updated the tarball to get rid of some code errors that I didn't notice before)
Verifying archive integrity... All good.
Uncompressing FreeSpace 2 Open...
/home/ni1s/.setup12001: error while loading shared libraries: libgtk-1.2.so.0: cannot open shared object file: No such file or directory
Which is not surprising, considering I don't have GTK+1 installed. Don't most people have GTK+2 now a days?ERROR: "Unrecognized operator. In sexpression: ( when ( and ( key-pressed "Shift-Pad +" ) ( key-pressed "Shift-Pad Enter" ) )
( send-message "Green 2" "High" "Open Comms Menu" ) ( change-iff " at mission/missionparse.cpp:5798
I am using the x86 builds.
Couldn't run FreeSpace 2 Open (fs2_open.bin). Is FSO_DATA_PATH set?
/usr/local/bin/fs2_open: 3: cannot open /home/chaotic/.fs2_open/xmodmap.save
FSO_MODMAP=/home/chaotic/.fs2_open/xmodmap: No such file
The startscript doesn't work here...Does $ export FSO_DATA_PATH="/path/to/fs2" && ./fs2_open work?Code: [Select]Couldn't run FreeSpace 2 Open (fs2_open.bin). Is FSO_DATA_PATH set?
/usr/local/bin/fs2_open: 3: cannot open /home/chaotic/.fs2_open/xmodmap.save
FSO_MODMAP=/home/chaotic/.fs2_open/xmodmap: No such file
when I try it with ./fs2_open in my fs2 directory it works...
Which is not surprising, considering I don't have GTK+1 installed. Don't most people have GTK+2 now a days?That's just the dependency of the installer binary. I really do need to rebuild them with GTK2 support, though I haven't ever tested that and I'm not sure how complete that support is at the moment.
I can of course --target foo and take what I need, but that kinda nullifies the point of the installer. So can we up the GTK+ dep. a bit?
PS: does this final still need -jpgtga or is it just like in the cvs?Yeah, it still uses/needs -jpgtga. You can just use -img2dds, which implies -jpgtga, since that option is supported by both older and current builds.
-O3 -mtune i686 -msse -mfpmath=sse -pipe -fomit-frame-pointerWhy -mtune, and not -march?
-mtune=cpu-type
Tune to cpu-type everything applicable about the generated code, except for the ABI and the set of available instructions.
-march=cpu-type
Generate instructions for the machine type cpu-type. The choices for cpu-type are the same as for -mtune. Moreover, specifying -march=cpu-type implies -mtune=cpu-type.
Does $ export FSO_DATA_PATH="/path/to/fs2" && ./fs2_open work?
Yeah, it still uses/needs -jpgtga. You can just use -img2dds, which implies -jpgtga, since that option is supported by both older and current builds.
#!/bin/bash
cd /path/to/your/freespace/
./fs2_open_r spec -glow -mipmap -missile_lighting -dualscanlines -targetinfo -rearm_timer -ballistic_gauge -3dwarp -warp_flash -snd_preload -env -alpha_env -mod mediavps
Couldn't run FreeSpace 2 Open (fs2_open.bin). Is FSO_DATA_PATH set?
/usr/local/bin/fs2_open: 1: cannot open /home/chaotic/.fs2_open/xmodmap.save: No such file
+ [ = ]
+ FindPath /usr/local/bin/fs2_open
+ echo /usr/local/bin/fs2_open
+ grep /
+ fullpath=/usr/local/bin/fs2_open
+ [ /usr/local/bin/fs2_open = ]
+ [ /usr/local/bin/fs2_open = ]
+ [ -L /usr/local/bin/fs2_open ]
+ ls -l /usr/local/bin/fs2_open
+ awk {print $11}
+ fullpath=
+ dirname
+ FSO_DATA_PATH=.
+ [ = ]
+ FSO_LIB_PATH=./lib
+ LD_LIBRARY_PATH=./lib:
+ export LD_LIBRARY_PATH
+ export FSO_DATA_PATH
+ TMP_MODMAP=/home/chaotic/.fs2_open/xmodmap.save
+ FSO_MODMAP=/home/chaotic/.fs2_open/xmodmap
+ [ -f /home/chaotic/.fs2_open/xmodmap ]
+ [ -f /home/chaotic/.fs2_open/xmodmap ]
+ trap xmodmap - < "/home/chaotic/.fs2_open/xmodmap.save" && rm "/home/chaotic/.fs2_open/xmodmap.save" 0 2 3 4 9 11 15
+ [ -x ./fs2_open.bin ]
+ echo Couldn't run FreeSpace 2 Open (fs2_open.bin). Is FSO_DATA_PATH set?
Couldn't run FreeSpace 2 Open (fs2_open.bin). Is FSO_DATA_PATH set?
+ exit 1
/usr/local/bin/fs2_open: 1: cannot open /home/chaotic/.fs2_open/xmodmap.save: No such file
+ xmodmap -
lrwxrwxrwx 1 taylor taylor 37 Apr 11 00:11 /usr/local/bin/fs2_open -> /usr/local/games/fs2_open/fs2_open
lrwxrwxrwx 1 root root 23 2007-04-11 10:29 /usr/local/bin/fs2_open -> /media/big/fs2/fs2_open
./fs2_open
Couldn't run FreeSpace 2 Open (fs2_open.bin). Is FSO_DATA_PATH set?
"ls -l fs2_open" says-rwxr-xr-x 1 chaotic chaotic 1787 2007-04-13 11:33 fs2_open
+ [ -L /usr/local/bin/fs2_open ]
+ ls -l /usr/local/bin/fs2_open
+ awk {print $11}
+ fullpath=
+ dirname
It tests positive for a symlink, then tries to local the real file location. It does this with the "ls -l" line, since that will show the original file, plus what it's symlinked to. But in your case the "awk {print $11}" line is doing the wrong thing, since for you it should use "$10" instead. The change to the script that I made should make "$10" work for everyone, including you, since the "ls" call was changed to use an exact date format ("ls -l --time-style=iso") rather than what your locale uses.+ [ = ]
+ FindPath /usr/local/bin/fs2_open
+ echo /usr/local/bin/fs2_open
+ grep /
+ fullpath=/usr/local/bin/fs2_open
+ [ /usr/local/bin/fs2_open = ]
+ [ /usr/local/bin/fs2_open = ]
+ [ -L /usr/local/bin/fs2_open ]
+ dirname /usr/local/bin/fs2_open
+ FSO_DATA_PATH=/usr/local/bin
+ [ = ]
+ FSO_LIB_PATH=/usr/local/bin/lib
+ LD_LIBRARY_PATH=/usr/local/bin/lib:
+ export LD_LIBRARY_PATH
+ export FSO_DATA_PATH
+ TMP_MODMAP=/home/chaotic/.fs2_open/xmodmap.save
+ FSO_MODMAP=/home/chaotic/.fs2_open/xmodmap
+ [ -f /home/chaotic/.fs2_open/xmodmap ]
+ [ -f /home/chaotic/.fs2_open/xmodmap ]
+ trap [ -f "/home/chaotic/.fs2_open/xmodmap" ] && xmodmap - < "/home/chaotic/.fs2_open/xmodmap.save" && rm "/home/chaotic/.fs2_open/xmodmap.save" 0 2 3 4 9 11 15
+ [ -x /usr/local/bin/fs2_open.bin ]
+ echo Couldn't run FreeSpace 2 Open (fs2_open.bin). Is FSO_DATA_PATH set?
Couldn't run FreeSpace 2 Open (fs2_open.bin). Is FSO_DATA_PATH set?
+ exit 1
+ [ -f /home/chaotic/.fs2_open/xmodmap ]
Is it just me or are these code-boxes hard to read? :DContent wise, or just in general? In general they are pretty difficult to read, for me at least, since the content doesn't stand out all that clearly due to coloring. If it's the same for you, then you aren't alone. :)
Content wise, or just in general?
In general they are pretty difficult to read, for me at least, since the content doesn't stand out all that clearly due to coloring. If it's the same for you, then you aren't alone.
So I do "-mod shivans,Fs1_Port_3,mediavps" or "-mod shivans,mediavps,Fs1_Port_3"? Or doesn't matter?It really just depends on the mod really. You want to play "shivans", but if it depends on "Fs1_Port_3" then that should come next. Generally you would always put the MediaVPs last if they are actually required, since that should be considered at a base level only above the retail VPs themselves. Getting the first one right is the most important, and I suspect that much of the time the remaining mod order isn't going to matter all that much.