If your graphics card doesn’t support full 32-bit bitmap cursor, maybe it should use the old BeOS style non-antialized hardware cursor as existing drivers do. I think in that case, only the cursor is accelerated, but not the drag bitmap?
We could implement something similar for the full color cursor hook as well. Ideally, there would be a way for the driver to inform the app_server of what it can handle (color formats, maximum bitmap size, etc) and then app_server can decide on its own if the drag bitmap can be accelerated or not, send the right data to the driver, and do the rest of the drawing by itself. But that will require changes in Haiku. Which is why I asked about your plans for upstreaming.
The exact rule in place for Haiku currently is this:
The Haiku project cannot accept contributions (e.g. code, documentation, translations, etc.) which are under ambiguous or incompatible licenses. (This includes most content produced with the use of LLMs. )
So, it depends if your workflow involves copying code from the LLM output (in which case, yes, maybe some of that code comes from Linux or other existing drivers for these cards, and may be under copyright), or if you just asked questions to the LLM and wrote the code yourself, which would set you clear of that rule. No copyright problem in that case.
Some developers here (including myself) have other objections to the use of LLMs, but the rules are what’s written, not what people think they should be. And I don’t see how we could possibly set a rule of “if you ever read the output of a LLM chatbot, you are not ever allowed to touch Haiku sourcecode again” (which no one suggested, but just as an example to show why it’s important to be very precise with the wording of these rules).
I also don’t want to use your work as a guinea pig for testing the current rules. So, if you don’t want to upstream it and enter a somewhat tense conflict zone, that’s fine too ![]()