Necessary part from nouveau_channel_new to get a clean screan are: - nouveau_channel_ind - nouveau_channel_init, but only the beginning: - vram creation - gart creation - dma variables initialisation There are some MEM_CACHE errors, but at least it boosts and screen is clean. I found out that nouveau_abi16_ioctl_channel_alloc was also calling nouveau_channel_new, but with other arguments for vram and gart, and it is called whether or not acceleration is enabled. Is there a specific reason to call at first nouveau_channel_new only when acceleration is enabled, and later on when starting the GUI, to always call it?