Explanation of Linux distros

Hey all,

I'm currently looking at running Maya in a Linux distro of sorts (I have that all in another thread).

Anyway, I'm just after an explanation of how all the "consumer" Linux distros differ?

I've been reading/watching online about it but my mind is in shambles about all the info at once.

What are the "best" Linux distros out there for multimedia purposes is my main question.

However I'm interested in getting the whole picture too. Why are there so many distros? What things do they do/offer? Which are the best for home use?

All that kinda stuff....

Feel free to send me links to anything about this too if you can't be bothered explaining in detail. :D 


Cheers,

-Tragedy-

Well, all distros are based off of the Linux kernel, so all have the same functionality at the core, and can all install all of the same software one way or the other.

They differ in pre-installed software, added functionaliny on top oy the kernel, additional commands, different GUIs, "purpose" (server oriented, desktop use, etc.), and so on.

The "best" distro for media use, for me, is Manjaro with XFCE, with XBMC installed for your media. That is what I use on my HTPC, but others may use different setups.

Why do you consider Manjaro the "best" for you for multimedia purposes (I'm mainly looking at multimedia creation)\?

So how does Linux differ from Windows and OSX?

I mean in terms of how the OS runs; but mainly how OSX can "only" be installed on Apple hardware (with the exception of Hackintosh's which to my understanding require the use of Apple standardised hardware), how can a Linux OS be installed on either a "PC" or "Mac"?


Why is there no OS compatibility limitation as such as there is with OSX being somewhat limited to Apple hardware?


Again, I'm going to be asking a stupid amount of questions here from a beginners understanding; so I do apologise. 

For me, I just like the power of Arch, and the light weight nature. Once you remove all of the shinies from Manjaro, it is essentiallf a standard Arch installation, so is powerful, resource friendly, and has a great wealth of applications.

Linux, unlike Windows or OSX, has no limitations in tho control; you have access to everything that is going on. It is light-weight, and can be configured to run with much less resources (or a lot more, depending on your distro, GUI, and such). It is free, which sets it apart from Windows and OSX, and has a huge repo of free software, as well, larger than Windows and definitely OSX. You have so many options, and are free to configure to your heart's content. Want to use yum instead of pacman? Who's stopping you? Nobody. That's the glory oy Linux, is that you can get it just the way you like it.

Linux is compatible with all X86 CPUs because it was made to be open ond versatile. It is in public domain, with a purpose of being public, spread, and improved by the users. It was made to be open to everyone, and it is.

Okay, cool.

Next question.


Why is there so little support for Linux from the big companies? I know it's now starting to get some headway with Steam and I know Autodesk support some of it too; just why so few?


I'm looking at Adobe here. If it weren't for that I'd be using Linux instead of Win7.


What does the implementation on "Wine" achieve with running native unsupported Linux programs like Adobe poducts/ZBrush/ect?


Does it make the programs run sluggish in any way? 

That is a misconception, GNU/Linux is the backbone of all big companies, big infrastructures, etc...

Linux is a UNIX clone, originally made for the x86-platform. However, since then, other platforms (i.a. ARM) were added. GNU/Linux is an open source operating system built on top of the Linux kernel, that needs to be open source because as long as it uses the Linux kernel, it needs to respect the GNU license of the kernel. Applications that run on a GNU/Linux operating system don't necessarily have to be open source, a lot of them are GPL or LGPL because some artistic creations need to be protected in order to go along with the archaic copyright laws and regulations, some producers of applications (like some commercial games or graphics drivers) are proprietary closed source, and sometimes they require kernel headers, in which case the interaction with the kernel is not 100% verifyable. This is called "tainted kernel", and basically excludes any help from the open source community in case of trouble because there is no legal way to examine the problem. It is not necessary to use closed source applications in GNU/Linux for full functionality, even though there may be a performance benefit with proprietary graphics drivers. As to programs, most efforts in the past to provide commercial closed source software for an open source platform have failed (e.g. Corel and Novell's effort to commercialise SuSE by making a licensing deal with Microsoft in the Nineties), and it was soon given up. A new, more modern business model was created, whereby no software licenses were sold, but rather services. This has proven a very succesful business model (the price of RedHat stock has taken over the price of Microsoft stock years ago, and both the official Russian and the official Chinese operating systems for use by everyone, are derived from RedHat's GNU/Linux distro with the help of RedHat). The major GNU/Linux distros used in business and governmental computing are "RPM-based", that is, they use a package manager that uses the RPM-format, as used by Novell's OpenSuSE (without commercial support, only supported by the community that created it) and SuSE enterprise Edition (with commercial support, guaranteed support within a very short period of time by service professionals that are trained in the use of the community developed software products) or by RedHat's Fedora/CentOS (without commercial support) or RHEL (with commercial support). If you buy RHEL or OpenSuSE Enterprise Edition, RedHat or Novell will come and install a custom turnkey solution in your business or administration, and they will guarantee a full solution in case of problems within 24 hours, which is a service that no closed source software provider can offer.

The good thing is that the GNU/Linux operating systems are built upon the Linux kernel, which is maintained by a small group of specialists under the supervision of the original creator, Linus Thorvalds, in the Linux Foundation. All new hardware products that want to be compatible with the most used kernel on the planet (the Linux kernel), submit the hardware drivers in the form of open source code to the Linux Foundation, where it is published on a worldwide internet based code vault that is accessible by everybody. Specialists from all over the world, mostly developers working for big corporations like Intel, IBM, RedHat, Novell, AMD, etc..., but also people from universities, code enthusiasts, etc... then examine the code and the code is optimized in collaboration, and when it is tested to satisfaction, the person that has taken up responsibility of maintaining the code (meaning guarding compatibility and functionality in the future) submits a "pull request" to Linus Thorvalds (as in "pulling the code from the Github into the kernel"). He then does the quality control and decides whether or not this code can be assimilated in the Linux kernel. If the pull request is honoured, the next version of the kernel will be inherently compatible with the hardware that code was meant to drive. As such, there are no drivers in GNU/Linux, because the Linux kernel contains all the hardware compatibility already, on the condition that the source code of the driver was submitted as open source code. Some manufacturers, like Canon, nVidia, to a certain extent AMD, etc... refuse to submit their driver source code, and want to keep it closed source. That means that they will have to provide an application (a "driver", like Windows uses) that provides compatibility, and of course, that also means that they don't have the combined brain power of the huge open source dev community at their disposal, but have to pay a limited number of devs to develop that application for them, which means that the quality probably is inherently lower than if the same product were made by the open source community.

For other software applications (Steam games, Adobe products), the same is valid. Most applications in GNU/Linux are developed native to GNU/Linux and are open source, so that the community may collaborate in improving them, because there is no corporation on earth that has enough money to pay such a huge army of top developers as the open source community. This does not mean that the open source community developers are unpaid! Most are employees of large IT corporations like Intel, IBM, Novell, AMD, Hewlett-Packard, Sun Microsystems, Oracle, Universities, Research institutions, etc ... and they have a regular dev or research job, and often a big part of their paid job is to ensure compatibility of the commercial products of their employer with the Linux kernel. RedHat, which has a 100% Open Source-based business model, is the major contributor, together with Novell and IBM.

Now there are other GNU/Linux distributions than RPM-based distributions, the major GNU/Linux distributions are described in one of my earlier posts on this forum very extensively, so search for it and you will find it.

Besides the major distros, there are also ports and respins.

Why do people build different distros? Because there are tastes and preferences basically. RPM-based distros are primarily made for the enterprise world, they emphasise security, stability and compatibility, and Fedora prides itself on being the most bleeding edge distro, with a rawhide branch that always immediately implements the latest and greatest Linux kernel, sometimes at the expense of not providing the latest and greatest version of home user applications, although they have a very enthusiast community and are pretty up to date when it comes to games and such, but that is not their main focus. Their main focus is networking tools, security tools, privacy, open source hygiene, long term stability, hardware compatibility, scientific applications, high performance computing, robotics, development tools, and research tools.

Besides the RPM-based distros (Fedora/CentOS/RHEL/RedFlag/Russian Fedora, OpenSuSE/SuSE, Mageia/Mandriva/ROSA), equally important are the DEB-based distros, basically Debian Linux, which has an equally important focus on open source hygiene, but is more conservative, and focuses on stability and the ability to run all applications, it doesn't offer the latest and greatest features, but it's more home user friendly, for instance Debian Sid repos will contain the latest version of open source games, whereas the Novell or RedHat repos might not yet. Then there is Arch Linux, which is an open framework for every user to build his own custom distro basically, it's a less accessible but truly enthusiast distro, and it has three huge advantages:

- it's a rolling release distro, meaning that there are no versions, every part is updated as the updated code is available. This is also a disadvantage, because often a new Arch package will break things, and a lot of tweaking will be necessary to restore functionality. But that's why it's enthusiast class. Every user can make his install as bleeding edge as he wants it to be, just like with Fedora.

- besides the official repos, Arch also has AUR, the Arch User Repository, which is like a bulletin board open to anyone that makes a package for Arch. Users will build the latest and greatest software applications almost immediately for Arch, which means that if you want to play the latest games and use the latest and greatest software, your best chance of being able to install it out of the box is in the AUR. The official repos pull in a lot of AUR original packages after quality control also, which means that the official Arch repos are huge and very up to date also. This is a huge advantage for power users, and also for gamers.

- It's a completely manual install, which means that the distro is as lean and mean as the user needs, which generally means that an Arch install will be faster than another install, because the user won't install what he doesn't need.

Those are the three biggest distro families. Other major distro families are Gentoo and Slackware, which are also enthusiast class distros with a huge dev community, but not as big as the other three major distros.

The most used distro with home users is Ubuntu, which is a port of Debian, but has alienated far away from the Debian philosophy. It's the product of a commercial company, and doesn't have the same huge developer community as Fedora/OpenSuSE/Debian/Arch, but it does do marketing, and therefore it is the most popular with non-enthusiast computing users. I would not recommend Ubuntu in the state it is right now, Canonical, the company that markets Ubuntu, alienates ever further from Open Source, and is not really capable of developing a troublefree computing experience. It's still nicer than Windows, but it doesn't even come close to the real GNU/Linux experience. Mint Linux is based on Ubuntu, and is better, but still not comparable to the major distros.

Some major distros have respins/ports that might be very interesting. For gamers and enthusiasts, Manjaro Linux is a very nice port of Arch Linux. It has the benefits of Arch (AUR, leading edge, huge community support), but not some downsides (better testing of updates, no manual install, unique hardware detection tool, lenience towards some non-open source applications that are generally useful, so that adobe flash, steam, proprietary graphics drivers, mp3-codecs, etc... come installed out of the box). It doesn't provide the enterprise grade security of Fedora and OpenSuSE, but for most users, that is not an issue, as GNU/Linux is inherently very secure as it is.

I would definitely recommend Manjaro Linux 0.8.7 with XFCE to new users. Once you get and understanding of how linux rolls, you can install other desktop environments and keep the one you like, whether Gnome Shell 3.8, KDE 4.10 with Plasma (those are the two most popular and modern DE's), OpenBox, LXDE, MATE, Cinnamon, Unity, or Enlightenment E17, or you could keep XFCE. Manjaro Linux is a relatively new distro, it's not in version 1.0 yet, and will be developed further through 2013, before the first final release will be reached, but it's completely stable and very functional already, even though technically in beta, and it is arguably the fastest growing GNU/Linux distro in history, with a user count that has increased enormously, faster than Ubuntu in fact, and is still rising at a fastly accelerating rate, even though it's technically still in beta, and there is no marketing effort at all, no company behind it, etc... it's just a crazily good distro for home user enthusiasts and gamers and a huge computing experience upgrade from Windows and closed source platforms in general, with a very solid dev community behind it, not huge, but smart and diverse. Main development of the distro happens in Germany, France, Austria, Poland and Turkey, but the community is truly worldwide, and the official repos are mirrored all over the world.

Now when it comes to multimedia production, there are a lot of tools available for GNU/Linux, and all tools will basically be compatible with all distros, but most packages will be prepackaged for RPM, DEB and AUR. If you really want to have the best guarantee of using the latest en greatest, go with Arch/Manjaro, because of the AUR. If you want the utmost stability, go with Debian or Fedora/OpenSuSE. Things like Darktable, OpenShot, RawTherapee, Blender and GIMP are available in latest version in all of the official repos for Fedora/OpenSuSE, Debian and Arch. OpenSuSE has a specific multimedia production spin with guaranteed support for multimedia production applications, which is nice, and you can easily custom make a completely free multimedia production orientated distro with Susestudio online. AMD is now working with the Berlin Germany based LibreOffice, the world's most used Office Suite, which is also Open Source, to implement OpenCL there, so that will be interesting very soon, and is also working with Adobe to bring OpenCL acceleration to the Adobe products (which are closed source) in Linux. That means that - at least for the AMD platform - GNU/Linux will most certainly become the preferred high performance multimedia and productivity platform very soon. However, nVidia doesn't want to cooperate with the Linux Foundation at all, even though they profit from the linux kernel for their ARM-based products (the nVidia Shield runs on Linux, the Tegra-chips are Linux-only), but they don't want to give anything back to the community, instead they have announced that they want to sell licenses to their proprietary technologies, instead of making their source open. This means that if you have nVidia hardware and have invested in an expensive nVidia graphics card to benefit from CUDA-acceleration, that your best off sticking to the legacy Windows-platform for now, because there is no future for CUDA-acceleration in GNU/Linux, and Adobe will probably only implement it in the future for a premium price. Right now, all the benchmarks in GNU/Linux show that even with proprietary drivers, AMD cards perform much better (up to over 2x as well) with OpenCL as nVidia cards, and that's taling into account that nVidia has invested in GNU/Linux proprietary drivers much more than AMD. nVidia probably hopes that Intel will buy a nVidia technology license to build better GPU's into it's CPU's, but Intel has a strict policy of open source graphics drivers, so with nVidia insisting on proprietary closed source graphics drivers, the tought of buying nVidia technology is very unsexy to Intel, which is a major linux kernel contributor. nVidia is just not getting it: they thought that noone would be able to make an open source driver for their products, but the open source community is very powerful, and has access to a huge amount of assets, because of the people in it that mostly work for technology companies and academical institutions. So a few people came together and basically mapped the nVidia GPU chips by lasering layer after layer off the chip under an electron microscope. This map was then used to reverse engineer an open source driver, without any help whatsoever from nVidia. That driver doesn't perform as well as the proprietary driver because the community hasn't cracked the code necessary yet to make the GPU frequency rev up, so with the open source driver the nVidia GPU's always work at lowest frequency, but sooner or later that functionality will come too, and then nVidia will have nothing left to offer, as CUDA has already completely failed in open source, the Tegra performance benefit in games has been cracked and exposed as just an artifical software limitation that can be easily circumvented to play linux/Android games just as fast on other ARM hardware, etc...

I hope you can do something with all that information, and hope you have a lot of fun with your fresh 21st century linux computing experience!

Just going to say that this is gold. Is there a way to prevent this from sinking into oblivion?

thanks for sharing your thoughts, that was very informative. 

Wow... Thank you very much, Zoltan!


That is huge. Very informative and has covered all my questions.


But yes, I do understand that Linux in the backbone of "big companies" and enterprise; I was more meaning it as to why Adobe and numerous other companies don't allow their software to be supported for use on Linux.


I hope that will change in the future.


Anyway, thanks again.

I feel this thread/that post should be stickied. That's just... Wow.