Operating Systems‎ > ‎Choosing a Linux distro‎ > ‎

Packages and software

Now that Linux has become much easier to install and use for GUI minded users, many want to use their system like any other. Surf the Internet, E-mail, write a document, listen to some music, etc. On Windows you would download software from a website, run it, install it and use it. This is very different on Linux.

Every Linux distro has it’s own database of software offered to the user in the form of packages which can be accessed by a package manager. Nowadays each distro is at least equipped with a text based package manager (accessible from a terminal), and most have a graphical one too.

Ubuntu's graphical software repository

The good thing about this is you can safely acquire software without having to worry about viruses or possible installation errors and because it's part of the software database it gets automatically updated too.
The downside is that if software isn't in the database you either have to compile it from the source code or hope someone else already made a package and put it on the web. Compiling software is definitely not something for beginners to try, so lets just say, if it isn't in the repositories it is not available.

If you only used Windows before, you’ll need to find alternatives to some software. Your new office suite for example will most likely become Libre Office. But there are also little things which are important for example the audio player. I loved Winamp on Windows and found Audacious to be a good replacement on Linux.
This was however not available on every distro i tried, making me aware that you need a list of software that is important to you, find alternatives and check the distro you want offers them.

A good place to find alternatives to your favorite software is alternativeto.net. Just look op your software and select Linux as target platform. Of course you'll have to try out many of the alternatives offered and not all deliver what they promise, so this will take some time to figure out.

Windows applications

There are of course programs that do not have an alternative available on Linux. In cases like this you could use Wine, which enables Linux to run Windows code. Now if that sounds just perfect to you, you might want to try it out for yourselves. It won't be long before you start finding the limitations of Wine and the degraded performance. Cut short, Wine is really a last resort.


Limitations of Wine
Programs cannot access drives or hardware directly. For example i wanted to make a bootable Windows install CD with Rufus, but Rufus could not 'see' my USB drive. You can configure a drive in the configuration screen but the Windows program won't be able to fully access the hardware like it would in an actual Windows environment.
Another important issue are libraries (dll files) which are needed to run a program. Wine does not include all the libraries Windows has, so sometimes you'll experience weird errors and in such a case you'll have to manually install all the needed libraries.
Speed is also on issue on many programs, sometimes this can be avoided by disabling some functions but in most cases it's just code that needs to be improved on Wine.

All in all it's a good idea to check compatibility of your programs in Wine's online database.

Gaming

If you play lots of 3D games on your Windows machine, you will need a dual boot setup. That may sound disappointing to you but gaming is still in it's early stages on Linux. Thanks to Steam however rapid improvement is looming on the horizon. Because of Steam Nvidia has said to commit itself to improve and increase focus on Linux drivers. Nvidia even went as far in saying Linux will be the gaming platform of the future.

So good prospects for the future but right now 3D on Linux is depending on OpenGL and good video drivers. At the moment drivers are not anywhere near as fast as the Windows versions and they are also quite buggy 3D wise.
Then there is the DirectX aspect, most Windows games are developed solely to function on DirectX which is a set of libraries game developers use to speed up development of a game.
OpenGL is not a replacement for DirectX because it does not include other things than 3D acceleration. DirectX also includes libraries for controls, sound, network and media.
This means games developed on Windows cannot be simply ported to Linux. Again Wine offers some relief, but the list of working 3D games is short. On the other hand 2D games seem to work quite well on Wine.

There are however plenty native Linux games to discover and also many indie game developers that use development platforms which are also available on Linux and thus portable to Linux.
Conclusion, anything 3D is likely to cause problems on Linux.