Tengo una bq Tesla 2 W8 de 2014 que llevaba años en un cajón. Le instalé Arch Linux con XFCE y funcionaba, pero se usaba como un portátil diminuto: letra pequeña, menús pensados para ratón y ningún gesto táctil útil.
En tres días la he dejado funcionando como una tablet Android: barra de estado arriba, barra de navegación abajo, teclado en pantalla que aparece solo, botones físicos que hacen lo que esperas y scroll con el dedo. Aquí cuento qué cambié y por qué.
Todo el proceso lo hice con la ayuda de Claude AI, que me acompañó en el diagnóstico de los problemas, los comandos y cada ajuste de configuración. Primero me dio instrucciones precisas para instalar Arch en la tablet y una vez instalado con Claude Code en la tablet le pedí que fuera haciendo los cambios de configuración necesarios.
El punto de partida
La Tesla 2 es una tablet Bay Trail típica: Intel Atom Z3735F de cuatro núcleos, 2 GB de RAM, 32 GB de eMMC, pantalla de 10″ a 1280×800 y un firmware UEFI de 32 bits que arranca un kernel de 64 bits con GRUB.
Con 2 GB de RAM, cada megabyte cuenta. Firefox se come buena parte, así que la norma fue clara: nada de docks animados ni programas residentes pesados.
La otra norma fue no tocar ni la pantalla táctil ni la WiFi. En estas tablets ambas cosas suelen costar hacerlas funcionar, y aquí funcionaban perfectamente. Todo lo que sigue se hizo sin cambiar sus drivers ni su configuración. Así se lo hice saber a Claude Code para que cuando empezara a sugerir y ejecutar los cambios de configuración tuviera esto muy en cuenta. No quería que el táctil dejara de funcionar ni quedarme sin internet en la tablet y que Claude Code dejara de funcionarme.
Antes de empezar guardé una copia de la configuración de XFCE y del teclado en pantalla. Es lo primero que recomiendo hacer.
Primeros ajustes: la hora y la tarjeta SD
El sistema tenía instalado ntp, pero su servicio fallaba porque ya estaba systemd-timesyncd sincronizando la hora. Quité ntp y comprobé que timesyncd seguía sincronizado. Un paquete menos y ningún error en el registro.
La tarjeta SD de 64 GB, en NTFS, no se montaba. El kernel ya trae el driver ntfs3, así que bastó una línea en /etc/fstab:
UUID=7464xxxxxxxx6302 /mnt/sd ntfs3 uid=1000,gid=1000,umask=022,windows_names,noatime,nofail,x-systemd.device-timeout=10s 0 0
Las opciones importantes son uid/gid, para escribir sin sudo; noatime, para no desgastar la tarjeta, y nofail con un límite de 10 s, para que la tablet arranque igual aunque no haya tarjeta.
Un aviso: al pegar la línea con el teclado en pantalla se me coló un espacio dentro de una opción y mount ignoró la línea entera. Si mount dice «error de análisis», busca espacios sueltos.
Un escritorio que parece Android
El cambio más visible fue el aspecto. Instalé el tema Materia-dark (diseño Material, como Android), los iconos Papirus-Dark y la fuente Roboto, que es la de Android. Subí la escala de 110 a 130 DPI: todo crece un 18 % y se puede tocar con el dedo sin fallar.
Decidí dejar la pantalla siempre en horizontal. Para que girase sola habría que cambiar la matriz de la pantalla táctil, y eso rompía la norma de no tocarla.
Los dos paneles de XFCE se convirtieron en las barras de Android:
- Barra de estado (arriba, 40 px): la hora a la izquierda; a la derecha la WiFi, el volumen, la batería y un botón rojo de apagado. Al tocar la batería aparece un deslizador de brillo, como en los ajustes rápidos. Al tocar el botón de apagado salen Cerrar sesión, Reiniciar y Apagar.
- Barra de navegación (abajo, 56 px): el cajón de apps, las apps fijas, ◁ Atrás, ○ Inicio, las apps abiertas y un botón para sacar el teclado.
El cajón de apps es el menú Whisker en vista de cuadrícula con iconos de 64 px. El botón Atrás es un lanzador que envía Alt+Izquierda con xdotool, que funciona en el navegador y en el gestor de archivos.
Para el teclado en pantalla usé onboard con el tema Droid y la distribución Phone. Lo dejé acoplado abajo a todo el ancho, que encoge las ventanas para no tapar lo que escribes, que muestre la tecla ampliada al pulsar y que no aparezca si hay un teclado USB conectado. También arreglé una errata en la configuración de la pantalla de inicio de sesión (keyborard=onboard) que impedía que saliera el teclado al teclear la contraseña.
Completan el conjunto: un toque para abrir en el escritorio y en Thunar, un solo escritorio virtual, botones de ventana grandes, notificaciones arriba en el centro y el cursor que se esconde al tocar la pantalla (unclutter --hide-on-touch). La pantalla se apaga a los 2 minutos con batería, pero la tablet nunca se suspende: en este modelo, al despertar de la suspensión la WiFi suele dejar de funcionar.
Los botones físicos
La tablet tiene tres botones: volumen, encendido y una tecla Windows. Ninguno hacía lo que haría en Android.
Volumen. Parecían rotos, pero no lo estaban. El kernel recibía las pulsaciones y el panel cambiaba el volumen, solo que de la salida HDMI, porque tenía un monitor conectado. Al poner los altavoces de la tablet como salida por defecto empezaron a funcionar. Cada pulsación cuenta doble por un rebote que el kernel no consigue filtrar, pero se puede vivir con ello.
Encendido. Quería que apagase solo la pantalla, como en Android. Fue lo más laborioso:
- Le dije a
systemd-logindque ignorase el botón (HandlePowerKey=ignore), para que nunca apague la tablet. - Puse el gestor de energía de XFCE a «no hacer nada» con el botón.
- Un atajo de teclado normal no sirvió: el gestor de energía sigue capturando la tecla aunque no haga nada con ella. La solución fue un pequeño programa en Python que escucha la tecla con eventos XInput2 raw, que llegan aunque otro programa la capture, y apaga o enciende la pantalla por DPMS. Ocupa unos 14 MB y arranca con la sesión.
La diferencia con Android es que tocar la pantalla también la enciende: en X11 cualquier entrada despierta la pantalla, y evitarlo exigiría tocar la configuración de la pantalla táctil.
Tecla Windows. Ahora es el botón Inicio: un atajo de XFCE para la tecla Super_L sola lanza un script que muestra el escritorio. Las combinaciones como Super+E del teclado USB siguen funcionando.
Scroll con el dedo
En Firefox, deslizar el dedo seleccionaba texto en vez de desplazar la página. La pantalla no tenía la culpa: X la reconoce como táctil de hasta 10 dedos. El problema es que Firefox en X11, sin más, recibe los toques como si fueran un ratón arrastrando.
La solución es una variable de entorno. La puse en ~/.xprofile, que LightDM lee al iniciar sesión:
export MOZ_USE_XINPUT2=1
Hay que cerrar sesión y volver a entrar para que se aplique; reiniciar solo Firefox no basta. Después, el scroll con inercia funciona en Firefox, en la terminal y en el resto de aplicaciones.
En Firefox también activé la interfaz táctil (browser.uidensity = 2), el zoom con dos dedos y deslizar para ir atrás y adelante, todo en un user.js del perfil.
Vídeo, Bluetooth y lo que se queda sin driver
Al repasar el hardware vi que faltaban dos cosas que sí tienen solución.
Decodificación de vídeo por hardware. Sin libva-intel-driver, el Atom decodificaba los vídeos a pelo, a tirones y gastando batería. Con él, vainfo muestra el driver i965 para Bay Trail, que decodifica H.264 y MPEG-2, pero no VP9 ni AV1. Por eso en Firefox, además de activar VA-API, desactivé VP9 y AV1: así YouTube envía los vídeos en H.264, que es lo que el chip sabe decodificar.
Bluetooth. El chip arrancaba bien, pero faltaba bluez. Lo instalé junto con Blueman, aunque quité su icono del arranque porque ocupaba unos 120 MB de RAM. Cuando quiero emparejar algo abro el administrador desde el cajón de apps.
Y lo que no tiene arreglo:
| Dispositivo | Por qué no funciona |
|---|---|
| Cámaras (OV5648 y Himax HM2056) | Necesitan el driver atomisp, que está en pruebas y no soporta estos sensores |
| GPS (variante del BCM4752) | Protocolo cerrado y el kernel no sabe encenderlo |
| Sensor de luz (Capella CM3232) | El driver existe, pero no reconoce el ID con el que lo anuncia el firmware |
Sin brillo automático ni cámara, pero para navegar, leer y ver vídeos no hacen falta.
Tropiezos por el camino
Una tecla fantasma. Probando el botón de encendido, la pantalla se apagaba y se volvía a encender al instante. El culpable era el teclado USB: había dejado «pulsada» una tecla desconocida (código 248) que X repetía unas 20 veces por segundo. Para el sistema siempre había alguien escribiendo, así que la pantalla tampoco se habría apagado nunca sola. Se arregla desactivando y reactivando el dispositivo con xinput, o desenchufando el teclado.
El teclado en pantalla se cierra. Onboard falla cada vez que se reinicia el panel de XFCE. Basta con volver a lanzarlo o cerrar sesión y entrar.
El LED rojo. Durante unos días un LED rojo parpadeaba en la esquina superior izquierda y la batería no cargaba: con el cargador detectado, la corriente de carga se quedaba en 0 mA. Ese problema ya está resuelto y la tablet carga con normalidad. Si a alguien le pasa con este modelo, la corriente de carga se puede leer en /sys/bus/iio/devices/iio:device0/in_current3_raw.
Conclusión
Una tablet de 2014 con 2 GB de RAM no va a competir con una actual, pero con Arch y XFCE bien ajustados se usa con el dedo de forma natural: navegar, leer, ver vídeos y escribir con el teclado en pantalla. Casi todo se ha hecho con la configuración de XFCE, unos pocos paquetes y tres scripts pequeños, sin tocar los drivers de la pantalla táctil ni de la WiFi.
Lo que más me enseñó el proceso: antes de dar algo por roto, hay que mirar si el hardware está recibiendo las señales. Los botones de volumen funcionaban desde el principio; solo apuntaban a la salida equivocada.
Nada de esto lo hice solo: trabajé de principio a fin con Claude AI. Le describía lo que veía en la tablet, me proponía qué revisar o qué comando probar, y juntos íbamos descartando hipótesis hasta dar con la solución.