So I had several people respond to my releasing the source of Planitia by saying, “Nice, but you should have used OpenGL instead of DirectX so it would be cross-platform.” And they are absolutely right, of course. Planitia started out as simply a way for me to learn DirectX (having already become basically familiar with OpenGL) and evolved into the game you see today. A good way for me to continue the learning experience would be for me to re-implement it in OpenGL, since my DirectX knowledge is now way ahead of my OpenGL knowledge.
So the best way to get the project cross-platform is to have another platform to cross to, right? It’s been a long time since I’d last dabbled in Linux and distros have come a long way since then. I’d also heard that booting off a thumb drive was now not only possible, but usually the preferred way to run Linux as a second OS if you don’t want to muck with partitioning your hard drive.
So no problem, right? I find a distro of Linux, install it to my thumb drive, then reboot from the thumb drive.
First I tried PuppyLinux, since it’s pretty much billed as the thumbdrive Linux distro – nice and small, the ISO is all of 130 megs.
But when I went to install it to my thumb drive, it failed to initialize video. I tried several different resolutions and bit depths and they all ended up the same way – with my monitor saying “No signal”. Irritating.
So I went in the exact opposite direction with Ubuntu. Got the netbook version off the official site and it installed just fine. I figured that everything would be hunkey-dorey because the installer is graphical rather than just text. Rebooted the system…when it tried to switch the video mode I got a screen full of purple garbage, then a spontaneous reboot. On subsequent tries to boot, I didn’t get the purple garbage any more but I did get the exact same thing I did with PuppyLinux – when it tries to initialize video, I end up with my monitor saying “No signal” and no choice but to reboot.
The only conclusion I can come to is that my video card is too new and distros don’t include drivers that are compatible with it yet. More than a little annoying. Linux advocates claim that Linux can resuscitate old boxes that are too slow for the most recent version of Windows; they are correct. But it seems like those are the only boxes that can successfully run Linux.
Now, I know what Linux zealots are going to say. They are going to say that it’s not Linux’s fault that it cannot support the latest gewgaws on my video card. But that’s not what I want – I just want it to support the most basic graphics so I can get to the desktop. And the really infuriating thing is that the Ubuntu installer was graphical, so I know it can be done!
So once again, my high hopes for getting familiar with developing in Linux are crushed.
Ack! Seriously?
What graphics card do you have? Both NVidia and ATI have linux drivers which (should be) compatible with the latest graphics cards, I’m really surprised ubuntu didn’t work!
There is an alternative text install you can use, perhaps once the system is fully installed (if you intend to install on a partition) the issue will resolve?
The alternative download is here – http://www.ubuntu.com/desktop/get-ubuntu/alternative-download#mirrors
Linux is certainly rough round the edges on many issues, so perhaps a little tweaking will get it sorted.
Am by no means a linux zealot, just find it surprising a modern gfx card wouldn’t work!!
Don’t worry, linux hates everyone.
The fool-proof thing is to do what I did, and install ubuntu in virtual box. Even the opengl works, sort of.
@Lorenzo: I’ve rebuilt my linux devel box several times, and basically the thing to when you hit issues is to find an older, preferably nvidia, video card. =)
And just to make sure: I don’t hate linux. If anything, I hate the general attitude in the linux community.
Likewise, I was suprised to find that OpenGL worked well in Virtualbox Ubuntu.
I’ve been using SDL to control video setup, OpenGL and input as it wraps everything up so nicely on different platforms.
I can usually export an SVN tree of my windows src, take it into linux, change the library names in the project and be up and running in a few minutes.
Not sure I like where SDL1.3 is heading (if anywhere), but it’s something to bear in mind.
oops, forgot the link:
http://www.libsdl.org/
Or you could run your own virtualized Linux Box in a window with VMplayer, which is Free (after registering) from http://www.vmware.com