ES: Actualizar driver gráfico propietario Nvidia y el kernel de Linux


DRIVER GRÁFICO DE NVIDIA Y EL KERNEL DE LINUX

El paquete x11-drivers/nvidia-drivers del árbol lo mantiene NVIDIA y se construye con el núcleo Linux. Contienen un gran fichero binario (blob) que realiza el trabajo pesado para comunicarse con la tarjeta de vídeo. Los controladores están compuestos por dos partes, un módulo para el núcleo y un controlador X11. Ambas partes se incluyen en un solo paquete. Debido a la forma en que NVIDIA empaqueta sus controladores, es necesario tomar algunas decisiones antes de instalar los controladores.
El paquete x11-drivers/nvidia-drivers contiene los controladores más recientes de NVIDIA con soporte para la mayoría de las tarjetas, con varias versiones disponibles, dependiendo de la antigüedad que tenga su tarjeta. Utiliza un «eclass» para detectar qué tipo de tarjeta está funcionando en el sistema para que se instale la versión correcta.

DRIVER GRÁFICO:

PRUEBA de su tarjeta de video
Para probar su tarjeta de vídeo, ejecute el programa glxinfo, que forma parte del paquete mesa-progs. Esto comprobará si la renderización directa está habilitada.

calculate ~ # glxinfo | grep direct
direct rendering: Yes
GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture,
GL_ARB_direct_state_access, GL_ARB_draw_buffers,
GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_indirect_parameters, GL_ARB_instanced_arrays,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_NV_bindless_multi_draw_indirect,
GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture,
GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture,
GL_ARB_direct_state_access, GL_ARB_draw_buffers,
GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_indirect_parameters, GL_ARB_instanced_arrays,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_NV_bindless_multi_draw_indirect,
GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture,
GL_EXT_multi_draw_indirect, GL_EXT_multisample_compatibility,

Identificación
La serie o el nombre en código de la unidad de procesamiento gráfico (GPU) NVIDIA de la tarjeta de vídeo por lo general se puede identificar con el comando lspci. Por ejemplo:
calculate ~ # lspci -nn | grep VGA
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GM206 [GeForce GTX 950] [10de:1402] (rev a1)

calculate ~ # lspci -k | grep -A 2 -i “VGA”
01:00.0 VGA compatible controller: NVIDIA Corporation GM206 [GeForce GTX 950] (rev a1)
Subsystem: Micro-Star International Co., Ltd. [MSI] GM206 [GeForce GTX 950]
Kernel driver in use: nvidia

Comprobar el estado de energía
El controlador NVIDIA X.org puede detectar la fuente de alimentación. Para ver el estado actual, compruebe el parámetro de solo lectura ‘GPUPowerSource’ (0 - AC, 1 - battery):
calculate ~ # nvidia-settings -q GPUPowerSource -t
0
0

Para mostrar la temperatura de la GPU en el shell, utilice nvidia-settings de la siguiente manera:
calculate ~ # nvidia-settings -q gpucoretemp

Attribute ‘GPUCoreTemp’ (calculate:0.0): 39.
‘GPUCoreTemp’ is an integer attribute.
‘GPUCoreTemp’ is a read-only attribute.
‘GPUCoreTemp’ can use the following target types: X Screen, GPU.
Attribute ‘GPUCoreTemp’ (calculate:0[gpu:0]): 39.
‘GPUCoreTemp’ is an integer attribute.
‘GPUCoreTemp’ is a read-only attribute.
‘GPUCoreTemp’ can use the following target types: X Screen, GPU.

Las temperaturas de la GPU de esta placa es de 39ºC
Para conseguir solamente la temperatura para su uso en programas como rrdtool o conky, entre otros, usar la orden:
calculate ~ # nvidia-settings -q gpucoretemp -t
39
39

calculate ~ # nvidia-smi
Wed May 24 16:52:13 2017
-----------------------------------------------------------------------------
| NVIDIA-SMI 381.22 Driver Version: 381.22 |
|-------------------------------------------------------------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|=++==|
| 0 GeForce GTX 950 Off | 0000:01:00.0 On | N/A |
| 0% 39C P8 13W / 110W | 626MiB / 1993MiB | 0% Default |
------------------------------~~-------------------------------------------~~

-----------------------------------------------------------------------------
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=|
| 0 4650 G /usr/bin/X 200MiB |
| 0 4987 G kwin_x11 21MiB |
| 0 4990 G /usr/bin/krunner 1MiB |
| 0 4993 G /usr/bin/plasmashell 73MiB |
| 0 5031 G /usr/bin/korgac 2MiB |
| 0 5106 G /usr/bin/korganizer 2MiB |
| 0 5332 G …s-passed-by-fd --v8-snapshot-passed-by-fd 228MiB |
| 0 6881 G /usr/bin/firefox 91MiB |
-----------------------------------------------------------------------------

calculate ~ # lsmod | grep nvidia
nvidia_drm 34986 1
nvidia_modeset 768364 5 nvidia_drm
nvidia 12178497 81 nvidia_modeset
drm_kms_helper 102480 1 nvidia_drm
drm 258724 4 nvidia_drm,drm_kms_helper
i2c_core 23707 4 i2c_piix4,nvidia,drm_kms_helper,drm

Para un aumento considerable de rendimiento de los gráficos 2D en aplicaciones que explotan en modo intensivo el pixmap, por ejemplo, Firefox, establezca el parámetro InitialPixmapPlacement a 2:
calculate ~ # nvidia-settings -a InitialPixmapPlacement=2
Attribute ‘InitialPixmapPlacement’ (calculate:0.0) assigned value 2.

Obtener aceleración 2D para funcionar en máquinas con 4GB o más de memoria
Cuando la aceleración 2D de NVIDIA está dando problemas, entonces es probable que el sistema no sea capaz de establecer un rango de combinación de escritura con MTRR. Para verificarlo, compruebe el contenido de /proc/mtrr:
calculate ~ # cat /proc/mtrr
reg00: base=0x000000000 ( 0MB), size= 2048MB, count=1: write-back
reg01: base=0x080000000 ( 2048MB), size= 1024MB, count=1: write-back
reg02: base=0x0bfe00000 ( 3070MB), size= 2MB, count=1: uncachable
Cada línea mostrada debe contener write-back o write-combining. Cuando una línea se presenta con uncachable en ella, entonces es necesario cambiar la configuración de la BIOS para solucionar este problema.

Reinicie y entre en la BIOS, y luego encontre la configuración MTRR (probablemente bajo «CPU Settings»). Cambie el ajuste de continuous por discrete y arranque de nuevo en Linux. Ahora no habŕa ninguna entrada uncachable y la aceleración 2D funcionará sin ningún tipo de interferencias.
**

En una actualización antes de quitar el módulo antiguo:
# rmmod nvidia
# modprobe nvidia

Nota: ls es para listar ficheros y directorios. No tiene nada que ver con editar un fichero con permiso de superusuario. Debes hacer un:
su nano /etc/resolve.conf para tener permisos para grabarlo.

calculate ~ # ls /etc/portage/make.conf/
0-base binhost custom

IMPORTANTE: Necesitas crear un nuevo xorg.conf

CONFIGURACIÓN AUTOMÁTICA XORG.CONF

El paquete NVIDIA incluye una herramienta de configuración automática para crear un archivo de configuración (xorg.conf) para el servidor Xorg y se puede ejecutar a través de:
calculate ~ # nvidia-xconfig
Utilizando el archivo de configuración X: “/etc/X11/xorg.conf”
ADVERTENCIA: No es posible encontrar CorePointer en la configuración de X; Intentando agregar una nueva sección de CorePointer.
ADVERTENCIA: El dispositivo CorePointer no se especificó explícitamente en el diseño; Utilizando el primer dispositivo de ratón.
ADVERTENCIA: No es posible encontrar CoreKeyboard en la configuración de X; Intentando agregar una nueva sección CoreKeyboard.
ADVERTENCIA: El dispositivo CoreKeyboard no se especificó explícitamente en el diseño; Utilizando el primer dispositivo de teclado.
Archivo de respaldo ‘/etc/X11/xorg.conf’ como ‘/etc/X11/xorg.conf.nvidia-xconfig-original’
Archivo de respaldo ‘/etc/X11/xorg.conf’ como ‘/etc/X11/xorg.conf.backup’
Nuevo archivo de configuración de X escrito en ‘/etc/X11/xorg.conf’

Luego mostrará algo como esto:
calculate ~ # nvidia-xconfig
Using X configuration file: “/etc/X11/xorg.conf”.
Backed up file ‘/etc/X11/xorg.conf’ as ‘/etc/X11/xorg.conf.backup’
New X configuration file written to ‘/etc/X11/xorg.conf’

Esta orden buscará automáticamente y creará (o modificará, si ya existe) la configuración de /etc/X11/xorg.conf de acuerdo con el hardware instalado.
Si está presente la instancia de DRI, asegúrese de que está comentada:

# Load “dri”

Revise su archivo /etc/X11/xorg.conf para asegurarse de que los valores predefinidos sobre depth (profundidad), horizontal sync (sincronización horizontal), vertical refresh (refresco vertical), y las resoluciones del monitor son aceptables por su hardware.
Advertencia: Este procedimiento puede no funcionar correctamente con Xorg-server 1.8

calculate ~ # emerge -av nvidia-drivers
Local copy of remote index is up-to-date and will be used.
These are the packages that would be merged, in order:
Calculating dependencies… done!
[ebuild R ] x11-drivers/nvidia-drivers-378.13:0/378::gentoo USE=“X compat driver gtk3 kms multilib tools uvm -acpi -pax_kernel -static-libs -wayland” ABI_X86=“32 (64) (-x32)” 0 KiB

calculate ~ # ls /lib64/modules/ kernel version /video
ls: no se puede acceder a ‘kernel’: No existe el fichero o el directorio
ls: no se puede acceder a ‘version’: No existe el fichero o el directorio
ls: no se puede acceder a ‘/video’: No existe el fichero o el directorio
/lib64/modules/:
4.10.15-aufs 4.11.1 4.9.28-calculate

calculate ~ # ls /lib64/modules/4.9.28-calculate/video
nvidia-drm.ko nvidia.ko nvidia-modeset.ko nvidia-uvm.ko

calculate ~ # usermod -a -G video kcalculate
calculate ~ # glxinfo | grep direct
direct rendering: Yes
GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture,
GL_ARB_direct_state_access, GL_ARB_draw_buffers,
GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_indirect_parameters, GL_ARB_instanced_arrays,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_NV_bindless_multi_draw_indirect,
GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture,
GL_AMD_multi_draw_indirect, GL_AMD_seamless_cubemap_per_texture,
GL_ARB_direct_state_access, GL_ARB_draw_buffers,
GL_ARB_draw_indirect, GL_ARB_draw_instanced, GL_ARB_enhanced_layouts,
GL_ARB_indirect_parameters, GL_ARB_instanced_arrays,
GL_ARB_map_buffer_range, GL_ARB_multi_bind, GL_ARB_multi_draw_indirect,
GL_EXT_depth_bounds_test, GL_EXT_direct_state_access,
GL_NV_bindless_multi_draw_indirect,
GL_NV_bindless_multi_draw_indirect_count, GL_NV_bindless_texture,
GL_EXT_multi_draw_indirect, GL_EXT_multisample_compatibility,

Los módulos se instalan en el kernel necesita agregar el kernel en /etc/conf.d/modules para cargar en el arranque y generar un nuevo xorg.conf

calculate ~ # nano /etc/conf.d/modules
-su: nano: no se encontró la orden
calculate ~ # emerge nano
# nano /etc/portage/make.conf
USE=“nvidia”

Habilitación del soporte de NVIDIA
Incluya el flag de uso en nvidia en /etc/portage/make.conf así debido a las aplicaciones que hacen uso de esta ventaja puede retirarse.
# nano /etc/portage/make.conf
USE=“nvidia”

Seguimos la ruta /etc/conf.d/modules. Y añadimos en 0-base:
# nano /etc/portage/make.conf
USE="nvidia
Damos a Guardar

Habilitación de OpenGL / OpenCL
Como requisito, asegúrese de que el servidor Xorg no esté en uso durante este cambio. Para habilitar OpenGL y OpenCL.
calculate ~ # eselect opengl set nvidia
Switching to nvidia OpenGL interface… done

calculate ~ # eselect opencl set nvidia
Switching to nvidia OpenCL interface… done

Integración con X Server
Cuando se encuentra su servidor X instalado, y hay /etc/X11/xorg.conf puede ejecutar el nvidia-xconfig que se establecerá en xorg.conf para identificar la tarjeta
de video entre otras posibles configuraciones.
# nvidia-xconfig

/etc/X11/xorg.conf

Section “Device”
Identifier “nvidia”
Driver “nvidia”
VendorName “NVIDIA Corporation”
BoardName “[Name] [Model]”
Option “RegistryDwords” “EnableBrightnessControl=1”
EndSection

Para saber si la instalación fue correcta (en cualquier distro), podéis utilizar la utilidad nvidia-settings, o bien, en la terminal tecleáis:
calculate ~ # glxinfo | grep OpenGL
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 950/PCIe/SSE2
OpenGL core profile version string: 4.5.0 NVIDIA 381.22
OpenGL core profile shading language version string: 4.50 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5.0 NVIDIA 381.22
OpenGL shading language version string: 4.50 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 381.22
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

ACTUALIZAR EL KERNEL LINUX

**
Siempre existe el más reciente núcleo disponible en forma binaria. Para desenmascarar su funcionamiento:
calculate ~ # echo sys-kernel/calculate-sources » /etc/portage/package.keywords/custom
sys-kernel/calculate-sources » /etc/portage/package.keywords/custom

En /etc/portage/package.keywords/custom y /etc/portage/package.accept_keywords/custom ponemos sys-kernel/calculate-sources ~amd64 ~x86 y guardamos.

cl-update
Ahora nos salen la últimas versiones:


Updating packages
* Calculating dependencies …
* Listing packages for installation
* Calculate Linux kernel image (NS) sys-kernel/calculate-sources-4.11.3 (83616 KiB)


Buscar todas las alternativas.
Una lista completa de las fuentes del núcleo con descripciones cortas se puede encontrar buscando con emerge:
root # emerge --search sources

calculate ~ # equery g sys-kernel/calculate-sources
* Searching for calculate-sources in sys-kernel …

* dependency graph for sys-kernel/calculate-sources-4.4.68
`-- sys-kernel/calculate-sources-4.4.68 [~amd64 keyword]
`-- sys-apps/sed-4.2.2 (sys-apps/sed) amd64
`-- sys-devel/binutils-2.26.1 (>=sys-devel/binutils-2.11.90.0.31) amd64
`-- app-arch/xz-utils-5.2.3 (app-arch/xz-utils) amd64
`-- sys-apps/v86d-0.1.10 (sys-apps/v86d) amd64
`-- sys-boot/grub-2.02_beta3-r1 (sys-boot/grub) amd64
`-- sys-kernel/linux-firmware-20170314 (sys-kernel/linux-firmware) amd64
`-- media-gfx/splash-themes-calculate-17-r2 (media-gfx/splash-themes-calculate) amd64
`-- sys-libs/ncurses-6.0-r1 (>=sys-libs/ncurses-5.2) amd64
`-- sys-devel/make-4.2.1 (sys-devel/make) amd64
`-- dev-lang/perl-5.24.1-r1 (dev-lang/perl) amd64
`-- sys-devel/bc-1.06.95-r1 (sys-devel/bc) amd64
`-- sys-kernel/dracut-044-r1 (sys-kernel/dracut) amd64
[ sys-kernel/calculate-sources-4.4.68 stats: packages (13), max depth (1) ]

* dependency graph for sys-kernel/calculate-sources-4.9.28
`-- sys-kernel/calculate-sources-4.9.28 amd64
`-- sys-apps/sed-4.2.2 (sys-apps/sed) amd64
`-- sys-devel/binutils-2.26.1 (>=sys-devel/binutils-2.11.90.0.31) amd64
`-- app-arch/xz-utils-5.2.3 (app-arch/xz-utils) amd64
`-- sys-apps/v86d-0.1.10 (sys-apps/v86d) amd64
`-- sys-boot/grub-2.02_beta3-r1 (sys-boot/grub) amd64
`-- sys-kernel/linux-firmware-20170314 (sys-kernel/linux-firmware) amd64
`-- media-gfx/splash-themes-calculate-17-r2 (media-gfx/splash-themes-calculate) amd64
`-- sys-libs/ncurses-6.0-r1 (>=sys-libs/ncurses-5.2) amd64
`-- sys-devel/make-4.2.1 (sys-devel/make) amd64
`-- dev-lang/perl-5.24.1-r1 (dev-lang/perl) amd64
`-- sys-devel/bc-1.06.95-r1 (sys-devel/bc) amd64
`-- sys-kernel/dracut-044-r1 (sys-kernel/dracut) amd64
[ sys-kernel/calculate-sources-4.9.28 stats: packages (13), max depth (1) ]

* dependency graph for sys-kernel/calculate-sources-4.10.16
`-- sys-kernel/calculate-sources-4.10.16 [~amd64 keyword]
`-- sys-apps/sed-4.2.2 (sys-apps/sed) amd64
`-- sys-devel/binutils-2.26.1 (>=sys-devel/binutils-2.11.90.0.31) amd64
`-- app-arch/xz-utils-5.2.3 (app-arch/xz-utils) amd64
`-- sys-apps/v86d-0.1.10 (sys-apps/v86d) amd64
`-- sys-boot/grub-2.02_beta3-r1 (sys-boot/grub) amd64
`-- sys-kernel/linux-firmware-20170314 (sys-kernel/linux-firmware) amd64
`-- media-gfx/splash-themes-calculate-17-r2 (media-gfx/splash-themes-calculate) amd64
`-- sys-libs/ncurses-6.0-r1 (>=sys-libs/ncurses-5.2) amd64
`-- sys-devel/make-4.2.1 (sys-devel/make) amd64
`-- dev-lang/perl-5.24.1-r1 (dev-lang/perl) amd64
`-- sys-devel/bc-1.06.95-r1 (sys-devel/bc) amd64
`-- sys-kernel/dracut-044-r1 (sys-kernel/dracut) amd64
[ sys-kernel/calculate-sources-4.10.16 stats: packages (13), max depth (1) ]

* dependency graph for sys-kernel/calculate-sources-4.11.1
`-- sys-kernel/calculate-sources-4.11.1 [~amd64 keyword]
`-- sys-apps/sed-4.2.2 (sys-apps/sed) amd64
`-- sys-devel/binutils-2.26.1 (>=sys-devel/binutils-2.11.90.0.31) amd64
`-- app-arch/xz-utils-5.2.3 (app-arch/xz-utils) amd64
`-- sys-apps/v86d-0.1.10 (sys-apps/v86d) amd64
`-- sys-boot/grub-2.02_beta3-r1 (sys-boot/grub) amd64
`-- sys-kernel/linux-firmware-20170314 (sys-kernel/linux-firmware) amd64
`-- media-gfx/splash-themes-calculate-17-r2 (media-gfx/splash-themes-calculate) amd64
`-- sys-libs/ncurses-6.0-r1 (>=sys-libs/ncurses-5.2) amd64
`-- sys-devel/make-4.2.1 (sys-devel/make) amd64
`-- dev-lang/perl-5.24.1-r1 (dev-lang/perl) amd64
`-- sys-devel/bc-1.06.95-r1 (sys-devel/bc) amd64
`-- sys-kernel/dracut-044-r1 (sys-kernel/dracut) amd64
[ sys-kernel/calculate-sources-4.11.1 stats: packages (13), max depth (1) ]

calculate ~ # emerge -av =sys-kernel/calculate-sources-4.11.3
yes

(no olvidar el = sino nos dirá (ejemplo): !!! ‘sys-kernel/calculate-sources-4.11.2’ is not a valid package atom.
!!! Please check ebuild(5) for full details.)

Total: 4 packages (3 new, 1 in new slot, 3 binaries), Size of downloads: 317 KiB

The following keyword changes are necessary to proceed:
(see “package.accept_keywords” in the portage(5) man page for more details)
# required by =sys-kernel/calculate-sources-4.10.16 (argument)
=sys-kernel/calculate-sources-4.10.16 ~amd64

Would you like to add these changes to your config files? [Yes/No] yes

Autounmask changes successfully written.

* config file ‘/etc/portage/package.keywords/custom’ needs updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.

Con permisos administrativos, vamos a la carpeta siguiendo la ruta /etc/portage/package.keywords/custom. Y en custom pegamos y guardamos (para este caso):
# required by =sys-kernel/calculate-sources-4.10.16 (argument)
=sys-kernel/calculate-sources-4.10.16 ~amd64

Ponemos otra vez:
emerge -av =sys-kernel/calculate-sources-4.10.16

Verifying ebuild manifests
Emerging (1 of 1) sys-kernel/calculate-sources-4.10.17::calculate
Installing (1 of 1) sys-kernel/calculate-sources-4.10.17::calculate
Recording sys-kernel/calculate-sources:4.10.17 in “world” favorites file…
Jobs: 1 of 1 complete Load avg: 2.98, 4.76, 6.07

* Messages for package sys-kernel/calculate-sources-4.10.17:

* If you are upgrading from a previous kernel, you may be interested
* in the following document:
* - General upgrade guide: https://wiki.gentoo.org/wiki/Kernel/Upgrade

Auto-cleaning packages…

No outdated packages were found on your system.

* IMPORTANT: config file ‘/etc/portage/package.keywords/custom’ needs updating.
* See the CONFIGURATION FILES and CONFIGURATION FILES UPDATE TOOLS
* sections of the emerge man page to learn how to update config files.

calculate ~ # etc-update
Exploración de archivos de configuración …
La siguiente es la lista de archivos que deben actualizarse, cada uno
Archivo de configuración es seguido por una lista de posibles archivos de reemplazo.

  1. /etc/portage/package.keywords/custom (1)
    Seleccione un archivo para editarlo ingresando el número correspondiente.
    (No use -3, -5, -7 o -9 si no está seguro de qué hacer)
    (-1 para salir) (-3 para combinar automáticamente todos los archivos)
    (-5 para auto-merge Y no use ‘mv -i’)
    (-7 para descartar todas las actualizaciones)
    (-9 para descartar todas las actualizaciones Y no usar ‘rm -i’):-3
    Sustitución de /etc/portage/package.keywords/custom con /etc/portage/package.keywords/._cfg0000_custom
    Mv: ¿sobreescribir ‘/etc/portage/package.keywords/custom’? (S / n) s
    Exiting: Nothing left to do; exiting. :slight_smile: Saliendo: No queda nada que hacer; Saliendo

calculate ~ # etc-update
Scanning Configuration files…
Exiting: Nothing left to do; exiting. :slight_smile:

IMPORTANTE:
Cada vez que un núcleo es compilado, es necesario volver a instalar los módulos del núcleo de NVIDIA. Una manera fácil de reconstruir los módulos instalados por los ebuilds (como x11-drivers/nvidia-drivers) es ejecutar
emerge @module-rebuild.

Una vez finalizada la instalación, ejecute modprobe nvidia para cargar el módulo del núcleo en la memoria. Si se trata de una actualización, retire primero el módulo anterior.
root # lsmod | grep nvidia
root # rmmod nvidia
root # modprobe nvidia

Para evitar tener que cargar manualmente el módulo en cada arranque, puede hacer que este se cargue de forma automática cada vez que se arranca el sistema, editando el fichero /etc/conf.d/modules y añadiendo la palabra nvidia al mismo.
Importante
Si agpgart se compila como un módulo, entonces, añádalo a /etc/conf.d/modules también.

Ya solo queda actualizar el sitema y reiniciar.
calculate ~ # cl-update

Rebuilding dependent modules
* Updating Kernel modules … [ ok ]
* (1 of 2) Broadcom’s IEEE 802.11a/b/g/n hybrid Linux device driver
* Emerging net-wireless/broadcom-sta-6.30.223.271-r4 … [ ok ]
* (2 of 2) NVIDIA Accelerated Graphics Driver
* Emerging x11-drivers/nvidia-drivers-381.22 … [ ok ]
* Installing net-wireless/broadcom-sta-6.30.223.271-r4

****+

DRIVERS NVIDIA
IMPORTANTE: Después de instalar el kernel, vuelva a instalar los drivers nvidia. Si es necesario actualizar los controladores nvidia busque el mejor disponible:

calculate ~ # equery g x11-drivers/nvidia-drivers
* Searching for nvidia-drivers in x11-drivers …

* dependency graph for x11-drivers/nvidia-drivers-381.22
`-- x11-drivers/nvidia-drivers-381.22 amd64
`-- app-eselect/eselect-opencl-1.1.0-r1 (app-eselect/eselect-opencl) amd64
`-- sys-libs/glibc-2.23-r3 (>=sys-libs/glibc-2.6.1) amd64
`-- dev-libs/atk-2.22.0 (dev-libs/atk) amd64
`-- dev-libs/glib-2.50.3-r1 (dev-libs/glib) amd64
`-- dev-libs/jansson-2.9 (dev-libs/jansson) amd64
`-- x11-libs/gtk*-3.22.15 (x11-libs/gtk*) amd64
`-- x11-libs/cairo-1.14.8 (x11-libs/cairo) amd64
`-- x11-libs/gdk-pixbuf-2.36.6 (x11-libs/gdk-pixbuf) amd64 [X]
`-- x11-libs/gtk*-2.24.31-r1 (x11-libs/gtk*) amd64
`-- x11-libs/libX11-1.6.5 (x11-libs/libX11) amd64
`-- x11-libs/libXext-1.3.3 (x11-libs/libXext) amd64
`-- x11-libs/libXrandr-1.5.1 (x11-libs/libXrandr) amd64
`-- x11-libs/libXv-1.0.11 (x11-libs/libXv) amd64
`-- x11-libs/libXxf86vm-1.1.4 (x11-libs/libXxf86vm) amd64
`-- x11-libs/pango-1.40.5 (x11-libs/pango) amd64 [X]
`-- app-eselect/eselect-opengl-1.3.1-r4 (>=app-eselect/eselect-opengl-1.0.9) amd64
`-- app-misc/pax-utils-1.1.7 (app-misc/pax-utils) amd64
`-- virtual/linux-sources-3-r9 (virtual/linux-sources) amd64
`-- sys-apps/dbus-1.10.18 (sys-apps/dbus) amd64
`-- virtual/modutils-0-r1 (virtual/modutils) amd64
`-- sys-apps/sed-4.2.2 (sys-apps/sed) amd64
`-- sys-apps/pciutils-3.4.1 (sys-apps/pciutils) amd64
`-- virtual/pkgconfig-0-r1 (virtual/pkgconfig) amd64
`-- sys-power/acpid-2.0.28 (sys-power/acpid) amd64
`-- dev-libs/wayland-1.12.0 (dev-libs/wayland) amd64 [abi_x86_32()? abi_x86_64()? abi_x86_x32()? abi_mips_n32()? abi_mips_n64()? abi_mips_o32()? abi_ppc_32()? abi_ppc_64()? abi_s390_32()? abi_s390_64()?]
`-- x11-base/xorg-server-1.19.2 (<x11-base/xorg-server-1.19.99) amd64
-- x11-libs/libvdpau-1.1.1 (>=x11-libs/libvdpau-1.0) amd64 \[abi\_x86\_32(~~)? abi\_x86\_64(~~)? abi\_x86\_x32(~~)? abi\_mips\_n32(~~)? abi\_mips\_n64(~~)? abi\_mips\_o32(~~)? abi\_ppc\_32(~~)? abi\_ppc\_64(~~)? abi\_s390\_32(~~)? abi\_s390\_64(~~)?\] \– sys-libs/zlib-1.2.11 (sys-libs/zlib) amd64 [abi_x86_32()? abi_x86_64()? abi_x86_x32()? abi_mips_n32()? abi_mips_n64()? abi_mips_o32()? abi_ppc_32()? abi_ppc_64()? abi_s390_32()? abi_s390_64()?]
[ x11-drivers/nvidia-drivers-381.22 stats: packages (29), max depth (1) ]

Y utilizar el “=” antes del paquete con la versión
Ejemplo:
emerge -av =x11-drivers/nvidia-drivers-381.22


The following keyword changes are necessary to proceed:
(see “package.accept_keywords” in the portage(5) man page for more details)
# required by =x11-drivers/nvidia-drivers-381.22 (argument)
=x11-drivers/nvidia-drivers-381.22 ~amd64

Con permisos administrativos, vamos a la carpeta siguiendo la ruta /etc/portage/package.keywords/custom. Y en custom pegamos y guardamos (para este caso):
# required by =x11-drivers/nvidia-drivers-381.22 (argument)
=x11-drivers/nvidia-drivers-381.22 ~amd64

Ponemos ahora sí:
emerge -av =x11-drivers/nvidia-drivers-381.22

Seguimos:
cl-update

MESA

media-libs/mesa es una biblioteca gráfica que proporciona una implementación genérica de OpenGL.
Mesa 3D es una biblioteca gráfica de código abierto, es mantenido por freedesktop.org, que es también donde se hospedan los servidores gráficos X.org y Wayland, y varios controladores de gráficos de código abierto.
Updating packages
Nota:
Algunos controladores (típicamente los propietarios desarrollados por los fabricantes) proporcionan su propia implementación de los API gráficos en lugar de usar Mesa.

* Calculating dependencies … [ ok ]

!!! The ebuild selected to satisfy “media-libs/mesa[egl]” has unmet requirements.

  • media-libs/mesa-17.0.6::gentoo USE=“classic dri3 egl gallium gbm gles2 llvm nptl vaapi vdpau vulkan wayland xa xvmc -bindist -d3d9 -debug -gles1 -opencl -openmax -osmesa -pax_kernel -pic (-selinux) -valgrind” ABI_X86=“32 64 -x32” VIDEO_CARDS="-freedreno -i915 -i965 -imx -intel -nouveau -r100 -r200 -r300 -r600 -radeon -radeonsi -vc4 -vivante -vmware"

The following REQUIRED_USE flag constraints are unsatisfied:
vulkan? ( any-of ( video_cards_i965 video_cards_radeonsi ) )

The above constraints are a subset of the following complete expression:
d3d9? ( dri3 gallium ) llvm? ( gallium ) opencl? ( gallium llvm ) openmax? ( gallium ) gles1? ( egl ) gles2? ( egl ) vaapi? ( gallium ) vdpau? ( gallium ) vulkan? ( any-of ( video_cards_i965 video_cards_radeonsi ) video_cards_radeonsi? ( llvm ) ) wayland? ( egl gbm ) xa? ( gallium ) video_cards_freedreno? ( gallium ) video_cards_intel? ( classic ) video_cards_i915? ( any-of ( classic gallium ) ) video_cards_i965? ( classic ) video_cards_imx? ( gallium ) video_cards_nouveau? ( any-of ( classic gallium ) ) video_cards_radeon? ( any-of ( classic gallium ) gallium? ( x86? ( llvm ) amd64? ( llvm ) ) ) video_cards_r100? ( classic ) video_cards_r200? ( classic ) video_cards_r300? ( gallium x86? ( llvm ) amd64? ( llvm ) ) video_cards_r600? ( gallium ) video_cards_radeonsi? ( gallium llvm ) video_cards_vivante? ( gallium gbm ) video_cards_vmware? ( gallium )

(dependency required by “dev-qt/qtgui-5.7.1::gentoo[egl]” [installed])
(dependency required by “dev-qt/qtprintsupport-5.7.1::gentoo” [installed])
(dependency required by “kde-apps/okular-17.04.1::gentoo” [installed])
(dependency required by “selected" [set]) (dependency required by "world” [argument])
* Emerge failed
* Update failed

Vamos a /etc/portage/make.conf/0-base y ponemos:
VIDEO_CARDS=“nvidia”
USE=“nvidia -vulkan”

https://wiki.gentoo.org/wiki/Safe_CFLAGS#FX-XXXX

VULKAN

Vulkan rompe la compatibilidad con OpenGL y abandona totalmente el concepto de una máquina de estados monolítica gigante.
Actualmente, el árbol de Gentoo tiene un paquete básico media-libs / vulkan-loader que proporciona libvulkan.so.1:
Si desea los controladores Vulkan de código abierto, debe habilitar el indicador USE de vulkan en media-libs / mesa. La siguiente lista muestra el vulkan apoyado en Mesa:
Driver Vulkan support?
radeon/r600 No
radeonsi via radv
i915 No
i965 via anvil, see Intel for details
nouveau No

El siguiente controlador alternativo existe:

AMDGPU-PRO, controlador oficial de código cerrado para hardware AMD
NVidia / nvidia-drivers, controlador oficial de código cerrado para hardware Nvidia
*****
Opcional:
(en etc/portage/package.mask
crear un archivo llamado: media-libs/mesa
Y añadir en el interior: media-libs/mesa -vulkan)


CFLAGS SEGURAS
Este artículo intenta resumir la configuración “segura” de los indicadores de CPU en Gentoo Linux.

DETECCIÓN AUTOMÁTICA DE CPU
Una opción predeterminada recomendada para CFLAGS o CXXFLAGS es utilizar -march=native. Esto permite la detección automática de la arquitectura de la CPU. Una entrada posible podría tener el siguiente aspecto:
FILE /etc/portage/make.conf

CFLAGS="-O2 -pipe -march=native"
CXXFLAGS="${CFLAGS}"

Advertencia:
No utilice -march=native o -mtune=native en las variables CFLAGS o CXXFLAGS de make.conf al compilar con distcc. Consulte la página distcc acerca de cómo configurar CFLAGS/CXXFLAGS correctamente.
(Distcc es un programa diseñado para distribuir las tareas de compilación a través de una red a los hosts participantes. Se compone de un servidor, distccd, y un programa de cliente, distcc. Distcc puede trabajar de forma transparente con ccache, Portage y Automake con una pequeña cantidad de configuración. https://wiki.gentoo.org/wiki/Distcc#-march.3Dnative )

(Cuando planea utilizar distcc para ayudar a arrancar una instalación de Gentoo, asegúrese de leer Using distcc to bootstrap.
Nota
Encontrará más información en la página de optimización de GCC. https://wiki.gentoo.org/wiki/GCC_optimization ).

IMPORTANTE: ¡Recomendable informarse y poner el modelo exacto de CPU manualmente. Esto permite un mejor rendimiento!

DE MODO MANUAL
Encontrando la CPU
Para identificar el modelo de la CPU, eche un vistazo dentro de /proc/cpuinfo para la “familia de cpu” y los números de “modelo” así:
Ejemplo:
calculate ~ # grep -m1 -A3 “vendor_id” /proc/cpuinfo
vendor_id : AuthenticAMD
cpu family : 21
model : 2
model name : AMD FX ™-8320 Eight-Core Processor

Una vez que esta información se encuentra coincide con la CPU a uno de los enumerados en esta página con el fin de encontrar el CFLAGS “seguro” sugerido.
A continuación se muestra una lista de CFLAGS que deben considerarse “seguros” para los procesadores dados. Estos son los ajustes que se deben utilizar, especialmente cuando no está seguro de qué CFLAGS necesita el procesador.
Ejemplo para este caso:
FX-XXXX

FILE /etc/portage/make.conf

CHOST=“x86_64-pc-linux-gnu”
CFLAGS="-O2 -march=bdver1 -pipe"
CXXFLAGS="${CFLAGS}"

Asegúrese y compruebe el número indicado por el modelo en el sistema, la -march bandera debe ser bdverX donde X es el número de modelo.
Nota
¡Varios APU de AMD marcados como FX no coinciden con el modelo 1 o 2! Debería usar los parámetros listados para el modelo APU de AMD dados por la familia y el modelo de la CPU.

**+
ASÍ NOS QUEDA FINALMENTE EN /etc/portage/make.conf/0-base:

# Modified Calculate Utilities 3.5.4
# Processed template files:
# /var/lib/layman/calculate/profiles/templates/3.5/2_ac_install_merge/sys-apps/portage/make.conf.base
# For modify this file, create /etc/portage/make.conf/0-base.clt template.

# Connecting overlays layman. You should not change this setting, as this may
# disrupt the package manager.
source /var/lib/layman/make.conf

VIDEO_CARDS=“nvidia”
USE=“nvidia -vulkan”
CHOST=“x86_64-pc-linux-gnu”
CFLAGS="-O2 -march=bdver1 -pipe"
CXXFLAGS="${CFLAGS}"

(Notas: Sin líneas. Las líneas cargan otro archivo, pero ese es el viejo método layman)
****+
Seguimos:
cl-update

Updating packages
* Calculating dependencies … [ ok ]
[binary N ] dev-libs/libx86-1.1-r3::gentoo USE="-static-libs" 74 KiB
[binary N ] x11-proto/presentproto-1.1::gentoo ABI_X86=“32 (64) (-x32)” 0 KiB
[binary N ] x11-proto/xf86driproto-2.1.1-r1::gentoo ABI_X86=“32 (64) (-x32)” 0 KiB
[binary N ] x11-proto/dri2proto-2.8-r1::gentoo ABI_X86=“32 (64) (-x32)” 0 KiB
[binary N ] x11-proto/dri3proto-1.0::gentoo ABI_X86=“32 (64) (-x32)” 0 KiB
[ebuild R ] x11-base/xorg-drivers-1.19::gentoo INPUT_DEVICES=“evdev keyboard libinput mouse mutouch synaptics -acecad -aiptek -elographics -fpit -hyperpen -joystick -penmount -tslib -vmmouse -void -wacom” VIDEO_CARDS=“nvidia* -amdgpu* -apm -ark -ast -chips -cirrus -dummy -epson -fbdev (-fglrx) (-freedreno) (-geode) -glint -i128 (-i740) -i915* -i965* -intel* -mach64 -mga -neomagic (-newport) -nouveau* -nv* (-omap) -qxl -r128 -radeon* -radeonsi* -rendition -s3 -s3virge -savage -siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx) -tdfx (-tegra) -tga -trident -tseng -vesa* -via* -virtualbox -vmware (-voodoo)” 0 KiB
[binary N ] x11-proto/glproto-1.4.17-r1::gentoo ABI_X86=“32 (64) (-x32)” 0 KiB
[ebuild R ] x11-libs/libdrm-2.4.75::gentoo USE=“libkms -static-libs -valgrind” ABI_X86=“32 (64) (-x32)” VIDEO_CARDS="-amdgpu* (-exynos) (-freedreno) -intel* -nouveau* (-omap) -radeon* (-tegra) (-vc4) (-vivante) -vmware*" 757 KiB
[binary N ] sys-apps/vbetool-1.1::gentoo 36 KiB
[ebuild R ] sys-power/pm-utils-1.4.1-r7::gentoo USE=“alsa -debug -ntp” VIDEO_CARDS="-intel* -radeon*" 204 KiB
[binary N ] virtual/linux-sources-3-r9::calculate 0 KiB
[ebuild R ] x11-libs/libva-1.7.3::gentoo USE=“X drm opengl vdpau -egl -wayland” ABI_X86=“32 (64) (-x32)” VIDEO_CARDS=“nvidia -dummy (-fglrx) -i965* -intel* -nouveau*” 806 KiB
[ebuild R ] media-libs/mesa-17.0.6::gentoo USE=“classic dri3 egl gallium gbm gles2 llvm nptl vaapi vdpau wayland xa xvmc -bindist -d3d9 -debug -gles1 -opencl -openmax -osmesa -pax_kernel -pic (-selinux) -valgrind -vulkan**” ABI_X86=“32 (64) (-x32)” VIDEO_CARDS="(-freedreno) -i915** -i965* -imx -intel* -nouveau* -r100* -r200* -r300* -r600* -radeon* -radeonsi* (-vc4) (-vivante) -vmware" 9273 KiB
[ebuild R ~] x11-drivers/nvidia-drivers-381.22:0/381::gentoo USE=“X compat driver gtk3 kms multilib static-libs* tools uvm -acpi -pax_kernel -wayland” ABI_X86=“32 (64) (-x32)” 0 KiB
[ebuild R ] app-admin/conky-1.10.4::gentoo USE=“X iconv imlib ipv6 irc ncurses nvidia* portmon pulseaudio truetype -apcupsd -audacious -cmus -curl -eve -hddtemp -ical -iostats -lua-cairo -lua-imlib -lua-rsvg -math -moc -mpd -mysql -nano-syntax -rss (-systemd) -thinkpad -vim-syntax -weather-metar -weather-xoap -webserver -wifi -xmms2” 357 KiB
* 15 packages will be installed, 11503 KiB will be downloaded
The following USE changes are necessary to proceed:
(see “package.use” in the portage(5) man page for more details)
# required by app-admin/conky-1.10.4::gentoo[nvidia,X]
# required by `selected

required by `world (argument)

=x11-drivers/nvidia-drivers-381.22 static-libs
* Emerge failed
* Update failed

Vamos a etc/portage/package.use/custom y añadimos y salvamos.
=x11-drivers/nvidia-drivers-381.22 static-libs

(Nota: Necesitas = delante si especificas la versión)

Seguimos:
cl-update


Borrar kernel
Ejemplo:
emerge --ask --depclean vanilla-sources
Si BORRAMOS el kernel viejo en las futuras actualizaciones nos pueden salir mensajes como este:

Updating packages
* Calculating dependencies …
* Listing packages for installation
* Broadcom firmware for b43 LP PHY and >=linux-3.2 (UD) sys-firmware/b43-firmware-5.100.138 (265 KiB)
* Calculate Linux kernel image (NS) sys-kernel/calculate-sources-4.9.28 (0 KiB)
* Linux firmware files (U) sys-kernel/linux-firmware-20170519 (89691 KiB)
* 3 packages will be installed, 89955 KiB will be downloaded

Would you like to merge these packages? (Yes/No):

Por lo tanto es mejor no borrar el anterior kernel (Ej: sys-kernel/calculate-sources-4.9.28) para que no nos toque volverlo a instalar para que continue el proceso de actualización. No pasa nada porque tengas varios núcleos instalados mientras que tengas seleccionado el que te interese.
echo sys-kernel/calculate-sources » /etc/portage/package.keywords/custom
the kernel modules is on /lib/modules/

Si ya le has borrado el anterior le vuelves a instalar y ya está, pero aseguraté de que seleccionas el nuevo.
calculate linux # eselect kernel list
Esto muestra las fuentes del núcleo disponibles. El asterisco indica las fuentes elegidas.
Para cambiar las fuentes del núcleo, por ejemplo a la segunda entrada, se debe hacer lo siguiente:
calculate linux # eselect kernel set 2


Te puede interesar:
cl-setup-boot
calculate ~ # grub-mkconfig -o /boot/grub/grub.cfg


qt5

El principal: dev-qt/qtcore

calculate ~ # qlist -Iv --repo ::qt
calculate ~ # emerge -1u $(qlist -CI dev-qt/*)
calculate ~ # emerge -1au $(qlist -CI dev-qt/*)
calculate ~ # qmake -v
QMake version 2.01a
Using Qt version 4.8.7 in /usr/lib64/qt4

calculate ~ # emerge -ask qt5

calculate ~ # grep -e “qt[[:digit:]]” -e “handbook” -e “kde” -e “plasma” /etc/portage/make.conf
grep: /etc/portage/make.conf: Es un directorio
calculate ~ # grep -e “qt[[:digit:]]” -e “handbook” -e “kde” -e “plasma” /etc/portage/make.conf/0-base

KDE/Plasma 5 upgrade [PRECAUCIÓN]

x11-misc/appmenu-qt No funciona correctamente en Gentoo

calculate ~ # grep -e “qt[[:digit:]]” -e “handbook” -e “kde” -e “plasma” /etc/portage/make.conf
grep: /etc/portage/make.conf: Es un directorio
calculate ~ # grep -e “qt[[:digit:]]” -e “handbook” -e “kde” -e “plasma” /etc/portage/make.conf/0-base
calculate ~ # grep -e “qt[[:digit:]]$” -e "qt[[:digit:]] " -e “handbook$” -e "handbook " -R /etc/portage/package.use
calculate ~ # grep -e “kde$” -e "kde " -e “plasma$” -e “plasma " -R /etc/portage/package.use
calculate ~ # for x in libkscreen kde-gtk-config ksshaskpass freespacenotifier kcheckpass kcminit kdebase-cursors kdebase-startkde kdm kephal khotkeys kinfocenter klipper kmenuedit krunner kscreensaver ksmserver ksplash kstartupconfig kstyles ksysguard ksystraycmd kwin kwrited libkgreeter libkworkspace liboxygenstyle libplasmaclock libplasmagenericshell libtaskmanager plasma-workspace powerdevil qguiplatformplugin_kde solid-actions-kcm systemsettings; do equery -q d ${x} | sed e "s/[0-9].*//”; done | sed -e “/kdebase-meta/g” -e “/kde-meta/g” | xargs emerge --deselect --pretend

Would remove kde-misc/kdeconnect from “world” favorites file…
Would remove kde-plasma/plasma-meta from “world” favorites file…
Would remove net-p2p/ktorrent from “world” favorites file…

calculate ~ # emerge --ask --changed-use --newrepo --deep world
calculate ~ # emerge --ask kde-plasma/plasma-meta
calculate ~ # emerge kde-apps/kde-apps-meta
calculate ~ # emerge --ask x11-misc/sddm
calculate ~ # usermod -a -G video sddm
calculate ~ # sddm --example-config > /etc/sddm.conf
calculate ~ # rc-update add xdm default
* service xdm added to runlevel default
calculate ~ # /etc/init.d/xdm start
xdm | * WARNING: xdm has already been started

calculate ~ # emerge --ask kde-plasma/sddm-kcm


LXD es el Linux Containers Daemon, y el sucesor de LXC. Aunque ambos son desarrollados simultáneamente por Stéphane Graber (y Canonical), LXD aún está en desarrollo activo y actualmente es adecuado para uso de evaluación solamente.

Para aquellos nuevos en la tecnología de contenedores, sería bueno leer primero la sección “Conceptos de virtualización” del artículo de LXC.

Las principales características de LXD incluyen:

Prefiere lanzar contenedores no privilegiados (seguros por defecto).
Un cliente de línea de comandos (lxc) interactúa con un daemon (lxd).
La configuración se hace intuitiva y se puede programar mediante perfiles en cascada.
Los cambios de configuración se realizan con el comando lxc (no los archivos de configuración).
Varios hosts pueden federarse juntos (con un sistema de confianza basado en certificados).
Una configuración federada significa que los contenedores se pueden iniciar en máquinas remotas y migrar en vivo entre hosts (utilizando la tecnología CRIU).
Se puede utilizar como un hipervisor autónomo o integrado con Openstack nova

calculate ~ # ebuild /usr/portage/app-emulation/lxc/lxc-2.0.7.ebuild setup

Downloading ‘http://mirror.yandex.ru/gentoo-distfiles/distfiles/lxc-2.0.7.tar.gz
-2017-05-28 18:49:34- http://mirror.yandex.ru/gentoo-distfiles/distfiles/lxc-2.0.7.tar.gz
Resolving mirror.yandex.ru (mirror.yandex.ru)… 213.180.204.183, 2a02:6b8::183
Connecting to mirror.yandex.ru (mirror.yandex.ru)|213.180.204.183|:80… connected.
HTTP request sent, awaiting response… 200 OK
Length: 792557 (774K) [application/octet-stream]
Saving to: ‘/var/calculate/remote/distfiles/lxc-2.0.7.tar.gz’

/var/calculate/remote/distfiles/lx 100%[===>] 773.98K 711KB/s in 1.1s

2017-05-28 18:49:36 (711 KB/s) - ‘/var/calculate/remote/distfiles/lxc-2.0.7.tar.gz’ saved [792557/792557]

* lxc-2.0.7.tar.gz SHA256 SHA512 WHIRLPOOL size :wink: … [ ok ]
* Determining the location of the kernel source code
* Found kernel source directory:
* /usr/src/linux
* Found kernel object directory:
* /lib/modules/4.9.28-calculate/build
* Found sources for kernel version:
* 4.9.28-calculate
* Checking for suitable kernel configuration options…

emerge --ask lxd
app-emulation/lxc-2.0.7
app-emulation/lxd-2.11

Calculating dependencies… done!
[binary N ] app-portage/elt-patches-20170317
[ebuild N ~] sys-apps/pacman-4.0.3-r1 USE="-curl -debug -doc -gpg {-test}"

The following keyword changes are necessary to proceed:
(see “package.accept_keywords” in the portage(5) man page for more details)
# required by pacman (argument)
=sys-apps/pacman-4.0.3-r1 ~amd64

sudo chmod a+x /var/lib/pacman
pacman -V
calculate ~ # pacman -Sy --debug
debug: parseconfig: options pass
debug: config: attempting to read file /etc/pacman.conf
debug: config: finish section ‘(null)’
debug: config: new section ‘options’
debug: config: HoldPkg: pacman
debug: config: HoldPkg: glibc
debug: config: SyncFirst: pacman
debug: config: arch: x86_64
debug: config: finish section ‘options’
debug: config: finished parsing /etc/pacman.conf
debug: setup_libalpm called
error: falló al iniciar la biblioteca alpm (no se pudo encontrar o leer el directorio)


Xorg dice que no puede encontrar las pantallas

Cuando después de arrancar el sistema, este termina con una pantalla en negro o con un prompt de consola, en lugar de la interfaz gráfica de usuario, entonces, pulse Ctrl+Alt+F2 para que aparezca una consola virtual. A continuación, ejecute:
root # /etc/init.d/xdm stop
user $ startx

para ver la salida de Xorg. Si uno de los primeros errores que muestra Xorg es que este no puede encontrar ninguna pantalla, entonces, siga los siguientes pasos para resolver el problema.

Debería ser suficiente con ejecutar la siguiente orden antes de reiniciar:
root #/opt/bin/nvidia-xconfig

Pero, si eso no funciona, ejecute lspci y observe el comienzo de la línea de la tarjeta de vídeo, como esta:
root #lspci

. . .
01:00.0 VGA compatible controller: make and model of videocard
. . .

Tome el primer dígito, 01.00.0, y póngalo en el fichero /etc/X11/xorg.conf, con la opción BusID:
ARCHIVO /etc/X11/xorg.conf

# Esto no es todo el fichero, solo la parte que necesita ser editada
# El fichero ya debe existir después de ejecutar nvidia-xconfig

Section “Device”
Identifier “Device0”
Driver “nvidia”
VendorName “NVIDIA Corporation”
BusID “PCI:1:0:0”
EndSection


ACTUALIZAR QT

Overlay (superposición) “qt” se puede conectar a la orden de “layman -a qt”
calculate ~ # layman -a qt

* Adding overlay…
* Running Git… # ( cd /var/lib/layman && /usr/libexec/calculate/cl-git-wrapper clone https://anongit.gentoo.org/git/proj/qt.git /var/lib/layman/qt )
Cloning into ‘/var/lib/layman/qt’…
remote: Counting objects: 35060, done.
remote: Compressing objects: 100% (15377/15377), done.
remote: Total 35060 (delta 21903), reused 30728 (delta 19055)
Receiving objects: 100% (35060/35060), 6.23 MiB | 1008.00 KiB/s, done.
Resolving deltas: 100% (21903/21903), done.
* Running Git… # ( cd /var/lib/layman/qt && /usr/libexec/calculate/cl-git-wrapper config user.name “layman” )
* Running Git… # ( cd /var/lib/layman/qt && /usr/libexec/calculate/cl-git-wrapper config user.email “layman@localhost” )
* Successfully added overlay(s) qt.

calculate ~ # eix-update
Reading Portage settings…
Building database (/var/cache/eix/portage.eix)…
[0] “gentoo” /usr/portage/ (cache: metadata-md5-or-flat)
Reading category 164|164 (100) Finished
[1] “distros” /var/lib/layman/distros (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
Reading category 164|164 (100) EMPTY!
[2] “calculate” /var/lib/layman/calculate (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
Reading category 164|164 (100) Finished
[3] “qt” /var/lib/layman/qt (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
Reading category 164|164 (100) Finished
Applying masks…
Calculating hash tables…
Writing database file /var/cache/eix/portage.eix…
Database contains 19660 packages in 164 categories.

Ahora los paquetes estarán disponibles, pero enmascarados.

calculate ~ # equery g dev-qt/qtcore
* Searching for qtcore in dev-qt …

  • dependency graph for dev-qt/qtcore-5.9.0_rc
    `-- dev-qt/qtcore-5.9.0_rc M[package.mask]
    `-- dev-libs/double-conversion-2.0.1 (dev-libs/double-conversion) amd64
    `-- dev-libs/glib-2.50.3-r1 (dev-libs/glib) amd64
    `-- dev-libs/libpcre2-10.22 (dev-libs/libpcre2) amd64 [pcre16 unicode]
    `-- sys-libs/zlib-1.2.11 (sys-libs/zlib) amd64
    `-- dev-libs/icu-58.2 (dev-libs/icu) amd64
    `-- virtual/libiconv-0-r2 (virtual/libiconv) amd64
    `-- sys-apps/systemd-233-r1 (sys-apps/systemd) amd64
    `-- dev-lang/perl-5.24.1-r1 (dev-lang/perl) amd64
    `-- virtual/pkgconfig-0-r1 (virtual/pkgconfig) amd64
    `-- dev-qt/qttest-5.9.0_rc (~dev-qt/qttest-5.9.0_rc) M[package.mask]
    `-- dev-qt/qtchooser-0_p20151008 (dev-qt/qtchooser) amd64
    [ dev-qt/qtcore-5.9.0_rc stats: packages (12), max depth (1) ]

calculate ~ # emerge -av =dev-qt/qtcore-5.9.0_rc

The following keyword changes are necessary to proceed:
(see “package.accept_keywords” in the portage(5) man page for more details)
# required by =dev-qt/qtcore-5.9.0_rc (argument)
=dev-qt/qtcore-5.9.0_rc ~amd64

The following mask changes are necessary to proceed:
(see “package.unmask” in the portage(5) man page for more details)
# required by =dev-qt/qtcore-5.9.0_rc (argument)
# /var/lib/layman/qt/profiles/package.mask:
# Michael Palimaka kensington@gentoo.org (25 Jan 2017)
# Untested work in progress.
# Guaranteed to break your system horribly or your money back.
=dev-qt/qtcore-5.9.0_rc

The following USE changes are necessary to proceed:
(see “package.use” in the portage(5) man page for more details)
# required by dev-qt/qtcore-5.9.0_rc::qt
# required by =dev-qt/qtcore-5.9.0_rc (argument)

=dev-libs/libpcre2-10.22 pcre16

NOTE: The --autounmask-keep-masks option will prevent emerge
from creating package.unmask or **** keyword changes.

Would you like to add these changes to your config files? [Yes/No]


Biblioteca y herramientas para administrar los módulos del kernel linux
KMOD

calculate ~ # rc-update add kmod-static-nodes sysinit
* service kmod-static-nodes added to runlevel sysinit