Linux Collaboration
by Ben Garney · in Torque Game Engine · 11/24/2005 (1:18 am) · 490 replies
Hey guys,
Based on the discussion happening at Jeff's .plan, I'm starting a thread here in the private forums so that Linux Torque developers who are interested in seeing stronger Linux support can get more involved in the development process.
This is also a chance to help get more Torque projects onto Linux. There's a bit of a shortage of reliable Linux-enabled developers that are willing to do builds, help port, etc.
So if you want to see across-the-board Linux support happen, you're a good dev, and you're willing to donate a little time to the cause, consider volunteering. :)
(And don't think this is a thankless job, either - of the four Linux guys I've worked with, one now works at GG doing XBox 360 development, one does builds for many games, one is able to make money doing contract work, and another is working on a kick ass RTS with a now-GG-employee... This is a great opportunity to get more involved in professional game dev, get some nice perks, or just earn the respect & adulation of your peers.)
Having a list of people who are interested in this sort of thing will be a big boost to anyone trying to get their product on Linux, including things like GG getting future Torque releases out. :) Instead of scouring the web, people can just check here. Fast, quick, easy.
Thanks for taking the time to get involved!
Ben
Based on the discussion happening at Jeff's .plan, I'm starting a thread here in the private forums so that Linux Torque developers who are interested in seeing stronger Linux support can get more involved in the development process.
This is also a chance to help get more Torque projects onto Linux. There's a bit of a shortage of reliable Linux-enabled developers that are willing to do builds, help port, etc.
So if you want to see across-the-board Linux support happen, you're a good dev, and you're willing to donate a little time to the cause, consider volunteering. :)
(And don't think this is a thankless job, either - of the four Linux guys I've worked with, one now works at GG doing XBox 360 development, one does builds for many games, one is able to make money doing contract work, and another is working on a kick ass RTS with a now-GG-employee... This is a great opportunity to get more involved in professional game dev, get some nice perks, or just earn the respect & adulation of your peers.)
Having a list of people who are interested in this sort of thing will be a big boost to anyone trying to get their product on Linux, including things like GG getting future Torque releases out. :) Instead of scouring the web, people can just check here. Fast, quick, easy.
Thanks for taking the time to get involved!
Ben
#22
11/24/2005 (11:40 am)
Cool, glad that you got it working! (Is there a reliable way to always get a font in X, without falling back to your own font solution?)
#23
11/24/2005 (12:18 pm)
Count me in as well. Although I don't have the same level of experience as many of the folks in here, I'd be glad to try & help in any way I can.
#24
I'm not very sure but I think that the "fixed" font is the default font in X...I have to check
11/24/2005 (2:07 pm)
@Ben : I think that the most reliable way to have a default font is to have one "embedded" in the game files so if the user has a very weird configuration of its system the game can still run.I'm not very sure but I think that the "fixed" font is the default font in X...I have to check
#25
11/24/2005 (4:23 pm)
The one font that is guarenteed to exist on X is the fugly 8x10 fixed font IIRC. If that font can't/won't load then X won't start and trying other fonts is moot at that point as you won't get a connection to the Display to even try ;)
#26
11/24/2005 (11:19 pm)
Repost! :P
#27
11/24/2005 (11:41 pm)
I hate it when I hit refresh to see updates, yet firefox 1.5 rc2 will repost without warning me sometimes. :)
#28
reviews.zdnet.co.uk/0,39023100,39237495,00.htm
Could we just settle on these distros? Maybe less, like take out Novell? Of course, add in Gentoo, since that is what we use around the office.
Here is an example of what we are up against (an email that I got this morning):
Somebody mentioned standardizing on certain libraries regardless of distro. Seems to me that the new libraries should run stuff based on the old libraries.
-Jeff Tunnell, GG
11/25/2005 (7:50 am)
Here is a link from ZDnet. It rates the top desktop linux distros:reviews.zdnet.co.uk/0,39023100,39237495,00.htm
Could we just settle on these distros? Maybe less, like take out Novell? Of course, add in Gentoo, since that is what we use around the office.
Here is an example of what we are up against (an email that I got this morning):
Quote:
To whom it may concern,
I am running Linux, the latest Ubuntu flavor. I just downloaded the demo
of the Torque 2D engine. It seems to have some pretty specific ties to
old versions of libraries. It didn't give me any clear way of running
the program with my newer upgraded versions of these libraries. Am I
expected to install old libraries to be able to run the Torque engine in
Linux? Or what am I doing wrong?
Thanks,
**********
Premonition Software
Somebody mentioned standardizing on certain libraries regardless of distro. Seems to me that the new libraries should run stuff based on the old libraries.
-Jeff Tunnell, GG
#29
And finally as far as distros go RHEL ws3/ws4, is pretty stable and is a good start (though the 3.4.x compiler on ws4 is sometimes flaky on our c++ code here at work). SuSE Linux i haven't had a chance to try yet but i did try Pro 9.2 and 9.3 and both are rock solid. Ubuntu is fast becoming my favorite instead of Mandriva (for the 2006 release they kinda dropped the ball as far as i am concernned). Gentoo kind of annoys me though i like the concept i can't justify spending time recompiling everytime i update :)
I would say with the above you would be supporting 90% of whats out there as far desktop users go.
11/25/2005 (8:05 am)
Jeff: Most distros from the last two years support glibc 2.3.2 and up and either gcc 3.3.x or 3.4.x. If you need to standardize i would say that for development purposes if you support that you would support most of whats out there. As for gcc 4.0.x its not where i would feel comfortable using for production use. Will be waiting to see what the new gcc 4.1 is like.And finally as far as distros go RHEL ws3/ws4, is pretty stable and is a good start (though the 3.4.x compiler on ws4 is sometimes flaky on our c++ code here at work). SuSE Linux i haven't had a chance to try yet but i did try Pro 9.2 and 9.3 and both are rock solid. Ubuntu is fast becoming my favorite instead of Mandriva (for the 2006 release they kinda dropped the ball as far as i am concernned). Gentoo kind of annoys me though i like the concept i can't justify spending time recompiling everytime i update :)
I would say with the above you would be supporting 90% of whats out there as far desktop users go.
#30
RHEL seems like an attractive target since it's the only commercial "enterprise" Linux people can get as a free download, in the form of CentOS. And it's not like having an official target or three (CentOS, Ubuntu, and Gentoo would probably be a very good variety in my view, even though SuSE is my favorite) is going to make life all that hard for anyone else.
11/25/2005 (8:32 am)
I suspect that if you support RHEL (CentOS) as a target you'll pick up support for the newest SuSE/Novell and Mandriva automatically, since those tend to be a bit ahead in versions of libraries and compilers, but not too much. The only people you'd be in risk of leaving behind with a RHEL target might be Debian-stable users.RHEL seems like an attractive target since it's the only commercial "enterprise" Linux people can get as a free download, in the form of CentOS. And it's not like having an official target or three (CentOS, Ubuntu, and Gentoo would probably be a very good variety in my view, even though SuSE is my favorite) is going to make life all that hard for anyone else.
#31
Justin: For our build/testing purposes we use RH 7.3 (glibc 2.2.5) with the gcc 3.2.2 from RH 9 this really covers almost everything, though on newer distro users have started to need to install libstdc++.so.5 for our stuff to work. For support and building/debugging RH9/RHEL WS3 is king.
11/25/2005 (9:50 am)
Jeff: Aren't you guys on holiday time :) ??Justin: For our build/testing purposes we use RH 7.3 (glibc 2.2.5) with the gcc 3.2.2 from RH 9 this really covers almost everything, though on newer distro users have started to need to install libstdc++.so.5 for our stuff to work. For support and building/debugging RH9/RHEL WS3 is king.
#32
Just a passing thought on a snowy Friday afternoon. :-)
11/25/2005 (10:03 am)
Why not make use of the people in here who have signed up to do a distro compatibility check? One user could compile or run the latest TGE/T2D product & report back saying distro X works fine, another indicating distro Y is Ok & so on. Not all linux users may know what version of glibc they have, but to have a list of known distros it does work on may help them, IE: Slackware 10.2, Mandriva Linux 2006, Debian 3.1, etc. If there are issues with distro X, then point them to a page (if there is a fix to put on their system) if they want to run the particular product for the distro listed.Just a passing thought on a snowy Friday afternoon. :-)
#33
RPM based (Redhat, SuSE, Mandriva et all)
APT based (Debian, Ubuntu, etc)
Emerge based (Gentoo)
Slackware based (can't remember what it's package mangement system is called)
The guys complaint about Ubuntu is invalid, the libraries that TGE needs as far as I can tell ship with it, he just needs to make sure he's running the shell script, which locates the libs first.
He also needs to make sure he has his 3D drivers pre-installed.
If you want why don't you just refer questions like that back to the Linux community, we can handle support for it.
Heck we're used to supporting each other for everything anyways.
Also if you use the Bitrock installer, for distribution like you have been, you have all Linuxes covered, or at least every distro I've tried.
IMHO, using that list from ZDNet is really about the dumbest we as a community could do.
It's meant to show one thing, ease of installation and migration for business desktop linuxes.
It doesn't say anything about which Linux is most popular for home use, which at the moment seems to be Ubuntu, but that could change any day of the week.
Unfortunately for ZDNet, they didn't use folks in the review who have had much exposure to linux (considering they switched out of X to command line accidently and called it a "system crash"), and the distros they choose weren't even really meant for the task they are trying to achieve.
You want a Windows like experience in Linux, for a corporate environment, go with Xandros.
You want a custom configured Linux, completely optimized for your hardware, thats easy to maintain go with Gentoo.
You want a corporate supported desktop linux with all the bells and whistles, go with SuSE.
You want an easy to use community supported distro with good out of the box hardware support, go with Ubuntu (actually same could be said for SuSE).
Anyways what I'm getting at is this.
The Linux community can and will support one another.
If you have Gentoo in the office, thats an excellent build platform and dev environment, keep with it.
I think we can all go with that, but please make sure you keep what you have now (makefile based builds), so we can all get this puppy installed.
11/25/2005 (10:20 am)
Actually Jeff there really are only 3 distros ATM. 4 if you count Slackware.RPM based (Redhat, SuSE, Mandriva et all)
APT based (Debian, Ubuntu, etc)
Emerge based (Gentoo)
Slackware based (can't remember what it's package mangement system is called)
The guys complaint about Ubuntu is invalid, the libraries that TGE needs as far as I can tell ship with it, he just needs to make sure he's running the shell script, which locates the libs first.
He also needs to make sure he has his 3D drivers pre-installed.
If you want why don't you just refer questions like that back to the Linux community, we can handle support for it.
Heck we're used to supporting each other for everything anyways.
Also if you use the Bitrock installer, for distribution like you have been, you have all Linuxes covered, or at least every distro I've tried.
IMHO, using that list from ZDNet is really about the dumbest we as a community could do.
It's meant to show one thing, ease of installation and migration for business desktop linuxes.
It doesn't say anything about which Linux is most popular for home use, which at the moment seems to be Ubuntu, but that could change any day of the week.
Unfortunately for ZDNet, they didn't use folks in the review who have had much exposure to linux (considering they switched out of X to command line accidently and called it a "system crash"), and the distros they choose weren't even really meant for the task they are trying to achieve.
You want a Windows like experience in Linux, for a corporate environment, go with Xandros.
You want a custom configured Linux, completely optimized for your hardware, thats easy to maintain go with Gentoo.
You want a corporate supported desktop linux with all the bells and whistles, go with SuSE.
You want an easy to use community supported distro with good out of the box hardware support, go with Ubuntu (actually same could be said for SuSE).
Anyways what I'm getting at is this.
The Linux community can and will support one another.
If you have Gentoo in the office, thats an excellent build platform and dev environment, keep with it.
I think we can all go with that, but please make sure you keep what you have now (makefile based builds), so we can all get this puppy installed.
#34
Anyway, SuSE/Novell is a no no for anything right now until they straighten up their act. About the different package managers in reality it shouldn't effect Torque at all. All it effects it is that its compiled right and the libraries are there for use.
11/25/2005 (10:33 am)
Now I know you might think this is silly at first, but please stay away from SuSE/Novell for any development at all. It is a complete nightmare for everybody to try to get things working correctly for SuSE since 9.0 release. Every single time they release updates or whatever it breaks a lot of things. Its really hell to get firefox and various other suites to work correctly and a lot of programs simply refuse to try to support its gotten so bad. So, yeah Debian/Ubuntu, Redhat/CentOS/Fedora are fine and as for Gentoo never used it, but a lot of people use it so it must not have any problems.Anyway, SuSE/Novell is a no no for anything right now until they straighten up their act. About the different package managers in reality it shouldn't effect Torque at all. All it effects it is that its compiled right and the libraries are there for use.
#35
Switched to it after my Gentoo started getting really unstable while doing dev work (emerge is great but it's really a bad idea to mix the stable and unstable branches), and had some borked up kernel eat my boot partition.
Been using SuSE 10.0 since day 0 and haven't had a single problem, install including adding the ATI driver took all of about 2 hours. Used SuSE on and off since 9.0 never had problems with it, I just suffer from wanderlust from time to time.
(BTW this is posted from within FireFox on my SuSE 10.0 daily home use and dev box)
IMHO, the only thing that actually sucks about SuSE is the package list is a bit short in Yast, but thats easily overcome by adding a few new repositories.
Anyways, folks I say we drop the question of what distro is the best to use, this has the tendancy to start flamewars of biblical proportions. GG has already stated they have Gentoo in the office.
Raise your hand if you have no problems with Gentoo being the only "officially supported" distro.
*raises hand*
FYI folks, I have access to servers running each of the major distros if you feel the need to test something let me know and I'll try to borrow you one until I can get my own game off the ground. *edit* let me qualify the above, I have no servers running Slackware, sorry I keep forgetting that one exists.
11/25/2005 (10:46 am)
@Nathan, Thats odd I use it daily, it's currently my Desktop OS, haven't ever had a problem with it.Switched to it after my Gentoo started getting really unstable while doing dev work (emerge is great but it's really a bad idea to mix the stable and unstable branches), and had some borked up kernel eat my boot partition.
Been using SuSE 10.0 since day 0 and haven't had a single problem, install including adding the ATI driver took all of about 2 hours. Used SuSE on and off since 9.0 never had problems with it, I just suffer from wanderlust from time to time.
(BTW this is posted from within FireFox on my SuSE 10.0 daily home use and dev box)
IMHO, the only thing that actually sucks about SuSE is the package list is a bit short in Yast, but thats easily overcome by adding a few new repositories.
Anyways, folks I say we drop the question of what distro is the best to use, this has the tendancy to start flamewars of biblical proportions. GG has already stated they have Gentoo in the office.
Raise your hand if you have no problems with Gentoo being the only "officially supported" distro.
*raises hand*
FYI folks, I have access to servers running each of the major distros if you feel the need to test something let me know and I'll try to borrow you one until I can get my own game off the ground. *edit* let me qualify the above, I have no servers running Slackware, sorry I keep forgetting that one exists.
#36
Then, just an idea, but isn't it possible to divide the linux platform layer into two seperate layers? One that provides a general interface to the linux environment, and one (thin layer) that links the other layer to the various installed libraries in a proper way (ie. choose the right library (version), pass the right parameters etc) in a similar way as Torque now abstracts platform calls?
Is that feasible?
If Torque can interface with DirectX through an OpenGL layer, this might also have a chance of succeeding, I'd say.
11/25/2005 (12:54 pm)
I am not sure if I am right about the various problems Torque seems to have on Linux, but it appears to me they are all related to different versions of the libraries (dependencies) installed on the various distributions, is that right?Then, just an idea, but isn't it possible to divide the linux platform layer into two seperate layers? One that provides a general interface to the linux environment, and one (thin layer) that links the other layer to the various installed libraries in a proper way (ie. choose the right library (version), pass the right parameters etc) in a similar way as Torque now abstracts platform calls?
Is that feasible?
If Torque can interface with DirectX through an OpenGL layer, this might also have a chance of succeeding, I'd say.
#37
11/25/2005 (2:23 pm)
@This, oddly enough TGE does work out of the box on most Distros, no linking needed. Just need to keep that ole' shell script up to date.
#38
One of the main reasons I haven't yet attempted to install Linux on my own machine is the obvious confusion over which "flavour" to use. If GG came up with a short list of packages most suitable for Torque development and games playing, that would certainly make the choice easier for myself and others.
11/25/2005 (2:32 pm)
I would like to help out, but unfortunately the only experience I have with Linux is installing Perl scripts on web servers (via FTP).One of the main reasons I haven't yet attempted to install Linux on my own machine is the obvious confusion over which "flavour" to use. If GG came up with a short list of packages most suitable for Torque development and games playing, that would certainly make the choice easier for myself and others.
#39
But really you just gotta try different distro until you find one you like.
11/26/2005 (12:23 am)
@Wysardry, you would probably have the most luck with Ubuntu, or SuSE.But really you just gotta try different distro until you find one you like.
#40
11/26/2005 (2:54 am)
It needs an autoconf script...I know nothing about making them, but GNU autoconf or xmkmf would be extremely useful.
BBS Games
Default Studio Name
p.s.sorry but I have to tell it: I solved my font problem using the "FreeSans" font name and now the Torque is up and running :)