# CPU_FLAGS_X86 vs cpuid2cpuflags

## Fitap

Hola,

estaba viendo acerca de los flags del procesador y la forma en que gentoo necesita de ellos y queria preguntarles si no es "redundante" usar CPU_FLAGS_X86 en make.conf y cpuid2cpuflags en package.use como recomienda la wiki.

Instale por primera vez cpuid2cpuflags y me arrojo unas flags mas que las que tengo inicialmente en make.conf. Deberian ser iguales en ambos lados? 

Osea, puedo prescindir de usar en make.conf CPU_FLAGS_X86 ?

Otra cosa que me confunde es que cpuid2cpuflags en package.use es global.

Muchas gracias.

Saludos.

----------

## Stolz

No entiendo muy bien a que te refieres con cpuid2cpuflags en package.use. cpuid2cpuflags es solo el programa que te ayuda a decidir las USE flags relacionados con el CPU que tu procesador soporta. cpuid2cpuflags solo te sugiere los valores, tu decides qué hacer con esos valores.

Si quieres aplicar los valores sugeridos por cpuid2cpuflags a todos los paquetes que lo soporten, entonces debes poner los valores en tu variable USE de make.conf y no hace falta que pongas nada en package.use.

Si no quieres aplicar todos los valores sugeridos por cpuid2cpuflags a todos los paquetes que lo soporten, sino solo solo a ciertos paquetes, entonces debes poner los valores sugeridos en package.use junto a los nombres de los paquetes implicados.

Poner los mismos valores en  make.conf y en package.use sí es redundante, pero si quisieras aplicar ciertos flags comunes a todos los paquetes y otros ciertos flags especiales solo a ciertos paquetes entonces tendría sentido usar tanto make.conf como package.use.

Personalmente, para usos normales no veo ningún uso práctico a poner las CPU flags en package.use. Por norma general si quieres soporte de ciertos flags de CPU lo normal es que lo quieras para todos lo paquetes. Por tanto, usar solo make.conf debería ser suficiente.

----------

## quilosaq

https://wiki.gentoo.org/wiki/CPU_FLAGS_X86

@Fitap

Entiendo que cuando hablas de la recomendación de la wiki te refieres al artículo del enlace.

En ese artículo se dice que el valor de la variable CPU_FLAGS_X86 lo puedes asignar (para que afecte a todos los paquetes para los que sea aplicable) tanto en make.conf como en package.use. Lo normal es que lo definas solo en uno de los dos archivos/directorios. Te recomiendo la opción make.conf ya que es la que está documentada de forma general para otras variables USE_EXPAND.

Si los valores que tienes configurados no coinciden con los que muestra el programa cpuid2cpuflags deberías cambiarlos para que reflejen la realidad de tu sistema.

----------

## Fitap

Muchas gracias por responder.

```

What kind of CPU does the system have? To find out, run the following command:

user $cat /proc/cpuinfo

or even install app-portage/cpuid2cpuflags and add the available CPU-specific options to the /etc/portage/package.use/00cpuflags file, which the tool does through e.g. the CPU_FLAGS_X86 variable:

user $cpuid2cpuflags

CPU_FLAGS_X86: aes avx avx2 f16c fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3

root #echo "*/* $(cpuid2cpuflags)" >> /etc/portage/package.use/00cpuflags

```

Me falto incluir donde lo habia leido.

https://wiki.gentoo.org/wiki/GCC_optimization

Estaba en lo cierto de la redundancia, asique voy a usarlo en make.conf

No sabia que se podia usar en package.use tambien.

----------

