|
Evan Balster
|
 |
« 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
|
 |
« Reply #1 on: March 08, 2013, 06:09:25 PM » |
|
Debian standard install with GNOME?
|
|
|
|
|
Logged
|
|
|
|
|
Evan Balster
|
 |
« 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
|
 |
« 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.  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.  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.  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.  (also, let me know if it works, heh heh) I hope this helps. 
|
|
|
|
|
Logged
|
|
|
|
|
Average Software
|
 |
« 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
|
|
|
|
MadWatch
Level 1
|
 |
« 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
|
 |
« 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
|
 |
« Reply #7 on: March 09, 2013, 03:18:37 AM » |
|
I've been feeling very happy with crunchbangwhich 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
|
 |
« 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
|
 |
« 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
|
|
|
|
|
rivon
|
 |
« 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
|
 |
« 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
|
|
|
|
|
Evan Balster
|
 |
« 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
|
 |
« 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: = 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
|
 |
« 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
|
|
|
|
|
Evan Balster
|
 |
« 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
|
 |
« 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
|
 |
« 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
|
 |
« 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
|
 |
« 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
|
|
|
|
|