T3 Linux Port
by Sam Edge · in Torque Game Engine Advanced · 07/06/2009 (8:20 pm) · 15 replies
From what i've read about T3, it seems all the components are designed to be intentionally platform independent. Has a Linux port already been started? if not, is it just because no one has wanted it bad enough or the complexity is intimidating?
EDIT. sorry i've posted it in the wrong subforum. please help me out moderator, thanks kindly
EDIT. sorry i've posted it in the wrong subforum. please help me out moderator, thanks kindly
About the author
#2
Concerning porting torque itself
07/06/2009 (10:05 pm)
Community project it is. I'll try run with parallel with another project. to me, it would be worth being able to play my favourite game on my favourite operating system. I've had a quick snoop through the source and I recognised many third party linux compatible libraries.- collada_dom, for collada asset pipeline - yes
- libogg, ogg codec - yes
- libtheora, mpeg4 codec - yes
- ljpeg, jpeg encoder - yes
- lmng, png animation extentsion - yes
- lpng, png library - yes
- lungid, gif library - yes
- opcode, collision detection library - windows only. port required to another library
- pcre, perl wrapper - yes
- squish, gui interpreter for browser - yes
- tinyxml, xml interpreter - yes
- zlib, compression - yes
Concerning porting torque itself
- Expose the Linux hardware/system interface to Torque, the hardest and largest job.
- Use GLSL graphics API.
#3
Linux has a different way of initiating the window for GL, but I've seen people struggle more with input and handling window events than actually getting things to display.
07/07/2009 (4:36 am)
The dedicated server portion should be ported to Linux, in my opinion, and it would be beneficial to do so. Shouldn't be terribly different from OS X, as both are a blend of BSD and GNU libraries.Linux has a different way of initiating the window for GL, but I've seen people struggle more with input and handling window events than actually getting things to display.
#4
07/07/2009 (8:28 am)
@Sam that really cool to hear. Please keep us updated on your progress!
#5
I would like to know also if there is people who try to maintain TGE on linux despite that TGE is no more supported by GaragesGame ?
thanks
07/08/2009 (12:02 am)
Do you know if there is a forum dedicated to linux/torque ?I would like to know also if there is people who try to maintain TGE on linux despite that TGE is no more supported by GaragesGame ?
thanks
#6
@navack will do man, no promises at this stage but once I have a feesable prototype going i'll let you know!
@phil no sorry mate
07/08/2009 (5:28 am)
@ronny the window handling and all that is going to be irritating especially for sometime without linux gui experience. doable though :)@navack will do man, no promises at this stage but once I have a feesable prototype going i'll let you know!
@phil no sorry mate
#7
07/08/2009 (5:49 am)
When you say T3, are you referring to T3D? If so I was planning a linux port once T3D's Mac support was completed as GLSL and OpenGL are already being used for that and the only real work to a Linux port would be using Xlib for the windowing and input, which I already have considerable experience with. I've not looked at all the dependencies but I know that if opcode really is windows only then another library is being used for the Mac version and most likely it is a library which would work on Linux as well since Mac is mostly BSD based and other then the odd X-project nonsense, source code written for Mac compiles just fine with GCC.
#8
Man your reply was everything I hoped. You are a lot of knowledgeable in this field than I. Since you are already planning on the port I would like to let you develop it since it would require a lot of learning in the process on my behalf.
Great point on the opcode, I didn't even think of that. This is really promising. Would you mind keeping us posted on your development through gg? Do you plan on maintaining it personally or as a community project?
Whatever happens, whether it is done by myself, someone else or as a combined effort I want to see this port happen. :)
07/08/2009 (7:45 am)
@Byran Yes T3D sorry.Man your reply was everything I hoped. You are a lot of knowledgeable in this field than I. Since you are already planning on the port I would like to let you develop it since it would require a lot of learning in the process on my behalf.
Great point on the opcode, I didn't even think of that. This is really promising. Would you mind keeping us posted on your development through gg? Do you plan on maintaining it personally or as a community project?
Whatever happens, whether it is done by myself, someone else or as a combined effort I want to see this port happen. :)
#9
My PC is currently being shipped from the UK to the USA, so I can't even begin to look at it yet, but as soon as I get some work done towards it I'll try to keep everyone posted with a blog or whatever, and I'll probably maintain at least a makefile build with most configurations supported if not something a little more automated.
If someone gets impatient and wants to do the port themselves, feel free to do it and I can offer any help or advice, but if nobody is needing it anytime before T3D is a little more stable I will be doing a port hopefully before T3D's 1.0 release(Whenever that will be).
07/08/2009 (3:27 pm)
I've not actually paid a lot of attention to the windowing/input part of T3D yet so I can't really guarantee how easy it will be to port to Linux, but assuming there's nothing unusual being done I can probably have it done fairly quickly when I get around to it. This is of course assuming I don't end up swamped with work by the time T3D's Mac support is finalized.My PC is currently being shipped from the UK to the USA, so I can't even begin to look at it yet, but as soon as I get some work done towards it I'll try to keep everyone posted with a blog or whatever, and I'll probably maintain at least a makefile build with most configurations supported if not something a little more automated.
If someone gets impatient and wants to do the port themselves, feel free to do it and I can offer any help or advice, but if nobody is needing it anytime before T3D is a little more stable I will be doing a port hopefully before T3D's 1.0 release(Whenever that will be).
#10
07/15/2009 (11:28 am)
Here is a blog post with more people interested and joining forces for a Linux port: TGEA and T3D in Linux.
#11
07/15/2009 (5:01 pm)
I am so into this.. :)
#12
Re Opcode: It is being used on the Mac and will probably compile on Linux just fine.
Generally: There is an old platform layer port in platformX86UNIX but I'm not quite sure if that is included with the shipping build. It will probably need quite a bit of updating.
A window manager has to be implemented from scratch as the Mac code is based on Cocoa.
Given that OpenGL on Linux is not turning into a showstopper (don't know what the state of it on Linux is but it is generally in lousy shape regardless of the platform), once a platform layer port and the window manager API is implemented, one should probably be good to go.
07/15/2009 (8:49 pm)
Re Opcode: It is being used on the Mac and will probably compile on Linux just fine.
Generally: There is an old platform layer port in platformX86UNIX but I'm not quite sure if that is included with the shipping build. It will probably need quite a bit of updating.
A window manager has to be implemented from scratch as the Mac code is based on Cocoa.
Given that OpenGL on Linux is not turning into a showstopper (don't know what the state of it on Linux is but it is generally in lousy shape regardless of the platform), once a platform layer port and the window manager API is implemented, one should probably be good to go.
#13
Opengl has never been an issue on Linux or Mac (Minus driver support for anything non-Nvidia). Windows only has issues with OpenGL because Microsoft stopped supporting it beyond OpenGL 1.4 and most installs only have OpenGL 1.1 meaning you have to use the extensions for everything even if it's supported by the driver implementation (Which still isn't really an issue if you can program well enough to understand pointers).
I've done some digging into the sourcecode and I can honestly say that once my PC finally gets here I can probably have the port done over a weekend as long as there are no major non-standard C++ issues that I missed and GCC will have major problems with. For the most part the only code that is difficult to make standard compliant is template based code and T3D uses very little if any template code that could be an issue.
07/16/2009 (8:06 am)
Quote:Given that OpenGL on Linux is not turning into a showstopper (don't know what the state of it on Linux is but it is generally in lousy shape regardless of the platform), once a platform layer port and the window manager API is implemented, one should probably be good to go.
Opengl has never been an issue on Linux or Mac (Minus driver support for anything non-Nvidia). Windows only has issues with OpenGL because Microsoft stopped supporting it beyond OpenGL 1.4 and most installs only have OpenGL 1.1 meaning you have to use the extensions for everything even if it's supported by the driver implementation (Which still isn't really an issue if you can program well enough to understand pointers).
I've done some digging into the sourcecode and I can honestly say that once my PC finally gets here I can probably have the port done over a weekend as long as there are no major non-standard C++ issues that I missed and GCC will have major problems with. For the most part the only code that is difficult to make standard compliant is template based code and T3D uses very little if any template code that could be an issue.
#14
Well, note quite my experience seeing Torque 3D development on Mac with OpenGL head to head with development on Windows with DirectX. Oh my, the stories that could be told... But this is off-topic, so yeah.
The Mac port is being compiled with GCC so existing template code will give you no trouble. GCC is just extremely anal here (aka standards-compliant) whereas VC just swallows what you have written and gets it right.
Good luck with the port. Looking forward to seeing Torque 3D on Linux.
07/16/2009 (8:57 am)
@BryanQuote:Opengl has never been an issue on [...] Mac
Well, note quite my experience seeing Torque 3D development on Mac with OpenGL head to head with development on Windows with DirectX. Oh my, the stories that could be told... But this is off-topic, so yeah.
The Mac port is being compiled with GCC so existing template code will give you no trouble. GCC is just extremely anal here (aka standards-compliant) whereas VC just swallows what you have written and gets it right.
Good luck with the port. Looking forward to seeing Torque 3D on Linux.
#15
Mac has it's pitfalls with any graphics related development, so I believe you. I could certainly give you just as many horror stories with DirectX due to some recent changes, but as you said that's off-topic. I would prefer GCC's strict standard compliance and the resulting issues over VC's unintelligent ability to compile broken code without erroring.
Now that Beta4 is out I'm really hoping my PC gets here soon.
07/18/2009 (2:25 pm)
@ReneMac has it's pitfalls with any graphics related development, so I believe you. I could certainly give you just as many horror stories with DirectX due to some recent changes, but as you said that's off-topic. I would prefer GCC's strict standard compliance and the resulting issues over VC's unintelligent ability to compile broken code without erroring.
Now that Beta4 is out I'm really hoping my PC gets here soon.
Torque 3D Owner Novack
CyberianSoftware
Probably both.
With the exception of dedicated server configuration, more than making games for it, the most appealing part is beeing able to develop under linux, and thats probably not enough to justify the work it would demand.
Also, developing under linux while the biggest niche is on Windows is not that wise.
And finally, is highly unlikely that anything with the word linux on it get official support, making anything on the penguin direction dependant solely on the community.
I just broke my own heart writing this post... never really figure all the odds against the beloved tux.