Bluetooth Split Keyboards Delay

Questions about hardware, drivers and peripherals
Forum rules
Before you post read how to get help. Topics in this forum are automatically closed 6 months after creation.
Locked
Tye
Level 1
Level 1
Posts: 3
Joined: Mon May 16, 2022 1:14 am

Bluetooth Split Keyboards Delay

Post by Tye »

Hello, this is my first post on Linux Mint Forums and one of the only threads where I couldn't find an existing one for.

Background: I recently just finished constructing a Dactyl Manuform with two ESP-32's acting as two independent keyboards using the MK32 repository which connect solely through Bluetooth. I have a Bluetooth adapter on my front panel dock using USB3.0. The software on both of the micro-controllers work fantastically and both of the keyboards work perfectly with Windows 10 Pro Edition. I can connect to both of the micro-controllers through the same or different Bluetooth connector (I've tried two receivers and they both work).

I may use Keyboard and micro-controller interchangeably.

Problem: One of the micro-controllers always has an input lag.

Edge Cases:
  • If I disconnect the micro-controller that is lagging, then the other one begins lagging, and if I reconnect the one that was disconnected then the newest connected micro-controller doesn't lag.
  • My mechanical (amazon bought) wired connection works just fine regardless of any case.

What I have seen and tried:
  • Xorg input drivers ---- The libinput doesn't change when downloading either synaptics or evdev Doesn't work for either.
  • Slow keys --- nope
  • Switching USB2.0 --- Didn't even recognize the keyboards on the Bluetooth cinnamon menu Recognizes keyboards on USB2.0 but doesn't fix.
  • Downgrade my Kernel --- I can't necessarily downgrade my kernel because I have a 6900xt and use 3rd party drivers. Though, AMD did just come out with drivers for the GPU on 5/11 Downgraded kernel to default LTS (5.04) for Mint 20.3.
  • Every possible combination of removing, restarting, unplugging, etc.
Specs:

Display Environment: Cinnamon
Keyboard Environment: English (and only English)

Code: Select all

System:
  Kernel: 5.16.11-051611-generic x86_64 bits: 64 compiler: N/A 
  Desktop: Cinnamon 5.2.7 wm: muffin 5.2.1 dm: LightDM 1.30.0 
  Distro: Linux Mint 20.3 Una base: Ubuntu 20.04 focal 
Machine:
  Type: Desktop System: Gigabyte product: AB350M-Gaming 3 v: N/A 
  serial: <filter> 
  Mobo: Gigabyte model: AB350M-Gaming 3-CF serial: <filter> 
  UEFI [Legacy]: American Megatrends v: F50d date: 07/02/2020 
CPU:
  Topology: 12-Core model: AMD Ryzen 9 3900XT bits: 64 type: MT MCP 
  arch: Zen L2 cache: 6144 KiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm 
  bogomips: 182054 
  Speed: 1862 MHz min/max: 2200/3800 MHz boost: enabled Core speeds (MHz): 
  1: 2059 2: 2162 3: 2196 4: 2196 5: 2353 6: 2225 7: 2187 8: 2244 9: 4465 
  10: 1985 11: 2196 12: 2195 13: 2099 14: 2094 15: 2196 16: 2173 17: 2172 
  18: 4258 19: 4290 20: 4275 21: 4231 22: 3258 23: 4235 24: 3459 
Graphics:
  Device-1: AMD driver: amdgpu v: kernel bus ID: 08:00.0 chip ID: 1002:73bf 
  Display: x11 server: X.Org 1.20.13 driver: amdgpu,ati 
  unloaded: modesetting,radeon,vesa alternate: fbdev 
  resolution: 3840x1080~120Hz, 1920x1080~60Hz, 1920x1080~60Hz, 1920x1080~60Hz 
  OpenGL: renderer: AMD Radeon RX 6900 XT (SIENNA_CICHLID DRM 3.44.0 
  5.16.11-051611-generic LLVM 11.0.1) 
  v: 4.6 Mesa 20.2.4 direct render: Yes 
Audio:
  Device-1: AMD driver: snd_hda_intel v: kernel bus ID: 08:00.1 
  chip ID: 1002:ab28 
  Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte 
  driver: snd_hda_intel v: kernel bus ID: 0a:00.4 chip ID: 1022:1487 
  Device-3: Texas Instruments PCM2902 Audio Codec type: USB 
  driver: hid-generic,snd-usb-audio,usbhid bus ID: 5-4:8 chip ID: 08bb:2902 
  Device-4: Creative Sound Blaster X3 type: USB 
  driver: cdc_acm,hid-generic,snd-usb-audio,usbhid bus ID: 1-6:13 
  chip ID: 041e:3264 serial: <filter> 
  Sound Server: ALSA v: k5.16.11-051611-generic 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  vendor: Gigabyte driver: r8169 v: kernel port: f000 bus ID: 03:00.0 
  chip ID: 10ec:8168 
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter> 
  IF-ID-1: docker0 state: down mac: <filter> 
Drives:
  Local Storage: total: 7.94 TiB used: 943.25 GiB (11.6%) 
  ID-1: /dev/sda vendor: Western Digital model: WD1003FZEX-00K3CA0 
  size: 931.51 GiB speed: 6.0 Gb/s rotation: 7200 rpm serial: <filter> 
  rev: 1A01 scheme: GPT 
  ID-2: /dev/sdb vendor: Silicon Power model: SPCC Solid State Disk 
  size: 476.94 GiB speed: 6.0 Gb/s serial: <filter> rev: 91.3 scheme: GPT 
  ID-3: /dev/sdc vendor: Crucial model: CT500MX500SSD1 size: 465.76 GiB 
  speed: 6.0 Gb/s serial: <filter> rev: 023 scheme: GPT 
  ID-4: /dev/sdd vendor: SanDisk model: SDSSDA240G size: 223.57 GiB 
  speed: 6.0 Gb/s serial: <filter> rev: 80RL scheme: GPT 
  ID-5: /dev/sde vendor: PNY model: CS900 480GB SSD size: 447.13 GiB 
  speed: 6.0 Gb/s serial: <filter> rev: 06B3 scheme: GPT 
  ID-6: /dev/sdf type: USB vendor: Western Digital model: WD My Book 25EE 
  size: 5.46 TiB serial: <filter> rev: 4007 scheme: GPT 
Partition:
  ID-1: / size: 457.45 GiB used: 66.18 GiB (14.5%) fs: ext4 dev: /dev/sdc1 
Sensors:
  Message: No sensors data was found. Is sensors configured? 
Repos:
  No active apt repos in: /etc/apt/sources.list 
  Active apt repos in: /etc/apt/sources.list.d/amdgpu-pro-local.list 
  1: deb [ trusted=yes ] file:/var/opt/amdgpu-pro-local/ ./
  No active apt repos in: /etc/apt/sources.list.d/amdgpu-proprietary.list 
  Active apt repos in: /etc/apt/sources.list.d/amdgpu.list 
  1: deb https://repo.radeon.com/amdgpu/22.10.2/ubuntu bionic main
  Active apt repos in: /etc/apt/sources.list.d/cappelikan-ppa-focal.list 
  1: deb http://ppa.launchpad.net/cappelikan/ppa/ubuntu focal main
  Active apt repos in: /etc/apt/sources.list.d/github-cli.list 
  1: deb [arch=amd64 signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main
  Active apt repos in: /etc/apt/sources.list.d/google-chrome.list 
  1: deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main
  Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list 
  1: deb http://packages.linuxmint.com una main upstream import backport #id:linuxmint_main
  2: deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
  3: deb http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
  4: deb http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
  5: deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
  6: deb http://archive.canonical.com/ubuntu/ focal partner
  Active apt repos in: /etc/apt/sources.list.d/redis.list 
  1: deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb una main
  Active apt repos in: /etc/apt/sources.list.d/rocm.list 
  1: deb [arch=amd64] https://repo.radeon.com/rocm/apt/5.1.2 ubuntu main
  Active apt repos in: /etc/apt/sources.list.d/vivaldi.list 
  1: deb [arch=amd64] https://repo.vivaldi.com/stable/deb/ stable main
  Active apt repos in: /etc/apt/sources.list.d/vscode.list 
  1: deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main
Info:
  Processes: 496 Uptime: 1h 11m Memory: 31.36 GiB used: 6.49 GiB (20.7%) 
  Init: systemd v: 245 runlevel: 5 Compilers: gcc: 9.4.0 alt: 9 Shell: bash 
  v: 5.0.17 running in: gnome-terminal inxi: 3.0.38 
Last edited by LockBot on Wed Dec 28, 2022 7:16 am, edited 5 times in total.
Reason: Topic automatically closed 6 months after creation. New replies are no longer allowed.
Tye
Level 1
Level 1
Posts: 3
Joined: Mon May 16, 2022 1:14 am

Re: Bluetooth Split Keyboards Delay

Post by Tye »

Update...

Should note that when I switch between Windows and Linux the Bluetooth on the keyboards turn on and off randomly.

One unique time, the problem went away after setting BIOS to automatically boot Linux instead of Windows and didn't have to reset the Bluetooth because of the random on and off interaction.
Tye
Level 1
Level 1
Posts: 3
Joined: Mon May 16, 2022 1:14 am

Re: Bluetooth Split Keyboards Delay

Post by Tye »

Update:

I downgraded my kernel to 5.04 by getting GRUB to show up.

Code: Select all

inxi -Fxxxrz
System:
  Kernel: 5.4.0-113-generic x86_64 bits: 64 compiler: gcc v: 9.4.0 
  Desktop: Cinnamon 5.2.7 wm: muffin 5.2.1 dm: LightDM 1.30.0 
  Distro: Linux Mint 20.3 Una base: Ubuntu 20.04 focal 
Machine:
  Type: Desktop System: Gigabyte product: AB350M-Gaming 3 v: N/A 
  serial: <filter> 
  Mobo: Gigabyte model: AB350M-Gaming 3-CF serial: <filter> 
  UEFI [Legacy]: American Megatrends v: F50d date: 07/02/2020 
CPU:
  Topology: 12-Core model: AMD Ryzen 9 3900XT bits: 64 type: MT MCP 
  arch: Zen L2 cache: 6144 KiB 
  flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm 
  bogomips: 182065 
  Speed: 2220 MHz min/max: 2200/3800 MHz boost: enabled Core speeds (MHz): 
  1: 2182 2: 2196 3: 2198 4: 2196 5: 2188 6: 2191 7: 2195 8: 2183 9: 2202 
  10: 2189 11: 2194 12: 2196 13: 2204 14: 2194 15: 2190 16: 2196 17: 2186 
  18: 2196 19: 2205 20: 2202 21: 2215 22: 2206 23: 2218 24: 2212 
Graphics:
  Device-1: AMD driver: amdgpu v: 5.9.10.20.50 bus ID: 08:00.0 
  chip ID: 1002:73bf 
  Display: x11 server: X.Org 1.20.13 driver: amdgpu,ati 
  unloaded: modesetting,radeon,vesa alternate: fbdev 
  resolution: 3840x1080~120Hz, 1920x1080~60Hz, 1920x1080~60Hz, 1920x1080~60Hz 
  OpenGL: renderer: AMD Radeon RX 6900 XT (SIENNA_CICHLID DRM 3.40.0 
  5.4.0-113-generic LLVM 11.0.1) 
  v: 4.6 Mesa 20.2.4 direct render: Yes 
Audio:
  Device-1: AMD driver: snd_hda_intel v: kernel bus ID: 08:00.1 
  chip ID: 1002:ab28 
  Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte 
  driver: snd_hda_intel v: kernel bus ID: 0a:00.4 chip ID: 1022:1487 
  Device-3: Texas Instruments PCM2902 Audio Codec type: USB 
  driver: hid-generic,snd-usb-audio,usbhid bus ID: 5-4:4 chip ID: 08bb:2902 
  Device-4: Creative Sound Blaster X3 type: USB 
  driver: cdc_acm,hid-generic,snd-usb-audio,usbhid bus ID: 1-6:5 
  chip ID: 041e:3264 serial: <filter> 
  Sound Server: ALSA v: k5.4.0-113-generic 
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet 
  vendor: Gigabyte driver: r8169 v: kernel port: f000 bus ID: 03:00.0 
  chip ID: 10ec:8168 
  IF: eno1 state: up speed: 1000 Mbps duplex: full mac: <filter> 
  IF-ID-1: docker0 state: down mac: <filter> 
Drives:
  Local Storage: total: 7.94 TiB used: 995.17 GiB (12.2%) 
  ID-1: /dev/sda vendor: Western Digital model: WD1003FZEX-00K3CA0 
  size: 931.51 GiB speed: 6.0 Gb/s rotation: 7200 rpm serial: <filter> 
  rev: 1A01 scheme: GPT 
  ID-2: /dev/sdb vendor: Silicon Power model: SPCC Solid State Disk 
  size: 476.94 GiB speed: 6.0 Gb/s serial: <filter> rev: 91.3 scheme: GPT 
  ID-3: /dev/sdc vendor: Crucial model: CT500MX500SSD1 size: 465.76 GiB 
  speed: 6.0 Gb/s serial: <filter> rev: 023 scheme: GPT 
  ID-4: /dev/sdd type: USB vendor: Western Digital model: WD My Book 25EE 
  size: 5.46 TiB serial: <filter> rev: 4007 scheme: GPT 
  ID-5: /dev/sde vendor: SanDisk model: SDSSDA240G size: 223.57 GiB 
  speed: 6.0 Gb/s serial: <filter> rev: 80RL scheme: GPT 
  ID-6: /dev/sdf vendor: PNY model: CS900 480GB SSD size: 447.13 GiB 
  speed: 6.0 Gb/s serial: <filter> rev: 06B3 scheme: GPT 
Partition:
  ID-1: / size: 457.45 GiB used: 68.81 GiB (15.0%) fs: ext4 dev: /dev/sdc1 
Sensors:
  System Temperatures: cpu: 46.0 C mobo: N/A gpu: amdgpu temp: 58 C 
  Fan Speeds (RPM): N/A gpu: amdgpu fan: 0 
Repos:
  No active apt repos in: /etc/apt/sources.list 
  Active apt repos in: /etc/apt/sources.list.d/amdgpu-pro-local.list 
  1: deb [ trusted=yes ] file:/var/opt/amdgpu-pro-local/ ./
  No active apt repos in: /etc/apt/sources.list.d/amdgpu-proprietary.list 
  Active apt repos in: /etc/apt/sources.list.d/amdgpu.list 
  1: deb https://repo.radeon.com/amdgpu/22.10.2/ubuntu bionic main
  Active apt repos in: /etc/apt/sources.list.d/cappelikan-ppa-focal.list 
  1: deb http://ppa.launchpad.net/cappelikan/ppa/ubuntu focal main
  Active apt repos in: /etc/apt/sources.list.d/github-cli.list 
  1: deb [arch=amd64 signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main
  Active apt repos in: /etc/apt/sources.list.d/google-chrome.list 
  1: deb [arch=amd64] https://dl.google.com/linux/chrome/deb/ stable main
  Active apt repos in: /etc/apt/sources.list.d/linuxuprising-apps-focal.list 
  1: deb http://ppa.launchpad.net/linuxuprising/apps/ubuntu focal main
  Active apt repos in: /etc/apt/sources.list.d/official-package-repositories.list 
  1: deb http://packages.linuxmint.com una main upstream import backport #id:linuxmint_main
  2: deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
  3: deb http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
  4: deb http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse
  5: deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
  6: deb http://archive.canonical.com/ubuntu/ focal partner
  Active apt repos in: /etc/apt/sources.list.d/rocm.list 
  1: deb [arch=amd64] https://repo.radeon.com/rocm/apt/5.1.2 ubuntu main
  Active apt repos in: /etc/apt/sources.list.d/vivaldi.list 
  1: deb [arch=amd64] https://repo.vivaldi.com/stable/deb/ stable main
  Active apt repos in: /etc/apt/sources.list.d/vscode.list 
  1: deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main
Info:
  Processes: 477 Uptime: 45m Memory: 31.37 GiB used: 2.74 GiB (8.7%) 
  Init: systemd v: 245 runlevel: 5 Compilers: gcc: 9.4.0 alt: 9 Shell: bash 
  v: 5.0.17 running in: gnome-terminal inxi: 3.0.38 
I installed evdev

Code: Select all

grep -i "Using input driver" /var/log/Xorg.0.log
[    11.025] (II) Using input driver 'evdev' for 'Power Button'
[    11.025] (II) Using input driver 'evdev' for 'Power Button'
[    11.026] (II) Using input driver 'evdev' for 'SONiX USB DEVICE'
[    11.026] (II) Using input driver 'evdev' for 'SONiX USB DEVICE Consumer Control'
[    11.027] (II) Using input driver 'evdev' for 'SONiX USB DEVICE System Control'
[    11.027] (II) Using input driver 'evdev' for 'SONiX USB DEVICE Keyboard'
[    11.028] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder Chroma'
[    11.088] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder Chroma Keyboard'
[    11.088] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder Chroma Consumer Control'
[    11.089] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder Chroma System Control'
[    11.089] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder Chroma'
[    11.090] (II) Using input driver 'evdev' for 'Creative Technology Ltd Sound Blaster X3'
[    11.092] (II) Using input driver 'evdev' for 'Cooler Master Technology Inc. ARES'
[    11.092] (II) Using input driver 'evdev' for 'Cooler Master Technology Inc. ARES System Control'
[    11.093] (II) Using input driver 'evdev' for 'Cooler Master Technology Inc. ARES Consumer Control'
[    11.093] (II) Using input driver 'evdev' for 'Burr-Brown from TI               USB Audio CODEC '
[    11.147] (II) Using input driver 'evdev' for 'Cooler Master Technology Inc. ARES'
[    11.183] (II) Using input driver 'evdev' for 'Cooler Master Technology Inc. ARES System Control'
[    11.223] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder Chroma'
[    11.267] (II) Using input driver 'evdev' for 'Creative Technology Ltd Sound Blaster X3'
[    11.295] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder Chroma Keyboard'
[    11.329] (II) Using input driver 'evdev' for 'Cooler Master Technology Inc. ARES Consumer Control'
[    11.355] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder Chroma System Control'
[    11.395] (II) Using input driver 'evdev' for 'SONiX USB DEVICE System Control'
[    11.423] (II) Using input driver 'evdev' for 'SONiX USB DEVICE Keyboard'
[    11.459] (II) Using input driver 'evdev' for 'Burr-Brown from TI               USB Audio CODEC '
[    11.519] (II) Using input driver 'evdev' for 'SONiX USB DEVICE'
[    11.559] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder Chroma Consumer Control'
[    11.587] (II) Using input driver 'evdev' for 'SONiX USB DEVICE Consumer Control'
[    11.627] (II) Using input driver 'evdev' for 'Razer Razer DeathAdder Chroma'
[    11.687] (II) Using input driver 'evdev' for 'Manuform Left Consumer Control'
[    11.688] (II) Using input driver 'evdev' for 'Manuform Left Mouse'
[    11.695] (II) Using input driver 'evdev' for 'Manuform Left Keyboard'
[    11.744] (II) Using input driver 'evdev' for 'Manuform Right Keyboard'
[    11.757] (II) Using input driver 'evdev' for 'Manuform Right Mouse'
[    11.757] (II) Using input driver 'evdev' for 'Manuform Right Consumer Control'
I tried installing xserver-xorg-input-synaptics but couldn't type anything so I loaded root in safe mode (which had same keyboard lag as my initial issue) and reinstalled xserver-xorg-input-all then switched back to evdev.

I've switched to USB 2.0 and established a reliable connection.

None of the solutions work. My next step is to compile my own libmutter as per the last comment on a gnome forum post I tried this and doesn't work. I removed mutter from apt.

Although this seems like a whole lot of workarounds for something that seems like a reasonable use case.
Locked

Return to “Hardware Support”