Author Topic: Is there a SCP faq for linux?  (Read 4235 times)

0 Members and 1 Guest are viewing this topic.

Offline SimonX

  • 22
Is there a SCP faq for linux?
I am looking for a list of required software and their versions needed to compile and run fs2_open.

My personal goal is to get an overview of fs2.

Bye,

 Simon

 

Offline taylor

  • Super SCP/Linux Guru
  • Moderator
  • 212
    • http://www.icculus.org/~taylor
Is there a SCP faq for linux?
There isn't really a FAQ yet but I guess there does need to be a Linux section in the official README for 3.6.7 since there will finally be an official Linux build available.

You'll need these things to compile out of CVS at a minimum plus the stuff below:
- automake version 1.6.1 or higher
- autoconf version 2.5.4 or higher

The official tarball won't need a full dev environment setup so it will be a little easier to compile.  Just need these things:
- GCC version 2.95 or above,  should compile out of the box with GCC 4 too
- OpenAL version 0.0.7 or above, most distros only include 0.0.6 or below
- Excelerated OpenGL implementation of version 1.2 or higher, (1.5 recommended)
- OGG Vorbis version 1.0 or higher, can compile staticly but still needs the dev packages to build

Other software you'll need/want:
- The game data of course, you may be able to find this for download if you don't already own the game
- MediaVPs, same thing that's available for the Windows version
- wxGTK2, for wxFRED2 which is in development but not ready for real use yet

Hardware requirements:
- A GeForce or Radeon class video card, GeForce2 class or above recommended
- 32Meg video RAM, 64 or 128Meg recommended
- 3Gig of hard drive space for full game install and all of the MediaVPs
- Pentium 2 class CPU or higher, recommend Pentium3 or higher, game is 64-bit compatible with AMD64 based processors
- 384Meg of system RAM, 1Gig is recommended if you use the full set of MediaVPs but 512Meg should work

Perhaps a couple of things I'm forgetting but that should be most everything you need to know to get the game up and running.  The Linux version does not support AVI movies at this time.  Note that Linux multi play is a little broken in CVS right now but once my dev tree gets synced back up it should work.  It will work in 3.6.7 at least.

 

Offline SimonX

  • 22
Is there a SCP faq for linux?
Many thx. I currently download full SuSe9.2 and will upgrade my old 8.2. I guess that should include all I need.

I see that you say that MP is broken right now. I asked about the basic design of FS MP and its implementation in a different forum here but maybe you can give me a brief overview about the MP.

- Is it like Homeworld where one hosts the game and is the main server, or does FS share responsibilities with each client?
- Would it be possible to separate the server code from FS to make a standalone server, with maybe additional features?
- I read comments in the code that the MP code has not much about lag detection and other fancy stuff. From the code point of view, what are the main limitations? Number of players, bandwidth hungry, CPU hungry or other things?

My intention is to understand how difficult it would be to make a persistent online world for FS.

 

Offline taylor

  • Super SCP/Linux Guru
  • Moderator
  • 212
    • http://www.icculus.org/~taylor
Is there a SCP faq for linux?
Quote
Originally posted by SimonX
- Is it like Homeworld where one hosts the game and is the main server, or does FS share responsibilities with each client?
- Would it be possible to separate the server code from FS to make a standalone server, with maybe additional features?

My response to these is related so I'll do them both at the same time.

There are two main ways to host a game, dedicated server mode and playable server mode.  I think that the playable server mode gets used most and it involves a user starting FS2 and creating a multi game which then others can connect.  The user that created the game is considered the server but can participate as a normal user in the game and everyone else is client.  The dedicated server mode is just a special game mode of the normal game binary.  When started in this mode the user is presented with a standard GUI to select the mission that will be played and other basic info.  The user does not actually get to play in this mode unless they connect as a client.

PXO or FS2NetD is a game hub of sorts.  Users still create a game as normal but PXO/FS2NetD broadcasts that game as available for others to connect.  Without that you would have to be on a LAN or know the IP address of the server that you want to play with.  PXO/FS2NetD goes a bit further and keeps track of stats/ranking and can act as a communications hub as well.

On Linux there is no dedicated server side of things.  That exists solely under Windows at the moment.  The Linux code was never finished, or started for that matter.  As one of the very few parts of code that still doesn't work under Linux I'll probably start on it before too much longer but I don't think anyone has ever even requested it.

Quote
- I read comments in the code that the MP code has not much about lag detection and other fancy stuff. From the code point of view, what are the main limitations? Number of players, bandwidth hungry, CPU hungry or other things?

The first thing to realize about FS2 net code is that it's at least 7 years old, probably more like 8.  The code is based at least partially on FS1 net code which appears to be partially based on Descent net code.  In other words, the crap is old.  The state of the Internet and network gaming was completely different then.  The code is large and complex.  I'm not really sure about limitations since I've never really been into the multiplayer side of things but I think that the players limits are 4 or 8 depending on gametype.  I'm not sure about bandwidth usage but there is a considerable amount of data that needs to be kept track of so I'd assume that it's not all that friendly to slower connections.  Have no clue about CPU usage.  The other big limits are against packet size and in-game limits affect that.  Increasing the number of available ships for instance can break networking because the packets get too large to transfer at one time.

 
Is there a SCP faq for linux?
I think the lack of requests is mainly due to the fact that people are focusing more on 3D support and WineX for newer games.  However, there is another reason that dawned on me while I was typing this.

There are many Linux games search engines that exist out there.  On many of them, I have seen Freespace 2 Retail as the game of choice.  I've seen it have great ratings as well.  But when it comes right down to it, weather I enter those links or not, there is no mentioning of FS2_SCP.

In addition & IMO, most people who come to the FS2_SCP are not interested in a Linux title or rather, do not take it as a priority to there interest.  Thus, if you have any experience in marketing, the problem here is that the Linux title is not being advertised in the right places.

I can get a list of Linux Game Search engines which I personally use, provided that I am requested to do so.  But I honestly think that the Linux version of this game is dieing out because we are not keeping its fire fed with the right fuel.
The big cool ship...

 

Offline taylor

  • Super SCP/Linux Guru
  • Moderator
  • 212
    • http://www.icculus.org/~taylor
Is there a SCP faq for linux?
Sure, a list would be great.  I only visit LinuxGameTome and linuxgames.com on a regular basis.

The main reason that FS2_Open has never been officially announced on any site is that there has never been an official Linux version.  The soon to be released 3.6.7 will be the first and I plan to make that fact know to the above sites at the least.  The icculus.org version will hit a 1.0 version as well when I get my trees synced up and the remaining code in CVS.  It's been a perpetual CVS version since day one so that will be a big thing if you ask me.

I love this game and have been using Linux as my primary OS for nearly 8 years now.  As long as I am around, and have the hours to waste, FS2_Open on Linux will never die, whether anyone else uses it or not.  I don't buy Windows games and I won't use WineX so continuing to work on this project (and the icculus.org version) is a largely self-serving venture anyway.

I also think that the fact that FS2_Open will compile and run on x86_64 systems out of the box will be a big draw for those using 64-bit OSes.  It's seldom these days that you get a game of this size and with these features which is 64-bit ready.

 

Offline fizz

  • 25
    • Crimson Fields
Is there a SCP faq for linux?
Quote
Originally posted by taylor
I also think that the fact that FS2_Open will compile and run on x86_64 systems out of the box will be a big draw for those using 64-bit OSes.  It's seldom these days that you get a game of this size and with these features which is 64-bit ready.


Eh? Will it?  :wtf:
Can't say I tried it or anything, but it seems dubious to me when I think about the BSP parser...

 

Offline taylor

  • Super SCP/Linux Guru
  • Moderator
  • 212
    • http://www.icculus.org/~taylor
Is there a SCP faq for linux?
Quote
Originally posted by fizz
Eh? Will it?  :wtf:
Can't say I tried it or anything, but it seems dubious to me when I think about the BSP parser...

I've been running it on 64-bit for almost a year now.  I know that several others are using it too.

It's actually not that bad, longs and ptrs are 64-bit as are size_t type stuff.  It wasn't that difficult to make everything play nice since most the data getting passed around stayed 32-bit or less.  Networking is the only thing that hasn't been fully testing.  (Oh and I did get FS2NetD going under Linux so if you don't want to wait for the code to hit CVS send me an e-mail and I'll get you the diff.)

This is just Linux/64 though since things like SPARC and ppc64 have slightly different requirements.  The ground work is there for ppc64, assuming the endian issues get worked out, but those will probably be the only 64-bit platforms support for a while.  Win64 still has 32-bit longs so it's just ptrs that need to be worked with and that's already handled by the code.  Hasn't actually been tested on Win64 though since I don't have Win64 and even if I did I'd never screw up my 64-bit machine by installing Windows on it.

 

Offline fizz

  • 25
    • Crimson Fields
Is there a SCP faq for linux?
I guess that's proof enough, then.  :ick:

Quote
Originally posted by taylor

(Oh and I did get FS2NetD going under Linux so if you don't want to wait for the code to hit CVS send me an e-mail and I'll get you the diff.)


Thanks, but I need to get LAN working first. I'm trying to port the changes in the icculus port over. That way I've gotten rid of the warnings, at least, but I haven't had a chance to see whether it actually works better. Hopefully later this week.

 
Is there a SCP faq for linux?
taylor, I'm not trying to be offensive or anything, but when the first completed build of FS2_open is done, could be please be sure it is fully functioning with both Fedora Core.  I'm not asking for an RPM, but I am asking for 100% compatibility.  I know some programming but I'm hardly what you would classify a programmer.  However, I have fair knowledge of Linux (enough to be a paid administrator) and if you need my help with anything, I would be honored to take some time to help.  I'm not as dedicated as you.  But I do have Linux installed as a dual-boot, and I do log into the OS often for conducting several tasks (like programming in Java or XML).  I do have a great deal of respect for it, and wish it was the primary OS for the general public.  I believe you and me have a great deal in common.  As an example: The search engines you described for Linux games were also the ones I often go through.  Let me know if there is something I could do to help.
The big cool ship...

 

Offline taylor

  • Super SCP/Linux Guru
  • Moderator
  • 212
    • http://www.icculus.org/~taylor
Is there a SCP faq for linux?
Almost all of the Linux work was done on Red Hat, Fedora Core 1, 2, 3, and 4 systems so it's at least going to work 100% there.  Of course "100%" is just what code has been done but very few things are missing at this point.  As long as you've got SDL devel and a decent OpenAL devel package installed the release should compile perfectly right out of the box.  I use FC4 x86_64 by the way, usually running a 64-bit version of FS2_Open, but I do test 32-bit builds a couple of times a month.

I use it daily and don't have any problems (that are specific to Linux anyway).  Also I think that anyone who has used both Linux and Windows versions can attest that the Linux version is far superior in both speed and stability to the Windows version at this point.  That's on purpose of course since that's what I use and what most of the bug hunting is done with.

As far as helping out goes I think that there is only one big area that I wish someone would step up and code, the standalone server.  I have never been able to decide on how best to implement it since it would need some sort of GUI and I haven't wanted to add any new requirements.  I think that whatever gets done should be cross platform and we can get rid of the current Windows specific code.  Whether it's a GUI similar to the Windows version but implemented in wxWidgets or some type of web/java based backend I don't really care.  It should probably be a separate build option so as not to add any requirements to the standard binary but other than that it just needs to work and be easy to use.  If you want to help out in this area that would be great.

 
Is there a SCP faq for linux?
Quote
Originally posted by taylor
Also I think that anyone who has used both Linux and Windows versions can attest that the Linux version is far superior in both speed and stability to the Windows version at this point.


I depends on your graphic driver. ATIs drivers for Linux can't compete with its Windows counterpart and so it runs less fast.

 
Is there a SCP faq for linux?
Quote
Originally posted by taylor
Almost all of the Linux work was done on Red Hat, Fedora Core 1, 2, 3, and 4 systems so it's at least going to work 100% there.  Of course "100%" is just what code has been done but very few things are missing at this point.  As long as you've got SDL devel and a decent OpenAL devel package installed the release should compile perfectly right out of the box.  I use FC4 x86_64 by the way, usually running a 64-bit version of FS2_Open, but I do test 32-bit builds a couple of times a month.

I use it daily and don't have any problems (that are specific to Linux anyway).  Also I think that anyone who has used both Linux and Windows versions can attest that the Linux version is far superior in both speed and stability to the Windows version at this point.  That's on purpose of course since that's what I use and what most of the bug hunting is done with.

As far as helping out goes I think that there is only one big area that I wish someone would step up and code, the standalone server.  I have never been able to decide on how best to implement it since it would need some sort of GUI and I haven't wanted to add any new requirements.  I think that whatever gets done should be cross platform and we can get rid of the current Windows specific code.  Whether it's a GUI similar to the Windows version but implemented in wxWidgets or some type of web/java based backend I don't really care.  It should probably be a separate build option so as not to add any requirements to the standard binary but other than that it just needs to work and be easy to use.  If you want to help out in this area that would be great.


I can create a Java based GUI if someone wants to create the engine and apply it to the GUI, but My C++ experiences comes without Visual ATM.  My C++ is too week to do what you ask for, and since I don't have Visual experience yet, I can't help.  But if you need anything else, let me know.
The big cool ship...

 
Is there a SCP faq for linux?
It depends on both card and drivers.  Reason why ATI have poor drivers is because the card is ultimately designed for DirectX as a primary engineering design.  OpenGL support is nothing more then that, support.  nVidia on the other hand, design there card for OpenGL as a primary engineering design.  nVidia make a good deal of money off providing cards that work for large scale rending and designing tools that are packaged together, such as Maya, which works and is often used in UNIX/Linux from it's old and expensive predicessor, the PIXAR.  In addition, many buyers of computer systems that do graphic design often get Macintosh, which often goes hand to hand with a nVidia graphics card, since Macintosh lagacy (Mac os 9.x or less) and the new OS X (UNIX) and Jaguar (Linux) support OpenGL.

Never-the-less, OpenGL is, IMO, far superior then DirectX.  To add, Linux is far superior then kernel32 (Windows).  When you add the two together, they make a superior OS.  Compile a game directly onto that system, and you will see a better design then that found on Windows.  As Taylor expressed, he does not associate to much with WineX.  This is a good thing and a bad thing in his position.  The good thing is it makes the design of FS2 for Linux far more powerful, since it is working directly with Linux.  But it is also a bad thing, because it takes a lot of work.  There are things known WineLib which do make life easier, but if the code is altered enough to work directly on the Linux OS without the winelib, the compiled program would be far better.

One example to what I'm saying is Neverwinter Nights.  The program was designed for Windows, but was also compiled with WineLibs.  Dispite the Wine libraries installed, it works better and more stable on Linux then it does on windows.  If the program was designed to work for Linux without the wine library, it would be even better.
« Last Edit: July 13, 2005, 11:31:20 am by 1975 »
The big cool ship...

 

Offline taylor

  • Super SCP/Linux Guru
  • Moderator
  • 212
    • http://www.icculus.org/~taylor
Is there a SCP faq for linux?
Quote
Originally posted by xenthorious
I can create a Java based GUI if someone wants to create the engine and apply it to the GUI, but My C++ experiences comes without Visual ATM.  My C++ is too week to do what you ask for, and since I don't have Visual experience yet, I can't help.  But if you need anything else, let me know.

The game has pretty much all of the code we need, it's just a GUI based control center what we're missing.  Have a look at http://fs2source.warpcore.org/cgi-bin/cvsweb/cvsweb.cgi/fs2_open/code/network/stand_gui.cpp?rev=2.15&content-type=text/x-cvsweb-markup&f=h which is the Windows version.  All we really need is to create that in a cross-platform way.  The rest of the game code can handle actually doing all of the work but a method to control it is what's missing.

I have thought of not doing any actual GUI in the game but only adding control hooks through a socket or something.  That would allow the use of any GUI whether it's Java based or some web based GUI or even a scripted control through Python or something.  I think that more servers would be available for network games if it was easier to actually run and administer one.

Actually this is probably a conversation that should be put on hold until we find out what the multi people actually want and need.  Better to get it right the first time rather than copy something current that doesn't quite get the job done.  It will be later this year before I can work on this seriously but at that point I'll get the basic stuff there and documented and then you can create a Java GUI control center if you are still interested.

 
Is there a SCP faq for linux?
That sounds good.  As of right now, I'm studing XML and will be doing java scirpting and flash in three weeks.  By then, I should be even stronger in Java then I am now, and well rounded to do more.  In addition, if the following term in my school has a Visual C++ class, it would take me only two weeks to apply that classes study into QT desiner.  Keep me up to date.  I'm very much interested in it.
The big cool ship...