Jump to content

  • Log In with Google      Sign In   
  • Create Account

Linux development...


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
15 replies to this topic

#1 MARS_999   Members   -  Reputation: 1280

Like
0Likes
Like

Posted 30 March 2014 - 11:17 PM

I am new to Linux and any development on it.

 

I have a Radeon X1300 GPU, and will be coding C/C++/OpenGL/SDL2 or SFML2

 

I need some recommendations for IDE under Linux.

 

I am running Linux Mint 16...

 

QtCreator? If I remember right the UI wasn't to friendly to get a simple C++ project working....

 

How do I install the latest drivers for this GPU? From what I can tell the latest don't support the X1300?

 

What is X11? Do I need it?

 

I would like to use Irrlicht also but couldn't get that working either.

 

So I am not liking the experience so far... Not trouble free at all....

 

Thanks!

 

Hope to overcome the sour taste of this and enjoy coding on Linux but need some serious help!!!

 

 



Sponsor:

#2 3Ddreamer   Crossbones+   -  Reputation: 3156

Like
3Likes
Like

Posted 31 March 2014 - 01:05 AM

Hi,

 

Using a cross-platform game engine which includes Linux will prevent many problems and thousands of hours of labor.

 

List of Game Engines

http://en.wikipedia.org/wiki/List_of_game_engines

 

Ultimately you must target a runtime environment of some kind.  OpenGL and the other Open APIs are a serious consideration if you don't want to use a game engine. OpenGL is the cross-platform graphics API and comes with a mature and substantial collection of standard and third party coding libraries built for OpenGL. The fact that the USA Defense Department and NASA prefer OpenGL in many cases for cross-platform implementation of their top simulators is on account that their contributors build applications and software on Linux, OS X, and Windows systems in their companies.  Some amazing top graphics software is only available in Linux, so take encouragement that some of the leading software developers prefer Linux.  You can develop on Linux and implement elsewhere if you choose your workflow pipeline carefully. Like I said, a game engine for development in Linux and deploys cross-platform is ideal (and available). 


Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software.  The better the workflow pipeline, then the greater the potential output for a quality game.  Completing projects is the last but finest order.

 

by Clinton, 3Ddreamer


#3 DareDeveloper   GDNet+   -  Reputation: 952

Like
2Likes
Like

Posted 31 March 2014 - 02:09 AM

Code::Blocks might work for you.

 

Afaik X11 is a low level windowing system technology. I suppose if you use libraries like SDL2 or an engine you will not need to deal with its API directly.

 

I do not remember any kind of programming as trouble free.

Better find the right pace. Trying to accomplish too much at once is usually frustrating ... and develop the resilience to struggle through build issues. They will not just disapear ... ever ... I fear.

 

 

What exactly went wrong when you tried to use Irrlicht?

 

There is a tutorial for Irrlicht and C::B (Code::Blocks) btw. (oops, might be Windows specific, though):

http://irrlicht.sourceforge.net/tut_codeblocks.html


Edited by DareDeveloper, 31 March 2014 - 02:13 AM.

Given enough eyeballs, all mysteries are shallow.

ProcGames.com


#4 kaktusas2598   Members   -  Reputation: 846

Like
2Likes
Like

Posted 31 March 2014 - 03:17 AM

I still recommend you to give QT Creator another chance, it is really powerdul IDE, you could also use Code::Blocks as DareDeveloper have mentioned. Personally, I use vim for source editing, gcc and g++ for compiling and wrap all building process with makefiles - this works perfectly for me with SDL2 and OpenGL.

 

If you want to do cross-platform development, you could try CMake(which also works with QT Creator).


Behind every great fortune lies a great crime.
Honore de Balzac

#5 Samurai Jack   Members   -  Reputation: 211

Like
1Likes
Like

Posted 31 March 2014 - 04:53 AM

Go with Code Blocks. It has templates ready to start up. You can go with SDL, Glut, Ogre.

Code Blocks has a lot of templates you can use. The downside is, it expects all external libraries

to be set up in the folder structure like this: glut /include /src.

Once you have this figured out, everything works as a charm.

 

Maybe you start with GCC and some simple GLUT programs, just to see how to compile.

Once you have that, you will easier assign the configuration for Code Blocks.



#6 dlan   Members   -  Reputation: 408

Like
1Likes
Like

Posted 31 March 2014 - 04:55 AM

Coming from the Windows world, I found Netbeans to be quite user friendly, and it have a lot of similarities with visual studio. Even if It's a Java IDE at first, the c/c++ support is really good, I didn't have any trouble making the debugger work either.

 

Netbeans also has a pretty powerful plugin system, so you can easily add feature later on. Here's an exemple on configuring SFML under linux, work pretty much the same way for other libraries : http://trevoke.net/blog/2009/03/08/howto-sfml-with-netbeans/


Edited by dlan, 31 March 2014 - 04:57 AM.


#7 SimonForsman   Crossbones+   -  Reputation: 6109

Like
5Likes
Like

Posted 31 March 2014 - 05:55 AM

I am new to Linux and any development on it.

 

I have a Radeon X1300 GPU, and will be coding C/C++/OpenGL/SDL2 or SFML2

 

I need some recommendations for IDE under Linux.

 

I am running Linux Mint 16...

 

QtCreator? If I remember right the UI wasn't to friendly to get a simple C++ project working....

 

How do I install the latest drivers for this GPU? From what I can tell the latest don't support the X1300?

 

What is X11? Do I need it?

 

I would like to use Irrlicht also but couldn't get that working either.

 

So I am not liking the experience so far... Not trouble free at all....

 

Thanks!

 

Hope to overcome the sour taste of this and enjoy coding on Linux but need some serious help!!!

 

The x1300 is no longer supported by AMD, they cut Linux support in 2009 (4 years after the first x1000 GPUs hit the market) and Windows support a few years later (there is no Win7 or 8 driver either (The vista driver works in Win7 though, and you can hack it to work in Win8) so you have to use the opensource driver that is included in your distribution, or use a very old(2009 or older) distribution.

Overall AMD tends to cut support really quickly for their hardware on Linux but their opensource drivers are decent, nvidia is the exact opposite (their proprietary support lasts a very long time(10+ years normally) but their opensource drivers are pure junk by comparison)

 

Edit: You don't have to install the opensource driver yourself, Mint installs and updates it for you automatically.

 

If you want better performance or more features than the opensource driver provides you have to either switch to an old distribution (IIRC Linux Mint 5 is the newest Mint version that works with the proprietary x1300 driver) or buy a new GPU (or an older nvidia GPU as nvidia supports their GPUs for far longer than AMD does)

 

Just for comparison, nvidias GF5 to GF7 series (The GF7 was the direct competitor to ATIs x1000 series) will get updated to support new linux distributions(and Windows versions) or to fix critical bugs until the end of 2017 and the GF2-GF4 series got their final update in december last year (and thus still work with most recent distributions and have a proper Win8 driver), the GF8 - 280 will be supported until 2019. (Later GPUs don't have a EOL date set yet but should be supported for atleast 10 years from when they were first released)


Edited by SimonForsman, 31 March 2014 - 01:22 PM.

I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#8 RobTheBloke   Crossbones+   -  Reputation: 2342

Like
1Likes
Like

Posted 31 March 2014 - 05:58 AM

Eclipse or QTCreator would be the best bet for IDE. 

 

What is X11? Do I need it?

 

It's a windowing protocol. You can use it if you want, although I'd recommend using something else that wraps the gnarly details (i.e. SDL, glfw, etc) [Life is too short to deal with X11 imho]. 

 

How do I install the latest drivers for this GPU? From what I can tell the latest don't support the X1300?

That largely depends on the driver, and/or flavour of linux. I've not use mint or ATI graphics on linux, so can't really offer advice here. My recommendation is to go troll a linux forum "Windows is so much better than linux, on windows I can install my x1300 drivers by double clicking the exe, under linux it's impossible to install the drivers!". You'll get 50 million responses with step by step instructions within 10 minutes.... 

 

So I am not liking the experience so far... Not trouble free at all....

Yeah, that's linux all over really. It gets easier with time, but with a lot of googling, trolling linux forums, and reading lots of man pages, you'll get there eventually. Just think of it as good training for the android NDK ;)



#9 CRYP7IK   Members   -  Reputation: 939

Like
1Likes
Like

Posted 31 March 2014 - 08:10 AM

code::blocks - great, some issues with autocompletion sometimes

codelite - pretty awesome, some plugins aren't free

vim+spf13 - very good historical fuzzy auto-complete + snippets main<ctrl+k> will give you a full int main(..). or class<ctrl+k>ClassName<ctrl+k> will fill out a simple class def and impl and a lot more

eclipse - awesome auto-complete lots of different languages


To accomplish great things we must first dream, then visualize, then plan...believe... act! - Alfred A. Montapert
Gold Coast Studio Manager, Lead Programmer and IT Admin at Valhalla Studios Bifrost.

#10 Karsten_   Members   -  Reputation: 1603

Like
1Likes
Like

Posted 31 March 2014 - 09:21 AM

A few tips that might help.

1) Like any new platform, start simple. Use a plain text editor and compile from the console until you understand what the IDEs are "meant" to be doing for you.

2) Are you new to C/C++ development too? If so, perhaps learn this on the platform you currently use so you are not in a completely foreign environment.

3) With Linux, in exactly the same way as OSX and Windows. If you have hardware that the OS does not support, swap out the hardware with something that does. In your case, a graphics card is quite an easy thing to replace. However, I would be suprised if your card was not supported. Perhaps try running glxgears or a 3D linux game (i.e OpenArena) to see if it is working.

What issues were you experiencing with Irrlicht? Did you install it from the package manager (# apt-get libirrlicht-dev) or manually from a source archive? If you specify the error you are having, I might be able to help solve it with you. In most cases you can compile code like:

$ g++ MyCode.cpp -lIrrlicht
Linux is trivial to develop for so once you get over these initial hurdles, you will find it extremely straightforward from then on.

Edited by Karsten_, 31 March 2014 - 01:17 PM.

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.


#11 Bregma   Crossbones+   -  Reputation: 5133

Like
1Likes
Like

Posted 31 March 2014 - 11:32 AM

I need some recommendations for IDE under Linux.
 
QtCreator? If I remember right the UI wasn't to friendly to get a simple C++ project working....

I think you're probably mistaken. Try it.

How do I install the latest drivers for this GPU? From what I can tell the latest don't support the X1300?

I don;t know much about Mint, but they'll have the command line available to you from which you can just do an "sudo apt-get update; sudo apt-get upgrade" and that will make sure the latest tested drivers are installed. I strongly recommend using drivers that have not been tested and packaged in the Ubuntu archives, that's a good way to brick your system if you're not an expert.

What is X11? Do I need it?

X11 in this context is the display server: it's the software responsible to drawing everything to your video screen. You don't need it: most servers run without video displays. If you want to make graphical games, however, you will probably want it.

I would like to use Irrlicht also but couldn't get that working either.

That's a little vague. Perhaps there are errors or something?

So I am not liking the experience so far... Not trouble free at all....

Here's quick rule of thumb: get everything from your distro unless they don't have it. If they don't have it, as a beginner, you probably don't need it yet.

Hope to overcome the sour taste of this and enjoy coding on Linux but need some serious help!!!

Welcome to the dark side. We have the answers.
Stephen M. Webb
Professional Free Software Developer

#12 MARS_999   Members   -  Reputation: 1280

Like
0Likes
Like

Posted 31 March 2014 - 12:17 PM

Wow thanks for all the support so far! 

 

I will comment later today I am in a hurry now, but will post more info later and reply to posts that need asked for answers.

 

thanks!

 

OH btw how are you all finding these libs to add to the development kits? I am lost on these...

 

 package manager (apt-get irrlicht-dev) 

 

i have no idea on these commnads and HATE not having a list of libs and their names to know what I want to use or need to get to develop with...

that is the starting problem here in some regards.


Edited by MARS_999, 31 March 2014 - 12:20 PM.


#13 Karsten_   Members   -  Reputation: 1603

Like
0Likes
Like

Posted 31 March 2014 - 01:15 PM

You can generally use the tools provided on your Linux distribution to track down the library required. Some tools can even tell you the exact package name you need to install for a given file. I believe apt-get can do that.

I personally use *BSD so my "package" system is a tad different but looking around at Debian based distros, the package you need is libirrlicht. Since you are looking at developing for it, you will also need the development header files (which is the *-dev package). Mint should have this in the repositories.

It may seem a little confusing now but the good news is that this system is consistent so unlike Windows or Mac OS X, once you have learnt how this works, it won't really change whereas to use many libraries in Windows development, the process is very different for each library and you often have to build them yourself (for your current version of Microsoft C++).

Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.


#14 Bregma   Crossbones+   -  Reputation: 5133

Like
1Likes
Like

Posted 31 March 2014 - 01:43 PM

OH btw how are you all finding these libs to add to the development kits? I am lost on these...

package manager (apt-get irrlicht-dev)

You're using Mint, which is based on Ubuntu, which is a Debian derivative. Debian uses the "deb" package format -- a standard way of packaging software and declaring all the necessary dependencies.

Unlike, say, Windows in which there is no such thing as a standardized way of distributing software, most Linux distributions stick to providing all software in a single way (although different distros use different ways -- there is no "there" there in GNU/Linux).

On a Debian-derived system, the package is the "deb" and there are several tools to use debs. The most fundamental one is "apt" and you'll see instructions for downloading and installing packages from the command line using the "apt-get" command. The apt-get command will select a named package from your configured sources and download that package and all other packages required to make it work, and install them. If you always use this tool, your system will never get in to a broken state.

If you start up your Mint system, open a terminal, and type "sudo apt-get install libirrlicht-dev" the system will find, download, and install the Irrlicht development package (which contains header files and link libraries) and the libirrlicht1.8 package (the runtime DSOs, or shared libraries) required to develop against Irrlicht. You can see more information on that package by using the command "apt-cache show libirrlicht-dev", and you can see what files were installed using the command "dpkg -L libirrlicht-dev".

The installation command must be run as the superuser (a privileged administrative user) because it installs the packages system-wide. That's what the 'sudo' command does.

These are all basic commands you just need to learn. There is a learning curve for any system, including the one(s) you already know. It's no harder to do things on a GNU/Linux system than on any other system, don't let your prejudgement fool you.

Tip: to find other development packages, for example, the SDL2 packages, use "apt-cache search libsdl2" to search. The standard Debian naming convention is to prefix a library package with "lib" and suffix a development package with "-dev".
Stephen M. Webb
Professional Free Software Developer

#15 SimonForsman   Crossbones+   -  Reputation: 6109

Like
0Likes
Like

Posted 31 March 2014 - 01:45 PM

You can generally use the tools provided on your Linux distribution to track down the library required. Some tools can even tell you the exact package name you need to install for a given file. I believe apt-get can do that.

I personally use *BSD so my "package" system is a tad different but looking around at Debian based distros, the package you need is libirrlicht. Since you are looking at developing for it, you will also need the development header files (which is the *-dev package). Mint should have this in the repositories.

It may seem a little confusing now but the good news is that this system is consistent so unlike Windows or Mac OS X, once you have learnt how this works, it won't really change whereas to use many libraries in Windows development, the process is very different for each library and you often have to build them yourself (for your current version of Microsoft C++).

 

indeed, as a rule of thumb with Linux (Atleast debian based distros like Mint), Never use google to find free software or libraries unless you want to test unfinished products, the latest stable version of virtually everything is in the repositories.

 

If you absolutely want to search on the web you should try this first: http://community.linuxmint.com/software/search

just click the install button on the stuff you want and the system sorts it all out for you.

 

Oh, and you don't have to use the commandline either, you can just open the menu and click on software manager to get a nice graphical interface to add and remove applications from.


Edited by SimonForsman, 31 March 2014 - 01:50 PM.

I don't suffer from insanity, I'm enjoying every minute of it.
The voices in my head may not be real, but they have some good ideas!

#16 MARS_999   Members   -  Reputation: 1280

Like
0Likes
Like

Posted 01 April 2014 - 02:54 AM

 

OH btw how are you all finding these libs to add to the development kits? I am lost on these...

package manager (apt-get irrlicht-dev)

You're using Mint, which is based on Ubuntu, which is a Debian derivative. Debian uses the "deb" package format -- a standard way of packaging software and declaring all the necessary dependencies.

Unlike, say, Windows in which there is no such thing as a standardized way of distributing software, most Linux distributions stick to providing all software in a single way (although different distros use different ways -- there is no "there" there in GNU/Linux).

On a Debian-derived system, the package is the "deb" and there are several tools to use debs. The most fundamental one is "apt" and you'll see instructions for downloading and installing packages from the command line using the "apt-get" command. The apt-get command will select a named package from your configured sources and download that package and all other packages required to make it work, and install them. If you always use this tool, your system will never get in to a broken state.

If you start up your Mint system, open a terminal, and type "sudo apt-get install libirrlicht-dev" the system will find, download, and install the Irrlicht development package (which contains header files and link libraries) and the libirrlicht1.8 package (the runtime DSOs, or shared libraries) required to develop against Irrlicht. You can see more information on that package by using the command "apt-cache show libirrlicht-dev", and you can see what files were installed using the command "dpkg -L libirrlicht-dev".

The installation command must be run as the superuser (a privileged administrative user) because it installs the packages system-wide. That's what the 'sudo' command does.

These are all basic commands you just need to learn. There is a learning curve for any system, including the one(s) you already know. It's no harder to do things on a GNU/Linux system than on any other system, don't let your prejudgement fool you.

Tip: to find other development packages, for example, the SDL2 packages, use "apt-cache search libsdl2" to search. The standard Debian naming convention is to prefix a library package with "lib" and suffix a development package with "-dev".

 

 

 

Oh wow thanks for the very informative post!!! I agree there is a learning curve and I just need to over come it. Just pressed for time but getting a bit warmer to it now that you posted some tips! Got anymore like these post them greatly appreciated! So far yeah I like Linux just hope to get good with it as I would like to ditch Windows altogether!!!

 

So yeah I welcome the darkside! :)






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS