NitroPC Pro 2 con GPU externa#

Nota

Esta guía sólo funciona si utilizas la imagen de GPU Qubes OS OEM de Nitrokey que puedes construir aquí.

Esta guía explica cómo utilizar tu NitroPC con una tarjeta gráfica externa (GPU) con Qubes OS.

Advertencia

Seguir esta guía puede crear algunos problemas de seguridad en Qubes OS. Sígala bajo su propia responsabilidad.

Crear un Windows Qube#

Nota

Esto instalará un Windows Qube desde la ISO oficial de prueba. Si desea una experiencia completa de Windows, tendrá que añadir una clave de licencia.

Esta parte está utilizando ElliotKillick proyecto.

  1. Abre un terminal en dom0 y asegúrate de que tienes internet conectado.

  2. Instala las herramientas de Windows de Qubes, en dom0 : sudo qubes-dom0-update qubes-windows-tools-4.1.69 cuando se te pregunte pulsa y y enter.

Nota

Consulte la implicación de seguridad ` <https://github.com/QubesOS/qubes-secpack/blob/master/QSBs/qsb-091-2023.txt>` __ de la instalación de QWT.

  1. Hacer ejecutable el script de instalación, en dom0 : sudo chmod +x /install.sh

  2. Lanza el script de instalación, en dom0 : /install.sh

Si ve este mensaje : [+] Installation complete! entonces puede continuar.

En este punto el script ha creado un nuevo Qube llamado windows-mgmt ahora descargaremos la ISO para crear el Qube de Windows.

Para ello necesitamos copiar el script ~/qvm-create-windows-qube/windows/isos/mido.sh del Qube windows-mgmt dentro de un Qube desechable con conectividad a internet.

  1. Inicie un nuevo DVM (desechable) Qube y dele al menos 10 GB de almacenamiento privado.

  2. Inicie el windows-mgmt Qube y copie el script, en windows-mgmt Qube : qvm-copy qvm-create-windows-qube/windows/isos/mido.sh luego seleccione el DVM Qube (dispXXXX).

  3. Una vez copiado el script láncelo, en dispXXX : ./QubesIncoming/windows-mgmt/mido.sh win10x64

Nota

En esta guía instalamos Windows 10 pero hay otras versiones de Windows disponibles que puedes listar usando ./QubesIncoming/windows-mgmt/mido.sh

  1. Si recibe un mensaje de éxito, entonces tendrá que copiar la ISO descargada desde el DVM al windows-mgmt Qube, en dispXXXX : qvm-copy QubesIncoming/windows-mgmt/win10x64.iso y elija el windows-mgmt Qube.

Una vez copiado puedes cerrar tu DVM Qube.

  1. En el Qube windows-mgmt : mv QubesIncoming/dispXXXX/win10x64.iso qvm-create-windows-qube/windows/isos/ (sustituya “dispXXXX” por el nombre del Qube desechable que ha creado).

  2. Entonces en dom0 : qvm-create-windows-qube -n sys-firewall -oy -i win10x64.iso -a win10x64-pro.xml work-win10

Nota

Puede preinstalar cualquier paquete de este sitio. Por ejemplo: qvm-create-windows-qube -n sys-firewall -oyp firefox,notepadplusplus,office365proplus -i win10x64.iso -a win10x64-pro.xml work-win10

Si el script se detiene o si se queda atascado reinténtalo hasta que veas este mensaje: [+] Completed successfully!

  1. Ahora tendrá que conectar su GPU al Qube de Windows, para ello vaya al Administrador de Qube y a las opciones de Qube de Windows 10 (asegúrese de que el Qube está apagado), en la pestaña Dispositivos seleccione su tarjeta gráfica y pásela a la derecha a continuación, haga clic en el Configure strict reset for PCI devices a continuación, seleccione su tarjeta y haga clic en OK

  2. Ahora que tu tarjeta gráfica está conectada a tu Windows Qube necesitarás instalar los drivers de tu tarjeta. Busca Check for updates en la barra de búsqueda y luego haz clic en Check for updates (tendrás que reiniciar varias veces).

Ahora Windows instalará todos los controladores que necesitarás para utilizar tu tarjeta gráfica externa. Si tienes algún problema, asegúrate de que tienes suficiente espacio en tu Windows Qube mientras instalas las actualizaciones.

Una vez terminado puedes conectar una pantalla secundaria a la tarjeta gráfica.

Si desea utilizar un ratón o un teclado dedicado para Windows Qube, deberá utilizar sys-usb y conectarle el dispositivo deseado.

Crear un Qube Linux#

Debian#

  1. Vaya al gestor de Qube y cree un nuevo Qube independiente e inicie la configuración después de la creación.

  2. En la pestaña advenced cambia el modo a HVM y desactiva el balanceo de memoria y elige la cantidad de RAM que quieras.

  3. En la pestaña de dispositivos selecciona la GPU y pásala a la derecha luego pulsa en el Configure strict reset for PCI devices luego selecciona tu tarjeta y pulsa OK

  4. Cierra los ajustes e inicia el Qube.

  5. Añade non-free a tu lista de fuentes: sudo sed -i '1 s/.*/& non-free/' /etc/apt/sources.list

  6. sudo apt update

  7. sudo apt install nvidia-driver dbus-x11

Ahora tendrá que crear 3 archivos diferentes:

screen.conf:

Section "Device"
Identifier  "GPU"

# name of the driver to use. Can be "amdgpu", "nvidia", or something else
Driver      "nvidia"

# The BusID value will change after each qube reboot.
BusID       "PCI:0:8:0"
EndSection

Section "Screen"
Identifier "GPU screen"
Device     "GPU"
EndSection

xorgX1.sh:

#!/bin/bash

binary=${1:?binary required}

# Find the correct BusID of the AMD GPU, then set it in the Xorg configuration file
pci=$(lspci | grep "VGA" | grep -E "NVIDIA|AMD/ATI" | cut -d " " -f 1 | cut -d ":" -f 2 | cut -d "." -f 1 | cut -d "0" -f 2)
sed -i 's/"PCI:[^"]*"/"PCI:0:'$pci':0"/g' /home/user/screen.conf

# Start the Xorg server for the X screen number 1.
# The X screen n°0 is already used for QubesOS integration
sudo startx "$binary" -- :1 -config /home/user/screen.conf

xfce.sh:

#!/bin/bash
sleep 5 && sudo setxkbmap -display :1 fr &
/bin/sudo -u user PULSE_SERVER=unix:/run/user/1000/pulse/native bash -c 'sudo xhost + local:;/usr/bin/startxfce4'
  1. sudo chmod +x xorgX1.sh xfce.sh

  2. sudo ./xorgX1.sh ./xfce.sh

Ahora la pantalla secundaria debería encenderse y mostrar un escritorio Debian XFCE.

Si desea utilizar un ratón o teclado dedicado para Linux Qube, entonces necesita utilizar sys-usb y conectar el dispositivo deseado a él.