All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 0/8] video/console: Fix various DM_VIDEO console issues
@ 2019-03-23  1:29 Andre Przywara
  2019-03-23  1:29 ` [U-Boot] [PATCH 1/8] video/console: Fix DM_VIDEO font glyph array indexing Andre Przywara
                   ` (7 more replies)
  0 siblings, 8 replies; 34+ messages in thread
From: Andre Przywara @ 2019-03-23  1:29 UTC (permalink / raw)
  To: u-boot

The graphical console (vidconsole-uclass.c) for DM_VIDEO based display
drivers has several issues:
- Many ANSI sequences are not handled properly.
- The character set used is assumed to be the original IBM PC code
  page 437, even though the UEFI code expect the terminal to display
  UTF-8 encoded characters. Truetype fonts expect ISO8859-1.
- The USB keyboard does not handle arrow keys correctly.
- There is no visible cursor displayed.
- Truetype fonts only work in 16-bit screen modes.
- The maximum font width supported is 8 pixels.
- The "bmp" command to display bitmaps only works in certain video modes.

This leads to a very poor user experience, up to a point where
applications become unusable (Grub/EFI and U-Boot's bootmenu come to mind).

This patch set aims to fix the most important of those issues (the first
three). I have further patches to address the rest, but they are not so
nice or have issues, so I will send them later.

Patch 1/8 is a bug fix (for ASCII characters > 127). Patch 2-4 extend the
ANSI sequence handling. Patch 5 and 6 fix the character encoding for
the bitmap fonts. The USB keyboard learns about proper arrow key handling
in patch 7, while patch 8 fixes a minor Kconfig omission for sunxi.

After this series I can use both the bootmenu and Grub/EFI properly. Tested
on Sandbox and an Pine64-LTS board.

Cheers,
Andre.

Andre Przywara (8):
  video/console: Fix DM_VIDEO font glyph array indexing
  video/console: Implement reverse video ANSI sequence for DM_VIDEO
  video/console: Implement relative cursor movement ANSI handling
  video/console: Implement ANSI clear line command
  video/console: Factor out actual character output
  video/console: Convert UTF-8 codes to CP437 code points
  usb: kbd: Properly translate up/down arrow keys
  sunxi: allow boards to de-select SYS_WHITE_ON_BLACK font scheme

 common/usb_kbd.c                  |  24 +++++-
 drivers/video/Kconfig             |   2 +-
 drivers/video/Makefile            |   1 +
 drivers/video/console_normal.c    |   3 +-
 drivers/video/console_rotate.c    |   7 +-
 drivers/video/utf8_cp437.c        | 170 ++++++++++++++++++++++++++++++++++++++
 drivers/video/vidconsole-uclass.c | 113 +++++++++++++++++++++----
 drivers/video/video-uclass.c      |   1 +
 include/configs/sunxi-common.h    |   1 -
 include/video.h                   |   2 +
 include/video_console.h           |   9 ++
 11 files changed, 310 insertions(+), 23 deletions(-)
 create mode 100644 drivers/video/utf8_cp437.c

-- 
2.14.5

^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2019-04-17 13:36 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-23  1:29 [U-Boot] [PATCH 0/8] video/console: Fix various DM_VIDEO console issues Andre Przywara
2019-03-23  1:29 ` [U-Boot] [PATCH 1/8] video/console: Fix DM_VIDEO font glyph array indexing Andre Przywara
2019-03-30 21:18   ` Simon Glass
2019-04-09 21:03   ` Anatolij Gustschin
2019-03-23  1:29 ` [U-Boot] [PATCH 2/8] video/console: Implement reverse video ANSI sequence for DM_VIDEO Andre Przywara
2019-03-30 21:18   ` Simon Glass
2019-04-09 21:04   ` Anatolij Gustschin
2019-04-14 13:05   ` [U-Boot] [PATCH v2 " Anatolij Gustschin
2019-04-17 13:36     ` Anatolij Gustschin
2019-03-23  1:29 ` [U-Boot] [PATCH 3/8] video/console: Implement relative cursor movement ANSI handling Andre Przywara
2019-03-30 21:18   ` Simon Glass
2019-04-09 21:05   ` Anatolij Gustschin
2019-04-11 12:09     ` Anatolij Gustschin
2019-04-13 21:40       ` André Przywara
2019-04-14 12:54         ` Anatolij Gustschin
2019-04-14 21:49           ` André Przywara
2019-03-23  1:29 ` [U-Boot] [PATCH 4/8] video/console: Implement ANSI clear line command Andre Przywara
2019-03-30 21:18   ` Simon Glass
2019-04-09 21:05   ` Anatolij Gustschin
2019-03-23  1:29 ` [U-Boot] [PATCH 5/8] video/console: Factor out actual character output Andre Przywara
2019-03-30 21:18   ` Simon Glass
2019-04-09 21:06   ` Anatolij Gustschin
2019-03-23  1:30 ` [U-Boot] [PATCH 6/8] video/console: Convert UTF-8 codes to CP437 code points Andre Przywara
2019-03-30 21:18   ` Simon Glass
2019-03-31 18:28     ` Alexander Graf
2019-03-31 23:54       ` André Przywara
2019-03-23  1:30 ` [U-Boot] [PATCH 7/8] usb: kbd: Properly translate up/down arrow keys Andre Przywara
2019-03-30 21:18   ` Simon Glass
2019-04-01  0:04     ` André Przywara
2019-04-01  1:58       ` Simon Glass
2019-04-09 21:06   ` Anatolij Gustschin
2019-03-23  1:30 ` [U-Boot] [PATCH 8/8] sunxi: allow boards to de-select SYS_WHITE_ON_BLACK font scheme Andre Przywara
2019-03-30 21:18   ` Simon Glass
2019-04-09 21:07   ` Anatolij Gustschin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.