Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

 
Advanced search

1075933 Posts in 44152 Topics- by 36119 Members - Latest Member: Royalhandstudios

December 29, 2014, 04:22:37 PM
TIGSource ForumsDeveloperTechnical (Moderators: Glaiel-Gamer, ThemsAllTook)Picking out a Linux distribution for development
Pages: [1] 2
Print
Author Topic: Picking out a Linux distribution for development  (Read 908 times)
Evan Balster
Level 10
*****


I live in this head.


View Profile WWW Email
« on: March 08, 2013, 05:45:31 PM »

Hey, all --

I want to get back into the habit of making Linux builds of my games.  A big extra motivator that's coming up lately is that Windows' audio latency is just awful and I've been making music programs.  (I could get around to supporting ASIO/WDMKS/WASAPI, but these all have a nasty habit of taking exclusive control of the system mixer.)

Anyway, I installed the latest version of Ubuntu onto my triple-boot laptop a week or two ago.  I noticed first that some nasty UI design choices from the previous version were still in effect (awful, awkward scrollbars and an arcane docking system) and thereafter that a lot of the system tools were generally very buggy and a lot of background processes were crashing.  I also had difficulties with the GRUB configuration but those were due to my multiboot scheme.  Anyway, I installed a new desktop client (GNOME) and the results were initially pleasing, but now it's taken to locking up completely whenever I log into my administrator account and I haven't really had the patience to proceed.

So I might be getting a bit judgmental here, but Ubuntu's not cutting it.  Some drivers are broken or something, updates haven't fixed it, and my only administrator account is broken meaning a reinstall is likely going to be necessary.

What I need is a graphical Linux install with the following properties:
  • Capable of building 32- and 64-bit binaries compatible with other distros
  • Robust and stable -- minimalism is a good approach to this
  • Well-supported in terms of hardware (pretty much guaranteed thanks to the Linux kernel)
  • Simple, clean interface -- GNOME looks nice, Ubuntu does not
  • A good "workspaces" mechanism (I enjoyed using RHEL at a school lab as it handled these well)
  • Sane port and filesystem security (hi, Fedora)

I'm probably going to make just a bit more effort towards defibrillating my borked Ubuntu install before giving up on it, since it's both a pain and a risk to be messing with my partition scheme as much as I am and I can still log into the guest account and su my way around.  But in the meantime I'd be interested in others' prescriptions about what systems are simple and practical for the discerning game programmer.
Logged

Creativity births expression.  Curiosity births exploration.
Our work is as soil to these seeds; our art is what grows from them...


Wreath, SoundSelf, Infinite Blank, Cave Story+, <plaid/audio>
Christian Knudsen
Level 10
*****



View Profile WWW Email
« Reply #1 on: March 08, 2013, 06:09:25 PM »

Debian standard install with GNOME?
Logged

Laserbrain Studios
Currently working on Hidden Asset (TIGSource DevLog)
Evan Balster
Level 10
*****


I live in this head.


View Profile WWW Email
« Reply #2 on: March 08, 2013, 06:13:36 PM »

Investigating.

Incidentally, any wisdom anyone can offer regarding 32/64 bit and inter-OS compatibility of Linux binaries is super helpful.  I understand thus far that it's important to use an older C/C++ runtime and that packaging SOs locally gets weird, but not much else.
Logged

Creativity births expression.  Curiosity births exploration.
Our work is as soil to these seeds; our art is what grows from them...


Wreath, SoundSelf, Infinite Blank, Cave Story+, <plaid/audio>
Garthy
Level 8
***


Quack, verily


View Profile WWW
« Reply #3 on: March 08, 2013, 10:46:43 PM »

I've moved away from Ubuntu myself, so I won't encourage you to remain. Wink I'm using Debian 64-bit now, I'm the happiest I've been for a while. I'd also recommend Debian, and have a play around with desktops. Personally, I'm using Xfce4, it's lighter-weight than GNOME or KDE, and as a result it's pretty snappy. You might like it too, or you might not. The important thing is that there are lots of options- experiment, and select your personal best. Smiley

On a 64-bit system, you'll be able to run 32-bit apps, but you need all of the dependent libraries of the right type installed (32-bit apps require 32-bit libraries, all the way down). Debian includes a bunch of 32-bit libraries that you can use as part of its repositories, and if you mess about with 32-bit apps (eg. Firefox), you'll have to muck around with these dependencies.

From a practical point of view, if you need a 32-bit app, being a developer, you'll be able to figure out the dependencies easily enough. However, if you're developing a 32-bit app, with an audience of those using 64-bit, your *users* might not be able to figure it out. If you can release both a 32-bit and 64-bit version, your users will love you more. Smiley

As for GRUB, well, GRUB2 is going to be the future, like it or not, and it's a PITA to configure. The good news is that it usually gets things right, so you don't often need to.

As for building 32-bit apps- I've actually not tried that yet. :} I switched my own dev environment to 64-bit when I did the new install. My plan is, when the time comes, to see if I can build 32-bit straight. I believe you can. If not, I'll use a VM. I can confirm that VirtualBox runs 32-bit OSs perfectly fine on a 64-bit host. However, the first thing I'm going to try is the "-m32" option to gcc. I bet that once you've got all of your dependencies sorted out, that's all you need to do. If you want to check it out yourself, I'd start by checking out that option. Smiley (also, let me know if it works, heh heh)

I hope this helps. Smiley
Logged
Average Software
Level 10
*****

Fleeing all W'rkncacnter


View Profile WWW Email
« Reply #4 on: March 08, 2013, 11:26:03 PM »

I use Slackware myself.  It's probably the closest to "plain Linux" that you're going find, and it's fantastic for development because it makes an effort to ship all of its included software without modifications.

Slackware requires a bit more from a user, and expects you to actually know what you're doing and what you want it to be, so it's not for everybody.
Logged

Franchise - The restaurant wars begin!

What would John Carmack do?
MadWatch
Level 1
*



View Profile
« Reply #5 on: March 09, 2013, 12:17:06 AM »

I recently moved away from Ubuntu as well. It used to be very good but with recent releases nothing seems to work properly.

I switched to Mint. It's Ubuntu based but it works so much better. I never had any problem with it. As for desktop environment, Mate and Cinnamon (both developed by Mint) are great.
Logged
KingKyuss
Level 0
**


You're not alone.


View Profile WWW
« Reply #6 on: March 09, 2013, 01:57:17 AM »

I had fun with a few distributions for a while, never staying on one until I hit Mint. Mint is great because it comes with everything that you need basically out of the box, well I say box. Fedora is pretty good as well a few people have had problems with its latest incarnation but I think it's pretty all right. Ubuntu annoyed me a little. But my recommendation would be Mint, since it's simple to use, as well as being Ubuntu based so there are plenty of apps to choose from. Not that there aren't a load of apps for other distributions it's just that Ubuntu tends to get supported before most others.
Logged
nikki
Level 10
*****


View Profile Email
« Reply #7 on: March 09, 2013, 03:18:37 AM »

I've been feeling very happy with crunchbang

which is debian with openbox as it's window manager.
It's very lightweight and minimal but sleek and not as uglylooking as most of debian.
Logged
rivon
Level 10
*****



View Profile
« Reply #8 on: March 09, 2013, 07:05:52 AM »

Most people are using Ubuntu, especially gamers (according to Steam) so being compatible with it is the best thing you can do. So either use Debian Testing 64bit or Linux Mint 13 (so that your users won't have to have the latest Ubuntu) with MATE (GNOME 2.x fork) or XFCE. I personally use Linux Mint Debian Edition on my desktop and Linux Mint XFCE on my laptop. Both are very nice.
Logged
Klaim
Level 10
*****



View Profile WWW
« Reply #9 on: March 09, 2013, 07:18:14 AM »

Isn't Fedora recommanded for development because they are always up to date with libs?

I used Ubuntu but didn't use it these last years. I want to use it later but the instabilities reported here and in other threads makes me think it might not be a good idea.
Logged

http://www.klaimsden.net | Game : NetRush | Digital Story-Telling Technologies : Art Of Sequence
rivon
Level 10
*****



View Profile
« Reply #10 on: March 09, 2013, 09:12:28 AM »

Isn't Fedora recommanded for development because they are always up to date with libs?
That's maybe good for general kind of development. When you are making games though, it doesn't matter to you which version of libc/libstdc++/gcc you have installed. So IMO it's better to use a bit older release than the latest one cause people with older versions wouldn't be able to play your game otherwise. Or you would have to ship all the libs with your game.

I used Ubuntu but didn't use it these last years. I want to use it later but the instabilities reported here and in other threads makes me think it might not be a good idea.
IMO it's as stable as any other distro. If you have any problem it is most probably caused by some bad/obscure hardware.
Logged
Average Software
Level 10
*****

Fleeing all W'rkncacnter


View Profile WWW Email
« Reply #11 on: March 09, 2013, 12:05:48 PM »

Isn't Fedora recommanded for development because they are always up to date with libs?

I don't think so.  My wife runs Fedora and her system is consistently behind compared to mine, which runs Slackware.
Logged

Franchise - The restaurant wars begin!

What would John Carmack do?
Evan Balster
Level 10
*****


I live in this head.


View Profile WWW Email
« Reply #12 on: March 09, 2013, 01:20:58 PM »

I've installed Debian 6 with GNOME, and I've been mucking about installing various drivers, Skype, Code::Blocks and other software I like.  So far it's been much more stable than Ubuntu was.  UIs get a little ugly but that's because I'm messing with appearance.

Definitely hoping I can build 32-bit without virtualization.
Logged

Creativity births expression.  Curiosity births exploration.
Our work is as soil to these seeds; our art is what grows from them...


Wreath, SoundSelf, Infinite Blank, Cave Story+, <plaid/audio>
Garthy
Level 8
***


Quack, verily


View Profile WWW
« Reply #13 on: March 09, 2013, 04:09:45 PM »

As for building 32-bit apps- I've actually not tried that yet. :}

Definitely hoping I can build 32-bit without virtualization.

This was gnawing at my sanity, so I gave in and tried it:

Code:

= Makefile:

test: test.o
gcc -m32 -Wall -o test test.o

test.o: test.c
gcc -m32 -Wall -c -o test.o test.c

clean:
rm -f test *.o


= test.c:

#include <stdio.h>

int main(int argc, char *argv[])
{
  fprintf(stderr, "Hello, 32-bit!\n");
  return 0;
}


= Setup:

sudo apt-get install libc6-dev-i386


= Run:

> make
gcc -m32 -Wall -c -o test.o test.c
gcc -m32 -Wall -o test test.o
> ./test
Hello, 32-bit!
> file test
test: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, not stripped


Success.

To find the right package in the setup step, I just plugged the error messages from my first attempt into Google, and used that to determine the package I needed.

« Last Edit: March 09, 2013, 04:15:47 PM by Garthy » Logged
Ivan
Owl Country
Level 10
*


alright, let's see what we can see

Valaam0
View Profile
« Reply #14 on: March 09, 2013, 08:00:28 PM »

I run Arch Linux with openbox as a desktop. It's fast, minimal and everything works perfectly. Took a couple of days to configure everything, but now that it's up and running it's probably the nicest dev environment I've had.
Logged

http://polycode.org/ - Free, cross-platform, open-source engine.
Evan Balster
Level 10
*****


I live in this head.


View Profile WWW Email
« Reply #15 on: March 10, 2013, 10:49:51 AM »

Biggest issue I'm running into right now is graphics card crashes.  Got my program to build and it just makes the system throw a pink screen.  A Flash program caused a similar, but more cool looking, crash.  Probably NVidia driver crappiness.  :/

Funny thing is I used the debian packages which are supposed to be pretty stable.
Logged

Creativity births expression.  Curiosity births exploration.
Our work is as soil to these seeds; our art is what grows from them...


Wreath, SoundSelf, Infinite Blank, Cave Story+, <plaid/audio>
rivon
Level 10
*****



View Profile
« Reply #16 on: March 10, 2013, 12:09:56 PM »

I always use the distro-packed drivers and I have never had any problem. Which card you have?
Logged
Evan Balster
Level 10
*****


I live in this head.


View Profile WWW Email
« Reply #17 on: March 10, 2013, 01:45:01 PM »

NVidia Quadro 2000, I think.  It crashed a third time while I was writing an E-mail.  Pity, that.
Logged

Creativity births expression.  Curiosity births exploration.
Our work is as soil to these seeds; our art is what grows from them...


Wreath, SoundSelf, Infinite Blank, Cave Story+, <plaid/audio>
a0x
Level 0
**



View Profile WWW
« Reply #18 on: March 10, 2013, 01:49:05 PM »

+1 for Arch Linux. If you're willing to put a little bit of effort into it, you basically build your distro to how you want it. Plus, you never have to worry about out-of-date software/libraries, since it's rolling release. The wiki they have is fantastic too.
Logged
rivon
Level 10
*****



View Profile
« Reply #19 on: March 10, 2013, 01:52:06 PM »

Maybe the drivers in Debian are old... Try using the official ones from the Nvidia website.
Logged
Pages: [1] 2
Print
Jump to:  

Theme orange-lt created by panic