xorg.conf


Buenas. en este apartado intentare explicar mayormente el archivo “xorg.conf” y su contenido, básicamente porque personalizarlo, te permitirá obtener mejoras de rendimiento en tu propio equipo

Empecemos. este archivo suele estar ubicado en toda distribución “GNU (Ñu)” en la carpeta /etc/X11 , es decir su ruta común es “/etc/X11/xorg.conf” para que funcione en la gran mayoría, aunque si los desarrolladores de una distribución en particular quieren cambiarle la ruta predeterminada, lo hacen como por ejemplo en “Manjaro”

Lo primero que necesitan saber es que este archivo de configuración de texto simple y esta dividido por secciones y sub-secciones . de manera resumida seria algo así :


En Español :

Nombre de Sección
Información de Sección
Nombre de Sub-Sección
Información de Sub-Sección
Fin de Sub-Sección
Fin de Sección

Las secciones utilizables son las siguientes :

  • Archivos – Ruta completa para archivos como las fuentes / tipos de letras de texto que el sistema mostrara en pantalla.
  • Banderas de servidor – Opciones globales del servidor Xorg
  • Modulo – Modulo(s) disponible(s) en el núcleo en uso para cargarlo(s)
  • Dispositivo de Entrada – Teclado & Ratón
  • Dispositivo – Tarjeta de Video Descripción/Información/Opciones
  • Monitor – Especificaciones del dispositivo de salida común
  • Modos – Definición de los modos de video fuera de la sección Monitor
  • Pantallas – Enlaza un Dispositivo / Adaptador de video a un Monitor
  • Disposición servidor – Enlaza una o más pantallas con uno o más dispositivos de Entrada.
  • DRI – Información acerca de la infraestructura “representación directa” la cual es opcional
  • Vendedor / Marca – Información específica del Vendedor / Marca

 

Dentro de cada Sección/Sub-Sección, puedes utilizar una variable llamada “Opción“, para Des/Activar opciones valga la redundancia.


En Ingles :
(Como debe ir en el archivo de configuración)

Section Name
Section Information
SubSection Name
SubSection information
EndSubSection
EndSection

 

Available Sections :

  • Files – pathnames for files such as fontpath
  • ServerFlags – global Xorg server options
  • Module – which modules to load
  • InputDevice – keyboard and pointer (mouse)
  • Device – video card description/information
  • Monitor – display device description
  • Modes – define video modes outside of Monitor section
  • Screen – binds a video adapter to a monitor
  • ServerLayout – binds one or more screens with one or more input devices
  • DRI – optional direct rendering infrastructure information
  • Vendor – vendor specific information

 


 

Bueno pasemos a cosas más practicas. aquí les voy a explicar cada sección y opción que utilizo en dos Equipos completamente distintos, Especialmente en el apartado de “Dispositivo” / “Device” que es para la configuración de la tarjeta de video.

Equipo 1 : Mi equipo de Sobremesa, el cual tiene las siguientes especificaciones técnicas :

 

 

  • Procesador : AMD Athlon +6000 X2 , 64 Bits , 3,00 GHz
  • Memoria RAM : 3 GB , 667 MHz, DDR2
  • Tarjeta de Video : Nvidia GeForce 6200 TurboCache(TM), 128MB, 64 Bit
    yo uso el controlador privativo : nvidia
  • Placa Base : ASUS M2N68-AM SE2

 

 

Bien empezare por la sección de la tarjeta de video ya que esto sera exclusivo


Section "Device"

#    Option "AddARGBGLXVisuals"     "True"
#    Option "DRI"                   "True"
#    Option "XAANoOffscreenPixmaps" "True"
#    Option         "Coolbits"                "1"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce 6200 TurboCache(TM)"
    Option         "DPMS" "True"
    Option         "NoLogo" "True"
    Option         "AllowGLXWithComposite" "True"
    Option         "TripleBuffer" "True"
    Option         "RenderAccel" "True"
    Option         "HWCursor" "True"
    Option         "CursorShadow" "True"
    Option         "NvAGP" "0"
    Option         "NoPowerConnectorCheck" "True"
    Option         "UseEdidFreqs" "True"
    Option         "backingstore" "True"
    Option         "DPI" "87"
    Option         "MigrationHeuristic" "greedy"
    Option         "RegistryDwords" "PerfLevelSrc=0x3333"
EndSection

Bueno verán que empiezo con las siguientes opciones comentadas, para deshabilitaras, esto es porque a partir de los controladores 304.XX , estas opciones ya no se utilizan en las tarjetas de video Nvidia :

#    Option “AddARGBGLXVisuals”     “True”
#    Option “DRI”                 “True”
#    Option “XAANoOffscreenPixmaps” “True”

Esta siguiente opcion la deshabilito, ya que podría dañarme el equipo :
#    Option         “Coolbits”                “1”

Identifier “Device0” : Establece el Identificador sea “Dispositivo0”

Driver “nvidia” : Establece que el controlador que se usara sera “nvidia”

VendorName “NVIDIA Corporation” : Establece el nombre del Vendedor

BoardName “GeForce 6200 TurboCache(TM) : Establece el nombre del dispositivo

Ahora vamos a lo más importante aparte de “Identifier” y “Driver” las cuales son las opciones que tenemos. si te dignas a leer la documentación veras que hay muchas opciones para las tarjetas nvidia cuando se utiliza su controlador privativo, lo cual con mi tarjeta de video actual, obtiene mucho mejor rendimiento que el controlador libre llamado “nouveau” que por cierto va bien encaminado.

Option “DPMS” “True” : Enciende el Sistema de gestión de energía de la(s) Pantalla(s), si activas esto en la sección “Monitor” no tendrás que especificar los Hercios (Los puedes comentar) debido a que esto detectara automáticamente todos los modos compatibles de la(s) pantalla(s) en uso.

Option “NoLogo” “True” : Establece que durante el inicio de la sesión gráfica no te muestre el logo de Nvidia al iniciar.

Option “AllowGLXWithComposite” “True” : Permite que durante el uso de la aceleración gráfica ya sea con “Representación Gráfica Directa o Indirecta” el uso de los efectos de “Composición” como la “Transparencia”

Option “TripleBuffer” “True” : Enciende el “Búfer Triple“. Tecnología que es para aumentar el rendimiento, si tenemos menos cuadros por segundo (fps) que los de la frecuencia de refrescado de imágenes de nuestra(s) pantalla(s) para que estas no desciendan ni a la mitad, dándonos mayor fluidez, ya que tendrá almacenadas las imágenes siguientes a usar. Aunque esto puede ser un arma de doble filo en los videojuegos en linea especialmente los 3D, ya que esto puede Ralentizar, de parte del apartado gráfico.

Option “RenderAccel” “True” : Enciende la “Representación Gráfica Acelerada“. Al activarla, esto va a hacer las funciones gráficas, a través de la tarjeta de video, y no desde el procesador, reduciendo considerablemente el uso del procesador, aumentando el rendimiento, permitiendo utilizar más efectos de video y sin disminuir la estabilidad.

Option “HWCursor” “True” : Enciende la opción que permite que el puntero del ratón sea dibujado por la tarjeta de video en lugar de hacerlo a través del procesador.

Option “CursorShadow” “True” : Enciende la sombra del puntero del ratón

Option “NvAGP” “0” : Bueno para hacer esto correctamente, debes saber que solo hay 4 valores, del 0 al 3 .

  • 0 => Deshabilita el soporte de AGP (Puerto de Aceleración Gráfica) los cuales fueron sustituidos por los puertos PCI Express
  • 1 => Usa “NVAGP” en caso de ser posible
  • 2 => Usa “AGPGART” en caso de ser posible
  • 3 => Intentara usar “AGPGART” en caso de fallar intentara “NVAGP

En la época donde esto era muy utilizado, lo mejor era usar “AGPART” ya que fue mucho más rápido y estable que “NVAGP

Option “NoPowerConnectorCheck” “True” : Al Habilitarlo le indicas al sistema que no haga la comprobación de si la tarjeta de video necesita una fuente de energía externa de la cual alimentarse de manera exclusiva.

Option “UseEdidFreqs” “True” : Al Habilitar esta opción le indicas al servidor gráfico que utilice la información de sincronización Horizontal y Vertical de la(s) pantalla(s) . Las cuales deben ser especificadas en la sección “Monitor”

Option “backingstore” “True” : Esta opción proviene del servidor gráfico, no del controlador privativo de nvidia. Esto es un mecanismo mediante el cual de los datos de los píxeles para las regiones de las ventanas ocluidas es recordado por el servidor gráfico aliviando la necesidad de exponer acontecimientos del cliente gráfico cuando la información necesita ser mostrada nuevamente. Esto aumenta considerablemente el rendimiento en configuraciones de nVidia TwinView”

Option “DPI” “87” : Establece a 87 Pixeles por pulgada que se nos mostrara en pantalla. Esta es lo que establezco yo para mi resolución 1152×864 . Esto comúnmente se utiliza a “92” 0 “96”

Option “MigrationHeuristic” “greedy” : Esta opción esta disponible en los controladores de nvidia e intel, en los de AMD/ATI desconozco si es posible utilizarla. bueno esta tiene 3 valores

  • Always : Mejora el rendimiento en 2D
  • Smart : Equilibrio entre 2D y 3D, pero tendrá preferencia por el 3D
  • Greedy : Mejora el Rendimiento 3D

Selecciona una forma alternativa de migración heurística de los mapas píxeles

Option “RegistryDwords” “PerfLevelSrc=0x3333” : Permite que la tarjeta de video establezca su propio nivel de rendimiento basándose en su temperatura. esto es parte de la tecnología “PowerMizer” que tiene como objetivo “Reducir el consumo de energía”

Si quieres agregar un poco más de rendimiento, solo si usas el controlador privativo, puedes editar el archivo “.xsession” que se encuentra en la carpeta del usuario en uso. y agregar


nvidia-settings --load-config-only
nvidia-settings -a InitialPixmapPlacement=2
nvidia-settings -a GlyphCache=1

Y Guardar los cambios. en tu “~/.xsession

nvidia-settings –load-config-only => Esto cargara la configuración que hayas establecido en el archivo “~/.nvidia-settings-rc” al iniciar la session de dicho usuario.

nvidia-settings -a InitialPixmapPlacement=2 => Controlara en donde se creara la inicializan los mapas de píxeles

  • 0 => Forzarlo a la memoria del sistema
  • 1 => Memoria del sistema (Sin forzarlo)
  • 2 => Memoria de Video Compartida
  • 4 => Memoria de la Tarjeta de Video

nvidia-settings -a GlyphCache=1 => Habilita el cache por glifo de la representación gráfica , los únicos valores son , 0 = Apagado , 1 = Encendido.

Esa información esta especificada en el código fuente del “nvidia-settings”

Bueno esas son mis explicaciones de la opciones que tengo activa en mi archivo de configuración /etc/X11/xorg.conf en mi equipo de Sobremesa, estas configuraciones sirven con todas las tarjetas de video Nvidia , pero si tienes de las Quadro, tienes otras opciones especificas de esas tarjetas, las cuales están disponibles y puedes leer en la documentación de nvidia.


 

Equipo 2 : Una Mini Portátil (Netbook) que me dieron para que le actualizara la distribución “Canaima 3.0” Por “Canaima 4.1”, el cual tiene las siguientes especificaciones técnicas :

 

  • Procesador : Intel ATOM N455 , 64 Bits, 1.66 GHz
  • Memoria RAM : 1 GB , 667 MHz, DDR3
  • Tarjeta de Video : Integrada, usa el controlador i915

Section "Module"
        Load "bitmap"
        Load "dbe"
        Load "ddc"
        Load "dri"
        Load "dri2"
        Load "glamoregl"
        Load "evdev"
        Load "extmod"
        Load "freetype"
        Load "glx"
        Load "int10"
        Load "record"
        Load "type1"
        Load "vbe"
        Load "synaptics"
EndSection


Section "Device"
        Identifier "Configured Video Device"
        Driver "intel"
        Option "ForcePanel"
        Option "ActiveDevice"           "LCD.CRT"
        Option "PanelSize"              "1024x600"
        Option "SWCursor"               "True"
        Option "AllowGLXWithComposite"  "True"
        Option "XAANoOffscreenPixmaps"  "True"
        Option "AddARGBGLXVisuals"      "True"
        Option "VideoRam"               "262144"
        Option "AccelMethod"            "Glamor"
        Option "EXAOptimizeMigration"   "True"
        Option "MigrationHeuristic"     "Smart"
        Option "Tiling"                 "True"
        Option "NoDDC"                  "True"
        Option "BackingStore"           "True"
        Option "AIGLX"                  "True"
        Option "MTRR"                   "On"
        Option "LinearAlloc"            "6144"
        Option "MonitorLayout"          "CRT,LFP"
        Option "DevicePresence"         "True"
        Option "RenderAccel"            "True"
        Option "RandRRotation"          "On"
        Option "XvMC"                   "True"
        Option "CacheLines"             "1980"
        Option "TearFree"               "True"
        Option "DRI"                    "True"
        Option "TripleBuffer"           "True"
        Option "FrameBufferCompression" "Off"
EndSection

 

Identifier “Configured Video Device” : Establece que identificador sea “Dispositivo de Video Configurado”

Driver : intel : Establece que el controlador que usaremos sera “intel”

Ahora vamos a lo importante de usar el controlador especifico, es decir sus Opciones y módulos. Lo primero que debes saber en este caso es que desde cierta versión del núcleo es decir la versión especifica de linux, la cual no recuerdo específicamente en estos momentos, anteriores a Debian Wheezy. no tienes que utilizar todas las opciones de arriba, al menos que la distro sea antigua, por ejemplo si usas Ubuntu 9.04 (La cual no soporta Glamor porque no existía), o en su defecto la distro te permita hacer el uso de ellas explícitamente como ArchLinux, de resto Bastara con lo siguiente :

Section "Device"
        Identifier "Configured Video Device"
        Driver "intel"
        Option "AccelMethod"    "glamor"
        Option "Tiling"         "true"
        Option "BackingStore"   "true"
        Option "XvMC"           "true"
        Option "DRI"            "true"
        Option "TripleBuffer"   "true"
EndSection

 

Ya que si revisas los últimos registros (logs) de xorg en /var/log/Xorg.##.log si revisas el más reciente con la configuración que he colocado en un principio veras que en algunas parte muestra algo muy similar a lo siguiente :

 

[    31.767] (II) "extmod" will be loaded. This was enabled by default and also specified in the config file.
[    31.767] (II) "dbe" will be loaded. This was enabled by default and also specified in the config file.
[    31.767] (II) "glx" will be loaded. This was enabled by default and also specified in the config file.
[    31.767] (II) "record" will be loaded. This was enabled by default and also specified in the config file.
[    31.767] (II) "dri" will be loaded. This was enabled by default and also specified in the config file.
[    31.767] (II) "dri2" will be loaded. This was enabled by default and also specified in the config file.
[    32.447] (WW) intel(0): Option "ForcePanel" is not used
[    32.447] (WW) intel(0): Option "ActiveDevice" is not used
[    32.447] (WW) intel(0): Option "PanelSize" is not used
[    32.447] (WW) intel(0): Option "SWCursor" is not used
[    32.447] (WW) intel(0): Option "AllowGLXWithComposite" is not used
[    32.447] (WW) intel(0): Option "XAANoOffscreenPixmaps" is not used
[    32.447] (WW) intel(0): Option "AddARGBGLXVisuals" is not used
[    32.447] (WW) intel(0): Option "VideoRam" is not used
[    32.447] (WW) intel(0): Option "EXAOptimizeMigration" is not used
[    32.447] (WW) intel(0): Option "MigrationHeuristic" is not used
[    32.447] (WW) intel(0): Option "NoDDC" is not used
[    32.447] (WW) intel(0): Option "AIGLX" is not used
[    32.447] (WW) intel(0): Option "MTRR" is not used
[    32.447] (WW) intel(0): Option "LinearAlloc" is not used
[    32.447] (WW) intel(0): Option "MonitorLayout" is not used
[    32.447] (WW) intel(0): Option "DevicePresence" is not used
[    32.447] (WW) intel(0): Option "RenderAccel" is not used
[    32.448] (WW) intel(0): Option "RandRRotation" is not used
[    32.448] (WW) intel(0): Option "CacheLines" is not used
[    32.448] (WW) intel(0): Option "TearFree" is not used
[    32.448] (WW) intel(0): Option "FrameBufferCompression" is not used

 

Es decir aunque quieras activar explícitamente esas opciones. las [ 31.767] Son iniciadas automáticamente así no lo coloques explícitamente, las de [ 32.44{7,8}]  simplemente no se utilizaran, por ende las puedes borrar y estará como si no hubieras cambiado absolutamente nada en la configuración.

Bueno es hora de pasar a los parámetros comunes de toda configuración Xorg

Section "ServerLayout"
    Identifier     "Default Layout"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "ServerFlags"
    Option         "DontZap" "False"
    Option         "Xinerama" "0"
EndSection

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "InputDevice"
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputClass"
    Identifier         "Keyboard Defaults"
    MatchIsKeyboard    "yes"
    Option         "XkbOptions" "terminate:ctrl_alt_bksp"
EndSection

Section "Monitor"
 Identifier "Monitor0"
 VendorName "Unknown"
 ModelName "Toshiba Matsushita Display Technology Co., Ltd LCD-MONITOR"
 HorizSync 30.0 - 82.0
 VertRefresh 56.0 - 76.0
 Option "DPMS" "TRUE"
EndSection

Section "Screen"

# Not Used Options
#    Option         "AddARGBVisuals"    "True"
#    Option         "nvidia-auto-select +0+0"
# Removed Option "metamodes" "1280x1024_75 +0+0; 1152x864_75 +0+0; 1152x768_60 +0+0; 1024x768_60 +0+0; 8$
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "AddARGBGLXVisuals" "True"
    Option         "DPMS"
    Option         "TwinView" "0"
    Option         "TwinViewXineramaInfoOrder" "CRT-0"
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "CRT-0"
    Option         "metamodes" "1152x864_75 +0+0; 1024x768_60 +0+0; 800x600_60 +0+0"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection


Section "Module"
        Load "bitmap"
        Load "ddc"
        Load "evdev"
        Load "freetype"
        Load "int10"
        Load "type1"
        Load "vbe"
        Load "synaptics"
EndSection

Section "Extensions"
        Option "RENDER"         "Enable"
        Option "Composite"      "Enable"
EndSection

Section "DRI"
        Group  "video"
        Mode   "0660"
EndSection

 

Explicaciones próximamente….

 

 

 

 


A %d blogueros les gusta esto: