microcai / utty

KMS and CUSE based userspace /dev/tty?? device implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

The VT of Linux is complex but still works, well, just works.

How do you managed to have VT support unicode? I mean being able do display CJK or some other non-latin word.

No, you can't. (Yes, you can , see http://repo.or.cz/w/linux-2.6/cjktty.git)

What's more, how about RTL(Right To Left) text ? The above patch won't help.

VT in fact is viewed as /dev/ttyXX char device. XX range from 0 to 63

Say, if we can implement /dev/ttyXX in userspace, then the userspace implementation draws to KMS or framebuffer,
we can overcome the shortage of the VT.
Even pango can be used to support complex text layout!

Question is, will we be able to implement DRIVER in userspace? If so, how?

CUSE is the answer to you all. We implement VT in userspace daemon called uttyd, then PID 1 can swapon agetty to use /dev/uttyXX. uttyd then use SDL to draw directly to framebuffer or to an system compositor.

FAQ:

1: Why not use pty ?
to use pty, agetty must be child of PID 1, PID 1 must be responsible to draw to KMS/framebuffer. That's too bad to put that stuff in PID 1.

2: Why SDL ?
To be able to be future Wayland client of a system compositor. SDL will have Wayland backend.
Also we can debug under X :)

3: A demo Video?
Sure http://v.youku.com/v_show/id_XNDI5MDIwOTQ4.html
We chinese people are not allowed to access GOOGLE service. :( . So no youtube video.

4: why not cjktty?
The upstream don't like it. :(
Some feature so hard to be implemented inside the kernel

About

KMS and CUSE based userspace /dev/tty?? device implementation

License:Other


Languages

Language:C 99.8%Language:C++ 0.1%Language:Objective-C 0.1%