I'm going to get to a follow up post as some point once I've digested and not thrown up more of the code.
But essentially providing any sort of DRI infrastructure on this where you want user processes to directly access the RPC interface, could be a security problem.
The GPU can access anything in RAM it wants afaik, and we've no idea what the complete command space the RPC interface covers. If there is any possibility that you can get the GPU do to something bad via the RPC interface, then you would need to audit all commands sent from userspace against a known list of safe ones in the kernel driver.