Hello everyone.
I'm posting here (and will keep updating my post) about what people say about Gentoo, and what doubts do they have about the project and what wars are going on in the communities.
First of all let's see why are you using Gentoo. Gentoo is for -
admins
devs who do not solely develop high level programs
Enthusiasts
Curious minds (about Linux)
And might be Graphs artists also.
Servers
If you're using Gentoo and not anyone or more from the above, then it's a waste of time.
Gentoo is used by admins, devs, enthusiasts cause many of them know/wanna-know Linux good enough, I.e they can handle the technical expertize that Gentoo throws at them; the efforts of editing the configuration file, the efforts of fulfilling the compile requirements, the efforts to configure the kernel, etc... i.e. they are willing to learn and have a bit of time at hand.
The main reason why they use it is either for one or more of the following -
*Complete control of the system (known compile time parameters).
*Leaning the internals of everything.
*Speed – Lowered dependencies, lowered runtime requirements of binaries, known optimization (explained in FAQ), tweaked kernel (if the user has configured his kernel), LDFLAGS, new packages.
*keep uptodated.
*the latest unstable packages.
*New features in software.
*Rolling release.
*slots
*architecture.
*Security.
For 'curious minds' or people who are learning Linux, it just provides a playground. If using Gentoo they become enthusiasts, they will most probably use it for any of the above stated reasons but only if they realize the powers of Gentoo and even if they do, they should have an interest to use those powers.
Whatever be, if you continue using Gentoo, you will continuously be learning something or the other since it reviles the inner workings of the new packages and even hardware; the various options they can be compiled with, the various features they support.
*Complete control of the system (known compile time parameters) – Related FAQs -*I can have complete control over the system using any other binary based distribution.
When all binary distributions were providing X with HAL, Gentoo gave it's users an option to compile with without.
If you have an old processor which does not support SSE2 and SSE3 instructions, no use compiling your binaries with it. Also many packages (like ffmpeg and mplayer) support compiling without these.
Why compile blender with openal support when you don't want it?
We use recoll with QT interface, which Ubuntu can't. Although recoll is not in portage but a contributer is maintaining the ebuild (But the portage maintainers wont let him in.)
Uncountable more.
*The package maintainers can build these packages with such features removed/added
Then the no. of packages of the Ubuntu distribution will be close to a billion if they attempted to do so; so many are the number of options.
*You can apt-get –no-install-recommends, then install the recommended ones manually.
There's a difference between a plugin and a dependency, you can remove the plugins but if you remove the dependencies it will result in errors... the devs know that.
In Gentoo we remove the dependencies. Let's take an example of kde-desktop in Ubuntu; here I list the packages that Gentoo would not install (if kdebase-meta is emerged) -
ark kdepasswd khelpcenter4 ksnapshot ksystemlog language-selector-qt libkdecorations4 libkonq5 libksignalplotter4 libkwineffects1 libokularcore1 libpoppler-qt4-3 okular
Anyway, this is not a good example to state runtime dependencies; many more examples exist...including gnome and xfce.
Recently I got another example of the apt dependencies resolution. I accidentally installed fglrx on an nvidia, so I want to remove it now, and along with that, it wants to remove the following -
flashplugin-installer flashplugin-nonfree ia32-libs nspluginwrapper wine1.2
*OK, so I can customize most things using almost any distro...this is Linux, this is opensource.
It's difficult to remove things than adding them – specially in Ubuntu.
You decide to completely remove gnome and add kde instead, but on removing the ubuntu-desktop package, nothing else gets removed in auto-removing.
Furthermore there're many utilities preinstalled not as a meta package...you can't hunt for them in the default stack of the installed 1200 packages, you might remove dependencies off X...who knows.
*What's the advantage?
Satisfaction of the user (others will be discussed later).
*Leaning the internals of everything.*Why can't I do this with any other distro?
Cause Gentoo forces you to. Otherwise it will fail to work, or work bad (after which the users say Gentoo is bad).
Gentoo expect you to work on it, for a simple reason – Customization, Gentoo's goal.
It allows you to play around heavy with kernel configs, it will teach you how to boot the system manually, it will explain the factors and options of a compile, uncountable more...
Furthermore in a usual shining distro, you do not know which things worked out of the box without your permission and configuration... you might not stop them since you do not know if it's a dependency of something else.
Anyway, most do agree with this point.
*Speed*Ubuntu is much faster than Gentoo (yo!...Gentoo has nano second boost in performance).
Ground truth is Ubuntu is one of the slowest distributions around, it's not cause of it's inefficiency, but cause Debian has been modified for ease of use with the expense of speed.
As we all know, easiest doesn't mean the best; same can be said about Linux and windows. And actually Gentoo is one of the fastest distros around. Here are the benchmarks -
http://global.phoronix-test-suite.com/?k=profile&u=unlotto-26045-5690-24680
http://www.linux-mag.com/id/7574
http://snaprails.tumblr.com/post/325624962/linux-performance-benchmark-apache-nginx
http://snaprails.tumblr.com/post/306663818/linux-performance-benchmark-system
This is Sabayon's, but it's Gentoo based so -
http://www.phoronix.com/scan.php?page=article&item=sabayon_51_benchmarks&num=1
I personally did certain benchmarks to find Gentoo was -2% to 40% faster on startup times of programs and now I can play HD videos with my broken graphs drivers.
Later on I also did some benchmarks compared to arch to realize that decompression was faster on Gentoo and compression gains were upto 50% with lpaq9m compression algorithm. I also realized that if the compression was a short one, arch was faster, but for prolonged compression, Gentoo was getting much faster with time and reached a point where it was ~50% faster. Although there was no difference in startup times of programs, but the UI seemed sluggish (this was pretty noticeable); anyway no major advantage. The boot time of arch was around half of Gentoo's, this maybe cause I'm using baselayout 1. Base layout 2 is said to decrease the boot times by 100%, I upgraded and yes, the boot times where a bit faster than Arch's. Notice however that I was using Arch on a 4 GB partition and Gentoo was spread across a 4 GB partition (root) and a 8 GB partition and packages installed in arch were very less as compared to Gentoo (I use this Gentoo as mainstream). Also notice that I'm always using reiserfs which has fragmentation problems specially when using it with notail option and my Gentoo installation is around 6 months old and I was using 2.6.31 while Arch was using 2.6.33; these factors are also to be considered with these benchmarks.
The optimization is not cause of the CFLAGS or the compile time parameters of GCC (assume you've set it correctly) (however I'm doubting this after the arch benchmarks), but primarily cause of USE flags which result in binaries of lower dependencies, thus it will search less and load less. Other reasons are LDFLAGS and lower dependencies and packages installed (the more you tweak the USE flags, the more lower the dependencies, so the performance depends on you).
You don't have to tweak the USE flags every 2 days. Half of the job is done by the devs who provided 'profiles'...even for KDE and GNOME desktops.
If you're using Gentoo of special purpose systems like servers (without X) or as a bank accounting software which does not need any USB support, CD/DVD, media etc.. support, then Gentoo can give you more than 50% performance gains cause of the lost dependencies cause of USE flags.
*Speed is a Placebo effect.
Gentoo is fast and has been reported be numerous Gentoo desktop users and benchmarks (even I did that), and you think all suffer from this disease? To realize if I was a victim, I did startup benchmarks of various applications to realize Gentoo was actually pretty faster than Ubuntu and I'm not infected and if you find Gentoo is not fast you've either misconfigured your system, not configured it well (these 2 are different) or you're having a placebo effect instead.
*I don't think Gentoo's compile time is worth the effort and time.
If you're a complete newbie and do not belong to any of the groups above and considered giving Gentoo a try and actually gone though all those things – it was your stupidity to use Gentoo. Go back to Ubuntu, or try Sabayon, it's Gentoo based but easier.
As for the compile times -
Quote:
Gentoo is used by sensible people who have enough common sense to realize -- "A compilation process needs not to be 'watched'"
I let Gentoo do the compiling, while I'm writing this.
And guess what?....it got compiled loong ago! Did I regret it's long compile time?
Anyway, if you're the sort of guy who keeping trying new software or changes platform every 6 months, then you're at a loss using Gentoo. Gentoo is best used when you install it once and keep using it (even after migrating it to another PC) for 7 years.
*With more powerful hardware, significance of Gentoo's will be lost.
No actually, the opposite is happening. With more powerful hardware you can compile your package with many features; not to mention, the compile times will also reduced – the most problematical part of Gentoo according to the users.
Furthermore Gentoo gives you a feeling of swiftness to your desktop, if a program loads in 1 second...gentoo might do it in 0.7 or 0.5 second; although this sounds less, but it give the user a feeling of the desktop being more responsive, which lots of users like (and that's why many still use XP in the windows world). Anyway finally it depends on your personal preference.
*I'm a graphs artist, how will it help me?
There're benchmarks where Gentoo has performed extremely well when rendering, if you do that you might save quiet a lot of hours. But using Gentoo is tough. If you have a friend who's used to Gentoo, let him help you with this.
As of the people who don't know the load on the system when rendering (and start saying that I'm talking rubbish), it can take weeks to render movies, as a result people use many boxes for this and even small optimizations can result in hours saved. If you argue that it takes equal amount of time installing Gentoo, no it does not as compared to the weeks of rendering and there will be much time saved. Furthermore, rendering is something you have to wait for while compiling is something you don't have to.
http://blenderartists.org/forum/showthread?t=61483
Blender fails to run in Ubuntu under my setup so I cant do any benchmarks no another setup, with a processor faster than mine (it extracts and compiles much faster) and running Ubuntu, render times where ~50% slower.
*My gentoo is slower or equally fast than Ubuntu! It's also unstable...why??
Gentoo provides numerous amounts of tweaking and playing around. If you find it slower, it means you've messed up the configuration. Read the handbook and do what it says, goto the doc page of www.gentoo.org and read the relevant docs (including that of portage and make.conf).
Don't forget to tweak your kernel, which at times does 50% of the optimizations. But is the hardest to configure, for the same reason reasons, it can cause major instability.
Whatever might be the reason, it's not Gentoo's fault it's yours.
*It does not matter how many packages are installed; the speed remains the same.
If you assume this you'll be confessing that Ubuntu is slow cause of inefficiency rather than the excess of preinstalled package.
I did some benchmarks regarding this. First I installed the default Ubuntu, then installed ~800 packages bringing it to a total of ~2000 here are the results -
Light Ubuntu -
time firefox
user 0m1.280s
sys 0m0.260s
time firefox
user 0m0.960s
sys 0m0.100s
time firefox
user 0m0.780s
sys 0m0.190s
time firefox
user 0m0.840s
sys 0m0.170s
time tomboy
user 0m2.240s
sys 0m0.220s
time tomboy
user 0m1.170s
sys 0m0.130s
time tomboy
user 0m1.160s
sys 0m0.140s
time tomboy
user 0m1.240s
sys 0m0.070s
time pitivi
user 0m1.460s
sys 0m0.370s
time pitivi
user 0m1.000s
sys 0m0.160s
time pitivi
user 0m0.820s
sys 0m0.090s
time pitivi
user 0m0.740s
sys 0m0.130s
time totem
user 0m0.770s
sys 0m0.140s
time totem
user 0m0.740s
sys 0m0.040s
time totem
user 0m0.720s
sys 0m0.120s
time totem
user 0m0.680s
sys 0m0.100s
time rhythmbox
user 0m2.300s
sys 0m0.240s
time rhythmbox
user 0m1.120s
sys 0m0.100s
time rhythmbox
user 0m1.030s
sys 0m0.190s
time rhythmbox
user 0m1.060s
sys 0m0.150s
time evolution
user 0m1.240s
sys 0m0.100s
time evolution
user 0m0.910s
sys 0m0.050s
time evolution
user 0m0.930s
sys 0m0.060s
time evolution
user 0m0.940s
sys 0m0.040s
time f-spot
user 0m1.500s
sys 0m0.170s
time f-spot
user 0m1.600s
sys 0m0.110s
time f-spot
user 0m1.580s
sys 0m0.150s
time f-spot
user 0m0.240s
sys 0m0.170s
time oodraw
real 0m6.781s
user 0m0.240s
sys 0m0.170s
time oodraw
real 0m1.032s
user 0m0.160s
sys 0m0.100s
time oodraw
real 0m1.031s
user 0m0.180s
sys 0m0.080s
time oodraw
real 0m1.051s
user 0m0.180s
sys 0m0.110s
time brasero
user 0m0.630s
sys 0m0.080s
time brasero
user 0m0.470s
sys 0m0.040s
time brasero
user 0m0.380s
sys 0m0.060s
time brasero
user 0m0.450s
sys 0m0.050s
Heavy Ubuntu -
time firefox
user 0m1.410s
sys 0m0.290s
time firefox
user 0m0.950s
sys 0m0.140s
time firefox
user 0m0.850s
sys 0m0.150s
time firefox
user 0m0.900s
sys 0m0.140s
time tomboy
user 0m1.640s
sys 0m0.160s
time tomboy
user 0m1.230s
sys 0m0.160s
time tomboy
user 0m1.150s
sys 0m0.170s
time tomboy
user 0m1.180s
sys 0m0.110s
time pitivi
user 0m2.210s
sys 0m0.580s
time pitivi
user 0m1.190s
sys 0m0.110s
time pitivi
user 0m1.140s
sys 0m0.150s
time pitivi
user 0m1.170s
sys 0m0.100s
time totem
user 0m0.970s
sys 0m0.110s
time totem
user 0m0.700s
sys 0m0.140s
time totem
user 0m0.740s
sys 0m0.170s
time totem
user 0m0.830s
sys 0m0.100s
time rhythmbox
user 0m1.560s
sys 0m0.180s
time rhythmbox
user 0m1.130s
sys 0m0.140s
time rhythmbox
user 0m1.170s
sys 0m0.150s
time rhythmbox
user 0m1.100s
sys 0m0.130s
time fspot
user 0m1.800s
sys 0m0.230s
time fspot
user 0m1.560s
sys 0m0.190s
time fspot
user 0m1.440s
sys 0m0.160s
time fspot
user 0m1.580s
sys 0m0.140s
time evolution
user 1.290
sys 0.140
time evolution
user 1.000s
sys 0.072
time evolution
user 1.000
sys 0.070
time evolution
user 0.960
sys 0.070
time oodraw
real 0m17.408s
user 0m1.700s
sys 0m0.400s
time oodraw
real 0m0.888s
user 0m0.010s
sys 0m0.040s
time oodraw
real 0m0.905s
user 0m0.000s
sys 0m0.060s
time oodraw
real 0m1.114s
user 0m0.000s
sys 0m0.060s
time brasero
user 0m0.770s
sys 0m0.220s
time brasero
user 0m0.520s
sys 0m0.070s
time brasero
user 0m0.590s
sys 0m0.100s
time brasero
user 0m0.440s
sys 0m0.110s
I did find Ubuntu sluggish after this and boot time tripled. And that's the main reason why Puppy Linux doesn't come preinstalled with 50,000 packages.
Even if you remove many packages off Ubuntu, then also Gentoo will show it's performance gains cause of USE flags (depending on how you've set them).
You can configuration Gentoo to be the most feature rich, by which it will turn to be slower than most distros.
*Known optimization.
You don't know what the developers packing the packages compiled your software with. It might be -O1, -O2, -O3, without sse3 or any new processor feature. With Gentoo nothing like that will happen, as a result you might get performance gains cause of this factor.
Same can be said about package. Who know your mplayer was not compiled with sse3 or with the new Nvidia GPU acceleration support?
Anyway, I've also read that GCC might start automatic optimization for CUDA. Whenever that happens, Gentoo will be the first to get the advantage.
BTW I think Ubuntu devs are using -Os...the installation is so small!
*Lowered runtime dependencies
Since the program in Gentoo has been compiled without support for many things, it will load and work faster cause of lower libraries loaded and also consume lower memory. Correct me if I'm wrong, I'm not sure about this.
This is what Ubuntu does when it's loading a program -
ldd /usr/bin/k3b|wc --lines
70
de@de-desktop:~$ ldd /usr/bin/amarok|wc --lines
79
ldd /usr/bin/gimp|wc --lines
58
ldd /usr/bin/ksysguard|wc --lines
62
ldd /usr/bin/kwrite|wc --lines
54
ldd /usr/bin/plasma-desktop|wc --lines
74
ldd /usr/bin/knotify4|wc --lines
45
ldd /usr/bin/konsole|wc --lines
57
ldd /usr/bin/dolphin|wc --lines
64
ldd /usr/bin/konqueror|wc --lines
57
ldd /usr/bin/systemsettings|wc --lines
55
de@de-desktop:~$ ldd /usr/bin/okular|wc --lines
52
ldd /usr/bin/ksnapshot|wc --lines
51
ldd /usr/bin/ktorrent|wc --lines
62
ldd /usr/bin/kbluetooth|wc --lines
58
ldd /usr/bin/acetoneiso|wc --lines
38
ldd /usr/bin/kmix|wc --lines
79
ldd /usr/bin/totem|wc --lines
73
de@de-desktop:~$ ldd /usr/bin/smplayer|wc --lines
33
ldd /usr/bin/kcalc|wc --lines
46
ldd /usr/bin/ark|wc --lines
54
ldd /usr/bin/recoll|wc --lines
36
And this is Gentoo's (under my configuration) -
de@localhost ~ $ ldd /usr/bin/k3b|wc --lines
66
de@localhost ~ $ ldd /usr/bin/amarok|wc --lines
73
de@localhost ~ $ ldd /usr/bin/gimp|wc --lines
52
de@localhost ~ $ ldd /usr/bin/ksysguard|wc --lines
53
de@localhost ~ $ ldd /usr/bin/kwrite|wc --lines
51
de@localhost ~ $ ldd /usr/bin/plasma-desktop|wc --lines
65
de@localhost ~ $ ldd /usr/bin/knotify4|wc --lines
41
de@localhost ~ $ ldd /usr/bin/blender|wc --lines
36
de@localhost ~ $ ldd /usr/bin/konsole|wc --lines
55
de@localhost ~ $ ldd /usr/bin/dolphin|wc --lines
54
de@localhost ~ $ ldd /usr/bin/konqueror|wc --lines
53
de@localhost ~ $ ldd /usr/bin/systemsettings|wc --lines
51
de@localhost ~ $ ldd /usr/bin/okular|wc --lines
49
de@localhost ~ $ ldd /usr/bin/ksnapshot|wc --lines
48
de@localhost ~ $ ldd /usr/bin/ktorrent|wc --lines
58
de@localhost ~ $ ldd /usr/bin/kbluetooth|wc --lines
52
de@localhost ~ $ ldd /usr/bin/acetoneiso|wc --lines
35
de@localhost ~ $ ldd /usr/bin/kmix|wc --lines
45
de@localhost ~ $ ldd /usr/bin/totem|wc --lines
63
de@localhost ~ $ ldd /usr/bin/smplayer|wc --lines
30
de@localhost ~ $ ldd /usr/bin/kcalc|wc --lines
42
de@localhost ~ $ ldd /usr/bin/ark|wc --lines
51
de@localhost ~ $ ldd /usr/bin/recoll|wc --lines
33
de@localhost ~ $
*LDFLAGS
I don't know if these work...or how it works. But many people say it does make speed gains, although I didn't notice any.
*New package
The new package are more optimized, suitable for more multithreading, more stable etc...
Gentoo supports unstable packages, so that means the latest.
*keeping up to date
*the latest unstable packages.
*New features in software.
Everyone knows Gentoo has the latest packages and even live ebuild that is the package with the latest commit with the devs.
Gentoo is usually quick keeping up to date with the updates. Thanks to the maintainers. With this you get the latest features also which is very much seen with amarok and mplayer (that's cause I saw it).
*Rolling release.
As said before, Gentoo is really worth it if you keep one install for 7 years. Update regularly, and you don't have to care about the versions of Gentoo. You can easily migrate Gentoo to another PC (although I've not tried it) and just keep it forever....
*slots
Can you install grub and grub2 together? Can you install KDE 3 and KDE4 with all different KDE versions together?...with Gentoo you can, and only Gentoo can. If you want this feature bad, Gentoo is for you.
Note, not all software can be installed in slots.
*Security.Gentoo can be made the most secure distribution by selecting the hardened profile and various other tweaks.
Others
*Despite it's advantage Ubuntu is more productive than Gentoo.
Yes, Ubuntu is like a standard Pizza, while Gentoo is the one with that extra cheese toping. Both will satisfy your hunger but you'll be more satisfied with the latter with the expense of higher cost, or a sore tummy or throat (Cheese can cause bad throat).
*Gentoo and Ubuntu cannot be compared.Why not? Cause it's hard to make Gentoo almost equal to Ubuntu (UI, packages and all)?
The advantage of Gentoo lies in it's lightness, so if you compare kubuntu with Gentoo running kdebase-meta, it's perfectly fare, it's the advantage of Gentoo to install the minimal and Gentoo should get benchmarked with USE flags configured to install the minimal, since that's what Ubuntu can't do.
*dynamic linking.
Dynamic linking results in reduced memory consumption (correct me if I'm wrong) and keeping the package up to date, that is in case there's a security flaw in the shared library, and it get's fixed, the packages depending on it will also have an advantage. We get other advantages of this also, including more speeds depending on what fixes have been made.
In Gentoo you can ensure that you binaries are dynamically linked as compared to binary distribution. For example in Ubuntu, firefox and blender (to name a few) are not dynamically linked.
*You blamed every Gentoo's fault on the user (then what's Gentoo's fault?...how can it improve?).
If there're compile time failures, some runtime error, or some bugs which you encountered, then it's Gentoo's fault. It's recommended to report a bug.
*The Gentoo community is rude.Although this is not a FAQ, Gentoo community is very polite, but the Ubuntu community is very rude. You call the dependencies resolution of apt horrible, and look at the amount of Ubuntu fanboys (mostly Windows migrants who know nothing about Linux) calling you names. Most people in Ubuntu forum can't tolerate even the least criticism of Ubuntu and start blaming your distribution instead; most of them are new to Linux and don't tend to learn more but also don't hold back to give criticism on a topic they don't know much about.
Cause of this reason (and if this continues) I may stop spreading Ubuntu, or stop Debian administration as a whole and that's why I downloaded a copy of Sabayon and might try Fedora also. BTW I liked Sabayon by quiet a lot.
*You're a ricer.The Gentoo community itself makes jokes of ricers; ricers are the people who will tweak for even the least gains and go to extreme levels for it. This primarily includes setting of insane CFLAGS and trying new ones out. In reality this is waste of time and I don't do that.
All I do is check out the global USE flags (that too once in 6 months at most...or whenever I feel like), and before most merges, check their USE and set them as per my needs.
If that's ricing to you, go back to windows clicking next till the finish appears and ensure to have 4 expensive antiviruses, antirootkit, antimalware and antispyware with a large and shiny GUI occupying 4 out of 6 cores of your Desktop and using 70% of your 4GB ram.
*You're a Gentoo fanboyI've explained the advantages and disadvantage of Gentoo, had I been biased, I would have explained only advantages and encouraged everyone to use Gentoo.
I will continue using Gentoo for educational purposes mostly, secondary reasons are performance gains, customization and the fact that I'm an enthusiasts.
*There's no environments that Gentoo can be employed in.As stated before, Gentoo can be employed as a special purpose systems or the ones which stays offline.
The advantages of using Gentoo as a server distribution is an axiom assuming you know how to configure stuff.
*I still think Gentoo is the worst distribution for anyone.Even after reading all the above, is most probably because you're some sorta fanboy of some binary based distribution and cant live with the fact that Gentoo has many advantages (as a source based distribution) cause of which many people are using it.
*I hate Gentoo.Well, it's your personal preference. If you support opensource, there're many people saying I hate opensource.
*Gentoo devs fight! Gentoo is dead -Although it's not even close to dead, yes the devs do fight and this does cause problems to the distro.
Hope this problem gets fixed soon.
*I still don't believe Gentoo is faster and I still hate Gentoo.That's cause you quit Gentoo early cause it's hard and you mind could not pop up the fact that you don't need to watch the compilation process and you can multitask duing the install using your favorite shining distro. If you don't like Gentoo admit it, if you did not find it fast doesn't mean it is not fast – it's simply your opinion and the reason why we have so much mixed feelings about this speed factor is cause the configuring Gentoo is hard, and only a few people can do it.
Gentoo expects you to work hard for it to be setup if you don't like it, the distro is not for you; speaking of which others 'out of the box' and shiny distros have done a very bad job when making it 'out of the box'... it works out of the box only under 50% of the setups and there're small problems in almost every disto on almost every computer including the desktops.
Again if you claim that it works 100% for you, it doesn't mean it works for everyone.
*I've heard this all before, and yet I'm not convinced to use Gentoo.It's simply your personal preference, I'm not forcing you to use Gentoo, you can use Debian core, arch or might be Sabayon minimal if you want to have control over your system but not on the compile.