Solicitud consejos para ejecutar Darktable en una máquina virtual

No estoy muy seguro de que esta sea la sección adecuada, si no es aquí, por favor movedlo donde os parezca más oportuno y disculpadme.

Como comenté en alguna ocasión, yo uso darktable en windows ya que no puedo prescindir de windows para muchos programas que utilizo profesionalmente, y al final el sistema operativo me da un poco igual, lo que me importa es que los programas que uso funcionen como me gusta.

Pero sentía curiosidad por ver darktable funcionando en su entorno nativo, y poder fisgar los módulos que no tenemos en windows.
Instalar en modo dual windows y linux me da pereza porque luego tienes que andar cambiando de uno a otro y es un rollo, además del riesgo de que uno acabe corrompiendo al otro si metes la pata en algo.

Así que decidí utilizar virtualbox para probar, entorno que utilizon en otras ocasiones cuando quiero juguetear con linux.

He instalado linux Mint debian edition (debbie) en una máquina virtual con 4GB y 6 procesadores, activando aceleración gráfica 3D y los entornos de virtualización del procesador.

También estoy probando Parrot OS (por aquéllo de que viene con bastantes opciones des seguridad instaladas, para evitar cookies espías y esas cosas).
Este usa MATe en vezde Cinnamon como entorno gráfico por defecto, aunque se podrá instalar Cinnamon si es que me gusta más (la verdad es que parece más amigable y bonito).

¿Qué consejos de configuración me podéis dar?

¿Es utilizable darktable en una máquina virtual?

¿Tiene darktable acceso a la gpu y opencl utilizando la máquina virtual o es necesario alguna configuración especial o instalar drivers específicos de nvidia (que es mi tarjeta gráfica una rtx 1650)?

En mi experiencia, si vas a usar la máquina virtual Parrot OS o Linux Mint son una buena elección con el escritorio MATE, ya que está enfocada en mantener un buen rendimiento utilizando menos recursos.

Si lo que quieres es utilizar darktable, creo que es mejor evitar utilizar entornos, que aunque más llamativos y bonitos, ocupen un mayor uso de los recursos del sistema.

Por eso, mi recomendación de escritorio seguiría siendo MATE, con Parrot OS o con Linux Mint.

Gracias.
Bueno el sistema operativo en sí y el entorno gráfico no va mal, tanto en el parrot os con mate como en el mint debbie con cinnamon.

El problema es con programas como el darktable que no parecen poder usar la gpu.
En darktable el opencl está deshabilitado aún cuando he activado la aceleración gráfica 3d en la máquina virtual en instalado las virtualbox guest additions.

He estado investigando un poco y parece que para poder usar la gpu tendría que configurar la gpu en la máquina virtual en modo passtrhu y poder así instalar los drivers nvidia en linux.

Pero parece que virtualbox no admite el modo passthru.

No sé si otro sistema lo admitiría como el propio de microsoft (con el que he tenido algún problema instalando máquinas vituales de linux).
KVM parece que sí, pero no sé si en windows lo hace.

¿Si configuras la gpu en modo passthru sólo la puedes usar en el sistema operativo invitado o también se puede usar en el anfitrión?

Hasta ahora las máquinas virtuales sólo las había utilizado para cosas básicas, probar algún sistema operativo o algún programa potencialmente peligroso.[quote=“ariznaf, post:3, topic:274, full:true”]
Bueno el sistema operativo en sí y el entorno gráfico no va mal, tanto en el parrot os con mate como en el mint debbie con cinnamon.

El problema es con programas como el darktable que no parecen poder usar la gpu.
En darktable el opencl está deshabilitado aún cuando he activado la aceleración gráfica 3d en la máquina virtual en instalado las virtualbox guest additions.

He estado investigando un poco y parece que para poder usar la gpu tendría que configurar la gpu en la máquina virtual en modo passtrhu y poder así instalar los drivers nvidia en linux.

Pero parece que virtualbox no admite el modo passthru.

No sé si otro sistema lo admitiría como el propio de microsoft (con el que he tenido algún problema instalando máquinas vituales de linux).
KVM parece que sí, pero no sé si en windows lo hace.

¿Si configuras la gpu en modo passthru sólo la puedes usar en el sistema operativo invitado o también se puede usar en el anfitrión?

Hasta ahora las máquinas virtuales sólo las había utilizado para cosas básicas, probar algún sistema operativo o algún programa potencialmente peligroso.
[/quote]

Lamento no poder ayudarte. Mis escasos conocimientos de virtualbox son justamente a la inversa, virtualizar windows desde Linux. Pero tampoco te serviría de mucho, ando con el opencl desactivado (en linux) por culpa de unos pantallazos monocolores que aleatoriamente me aparecían cuando estaba usando Darktable desde la versión 3.4.1.

Saludos y si veo algo por ahí te comento.

Por lo que he leído, para poder obtener acceso directo a la gpu, el emulador ha de tener la posibilidad de usar pcie passtrough.
En virtualbox parece que no está disponible.

En vmware tenía entendido que sí, al menos en la versión workstation, pero he probado tanto con la player como la workstation y no he visto por ningún lado cómo activar el gpu passtrough.

Con el modo passtrough la gpu estaría dedicada en exclusiva a la máquina virtual.

Parece que nvidia tiene la posibilidad en algunas gpu recientes de realizar virtualización de la gpu, pero tampoco he visto cómo hacerlo.

The PCI passthrough module is shipped as an Oracle VM VirtualBox extension package, which must be installed separately. See Installing Oracle VM VirtualBox and Extension Packs. This feature enables a guest to directly use physical PCI devices on the host, even if host does not have drivers for this particular device.

(2.5. PCI Passthrough)

Aunque mi búsqueda ha sido muy poco fructífera, porque he leído o me ha parecido entender (mi ingles es very bad) que esta función se había descontinuado.
Dejo el comentario por parecerme de interés que venga de la misma Oracle y respecto a la versión 6.

Saludos y suerte

1 me gusta

En vmware workstation o player por mas que he mirado no hay opcion para activar el passtrough si que parecd que lo tiene el vsphere o el sistema operativo esix de vmware, cuando usas su sistema operativo coml anfitrion.

En virtualbox localice esa informacion que pones, a ver si puedo habilitarlo.
El problema es saber cual es la direccion pci de la tarjeta y de la gpu interna, en windows, porque esas instrucciones son de linux.
A ver si lo consigo.

He probado a tratar de configurar pcie passtrough, instalando las virtualbox extension packs y usando el comando

VBoxManage modifyvm "linux mint" --pciattach 00:02.0@00:02.0

Pero me da un error indicando que la opción --pciattach es desconocida.

Por lo que parece es una opción experimental disponible sólo en Linux kernel 2.6.31 y posteriores.
Se ve que en windows no lo han implementado.

Eso es lo que me ha parecido entender. A ver si voy pillando algo y puedo echar una mano.

Saludos.

En verdad, lo único grande que te pierdes es el módulo de impresión. Hay algunas optimizaciones que funcionan mejor en Linux, pero son muy específicas.

Por lo que dices @ariznaf , parece que quieres ver darktable en Linux sólo de forma temporal para probarlo y verlo.

Si es temporal…

  • Si lo que tienes es curiosidad por ver que funciones de darktable te estás perdiendo por usar Windows, lo puedes ver con el virtualbox como lo tienes, aunque no tengas la aceleración por GPU.
  • Si lo que quieres ver son la diferencias de rendimiento entre usar darktable en Linux o Windows, ahí tendrías ya que instalar el linux de forma nativa sin maquina virtual. La máquina virtual siempre te frenará algo y nunca sabrás que diferencias de rendimiento son culpa de la virtualización.