¿Por qué no necesito instalar ningún controlador para Ubuntu?

14

Entonces, cuando instalo Windows, necesito instalar todos los controladores que corresponden a mi computadora portátil.

¿Por qué no hago lo mismo con la instalación de Ubuntu?

¿La instalación detecta de alguna manera mi hardware e instala los controladores adecuados por sí mismo?

Gracias

Kraken
fuente

Respuestas:

14

En su mayor parte, no necesita instalar controladores adicionales. Casi todos los controladores disponibles están incluidos.

Ubuntu viene con muchos controladores listos para usar. Es posible que necesite instalar controladores solo si parte de su hardware no funciona correctamente o no se detecta. Se pueden descargar algunos controladores para tarjetas gráficas y adaptadores inalámbricos.

La manera fácil de averiguar si se necesitan controladores es elegir probar Ubuntu desde la pantalla de instalación primero para ver si necesita algún controlador y para ver si Ubuntu está trabajando con su hardware.

Mitch
fuente
Para ampliar un poco más la pregunta original ... todos los dispositivos requieren un controlador de algún tipo para comunicarse con un sistema operativo (independientemente de si es Mac OS X, Windows, Linux, etc.) y poder comprender cómo funciona ese dispositivo. Si bien es posible que deba instalar controladores para los dispositivos de su sistema, yo, por otro lado, no tengo que instalar ningún controlador (para Windows o Ubuntu) si reinstalo un sistema operativo. Eso no significa que no estén allí, es solo que los controladores 'listos para usar' proporcionados por los desarrolladores del sistema operativo funcionan bien. ;)
gravedad
¿El programa de instalación instala controladores diferentes para cada computadora? ¿O está todo en el núcleo, lo que significa que el programa instala todo el mismo núcleo con los mismos controladores en todas las computadoras?
Revetahw dice Reinstate a Monica
1
@Fiksdal No, el instalador siempre instala los mismos controladores (kernel y módulos), sin importar en qué hardware se esté ejecutando. El kernel luego determina lo que necesita al arrancar, y carga solo los módulos necesarios para el hardware en el que se está ejecutando. Por eso también puede tomar un disco duro de una computadora y colocarlo en una diferente, y funcionará. No puede hacer eso tan fácilmente con Windows AFAIK
JonasCz - Reinstale Monica el
@JonasCz ¡Gracias por esa información! Con Windows es posible a través de una herramienta de terceros llamada WinToUSB. Se encarga automáticamente de los controladores cuando cambias entre varias computadoras. Yo mismo lo uso, es muy fácil y fácil de usar.
Revetahw dice Reinstate Monica
1

Ubuntu es un sistema operativo de código abierto, y en un sistema operativo de código abierto es posible proporcionar a los usuarios protección adicional contra los problemas causados ​​por la instalación del controlador incorrecto y ayuda adicional para recuperar el sistema después de instalar el controlador de gráficos propietario incorrecto. Me refiero aquí a los controladores gráficos integrados de código abierto como nouveau y los paquetes amdgpu y los controladores gráficos propietarios como los controladores NVIDIA del sitio web oficial de NVIDIA y el controlador AMDGPU-Pro 1 del sitio web oficial de AMD.

Los controladores de código abierto incorporados en Ubuntu proporcionan al usuario una capa adicional de protección contra la necesidad de reinstalar el sistema operativo debido a un problema causado por la instalación de un controlador propietario. La razón por la que algunos controladores no necesitan instalarse en Ubuntu es que algunos controladores de código abierto ya están integrados en la instalación predeterminada de Ubuntu. La instalación de un controlador propietario a veces puede hacer que su sistema no se pueda arrancar, si no fuera por los controladores de código abierto que todavía están instalados que permiten que el sistema se inicie nuevamente después de que se desinstala el controlador propietario que estaba causando el problema.

karel
fuente
La razón por la cual los controladores de código abierto están integrados no es ningún tipo de "protección" contra nada. Es el concepto de kernel de Linux. Solo los tiene. Si en algunos casos no es compatible con algún hardware, pueden ser necesarios controladores propietarios.
Pilot6 el
Me refiero aquí a controladores de código abierto como nouveau y los paquetes amdgpu.
karel
Se supone que estos controladores no son una "protección" o una solución temporal. Se supone que deben manejar el hardware lo suficientemente bien como para usarlo permanentemente. Pero este no es siempre el caso por diferentes razones. Tan sencillo como eso.
Pilot6 el
No dije lo que se supone que deben hacer los controladores de gráficos de código abierto. Dije que estos controladores son una capa de protección para el usuario. Es obvio que se supone que los controladores incorporados también funcionan adecuadamente, de lo contrario no habrían sido investigados para su inclusión en los repositorios predeterminados de Ubuntu.
karel
No son una capa de protección. Son solo los conductores que tenemos.
Pilot6 el
0

Los sistemas Linux (y algunos otros Unix de código abierto) tratan a los controladores de manera muy diferente a como lo hacen los sistemas operativos Windows.

En los sistemas Windows (especialmente antes de Windows 10), el kernel del sistema operativo proporciona una interfaz de software binario estable contra la cual se puede escribir un controlador, y se garantiza (con excepciones) que la interfaz no cambiará durante el ciclo de soporte de una versión de Windows dada. Esto favorece que los controladores sean escritos y suministrados por terceros, por lo general funcionarán para al menos una versión de Windows en ese ciclo de soporte. Las desventajas son que esta interfaz de controlador es difícil de mejorar o corregir dentro de ese ciclo de vida, y favorece la distribución binaria de controladores que (¡aparte de la política!) A menudo limita el soporte consistente de multiplataforma.

Los núcleos de Linux tienen una interfaz de controlador cambiante que solo se especifica estrictamente a nivel de código fuente y se inclina hacia la mejora y la coherencia multiplataforma. Esto significa que, a menos que se utilice un controlador "traductor" adicional que ofrezca una interfaz binaria estable y específica, un controlador binario es específico para una compilación exacta del núcleo. Uno podría "falsificar" un controlador binario para que sea compatible con un par de docenas de versiones exactas del kernel en una plataforma, pero el esfuerzo para mantenerlo (como una oferta binaria) no sería rentable. Este sesgo también es políticamente deseado en la comunidad del kernel de Linux, ya que pretenden que un controlador binario de código cerrado podría ser mucho peor que el firmware malicioso en un periférico con capacidad de busmasteringconsidere el código fuente cerrado como demasiado poco confiable y demasiado desagradable para que se ejecute con privilegios de kernel. Por lo tanto, los controladores de dispositivo de código abierto para todo el hardware principal se suministran dentro del paquete del kernel, con la segunda opción de que haya un método relativamente fácil de usar para distribuir un controlador externo como un tarball de origen, que se compilará contra el kernel instalado.

Algunos otros controladores de Linux (por ejemplo, controladores gráficos clásicos X11, controladores de escáner, controladores de impresora) no se manejan como partes del núcleo, sino como partes de algún software de espacio de usuario que proporciona la funcionalidad como un servicio de todo el sistema (XOrg, Sane, Ghostscript). ..) - estos también tienden a ser específicos y distribuidos principalmente con una versión determinada del software de espacio de usuario relevante.

rackandboneman
fuente