kallisti5@xxxxxxxxxxx wrote: > +uint32 > +AllocateFB(uint32 size, const char *description) First of all, a graphics driver can be used by more than one application concurrently. Therefore, you need to lock everything you do properly, and your locking functionality need to be shared among all possible clones of the accelerant. Second of all, this is way too poor an implementation for proper memory management - and completelt unnecessary as well, as the solutions are already out there waiting to be used. You should probably be either using Thomas's memory_manager.c (see add- ons/kernel/drivers/graphics/common), or go all the way and implement an AGP GART module (which probably makes most sense only for shared memory these days, as it allows you to only occupy the memory that is actually needed). For the former, the existing radeon driver can show you how to use the memory manager, for the latter, you could have a look at the Intel driver, and the intel_gart.cpp GART module in src/add- ons/kernel/busses/agp_gart/. HTH. Bye, Axel.