I've just found kmscon, and apart from a few initial troubles, it's running fine. I can't seem to get an image viewer to run though
For example, without it, just using the framebuffer, I can run "fbi" "fbv" "fim" etc to display images. If I try the same under kmscon, I get:
ioctl VT_GETSTATE: Inappropriate ioctl for device (not a linux console?)
So now I have more text colors... but much less functionality
Anyone have any suggestions if this can be fixed? I'm presuming it's just something simple I'm missing here
It's because kmscon is not the kernel console. It is just a terminal emulator like fbterm
True. But in this case fbi etc checks to see if it is running from a virtual terminal and then proceeds (fbtools.c:331)
The below should work (it does for me inside X). It will switch to a new tty and then display the image
sudo fbi -T 6 -d /dev/fb0 image.jpg
I'm interested in KMSCON for a long time, but never had enough time to try it out. Sadly it was clear to me, that fbi and smiliar tools which rely on the framebuffer and VT can't work with the modern approach of KMSCON. Would be interessting to see, if that workaround works. I'm pretty sure this type of applications (fbi or mplayer) which rely on VT/FB needs to be rewritten, possibly using directly OpenGL (hey, let use the shiny new parts) or some sort of Layer (SDL2).
Intel prepared the kernel for dusk of the framebuffer device already:
CONFIG_DRM_I915_FBDEV=y # of course still on for compatibility
I hope I'm not to lazy and maybe investigate how to write some kind of new image viewer, which could run inside KMSCON without FBDEV.
crondog's workaround works as long as the vt you're switching to is not running kmscon but the linux console. I've managed to lock myself out (non-responsive keyboard) from my system a couple times while using it.
KMSCON is nice, but rather heavy and it seems you have to kill it (not just 'exit', like a linux console) to get the memory back. I can't even start X from it:
/usr/bin/Xorg.wrap: Only console users are allowed to run the X server xinit: giving up xinit: unable to connect to X server: Connection refused xinit: server error (II) AIGLX: Suspending AIGLX clients for VT switch (II) AIGLX: Suspending AIGLX clients for VT switch
You can try it on one tty and see if you like it:
# sysmtectl disable email@example.com # systemctl enable firstname.lastname@example.org
Adjust the service to your needs.