Gentoo Linux/AMD64 Frequently Asked Questions Simon Stelling Luis Medinas Gerald J. Normandin Jr. Xavier Neys This is the Gentoo Linux/AMD64 Frequently Asked Questions 1.25 2009-06-13 Questions
Introduction to Gentoo/AMD64 FAQ

This document contains the most commonly asked questions about Gentoo/AMD64. We intend to help and provide useful information about Gentoo/AMD64. Some of these questions can be found in forums, IRC, or mailing lists. If you have suggestions or questions about this FAQ, you are welcome to send an e-mail to amd64@gentoo.org.

Installation
What's the difference between AMD64 and EM64T?

Both refer to 64-bit processors from AMD (AMD64) and Intel (EM64T). AMD's 64-bit processors include the Athlon 64, Turion, Neo, Phenom, and Opteron families. Intel's 64-bit processors include the Core2, Celeron, Xeon, and Pentium (all based on the Core2 architecture). The last few versions of the old Pentium 4 and Xeon chips also support EM64T.

The AMD line of 64-bit processors were released well ahead of Intel's offering. Therefore, for historical reasons the arch keyword for all x86-64 compatible architectures is amd64. As such, AMD64 is a generic reference to 64-bit chips, whether AMD or Intel.

What CFLAGS should I use for AMD64/EM64T?

You should use simple CFLAGS to avoid future problems with your system. Supported CFLAGS are -O2 -march=k8 -pipe for AMD systems. Intel Core2-based systems (EM64T) should use -O2 -march=core2 -pipe. If you're on an old Intel Pentium 4 that supports EM64T, then use -O2 -march=nocona -pipe.

What kernel should I use for AMD64?

You can use almost all kernel sources available in Portage. We recommend using gentoo-sources because it is a special kernel designed for Gentoo Linux. It contains lots of AMD64-specific patches and therefore is the only kernel officially supported by Gentoo/AMD64.

You should watch out for some kernel features which are not well tested, such as PREEMPT.

Make sure you have the IA32_EMULATION option activated in the kernel.

# cd /usr/src/linux
# make menuconfig

Executable file formats / Emulations  --->
  [*] IA32 Emulation
You may experience build failures on multilib-systems if you deactivate this option.
Will I have a performance upgrade if I use a 64bit system instead of 32bit?

That is a difficult question to answer. In some cases, you will experience a performance improvement, in other cases you will not. For everyday use, there is nearly no difference between 64bit and 32bit. 64bit is generally faster when it comes to floating point computing which is normally the case in multimedia applications and 3D rendering. This article (and a related article) may interest you. There's also a nice thread in our forums.

What is multilib and how can I use it?

Every AMD64 processor is able to run 32bit code as well as 64bit code. However, when you have a 32bit application, you are unable to mix it with 64bit libraries or vice versa. You can, however, natively run 32bit applications if all shared libraries it needs are available as 32bit objects. You can choose whether you want multilib support or not by selecting the according profile. The default is a multilib-enabled profile.

Currently you cannot switch from a no-multilib to a multilib-enabled profile, so think over your decision twice before you use the no-multilib profile.
How do I create a 32bit chroot?

Please read the 32bit chroot guide.

Can I upgrade from my x86 system to amd64 by doing emerge -e world?

Due to several differences between an x86 and an amd64 installation, it is impossible to upgrade. Please perform a fresh install. The installation is slightly different than an x86 one, so please use the AMD64 Handbook.

Also, binary files created on an x86 system most likely cannot be read by packages on an amd64 system. In particular, databases such as MySQL, innoDB, Berkeley DB, SQLite, OpenLDAP, etc. cannot simply be copied as-is. You will need to dump the database into an architecture-independent format, such as a text file, before attempting to restore it on an amd64 system.

Can I use Reiser4?

Reiser4 is not available from any kernel offered by the Gentoo Kernel project, thus neither AMD64 team supports it. The answer is no.

Hardware
Will my binary NVIDIA/ATI drivers work?

Yes, NVIDIA and ATI provide drivers that work on AMD64. You can install them by executing emerge nvidia-drivers or emerge ati-drivers. If you have more questions about these drivers, you should read the Nvidia guide or the ATI FAQ.

How do I use Cool'n'Quiet/PowerNow features?

You have to compile your kernel with support for these features. You just need to enable the features below:

Power management options --->
  [*] Power Management support
CPU Frequency scaling --->
  [*] CPU Frequency scaling
  [*] CPU frequency table helpers
  [*] AMD Opteron/Athlon64 PowerNow!

Then emerge cpudyn and edit /etc/conf.d/cpudyn with your favorite editor.

INTERVAL=1
CPU_UP=0.5
CPU_DOWN=0.9
THROTTLING_LOW=7
CPUFREQ_25="/sys/devices/system/cpu/cpu0/cpufreq /sysfs/devices/system/cpu/cpu0/cpufreq"
CPUFREQ_ACPI="/proc/acpi/processor/CPU0/throttling"

Now you only have to run rc-update add cpudyn default to make sure it is started every time you boot.

You may want to read the Power Management Guide for more tips on CPU power management.
Applications
Can I get Adobe Flash working?

Yes. Just emerge adobe-flash. Adobe has provided a 64-bit Flash plugin starting with version 10.0.22.87. If you don't need the 32-bit plugin, then run echo "www-plugins/adobe-flash -32bit" >> /etc/portage/package.use. This will install only the 64-bit Flash plugin.

Can I get OpenOffice.org working?

Yes. Run emerge openoffice. It may take several hours and use most of your system resources. If you don't think your machine is up to it, you can try installing the precompiled binary, openoffice-bin.

I want to install package foo, but emerge says: (masked by: ~amd64 keyword)

This means that the package is still in the 'testing' tree. Please read man portage or the Mixing Software Branches chapter of the AMD64 Handbook for more information.

I want to install package foo, but emerge says: (masked by: missing keyword)

This means that the package has not been tested yet. It does not necessarily mean that the package does not work. You can unmask it by accepting another architecture for the package. The following example shows you can tell Portage to accept any keyword for a given package.

# echo "category/packagename **" >> /etc/portage/package.keywords
# emerge packagename

If it works fine for you, please let us know and file a bug on Gentoo's Bugzilla, so that the AMD64 team can keyword the package and other users can benefit from your test.

Do not try commands like ACCEPT_KEYWORDS="~x86" emerge packagename. It will most certainly break your tree.
How can I help the Gentoo/AMD64 project?
How can I help?

With a growing popularity of the amd64 architecture, we also increasingly need more help. There's still much work to be done to improve the quality of Gentoo/AMD64. An average user can help us by:

  • Filing general bug reports
  • Testing software that does not yet have the ~amd64 keyword
  • Participating in the Arch Testers project
  • Help answering questions on the mailing lists, forums and IRC channels
  • Sending patches
Other Resources
Where can I get more help or information about Gentoo/AMD64?

If any of your questions wasn't answered here, you can try other resources listed on our project homepage. You can also ask us at #gentoo-amd64 on irc.freenode.net, Gentoo/AMD64 Forums, or on the gentoo-amd64@lists.gentoo.org mailing list.