Gentoo Linux/AMD64 Frequently Asked Questions Luis Medinas Gerald J. Normandin Jr. Simon Stelling Xavier Neys This is the Gentoo Linux/AMD64 Frequently Asked Questions 1.7 2006-02-01 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 the authors explaining the problem.

Installation
  • What CFLAGS should I use for AMD64/EM64T?
  • What kernel should I use?
  • Will I have a performance upgrade if I use 64-bit system instead of 32-bit?
  • How do I get 32-bit emulation for my system?
  • What is multilib and how can I use it?
  • How do I create a 32-bit chroot?
  • Can I upgrade from my x86 system to amd64 by doing emerge -e world?
Hardware
  • Will my binary NVIDIA/ATI drivers work?
  • How do I use Cool'n'Quiet/Powernow features?
Applications
  • Can I get Macromedia Flash working?
  • Can I get OpenOffice.org working?
  • How do I get java working in my browser?
  • I want to install package foo, but emerge says: (masked by: ~amd64 keyword)
  • I want to install package foo, but emerge says: (masked by: missing keyword)
How can I help the Gentoo/AMD64 project?
  • How do I report bugs?
  • How can I help?
Other Resources
  • Where can I get more help or information about Gentoo/AMD64?
Installation
What CFLAGS should I use for AMD64/EM64T?

You should use simple CFLAGS to avoid future problems with your system. For example, you should use CFLAGS="-march=k8 -O2 -pipe" for Athlon64 or Opteron and CFLAGS="-march=nocona -O2 -pipe" for a EM64T processor. If you plan to use a 32-bit chroot, you should use CFLAGS="-march=athlon-xp -O2 -pipe -msse2" for a AMD64 processor; for a EM64T, you should use CFLAGS="-march=pentium4 -O2 -pipe" inside the chroot.

-march=k8 is the same as -march=athlon64 and -march=opteron. You should never place -fPIC, -m32 or -m64 in your CFLAGS. They are automatically added whenever they are needed. Please also note that the -Os flag is currently not supported.
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 can try vanilla-sources as well. If you feel brave or you need extra hardware support, you can always try the experimental kernel from Andrew Morton called mm-sources.

You should watch out for some kernel features which are not well tested, such as PREEMPT.
Will I have a performance upgrade if I use 64-bit system instead of 32-bit?

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 64-bit and 32-bit. 64-bit is generally faster when it comes to floating point computing which is normally the case in multimedia applications and 3D rendering. This article may interest you. There's also a nice thread in our forums.

How do I get 32-bit emulation for my system?

You have to install a few packages to get 32-bit libraries into your system. These packages are automatically pulled in as dependencies for 32-bit applications by Portage, so there is no need to manually emerge them. You can install such packages by doing:

# emerge emul-linux-x86-baselibs
# emerge emul-linux-x86-compat
# emerge emul-linux-x86-glibc

Furthermore, you need the IA32_EMULATION option activated in the kernel.

# cd /usr/src/linux
# make menuconfig

Executable file formats / Emulations  --->
  [*] IA32 Emulation
What is multilib and how can I use it?

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

How do I create a 32-bit chroot?

Please read the 32-bit 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.

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-kernel 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.

Applications
Can I get Macromedia Flash working?

Yes. To get Flash working, you need a 32-bit browser like mozilla-bin, mozilla-firefox-bin or opera because Macromedia doesn't provide a 64-bit version. After emerging the -bin-package of your favorite browser, install flash by doing emerge netscape-flash.

Can I get OpenOffice.org working?

OpenOffice 1.x and 2.0.x do not build on 64-bit systems, so you have to use the 32-bit binary version, available in portage as openoffice-bin.

How do I get java working in my browser?

Blackdown provides a 64-bit JRE. To install it, emerge blackdown-jre. Then, perform the following step:

# ln -s /opt/blackdown-jre-*/plugin/amd64/mozilla/libjavaplugin_oji.so /usr/lib64/nsbrowser/plugins/libjavaplugin_oji.so
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 the ~x86 keyword for a given package.

# echo "category/package ~x86" >> /etc/portage/package.keywords
# emerge package

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 package. It will most certainly break your tree.
How can help I the Gentoo/AMD64 project?
How do I report bugs?

If you find a bug or you want to send us patches, you need to file a bug report. It only takes you a little while, and your help is really appreciated. Please follow the Filing a Bug Guide.

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 like the AMD64 Handbook, the AMD64 Howtos or 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.