Hace un tiempo atrás, el sitio especializado Phoronix comenzó a recolectar preguntas que sus lectores quisieran realizar a NVIDIA sobre su soporte para el sistema operativo Linux. Las preguntas fueron repondidas por Andy Ritger, quien lidera el equipo de drivers gráficos NVIDIA para UNIX en GPU’s de estaciones de trabajo, escritorio y netbooks.
Sorprendentemente, Andy fue bastante completo y directo en sus respuestas, lo que produjo una entrevista imperdible para todo aquel que quiera conocer el punto de vista de NVIDIA respecto a la plataforma Linux y otros sistemas Unix como Solaris y FreeBSD.
En este artículo publicamos un extracto de lo que nos pareció más interesante.
Andy dice que la mayoría de los ingenieros trabajando en el equipo de Linux usan emacs y/o vim en forma diaria, el código fuente se mantiene a través de Perforce (como en Google) aunque algunos de ellos usan git en forma personal, antes de aplicar los cambios en Perforce.
Cuando llega la hora de poner a prueba el driver, usan un conjunto interno de tests que se encarga de asegurar una correcta implementación de OpenGL. Además usan algunas aplicaciones como Maya, Viewperf, Unigine Tropics, ETQW, Doom 3, Quake 3 y por su puesto, Compiz.
Se estima que más del 90% del código que está en el driver para Linux es el mismo que se usa para el resto de las plataformas. La compañía ha realizado un esfuerzo para tener una arquitectura en donde gran parte del código sea independiente de la plataforma, lo que hace que el código específico sea muy reducido.
Tanto así, que el módulo que se carga a nivel de kernel es casi completamente independiente del sistema operativo subyacente. La mayor parte del código es el mismo para Windows XP, Vista, 7, MacOSX, Solaris, FreeBSD y Linux. De hecho, el binario nv-kernel.o es el mismo para Solaris, FreeBSD y Linux. La única parte que es específica para cada sistema es la que tiene que interactuar finalmente con el kernel y esa fracción es bastante pequeña.
En la implementación de OpenGL, la única parte que cambia es la que tiene que interactuar con el sistema de ventanas (WGL en Windows y GLX en Unix). Por el lado del código que interactúa con el sistema gráfico X, obviamente es más específico de Unix, aunque no se comparte mucho entre los distintos sistemas. Finalmente, el driver para acelerar la decodificación de video por hardware (VDPAU) usa gran parte del código que fue escrito para Windows (PureVideo).
Para NVIDIA, el mercado Linux siempre ha sido bastante fuerte, y éste se encuentra principalmente en estaciones de trabajo de gama alta para segmentos específicos de mercado, como por ejemplo la industria energética, automotriz y de producción cinematográfica. Es aquí en donde el impacto de Linux como plataforma para su negocio es medible para NVIDIA.
Aunque no se tienen porcentajes concretos, del total de las estaciones de trabajo de gama alta que se ocupan para visualización, prácticamente la mitad son Linux, y en la creación de contenido digital, como ya se sabe, es principalmente Linux.
Las estaciones de trabajo 3D con Linux son una proporción importante para NVIDIA y es por ahí en donde se han explorado nuevas tecnologías, como por ejemplo el caso de CUDA, en donde la proporción de usuarios con Linux es alta.
Desde el punto de vista de las descargas del driver desde su sitio web, las cifras no reflejan esta realidad, ya que respecto al driver para Windows, las descargas del driver de Linux son sólo un 0,5%. Como muchos usuarios obtienen en driver a través de la misma distribución o en el caso de los segmentos industriales, a través de instalaciones OEM, se sabe que este porcentaje no es muy representativo, y medir de esta forma siempre ha sido un desafío.
Abrir el código fuente del driver de NVIDIA es algo que probablemente nunca sucederá, y Andy indica tres razones para ello:
Mirando hacia adelante, en NVIDIA creen que las oportunidades de crecimiento están en X, no porque sea malo (de hecho la arquitectura es bastante buena), sino porque la evolución del escritorio Linux está sucediendo ahí e involucra tanto a X, drivers, gestores de ventanas y de composición.
Afortunadamente, X está implementado de tal forma que se puede extender con la flexibilidad necesaria para enfrentar los desafíos que impone el escritorio moderno en Linux.
Link: NVIDIA Developer talks openly about Linux support (Phoronix)
Publicado por Franco Catrin el 23 de November 2009 en la categoría Destacados, Hardware, Software con los tags CUDA, Linux, Nvidia, vdpau. Tiene 41 comentarios.
41 Comentarios
Cómo funciona el desarrollo de los drivers de NVIDIA para Linux
Ver Comentario... mmm dijo el 23-11-2009 a las 15:41 ...

2Fakeroot dijo el 23-11-2009 a las 15:42:
Ojalá soporten luego KMS, ademas de mejorar el Nvidia Xserver settings a algo un poco mas similar al que existe en windows, tambien algunas veces los videos en XV parpadean en rojo algunas veces. En general las instalaciones linx con nvidia casi siempre me han funcionado, incluso instalando desde el binario de su página. Lo que si es que ese binario deberia ser MUUUUUUCHOOOOOO mas facil de instalar, si fuera asi, lo bajaria de la pagina de ellos, ya que siempre que salen un nueva version hay que recurrir al “metodo dificil” (.sh) o ir por el repositorio ppa nvidia vdpau en ubuntu. En fin deberian mejorar sus GUI para hacerlas mas amigables.
Franco Catrin dijo el 23-11-2009 a las 15:44:
4@Fakeroot
En la entrevista original, habla de KMS y el instalador, te recomiendo darle un vistazo.

2kotelo dijo el 23-11-2009 a las 15:49:
Quería video NVIDIA con mi Vostro 1320, pero el precio se disparaba demasiado… ahora estoy amarrado a Intel y sus horribles drivers en Linux, extraño la NVIDIA 6150 de mi Presario v3000

4freax dijo el 23-11-2009 a las 15:54:
@franco: Creo que es “por supuesto”.
Como siempre muy bueno el artículo
Ver Comentario... pepe dijo el 23-11-2009 a las 16:05 ...
Ver Comentario... Trabajosesteban dijo el 23-11-2009 a las 16:05 ...

7FITS dijo el 23-11-2009 a las 16:07:
Hay gente que cuando habla demuestra su ignorancia
¿Quien se identifica?

12Marko dijo el 23-11-2009 a las 16:13:
@Trabajosesteban se nota que nunca has usado por un tiempo un PC con una buena versión de Linux, hasta a mi vieja le instalé en el notebook Ubuntu Karmic (porque windows xp le colapsó estrepitosa y repetidamente con una BSOD) y ahora sus amigas me están pidiendo que le instale ester tremendo SO.

1desenfoque dijo el 23-11-2009 a las 16:14:
objetivamente hablando: Si los dos principales fabricantes de GPU de alto rendimiento usan (y usaràn) código privativo ¿Què pasarà con las gráficas para Linux?
Ver Comentario... jeje dijo el 23-11-2009 a las 16:20 ...
Ver Comentario... jeje dijo el 23-11-2009 a las 16:29 ...

6Fakeroot dijo el 23-11-2009 a las 16:30:
de la entrevista:
Pregunta: Van a implementar tal cosa? NO
p2: y van a implementar esto otro? , NOOO
p3: y que pasa con esto? TAMPOCO
p4: hay planes de…?? Lo hemos conversado pero tenemos cosas más importantes que hacer
p5: lo van a liberar? NO, el 90% del codigo bla bla bla
p6: iplementar SLI? , NOO
p7: implementar PHISIX?? ,NO
p8: MEjorar el GUI de configuracion?, Nos juntamos una vez que ya ni recuerdo cuando fue, osea, NO
En una pagina el pobre tipo de envidia quedo para la embarrada, peor se lo merecen por no implementarlas
Además aprovecha de criticar en algunas cosas al desarrollo del kernel, ya que es mas dificil para un driver privativo seguirlo.
SI ya con los drivers libres no sepuede usar toda la capacidad del harware del que no han liberado todsa las especificaciones, ellos teneniendo esa oportunidad no hacen un driver completo
Termine deprimido leyendo de todo lo que NO va a llegar pronto al driver nvidia privativo de linux
Igual hay cosas bueno y funcionan bien pero les falta equilibrar las cosas
Ver Comentario... anonimo dijo el 23-11-2009 a las 16:40 ...
Ver Comentario... kmilo636 dijo el 23-11-2009 a las 16:44 ...
Franco Catrin dijo el 23-11-2009 a las 16:49:
18@kmilo636
No es necesario entender todo el artículo para formarse una idea. Para eso están los subtítulos.
Las secciones 2da, 3ra y 4ta no son muy técnicas tampoco… o eso creo

0amar0 dijo el 23-11-2009 a las 17:52:
apoyo a fakeroot, hasta ahora no he tenido problemas con nvidia en linux pero = molesta el el hecho de que teniendo todo para hacer un driver de 1º calidad tengan uno pésimo, pudiendo se que no somos mayoria(en linux) pero creo que si tuvieran un driver decente y funcionando a la par de los nuevos hardware tendrian publico asegurado. Si mejoraran un poco el driver se quitan a toda la competencia de encima, intel bueno es intel, ati esta peor que nvida(aunque se supone que vienen mejoras) se asegurarían ventas y creo que al final eso es lo que importa
excelente para variar franco
Ver Comentario... mauro dijo el 23-11-2009 a las 18:22 ...
Franco Catrin dijo el 23-11-2009 a las 18:26:
21@amar0
Qué tipo de problemas tienen? Hace años que no uso NVIDIA pero siempre fueron los mejores drivers. Qué las ha pasado?

1suku dijo el 23-11-2009 a las 18:45:
Me parecen muy poco convincentes las razones para no liberar el código…
Y tampoco entiendo en qué les puede perjudicar.
Espero sinceramente que el driver libre de ATI, radeonhd, les de un empujón al vacio.

1ffk dijo el 23-11-2009 a las 18:46:
uds saben que si es malo los divers de las tarjetas integradas s3 para linux eso si es malo los drivers de intel se quedan penejos al frente de estos y no les he hablado de sis
saludos

-6tnt riva dijo el 23-11-2009 a las 19:01:
@mauro
Para lanzar el gestor de actualizaciones pulsar:
Sistema->Administración->Gestor de actualizacionesUna vez finalizada la actualización y habiendo reiniciado el ordenador, pulsar la tecla ‘ESC’ para indicarle a grub que deseamos arrancar linux kernel 2.6.20-16 Generic
Dentro del sistema lanzar un terminal o consola e ingresar los siguientes comandos :
- Utilizar el punto 1. solo si en el futuro deseamos experimentar compilando nuestro kernel a medida sino ir al punto 2. Gracias Blaxter por la observación-
1. $ sudo apt-get install linux-source-2.6.20
1. $ ln -s /usr/linux/linux-source-2.6.20 /usr/src/linux2. $ aptitude install linux-headers-2.6.20.16-generic
Importante: El signo $ no debe ser incluido ni copiado en el comando ya que únicamente es utilizado para representar nuestro home.-
Ahora viene lo divertido:
Descargar el ultimo controlador disponible en el sitio de nvidia, aquí el enlace: http://www.nvidia.com/object/unix.html
Importante: Descargar el controlador apropiado según nuestro ordenador y tarjeta de video. Allí encontraremos tanto las versiones para 32 bits como 64 bits. Al final del documento encontrarás una lista para una mejor comprensión.-
Ejemplo: Si nuestro ordenador es de 32 bits Intel y tenemos una tarjeta relativamente nueva, descargar Linux IA32
Latest Version: 100.14.19Ahora será necesario remover algunos paquetes del sistema para evitar conflictos con el nuevo controlador. Para ello, utilizaremos synaptic para buscar y desinstalar dichos paquetes.-
Para lanzar synaptic pulsar:
Sistema->Administración->Gestor de paquetes Synaptic
Buscar uno por uno, pulsar click derecho y seleccionar marcar para eliminar.-
Los paquetes a eliminar son:
nvidia-glx
nvidia-settings
nvidia-kernel-commonImportante: Una vez marcados los paquetes, es necesario pulsar el botón ‘aplicar’ situado en la barra de herramientas.-
Ahora buscar e instalar:
build-essential
Pulsar click derecho y seleccionar marcar para instalar.-
Importante: Recordar pulsar el botón aplicar para aceptar los cambios.-Nota: Los siguientes pasos se harán desde la consola, sugiero imprimir o escribir las instrucciones que aparecen a continuación.-
Finalizar la sesión GDM, para esto, abrir una terminal y teclear lo siguiente:
$ sudo /etc/init.d/gdm stop
Para obtener una consola que permita el inicio de sesion pulsamos:
CTRL+ALT+F1
Escribir nombre de usuario y contraseña, luego:
$ sudo su
Instalar el driver NVIDIA.
Ir a la carpeta donde descargamos el driver y teclear:
$ sudo sh NVIDIA-Linux-x86-100.14.19-pkg1.run
Importante: Si el archivo no puede ejecutarse, dar permisos de ejecución tecleando el comando:
$ sudo chmod +x NVIDIA-Linux-x86-100.14.19-pkg1.run
Seguir las instrucciones en pantalla y seleccionar YES en todas las preguntas durante la instalación. Asegurarse de contestar YES a la pregunta sobre la configuración del nuevo XSERVER.-
Cuando la instalación finalice, volverá nuevamente a la consola consola. -
Para reingresar en el modo gráfico, teclear el siguiente comando:
$ sudo /etc/init.d/gdm restart
Ahora esta todo listo. Ya tienes la ultima versión de controladores nvidia instalada en tu ubuntu.
Apartado: Seleccionando el controlador apropiado.
Descargar controladores en:
Como Instalar controladores nVidia en Ubuntuhttp://www.nvidia.com/object/unix.html
Para 32 bits o 64 bits tenemos las siguientes opciones:
Latest Version: 100.14.19
Latest Legacy GPU version (1.0-71xx series): 1.0-7185
Latest Legacy GPU version (1.0-96xx series): 1.0-9639REeeeeeeeeeeeeeeeeee facil…..

-6tnt dijo el 23-11-2009 a las 19:05:
Para lanzar el gestor de actualizaciones pulsar:
Sistema->Administración->Gestor de actualizacionesUna vez finalizada la actualización y habiendo reiniciado el ordenador, pulsar la tecla ‘ESC’ para indicarle a grub que deseamos arrancar linux kernel 2.6.20-16 Generic
Dentro del sistema lanzar un terminal o consola e ingresar los siguientes comandos :
- Utilizar el punto 1. solo si en el futuro deseamos experimentar compilando nuestro kernel a medida sino ir al punto 2. Gracias Blaxter por la observación-
1. $ sudo apt-get install linux-source-2.6.20
1. $ ln -s /usr/linux/linux-source-2.6.20 /usr/src/linux2. $ aptitude install linux-headers-2.6.20.16-generic
Importante: El signo $ no debe ser incluido ni copiado en el comando ya que únicamente es utilizado para representar nuestro home.-
Ahora viene lo divertido:
Descargar el ultimo controlador disponible en el sitio de nvidia, aquí el enlace: http://www.nvidia.com/object/unix.html
Importante: Descargar el controlador apropiado según nuestro ordenador y tarjeta de video. Allí encontraremos tanto las versiones para 32 bits como 64 bits. Al final del documento encontrarás una lista para una mejor comprensión.-
Ejemplo: Si nuestro ordenador es de 32 bits Intel y tenemos una tarjeta relativamente nueva, descargar Linux IA32
Latest Version: 100.14.19Ahora será necesario remover algunos paquetes del sistema para evitar conflictos con el nuevo controlador. Para ello, utilizaremos synaptic para buscar y desinstalar dichos paquetes.-
Para lanzar synaptic pulsar:
Sistema->Administración->Gestor de paquetes Synaptic
Buscar uno por uno, pulsar click derecho y seleccionar marcar para eliminar.-
Los paquetes a eliminar son:
nvidia-glx
nvidia-settings
nvidia-kernel-commonImportante: Una vez marcados los paquetes, es necesario pulsar el botón ‘aplicar’ situado en la barra de herramientas.-
Ahora buscar e instalar:
build-essential
Pulsar click derecho y seleccionar marcar para instalar.-
Importante: Recordar pulsar el botón aplicar para aceptar los cambios.-Nota: Los siguientes pasos se harán desde la consola, sugiero imprimir o escribir las instrucciones que aparecen a continuación.-
Finalizar la sesión GDM, para esto, abrir una terminal y teclear lo siguiente:
$ sudo /etc/init.d/gdm stop
Para obtener una consola que permita el inicio de sesion pulsamos:
CTRL+ALT+F1
Escribir nombre de usuario y contraseña, luego:
$ sudo su
Instalar el driver NVIDIA.
Ir a la carpeta donde descargamos el driver y teclear:
$ sudo sh NVIDIA-Linux-x86-100.14.19-pkg1.run
Importante: Si el archivo no puede ejecutarse, dar permisos de ejecución tecleando el comando:
$ sudo chmod +x NVIDIA-Linux-x86-100.14.19-pkg1.run
Seguir las instrucciones en pantalla y seleccionar YES en todas las preguntas durante la instalación. Asegurarse de contestar YES a la pregunta sobre la configuración del nuevo XSERVER.-
Cuando la instalación finalice, volverá nuevamente a la consola consola. -
Para reingresar en el modo gráfico, teclear el siguiente comando:
$ sudo /etc/init.d/gdm restart
Ahora esta todo listo. Ya tienes la ultima versión de controladores nvidia instalada en tu ubuntu.
Apartado: Seleccionando el controlador apropiado.
Descargar controladores en:
Como Instalar controladores nVidia en Ubuntuhttp://www.nvidia.com/object/unix.html
Para 32 bits o 64 bits tenemos las siguientes opciones:
Latest Version: 100.14.19
Latest Legacy GPU version (1.0-71xx series): 1.0-7185
Latest Legacy GPU version (1.0-96xx series): 1.0-9639REeeeeeeeeeeeeeeeeee facil…..
jajaj si y asi dicen los fanboys de oinux de que instlar un driver es facil todo es facil entre una vez en el foro ubuntu pregunte y me dijeron no eso es tan facil como hacer siguiente siguiente sguien en windows hasta un reciennacido lo ahce jjajaja
fanboys ciegos

-1Guruguru dijo el 23-11-2009 a las 19:10:
no habia caido en cta, fakeroot lo evidenció… lu único bueno fue q le tienen fe al xorg y q el 90% es lo mismo para todos los sitemas. Que abran o den especificaciones de ese 10% con que “se toca o conecta” con el kernel (soy un tremendo ignorante, no sé si con el kernel, con algun programa, no sé wn).
Ptas tampoco le tengo mucha fe a ati, hará falta un 3er actor para tener una buena gráfica que ande pero afinadísima en linux…

7juan dijo el 23-11-2009 a las 19:31:
@Mauro
Que instalacion es esa?, apenas instalas linux (ubuntu) te aparece un icono arriba de controladores restrictivos, entre los cuales esta el de nvidia, pinchas ahi, seleccionas el controlador de la lista, le pones instalar y listo. y la wea de tarjeta funciona mejor que en windows.
“Para reingresar en el modo gráfico, teclear el siguiente comando:
$ sudo /etc/init.d/gdm restart”
¿de donde sacaste esa wea?Para que hacer eso?
Y pa que chucha instalas el build-essential? si eso es para otra cosa na que ver weon.
@trabajosesteban
En linux las tarjetas graficas que mejor funcionan son las nvidia ignorante de mierda!

1Matias dijo el 23-11-2009 a las 20:16:
Se agradece el análisis Franco. Buena onda aprender de estas cosas.

-1Anónimo dijo el 23-11-2009 a las 20:30:
Nvidia ha hecho muchos avances este año. Ati tiene drivers libres, pero poco funcionales en sistemas operativos no windows.

14MRivera dijo el 23-11-2009 a las 21:10:
¿Es mucho pedir que los artículos de los otros autores sean así de elaborados?
Gracias Franco por generar contenido de calidad.
Ver Todos Páginas: [1] 2 Próximos 30 Comentarios →
Ver Todos Páginas: [1] 2 Próximos 30 Comentarios →