
Tengo una computadora portátil (Xiaomi Mi Notebook Pro) con una Nvidia MX150. Por eso se utiliza la tecnología Optimus de Nvidia. Como distribución utilizo Fedora 28.
Abejorro
Por eso instalé Bumblebee para aprovechar esta tecnología.
Debería instalarse correctamente ya que puedo iniciar glmark2 mediante optirun
o primusrun
. También ejecutando cat /proc/acpi/bbswitch
salidas ON
. Entonces, la GPU Nvidia debería estar ejecutándose.
Estibador
Para instalar Docker, seguí las instrucciones enhttps://docs.docker.com/install/linux/docker-ce/fedora/#install-docker-ce
La ejecución docker run hello-world
genera lo que debería, por lo que Docker también funciona.
nvidia-docker2
Instalé nvidia-docker2 en Fedora con estos comandos:
curl -s -L https://nvidia.github.io/nvidia-docker/centos7/nvidia-docker.repo | \
sudo tee /etc/yum.repos.d/nvidia-docker.repo
sudo dnf install nvidia-docker2
sudo pkill -SIGHUP dockerd
Paquetes nvidia instalados
Para comprobar qué paquetes de nvidia están instalados, ejecuto este comando:
rpm -qa '*nvidia*'
- Salida:akmod-nvidia-396.51-1.fc28.x86_64
- nvidia-container-runtime-2.0.0-1.docker18.06.1.x86_64
- controlador-nvidia-396.51-1.fc28.x86_64
- kmod-nvidia-4.17.9-200.fc28.x86_64-396.45-1.fc28.x86_64
- kmod-nvidia-4.17.14-202.fc28.x86_64-396.51-1.fc28.x86_64
- nvidia-docker2-2.0.3-1.docker18.06.1.ce.noarch
- nvidia-driver-libs-396.51-1.fc28.x86_64
- nvidia-container-runtime-hook-1.4.0-1.x86_64
- libnvidia-container1-1.0.0-0.1.rc.2.x86_64
- kmod-nvidia-4.17.12-200.fc28.x86_64-396.45-1.fc28.x86_64
- libnvidia-container-tools-1.0.0-0.1.rc.2.x86_64
La ventana acoplable de prueba se está ejecutando con la GPU Nvidia
Desafortunadamente, Docker actualmente no se ejecuta con la GPU Nvidia:
optirun docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
Recibo este error:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:348: starting container process caused "process_linux.go:402: container init caused \"process_linux.go:385: running prestart hook 1 caused \\\"error running hook: exit status 1, stdout: , stderr: exec command: [/usr/bin/nvidia-container-cli --load-kmods configure --ldconfig=@/sbin/ldconfig --device=all --compute --utility --require=cuda>=9.0 --pid=26115 /var/lib/docker/overlay2/c00aa7855e42deee545cb07531a571538e0d051d38f45e36584a1c850dd47680/merged]\\\\nnvidia-container-cli: initialization error: driver error: failed to process request\\\\n\\\"\"": unknown.
¿Qué me estoy perdiendo?
Por ahora no tengo ni idea de dónde está el error. Supongo que podría ser un problema con la CUDA
versión.
Respuesta1
La única "solución" que he encontrado (más bien una solución alternativa) es garantizar que la tarjeta nvidia se cargue/seleccione primero mediante prime-select:
sudo prime-select nvidia
Se siente como si estuviera frustrando el propósito de usar Bumblebee.