I finally got a round to try and compile a kernel with CONFIG_VT enabled for CM13.0, in particular, temasek's unofficial version - though I suspect it might work for plain CM13 as well. I'm attaching it in case anyone else wants to give it a try - in principle, it seems to be working, although I'm having some problems (see below).
I've got a few interesting problems, although I suppose it's probably one underlying problem. Like @priccis, I cannot start the framebuffer from inside Linux Deploy - that is, I kind of can, but I get a black screen and the Linux Deploy console has several lines from the Xserver starting, the crucial one being as for @priccis: no screens found. (Ok, currently I don't get that message anymore, but still only black screen.)
With your Linux Canvas app, amazingly I managed to "boot" into my XFCE desktop and I can see that the framebuffer method seems indeed way more responsive than the xserver-app one. Unfortunately, there's the major problem that the screen flickers like mad between white and my linux desktop. So unfortunately not really usable in this state. I hope this is a problem that's easy to solve as I'd be eager to really compare the framebuffer and xserver methods.
After closing Linux Canvas, and actually even after stopping the chroot in linux deploy (the volume down button to un-chroot didn't seem to work), I got a flickering of my linux desktop over what I was seeing in Android. Initially it was large bits on the screen, then only in the status bar. Now it has totally stopped. So something seems to be going wrong with the framebuffer at some point.
Any pointers as to how I could solve this would be welcome! For the moment, I'll have to setup my system again for independent reasons, but will have a look again when I next get a chance.
My guide is for Samsung Roms. In Samsung Roms once LinuxDeploy takes the upper hand of the framebuffer it never let's it go unless and until you'd stop the chroot environment and/or give focus to an android app.
In CM -I suspect- things are different where both Android and chroot fight for dominance in equal terms. The solution (so that to stop the flickering) most possibly is to completely stop the android stack ("adb shell stop") and *then* start linuxdeploy ("...bin/linuxdeploy start") ... unfortunately that's not a method I'm willing to support as it completely kills the point of having linux on Android as I envisioned it in this guide (having it side by side , instead of actually killing Android beneath).
There is probably a work around which is going to allow that to happen without having to kill the android stack, but that's the solution to my issue "2" which as I have said I have very little time to investigate.
It's not that I don't want to support CM13 either, it's merely that it is very much is a work in progress and IMO not a daily driver, so there may still a lot of issues to be solved with the Rom before even attempting running Linux on top in a stable manner. Good luck with your attempts though, if you manage to make it run (probably by stopping the android framebuffer) I would link to your method in my main post.
BTW , have you followed my guide? If not you have not followed the step 2b, maybe that's why you're getting the flickering (force refresh framebuffer must be off). You can also try my quick guide for faster results...