VoCore has a nice USB screen that can be used as a frame buffer device traditionally or with a drm driver. There was some problems with drm driver, so I started fresh and built new one. It has previous problems fixed; but it has a new symptom.
Driver works perfectly well (it still lacks some advanced features, such as partial frame updates, etc – not important for this) – until I unplug screen, physically by removing usb cable from host computer.
Once that happens, computer halts for one second (Cursor not blinking anymore), and then reboots. Nothing is logged, nothing is output to screen.
Only reason for this to happen, must be in my code.
So, could some experts check it out? Driver is based on simpledrm driver. Driver’s sources are available here: https://github.com/oskarirauta/mpro
I do realise that without vocore screen, it is difficult to test it; but maybe someone could see where my error is? I’ve changed routine for device unplug numerous times, adding features, and to even completely clear it – always same results.
Previous version of driver is here: https://github.com/oskarirauta/packages2/tree/main/kernel/mpro/src
This version didn’t have same problem, but when trying to start some programs that use drm drivers(such as Weston), device needed to unplug after reboot, or if connected “too early” while booting.. Why I decided to make more advanced driver. Which works perfectly, until I remove the device. If I keep it connected all the time, it works after reboot and all, I just can’t unplug it.
And earliest version (legacy framebuffer) of driver is here: https://github.com/oskarirauta/packages2/tree/main/kernel/usbfb
So please, help 🙂