Raspbian – Mouse lag / lento

Es normal que con ciertos mouse (sobre todo en los wireless) nos encontremos con el inconveniente que el moviemiento muestre un lag importante o sea sumamente lento. Esto se debe a una diferencia entre la configuracion (en la tasa de refresco) de nuestro sistema operativo y el dispositivo.
La tasa de refresco es el tiempo que transcurre entre los informes de datos que se le solicitan a los dispositivos,  lo estandar en los dispositivos USB HID es de 10 ms (62.5 Hz), pero la mayoria de los controladores USB redondean esta tasa a una potencia de 2. Esto quiere decir que en vez de utilizar 10 ms, se usan 8 ms. Otro ejemplo de este redondeo, es si tenemmos un dispositivo con tasa de refresco de 7 ms, nuestro sistema usaria una  de 4 ms.
En situaciones donde el lag es critico (tipicamente en video juegos), se utiliza tasas de refresco menores. Esta modificacion tienen impacto en la carga del CPU, por esta razon, debemos ser concientes a la hora de modificar estos valores.

Una manera de saber la velocidad de nuestro dispositivo en linux es la siguiente:

lsusb -vd [Vendor]:[ProductID] | grep bInterval

esto nos dara por resultado algo como lo siguiente:

bInterval 10

Esto significa que nuestro dispositivo estara refrescando cada 10 ms o (62.5 Hz).

Para poder equiparar la configuracion del sistema operativo con el dispositivo, vamos a realizar la siguiente configuracion, que nos va a permitir utilizar la tasa de refresco que solicite nuestro dispositivo (en nuestro caso el mouse).

Primero, realizamos un backup del archivo de configuracion, para luego editarlo.

sudo cp /boot/cmdline.txt /boot/cmdline.old.txt
sudo nano /boot/cmdline.txt

A la hora de modificar el archivo, debemos agregar,  separado por un espacio del resto de las configuraciones lo siguiente:


usbhid.mousepoll=0

Es importante aclarar que todas las configuraciones dentro de este archivo deben estar en una sola linea, ya que de otra manera nuestro sistema operativo no arrancara.

Al decirle a nuestro sistema operativo que el mousepoll = 0, le estamos diciendo que refresque a la tasa que requiera el mouse. Si quisieramos fijar una tasa  distinta, podriamos modificar el valor 0 por un 1, 2, 3 o 4 (1 ms, 2 ms, 4 ms y 8 ms respectivamente).

Una vez realizada la modificacion, bastara con reiniciar nuestro equipo para que tome la nueva configuracion y quede resuelto el problema del mouse.

Aclaracion:

Cualquier error en las funciones de configuracion dentro del archivo cmdline.txt, puede provocar que nuestro equipo no vuelva a arrancar. Si esto sucediera, bastara retirar la memoria microSD de nuestra RPI y conectarla a un equipo con Windows o Linux. En Windows veremos dos particiones de la cual una es inaccesible por estar con sistema de archivos ext3, pero la otra esta en FAT32. Justamente esta ultima es donde esta el archivo de configuracion, alli bastara con borrar el archivo editado y cambiar la extension al backup para que la proxima vez que utilicemos la memoria, funcione sin problemas.

Un comentario en “Raspbian – Mouse lag / lento”

  1. Muchas gracias por este artículo donde todo está tan bien explicado. Tenia el problema que se trata en el post. Había dado ya con la solución usbhid.mousepoll=0 pero nadie explicaba por qué y que significaba realmente dicha orden. Después de leer su post y las buenas advertencias previas seguí los pasos y…perfecto. Disfrutando ahora de la RBPi4. Gracias

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s