[RFC 0/3] drm: Add DRM text mode
Noralf Trønnes
noralf at tronnes.org
Thu Jul 28 14:15:04 UTC 2016
This patchset explores the idea of adding a DRM text mode
(like VGA text mode) to get an alternative to fbcon/fbdev.
David Hermann has done alot of work on a fbcon replacement:
- drm: add kernel-log renderer (Mar 2014)[1]
- kmscon:
development started Nov 2011
added to systemd Oct 2014
removed from systemd Jul 2015[2]
Since this work seems to have stalled, I propose an alternative solution
to this problem that will also give VT console support while we're waiting
for a userspace console.
The idea is that the driver provides a modeset like with the fbdev emulation
code, and from this a text buffer representation is made. The console code
can now write to this text buffer and ask for the text buffer to be
flushed/rendered to the pixel buffer.
In this hack/implementation of the idea, I have just hijacked a CMA backed
fbdev framebuffer to keep it simple.
I have reused the default buffer format that VT uses.
Getting panic handling to actually work, seems to be a challenge as Daniel
describes on the DRMJanitors page[3].
Is this idea of a DRM text mode worth developing further?
Noralf.
[1] https://lwn.net/Articles/589858/
[2] https://github.com/systemd/systemd/pull/747
[3] https://www.x.org/wiki/DRMJanitors/#makepanichandlingwork
Noralf Trønnes (3):
drm: Add support for text framebuffer
drm/text: Add panic and boot console support
drm/text: Add VT console support
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/drm-text/Makefile | 5 +
drivers/gpu/drm/drm-text/drm-text-buffer.c | 340 ++++++++++++++++++++++++++++
drivers/gpu/drm/drm-text/drm-text-console.c | 205 +++++++++++++++++
drivers/gpu/drm/drm-text/drm-text-debugfs.c | 295 ++++++++++++++++++++++++
drivers/gpu/drm/drm-text/drm-text-vt.c | 197 ++++++++++++++++
drivers/gpu/drm/drm-text/drm-text.h | 99 ++++++++
7 files changed, 1142 insertions(+)
create mode 100644 drivers/gpu/drm/drm-text/Makefile
create mode 100644 drivers/gpu/drm/drm-text/drm-text-buffer.c
create mode 100644 drivers/gpu/drm/drm-text/drm-text-console.c
create mode 100644 drivers/gpu/drm/drm-text/drm-text-debugfs.c
create mode 100644 drivers/gpu/drm/drm-text/drm-text-vt.c
create mode 100644 drivers/gpu/drm/drm-text/drm-text.h
--
2.8.2
More information about the dri-devel
mailing list