Many people says that introducing hardware graphics acceleration (OpenGL etc.) is difficult, but actually implementing basic support may be not so.
Hardware accelerated rendering can be done on offscreen GPU surface and then copied to CPU memory and displayed by BView::DrawBitmap. No major changes in Interface Kit / app_server is required. Compositing is also not required. This solution should work faster than software rendering.
Things need to be done:
- Port kernel mode DRM (direct rendering manager) as Haiku kernel module. Existing attempts: https://github.com/hamishm/haiku-drm, https://review.haiku-os.org/c/haiku/+/435, https://www.haiku-os.org/blog/vivek/.
- Adjust mode setting/accelerant.
- Port user mode library for interfacing to kernel module libdrm (https://gitlab.freedesktop.org/mesa/drm).
- Enable build of DRM in Mesa port.
- Adjust HGL to allocate GPU surfaces and copy it to BBitmap.
I am not familiar with internals of videocard hardware or kernel mode video drivers, but can do userland (Interface Kit/Mesa HGL) things.