(In reply to comment #12) > Can you try if Johannes' patch from comment 8 fixes the problem? i tried the to use the relevant part of the patch: i added '__attribute__((visibility("default")))' in front of r600_init_query_functions. but it didn't works. i'm not a mesa developer but i think that you should do something like this: edit shared structs to have shared data at the top: see attached #84840 find every shared function and check that data accessed from function it's in the shared ones. if not you have to do an "if(sizeof(arg) == sizeof(struct r600_struct))" to determine how to read/write that data. a well-done job it's to make a folder with all the shared code ( function and structs ) and use hardware-specific wrappers functions. happy developing guys :)