censo: el audio por bluetooth ya funciona
La fila queda contando los frontends que faltan (blueman, bluetuith) y diciendo con claridad que son comodidad, no capacidad — y registrando lo que se arregló: sbc + bluez con PIC + -Dbluez5=enabled, con la verificación hecha en el artefacto (14 símbolos sbc_* definidos en libspa-bluez5.so).
Delta semántico
Ninguna definición cambió: el cambio es de texto, documentación o datos.
1 archivos · +12 −17
- scripts/censo-distro.py +12 −17
diff --git a/scripts/censo-distro.py b/scripts/censo-distro.py
index 1aec6fe9..a32bd3aa 100755
--- a/scripts/censo-distro.py
+++ b/scripts/censo-distro.py
@@ -178,23 +178,18 @@ CHECKLIST = {
# ── RED, SEGURIDAD, DATOS ───────────────────────────────────────────────────────────────────
'vpn y red gestionada': ('networkmanager, wireguard-tools y wpa_supplicant están',
['openvpn', 'iwd', 'nmtui', 'impala', 'mosh', 'sshfs']),
- 'bluetooth usable': ('⚠ ESTA FILA ESTABA MAL EN LAS DOS DIRECCIONES (medido 2026-10-21). '
- 'Decía «falta con qué emparejar un auricular» y EMPAREJAR SÍ SE PUEDE: `bluez` trae '
- '`bluetoothctl` 5.87 —la herramienta oficial de Linux, probada, corre y es estática— y '
- 'los cuatro escritorios que lo instalan TAMBIÉN habilitan su servicio `bluetoothd`, '
- 'así que el camino está completo: daemon arrancado + CLI de emparejado. Lo que falta '
- 'son los FRONTENDS (`blueman` gráfico, `bluetuith` de terminal), que es comodidad, no '
- 'capacidad. ⇒ contar frontends ausentes y concluir «no se puede emparejar» es el error '
- 'de esta fila. PERO hay un hueco REAL un piso más abajo que la fila no veía: '
- '**el AUDIO por bluetooth es imposible**. `pipewire` se construye con '
- '`-Dbluez5=disabled` a propósito (su receta: «cadena de códecs aptx/ldac/aac/opus '
- 'enorme»), y sin el plugin SPA bluez5 PipeWire no ve el auricular como salida: se '
- 'empareja y no suena. El A2DP obligatorio sólo necesita SBC —aptX/LDAC/AAC son de '
- 'lujo— pero NO existe receta de `sbc` ni de ningún códec. Y encenderlo no es gratis: '
- '19 recetas dependen de pipewire, incluidas las TRES de Gecko (firefox 339M, '
- 'firefox-instrumentado 585M, waterfox 377M) ⇒ rearma la cadena PGO entera. Es una '
- 'decisión de horas de cómputo, no un olvido',
- ['blueman', 'bluetuith']),
+ 'bluetooth usable': ('✅ EL AUDIO POR BLUETOOTH FUNCIONA DESDE EL 2026-10-21. Antes esta fila '
+ 'decía «falta con qué emparejar un auricular» y estaba mal EN LAS DOS DIRECCIONES. '
+ 'Emparejar ya se podía: `bluez` trae `bluetoothctl` 5.87 (probado) y su daemon, y los '
+ 'cuatro escritorios HABILITAN el servicio `bluetoothd`. Lo que faltaba era un piso más '
+ 'abajo y la fila no lo veía: `pipewire` iba con `-Dbluez5=disabled`, así que se '
+ 'emparejaba y NO SONABA. Arreglado: receta `sbc` (el único códec que A2DP exige) + '
+ '`bluez` recompilado con PIC (su .a no entraba en una .so) + `-Dbluez5=enabled`. '
+ 'Verificado en el artefacto: /usr/lib/spa-0.2/bluez5/ con libspa-bluez5.so y su códec, '
+ '14 símbolos sbc_* DEFINIDOS. Costó rearmar 19 recetas, la cadena PGO de Gecko '
+ 'incluida. ⇒ Lo que queda son los FRONTENDS (`blueman` gráfico, `bluetuith` de '
+ 'terminal): comodidad, no capacidad',
+ ['blueman', 'bluetuith']),
'contraseñas': ('✅ CUBIERTO el 2026-10-21: `pass` entró en `perfil.cli`, que por herencia lo pone en '
'CINCO imágenes (cli, kde, gnome, cosmic, sway) más servidor. Guarda y devuelve '
'secretos de verdad — el guardián de la receta hace el ciclo init+insert+show y '