Dear all, For a few weeks now, I have to use a Mac to do my job. I have two braille devices: - a Focus 5 USB device - A VarioUltra 40 USB-HID device
Before that, I used these two devices on Windows and Linux without any particular issues, either on a real Linux system with Brltty 6.6, or in a Linux VM hosted by Windows with the same Brltty 6.6. On MacOS however I noticed something strange with my VarioUltra device: the transfer speed of the device (sending braille input / receiving braille dots to print) is very very slow. For example, if I type characters quickly, the device will freeze for several seconds and then the characters will be processed by BRLTTY, making it very inconfortable to use. About my current setup: - Running latest macOS Sonoma on an ARM64 (m2Pro) chip - Running latest VMWare Fusion software version to use a Linux ARM64 Debian virtual machine - Connect my braille device(s) to the VM and not to the Mac, so that BRLTTY can see and interact with them. My observations: - Using the Focus 40 5th generation connected to USB, everything works very well, nothing to complain about. I’m able to read and more importantly write very quickly (typing at around 4 to 6 chars per second), and everything is responsive. - Using the VarioULTRA 40 connected to USB-HID to the same VM, things are very sluggish: typing at the same speed will result in the situation described above, i.e. slowness / freeze of the device until either a key is pressed, or a certain time. What I tried: 1) With the Focus 40: - Works well everywhere: in a VM hosted by Windows/Mac, Linux host, and MacOS Host using the screen driver. 2) With the VarioULTRA device: Works well on a Linux VM hosted by Windows and linux Host, become sluggish on a Linux VM hosted by MacOS. 3) I tried to change hypervisors, and every software behaves the same, either with UTM or VMWare Fusion (UTM can use either QEMU backend for virtualisation, or Apple’s builtin virtualisation support). 4) I A few years ago, I noticed the very same behaviour with another USB-HID device (Brilliant BI 40X) connected to a real Linux host, but unfortunately was unable to investigate furthermore as I had this device for a couple of hours. What I understood from the sources: 1) seems there is no Darwin HID support for now, so unable to test it with a compiled version for this OS with a screen driver, like I did with the Focus 40 5th Generation. 2) It seems that the async_io stack which is responsible for scheduling input/ouput events (and other things as well) does some polling so that it does not actually « sleeps » for a given time before reading data from the device. I tried to understand how timeouts are computed, to see if the issue could come from this computation, but I’m still in the early stage of understanding this stack and I currently did not find anything regarding this. Therefore, here are my questions: 1) Does anyone using an USB-HID device already experienced such behaviours in the past, and if so, did you manage to solve it? 2) Which logs would be necessary to investigate this furthermore (log categories / level)? 3) If you’re thinking about something I did not try yet, feel free to point it out, I’ll be happy to try it. Many thanks in advance for your answers, Best, Yannick _______________________________________________ This message was sent via the BRLTTY mailing list. To post a message, send an e-mail to: [email protected] For general information, go to: http://brltty.app/mailman/listinfo/brltty
