Como mejorar el rendimiento de Xorg+Intel en Dapper
Una de las cosas que notaba desde hace un tiempo atrás es que Xorg estaba funcionando mas lento. Tenia sospechas de que se trataba de un problema con xcompmgr, o bien había algún tipo de regresión en el driver al cambiar desde 6.9 a 7.0. Se notaba especialmente al hacer scrolling, o al mover las ventanas.
Con una rápida búsqueda en una de las listas de correo relacionadas con X, me entere de que había un problema en la configuración de MTRR, de fácil solución y vaya que mejora el rendimiento! Que bueno que no haya sido el xcompmgr porque aun no me pego el salto a Xgl y uno se acostumbra a las sombritas.
Se que esto aplica a mi chip de video (intel), así que si lo quieren probar, haganlo bajo su propio riesgo, pero por lo que entiendo no podría pasar nada mas allá de un simple cuelgue.
El chip de video tiene un área de memoria asignada, esto lo pueden ver con lspci -v, revisando las características del “adaptador gráfico”. Por ejemplo
lspci -v
[...]
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03)
Subsystem: Hewlett-Packard Company Device 30d5
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f0400000 (32-bit, non-prefetchable) [size=512K]
I/O ports at 3000 [size=8]
Memory at 98000000 (32-bit, prefetchable) [size=128M]
Memory at f0480000 (32-bit, non-prefetchable) [size=256K]
Capabilities: <access denied>
Kernel modules: intelfb
[...]
Supongamos que como en este caso, la base de memoria de video es 0×98000000, y el tamaño es de 128MB (0×8000000), entonces se debe hacer lo siguiente :
echo "base=0x98000000 size=0x8000000 type=write-combining" >| /proc/mtrr
Si sale algún error, seguramente es porque tienen uno de los parámetros malos, pueden ver el detalle ejecutando
dmesg | tail
Pueden ver el resultado final con
cat /proc/mtrr
Para que entiendan el problema, a través de MTRR se puede cambiar la forma en que esta manejada la memoria, por ejemplo si es cacheable o no, o bien en el caso de memoria AGP indica si se habilita el modo write-combining que es mucho mas rápido.
(no puedo mostrar lo que sale en mi notebook porque ahora estoy en un curso de Microsoft, cof cof.. sobre migración de aplicaciones 32-bit a 64-bits, de todas formas esta bastante interesante y entretenido).
y que paso con el reaggeton??
y que paso con el reaggeton??
Franco : en algunos modelos se nota el cambio. En el mio (855) nopes
Nvidia la sigue llevando. O los drivers de Intel en Win$.
Y tambien la gata pregunta por que no puede prender los motores
Para Xgl en los drivers de intel para Linux falla el manejo de pixel buffers y/o framebuffer objects, por lo tanto todo lo que es generacion de texturas a partir de contenido offscreen es lento, por ejemplo reproduccion de video y el scrolling en Xgl se ve afectado
Para Xorg normal, esto no aplica, y al menos en mi chipset se noto el problema del MTRR y su solucion… y ahora tengo una pregunta, alguien sabe que parte de la distribucion es responsable de setear MTRR adecuadamente?
en mi i810 funciona bastante bien la mejora de xorg, para xgl, el despliegue ventanas y cambio de escritorio ok, lo que si un video en fullscreen no funca :p
Para mejorar el rendimiento fullscreen, debes activar la opcion “unredirect fullscreen windows”, eso es para que todo lo que sea fullscreen no pase por el composite manager. En compiz lo puedes hacer facilmente con gset-compiz, pero directamente con gconf tendras que encontrar el lugar en donde se configura eso.. y nos cuentas
Como puedo saber el numero hexadecimal adecuado para el size?
tengo una tarjeta de intel de 256,
ademas me aparecen 3 memory at como saber cual elegir?
saludos
El size aparece en la misma linea en donde se indica la direccion de memoria :
Memory at 98000000 (32-bit, prefetchable) [size=128M]
Memory at 90400000 (32-bit, non-prefetchable) [size=512K]
La de 512K NO puede ser, porque es muy pequeña (seguramente se trata de la direccion de MMIO : Memory Mapped Input Output). Por lo tanto la unica candidata es la de 128M.
El numero hexadecimal para ese size es 0×80000000, lo puedes calcular con cualquier calculadora que soporte hexadecimal.
andubo perfect
no entendia bien como pasar mis 256M
pero usando tu ejemplo pude
gracias
Y se noto algun cambio?
si ahora anda mucho mejor el scroll y la movilidad de las ventanas.
Ahora me arrepiento de no haber pedido el notebook con ATI o NVIDIA….
para las personas con intel y ati funciona mejor el aiglx
Yo tengo la version 7 de Xorg y tengo instalado Aiglx con mi targeta Itel, uso el driver i810 y cuando corro glxgears me renderea a 1070 FPS, en la version anterior me rendereaba cerca de dos mil.
Fcatrin, me puedes pasar tu contacto del algun cliente IM?
mi msn es eric@tuxteno.com
Esto se aplica Feisty??? algun tip para mejorar el rendimiento de aiglx con una intel 950 driver intel o el i810?
Saludos.
En Feisty no es necesario. Que te funciona lento? Aca tengo una intel 945GM y funciona super bien todo
No es que me funcione lento, de hecho acabo de instalar aiglx y funciona perfecto, era mas un tema de curiosidad… Lo q si no se cual de los drivers es mejor y aprovechando la instancia (y si no es mucha la patudez) ¿te funciona el tv-out y el vga-out? si la respuesta es si ¿como lo hiciste? a mi todo me anda muy bien incluso las teclas multimedia (tengo un HP dv2422 muy similar al tuyo) incluso las teclas del quickplay y la de DVD, las q no funcionan de primeras, pero si aparecen al ejecutar dmesg, asi que son configurables, eso si la fn + F4 (vga-out) no anda.
Haber saludos primero que todo … eh resultado y visto que este tema fue creado hace mucho tiempo
gracias don FRANCO.
en esos tiempos tenia un Desktop con una tarjeta de video nvidia y creo que no fue relebante el tema para mi solamente eche una leida para ver si podia solucionar un problema a un amigo y en esos tiempo funciono
Mi preguenta es la siguiente como esto sigue en evolucion eh tenido varios dramas ahora tengo un laptop con una intel950 y creo que mi ubuntu 7.04 no le saca el provecho a mi tarjeta de video tengo como el mismo problema de las ventanas no me anda bien y con los videos tampoco, todo lo demas esta de pelos configurado eh conectado el laptop a mi tv y cero drama a los data 0 drama todo bien pero el tema de los videos cuando quiero reproducir algunos me fallan.
Ahora como ah evolucionado el tema del escritorio 3D tanto y pasamos de Compiz a beryl y ahora estamos en compiz Fusion me decidi a probar las nuevas alternativas pero tampoco creo que mi tarjeta no es de las recomendadas para esto me anda mal eh buscado mejoras en la configuracion XORG para ver si mejoramos algo pero nada.
Ahora que usted tiene un laptop con esta tarjeta muy similar a la mia :p me gustaria saber su experiencia para poder configurar mejor mi tarjeta….
Saludos ! nos estamos viendo
No se cual podria ser el problema. A mi me funciona bien todo, excepto la salida VGA que requirio un poco mas de configuracion, el resto de las cosas funcionaron a la primera. Los datos de mi tarjeta son:
fcatrin@shaman:~$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS/940GML Express Integrated Graphics Controller (rev 03)
Felipe, el vga-out no me funciono de primeras, tuve que editar el xorg.conf y forzar la deteccion del monitor, no recuerdo bien pero creo que active DevicePresence y MonitorLayout. No fue necesario usar Clone ya que el CRT esta en el mismo Pipe del LCD. Mas info en man i810.
Con eso me quedo el vga activado en forma permanente, la combinacion de teclas no funcionaba.
Franco logre solucionar todo de una forma bastante buena.
Lo que hice fue usar el driver intel en vez de el i810 e instale la version 1.2 de xrandr y con algunos comandos (en estos minutos no los tengo a mano) pude activar el vga-out con igual o distinta resolucion que el LCD del notebook y en modo clonado o extendiendo el escritorio, lo mismo con el tv-out. Los comandos son mas o menos simples (man xrandr) pero deben ser con xrandr 1.2. Algo q no logre solucionar es q el vga-out se me veia en blanco y negro… Ahora estoy usando ArchLinux y no he probado por ahora