Difference between revisions of "Kernel mode setting (Español)"

From ArchWiki
Jump to: navigation, search
(KMS comienza tarde)
(Forzar modos y EDID)
(4 intermediate revisions by the same user not shown)
Line 40: Line 40:
 
=== Iniciar KMS tempranamente===
 
=== Iniciar KMS tempranamente===
  
Para cargar KMS tan pronto como sea posible en el proceso de arranque, añada el módulo [[radeon]] (para tarjetas radeon), [[Intel|i915]] (para tarjetas intel) o [[nouveau]] (para tarjetas nvidia) a la línea de MODULES en {{ic|/etc/mkinitcpio.conf}}:
+
Para cargar KMS tan pronto como sea posible en el proceso de arranque, añada el módulo [[radeon]] (para tarjetas (para tarjetas ATI/AMD), [[Intel|i915]] (para tarjetas intel integradas) o [[Nouveau (Español)|noveau]] (para tarjetas Nvidia) a la línea de {{ic|MODULES}} en el archivo{{ic|/etc/mkinitcpio.conf}}:
  
 
{{hc|/etc/mkinitcpio.conf|2=MODULES="i915"
 
{{hc|/etc/mkinitcpio.conf|2=MODULES="i915"
Line 48: Line 48:
 
MODULES="nouveau"}}
 
MODULES="nouveau"}}
  
Reconstruya la imagen del kernel (remítase al artículo [[mkinitcpio]] para más información):
+
Si utiliza un archivo EDID personalizado, debe incorporarlo en initramfs así:
 +
 
 +
{{hc|/etc/mkinitcpio.conf|
 +
2=FILES="/lib/firmware/edid/your_edid.bin"}}
 +
 
 +
Reconstruya la imagen del kernel (remítase al artículo [[mkinitcpio (Español)|mkinitcpio]] para más información):
  
 
{{bc|# mkinitcpio -p [nombre de su kernel]}}
 
{{bc|# mkinitcpio -p [nombre de su kernel]}}
Line 67: Line 72:
  
 
==Forzar modos y EDID==
 
==Forzar modos y EDID==
 +
{{Nota|Esta sección es un trabajo en curso. Las mejoras y correcciones son bienvenidos.}}
 +
 +
En caso de que su monitor/TV no está enviando el dato [[Wikipedia:EDID|EDID]] adecuado o problemas similares, se dará cuenta de que la resolución nativa no se configura automáticamente o no se muestre en absoluto. El kernel tiende a cargar los datos EDID binarios, y proporciona así los datos, para establecer cuatro de las resoluciones más típicas.
 +
 +
Si tiene el archivo EDID de su monitor el proceso es fácil. En otro caso, puede utilizar uno de los binarios EDID para obtener una de las resoluciones incorporadas (o generar uno durante la compilación del kernel, [http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/EDID/HOWTO.txt más información aquí]) o compilar su propio EDID.
 +
 +
En caso de que tenga un archivo EDID (por ejemplo extraído de los controladores de Windows para el monitor), cree un directorio {{ic|edid}} en {{ic|/lib/firmware}}:
 +
 +
# mkdir /lib/firmware/edid
 +
 +
y luego copiar el binario en el directorio {{ic|/lib/firmware/edid}}.
 +
 +
Para cargarlo en el arranque, especifique lo siguiente en la línea de órdenes del kernel:
 +
 +
{{bc|1=drm_kms_helper.edid_firmware=edid/your_edid.bin}}
 +
 +
También puede especificarlo solo para una conexión determinada:
 +
 +
{{bc|1=drm_kms_helper.edid_firmware=VGA-1:edid/your_edid.bin}}
 +
 +
Respecto a las cuatro resoluciones incorporados, consulte la tabla siguiente para especifiar el nombre:
 +
 +
{| border="1"
 +
|-
 +
| '''Resolución''' || '''Nombre a especificar'''
 +
|-
 +
| 1024x768 || edid/1024x768.bin
 +
|-
 +
| 1280x1024 || edid/1280x1024.bin
 +
|-
 +
| 1680x1050 || edid/1680x1050.bin
 +
|-
 +
| 1920x1080 || edid/1920x1080.bin
 +
|}
 +
 +
Si estamos utilizando KMS tempranamente, debemos incluir el archivo EDID personalizado en initramfs si queremos evitar problemas.
 +
 +
La información completa se puede leer  [http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/EDID/HOWTO.txt aquí] y [https://www.osadl.org/Single-View.111+M591850c02b5.0.html aquí].
 +
 +
{{Advertencia|El método descrito a continuación está, de algún modo incompleto, porque por ejemplo, Xorg no tiene en cuenta la resolución especificada, por lo que se aconseja a los usuarios utilizar el método descrito anteriormente; no obstante, especificar la resolución con {{ic|1=video=}} en la línea de órdenes puede ser útil en algunos escenarios.}}
  
 
[http://nouveau.freedesktop.org/wiki/KernelModeSetting Vea wiki nouveau]
 
[http://nouveau.freedesktop.org/wiki/KernelModeSetting Vea wiki nouveau]

Revision as of 19:10, 17 April 2013

Sumario help replacing me
Información sobre la configuración del método Kernel Mode Setting.
Relacionado
ATI (Español)
Intel (Español)
Nouveau (Español)

Kernel Mode Setting (KMS) es un método de fijación de la resolución y la profundidad de la pantalla en el espacio del kernel, en vez de en el espacio de usuario (userspace).

KMS permite la resolución nativa en el framebuffer y permite al instante una consola (TTY) de conmutación. KMS también puede permitir a las nuevas tecnologías (como DRI2) reducir los defectos y aumentar el rendimiento 3D, incluso el ahorro de energía en el espacio del kernel.

Nota: Los controladores propietarios nvidia y Catalyst también implementan el kernel mode-setting, pero como no implementan la integración en el kernel, carecen de un controlador fbdev para la consola de alta resolución.

Antecedentes

Anteriormente, la inicialización de la tarjeta de video era trabajo del servidor X. Debido a ésto, no era fácil obtener gráficos lujosos en las consolas virtuales. Además, cada vez que se interrumpía X (Template:Keypress) para acceder a una consola virtual, el servidor tenía que dar el control de la tarjeta de vídeo al kernel, que era lento y causaba parpadeo. El mismo "doloroso" proceso sucedía cuando el control se le devolvía al servidor X (Template:Keypress).

Con Kernel Mode Setting (KMS), el kernel es ahora capaz de establecer el modo de la tarjeta de vídeo. Esto hace posible los gráficos aceptables durante el arranque, y el cambio rápido entre la consola virtual y X, entre otras cosas.

Instalación

En primer lugar, tenga en cuenta que para cualquier método que utilice, debe siempre desactivar:

  • Cualquier opción "vga=" en el gestor de arranque, ya que éstos entren en conflicto con la resolución nativa habilitada por KMS.
  • Cualquier línea "video=" que provoque a framebuffer entrar en conflicto con el controlador.
  • Todos los demás controladores framebuffer (por ejemplo, uvesafb).

Iniciar KMS con retardo

Los drivers Intel, Nouveau y ATI ya permiten habilitar KMS de forma automática para todos los chipsets. Así que no es necesario instalarlo de forma manual.

Los drivers propietarios NVIDIA y ATI Catalyst no se utilizan con los controladores abiertos. A fin de poder utilizar KMS debe reemplazarlos por los controladores de código abierto.

Iniciar KMS tempranamente

Para cargar KMS tan pronto como sea posible en el proceso de arranque, añada el módulo radeon (para tarjetas (para tarjetas ATI/AMD), i915 (para tarjetas intel integradas) o noveau (para tarjetas Nvidia) a la línea de MODULES en el archivo/etc/mkinitcpio.conf:

/etc/mkinitcpio.conf
MODULES="i915"
o
MODULES="radeon"
o
MODULES="nouveau"

Si utiliza un archivo EDID personalizado, debe incorporarlo en initramfs así:

/etc/mkinitcpio.conf
FILES="/lib/firmware/edid/your_edid.bin"

Reconstruya la imagen del kernel (remítase al artículo mkinitcpio para más información):

# mkinitcpio -p [nombre de su kernel]

Solución de problemas

Mis fuentes son demasiado pequeñas

Vea cambiar la fuente por defecto para saber cómo cambiar la fuente de la consola a una fuente grande. Fuentes de Terminal están disponibles en [community] para muchos tamaños, incluyendo los tamaños más grandes.

Cuestión sobre bootloading y dmesg

Sondear los dispositivos de pantalla conectados a sistemas antiguos puede ser bastante gravoso. El sondeo sucederá periódicamente y puede, en el peor de los casos, tomar varios cientos de milisegundos, dependiendo del hardware. Esto provocará paradas visibles, por ejemplo, en la reproducción de vídeo. Estos paradas pueden ocurrir incluso cuando el vídeo está en la salida de HDP, pero, en cualquier caso, tiene otras salidas que no son HDP en la configuración de su hardware. Si experimenta paradas en la salida de la pantalla que ocurran cada 10 segundos, la desactivación de polling podría ayudar.

Si ve un código de error 0x00000010 (2) durante el arranque, (recibirá alrededor de 10 líneas de texto, la última parte indicando el código de error), proceda a añadir la siguiente línea en el archivo /etc/modprobe.d/modprobe.conf:

options drm_kms_helper poll=0

Forzar modos y EDID

Nota: Esta sección es un trabajo en curso. Las mejoras y correcciones son bienvenidos.

En caso de que su monitor/TV no está enviando el dato EDID adecuado o problemas similares, se dará cuenta de que la resolución nativa no se configura automáticamente o no se muestre en absoluto. El kernel tiende a cargar los datos EDID binarios, y proporciona así los datos, para establecer cuatro de las resoluciones más típicas.

Si tiene el archivo EDID de su monitor el proceso es fácil. En otro caso, puede utilizar uno de los binarios EDID para obtener una de las resoluciones incorporadas (o generar uno durante la compilación del kernel, más información aquí) o compilar su propio EDID.

En caso de que tenga un archivo EDID (por ejemplo extraído de los controladores de Windows para el monitor), cree un directorio edid en /lib/firmware:

# mkdir /lib/firmware/edid

y luego copiar el binario en el directorio /lib/firmware/edid.

Para cargarlo en el arranque, especifique lo siguiente en la línea de órdenes del kernel:

drm_kms_helper.edid_firmware=edid/your_edid.bin

También puede especificarlo solo para una conexión determinada:

drm_kms_helper.edid_firmware=VGA-1:edid/your_edid.bin

Respecto a las cuatro resoluciones incorporados, consulte la tabla siguiente para especifiar el nombre:

Resolución Nombre a especificar
1024x768 edid/1024x768.bin
1280x1024 edid/1280x1024.bin
1680x1050 edid/1680x1050.bin
1920x1080 edid/1920x1080.bin

Si estamos utilizando KMS tempranamente, debemos incluir el archivo EDID personalizado en initramfs si queremos evitar problemas.

La información completa se puede leer aquí y aquí.

Advertencia: El método descrito a continuación está, de algún modo incompleto, porque por ejemplo, Xorg no tiene en cuenta la resolución especificada, por lo que se aconseja a los usuarios utilizar el método descrito anteriormente; no obstante, especificar la resolución con video= en la línea de órdenes puede ser útil en algunos escenarios.

Vea wiki nouveau

Un modo puede ser forzado en la línea de comandos del kernel. Por desgracia, la opción de vídeo en la línea de comandos no está bien documentado en el caso de DRM. Opiniones sobre la manera de proceder se pueden encontrar en:

El formato es:

 video=<conn>:<xres>x<yres>[M][R][-<bpp>][@<refresh>][i][m][eDd]
  • <conn>: conector, por ejemplo, DVI-I-1, consulte su registro del kernel.
  • <xres> x <yres>: resolución
  • M: ¿conmutar a modo CVT?
  • R: ¿reducción de borrado?
  • -<bpp>: profundidad de color
  • @ <refresh>: refrescar tasa
  • i: entrelazado (modo non-CVT)
  • m: ¿los márgenes?
  • e: salida forzada en on
  • d: salida forzada en off
  • D: salida digital forzada a (por ejemplo, conector DVI-I)

Puede anular los modos de varias salidas usando de varias maneras "vídeo", por ejemplo, forzando a DVI a 1024x768 a 85 Hz y TV-out off:

video=DVI-I-1:1024x768@85 video=TV-1:d

Desactivación de modesetting

Es posible que desee desactivar KMS por diversas razones, tales como evitar una pantalla en blanco o un error de "no signal"" del monitor, cuando se utiliza el driver Catalyst, etc. Para desactivar KMS, agregue nomodeset a los parámetros del kernel. Vea Parámetros del Kernel para más información.

Nota: Algunos controladores de Xorg no funcionan con KMS desactivado. Consulte la página de la wiki sobre su controlador específico para más detalles.