I'm using -march=native for almost two years now and didn't run into any troubles yet. So I've also chosen it for my new Aspire.
CFLAGS="-march=native -O2 -pipe"
INPUT_DEVICES="evdev keyboard mouse"
EMERGE_DEFAULT_OPTS="--with-bdeps=y --jobs=10 --load-average=20.0 --keep-going"
Let's go through it step by step.
As I said, -march=native. I don't use any fancy parameters. Most bring only a very minor advantage and some tools have troubles to compile with exotic flags. I'm staying on the safe side and just added the supported flags by Gentoo.
Same as CFLAGS, nothing to say here.
Two options here. For 64bit systems choose x86_64-pc-linux-gnu, for 32bit systems choose i386-pc-linux-gnu.
It's important to match the Gentoo sources you've installed or the compiler will run crazy.
I always use -j2. Higher values don't bring much speedup and the compile time is way longer.
First of all you need intel for the integrated graphic chip. But you have the choice between nvidia and nouveau.
Nvidia is the closed source driver, nouveau the open source one.
I'm using the driver from nvidia because some 'games' don't work that well with nouveau and the 3d acceleration is still better in the closed source drivers.
My recommendation.. if you don't need fast 3d rendering or want to play games, go for the nouveau driver otherwise set nvidia here.
There aren't any special alsa drivers or firmware for the Intel HDA. Set this to empty or alsa will be built with support for all supported cards.
The touchpad and keyboard are working with plain evdev drivers, just the swipe stuff doesn't work. I haven't checked the synaptic support for the touchpad yet.
I'll update this part as soon as I know more about this.
I've also added mouse and keyboard because xorg with bumblebee was keeping complaining about missing drivers. All input devices worked though even without them.
I'm running unstable amd64 for more than 5 years now and I never had any big troubles with it. It's save to set this to ~amd64.
Set this to your prefered system languages.
Keep in mind that this option is just for building the languages your system should talk, not the languages you want to input.
If you don't want to switch the tools interfaces or system outputs to japanese or korean or whatever, then don't add the language here.
Input languages will be covered in a later chapter about iBus. I am using japanese and korean input methods with LINGUAS only set to en.
The option --with-bdeps=y is important if you want to update world with dependencies of the tool and not only the packages which are recorded in the world file.
Jobs is needed for parallel compiling. Set jobs to 10 if you want to be able to emerge up to 10 tools at the same time. It speeds up the compiling alot because the CPU is waiting for input most of the time when you compile only one tool at a time. So why wasting resources?
The option --load-average limits the load of the overall compiling processes to keep the system responsible even if gcc has a lot to do. I've set it very high to see what my new Aspire is able to do and I've never hit the 20 yet. A value between 5 and 10 seems to be reasonable though.
Keep-going just tells emerge that it should continue with compiling even if some packages fail. It's handy when you do a bigger world update while sleeping or something like that.
You need to set your system timezone:
cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime
echo "Europe/Berlin" > /etc/timezone
And the hostname in /etc/hosts:
# IPv4 and IPv6 localhost aliases
127.0.0.1 navi.psyche navi localhost
::1 navi.psyche navi localhost
Take care to set host.domain as the first setting or Gentoo will keep to come up with host.unknown_domain all the time which slows down the system because it keeps poking dhcp for a valid domain name.
And this is end of chapter 05. The next chapter will cover my useflags and the profile I've chosen.