uterm: drm: reread dpms state on wakeup
[platform/upstream/kmscon.git] / NEWS
1 = KMSCON Release News =
2
3 CHANGES WITH 6:
4         * Allow arbitrary paths with --vt (kmscon)
5
6         * xkbcommon is now mandatory. We need it to handle keyboard input
7           properly and since xkbcommon-0.2.0 is released, there is no reason to
8           not depend on it.
9           We also removed the plain-input backend with this change.
10
11         * Snap window to console/font-size on resize (wlterm)
12
13         * Adjust to new libwayland-1.0 (wlterm)
14
15         * Many new command-line options for wlterm including --term, --login,
16           --palette, --sb-size and many --grab-* options.
17
18         * fake-VTs no longer react on SIGUSR1/2. This was always broken and now
19           removed.
20
21         * --switchvt works again and is now enabled by default.
22
23         * --xkb-model was introduced. The other --xkb-<rmlvo> options also use
24           system-defaults instead of us-keymap as default value now.
25
26         * wlterm works properly in maximized and fullscreen mode now
27
28         * key-presses are now properly marked as "handled" so it is no longer
29           possible for two subsystems to handle the same key-press.
30
31         * wlterm can now zoom the font size with ctrl+Plus/Minus
32
33         * TSM now supports screen selections. wlterm is hooked up with this and
34           supports this, too. However, the VTE layer has not seen this yet so
35           everything is computed in the terminal for now. Next kmscon release
36           will include client-side mouse-protocol support.
37
38         * Copy/Paste now works with wlterm
39
40         * Key-repeat has been reworked and now allows adjusting repeat and delay
41           times.
42
43         * Session support allows for multiple terminals (sessions) inside of
44           each seat. You can switch between the sessions, kill them and create
45           new terminals via keyboard shortcuts. Also several other sessions than
46           terminal sessions were introduced. However, all of them are
47           experimental and shouldn't be used.
48
49         * TSM now supports alternate screen buffers. They're enabled by default.
50
51         * Configuration handling has been reworked. Multiple config-files can
52           now be parsed and each seat has its own configuration file in
53           /etc/kmscon/<seat>.seat.conf.
54
55         * The build-tools have been reworked. They should now work properly with
56           any option-combination imaginable.
57
58         * --login option can now be used in config-files.
59
60         * We print hints if keyboard-shortcut names are written with wrong
61           capitalization.
62
63         * Improve systemd integration
64
65         * CDev sessions emulate enough of the VT API to make X-Server run as
66           kmscon session. You can even run kmscon in default-mode as client in
67           another kmscon manager.
68
69         * Bold fonts are now supported.
70
71         * kmscon.1 manpage is available now.
72
73         * ... and a lot of bugfixes
74
75 CHANGES WITH 5:
76         * Idle sources are now faster registered and unregistered so they can
77           be used for any scheduling tasks
78
79         * eloop got pre- and post-dispatch hooks to inetgrate external
80           event-loops better
81
82         * Added pkg-config files for eloop, tsm and uterm
83
84         * Added xkbcommon-keysyms.h as fallback
85
86         * fakevt got removed. It is now integrated into kmscon core and is no
87           longer needed.
88
89         * Cleaned up unicode, console and vte layer. It is now a fully
90           independent library calles TSM.
91
92         * All helpers were prefixed with SHL_* and can be used in any project
93           inside of this repository. They are linked statically and mostly
94           inlined code.
95
96         * VTE layer now handles ALT key
97
98         * fbdev devices are automatically used if they are not run by DRM
99           drivers. Use --fbdev to force the use of fbdev devices only.
100
101         * --vt=<num> now selects the TTY to use by kmscon on seat0
102
103         * Added wlterm, a native terminal emulator for Wayland
104
105         * Lots of bugfixes! Thanks to all the bug-reporters!
106
107 CHANGES WITH 4:
108         * The "conf" subsystem was modularized so we can use it in other
109           binaries as well. It is also much easier to add new parameters now.
110
111         * Remove internal dependencies. Several subsystems will be split into
112           separate libraries (like eloop, uterm, vte+console) so we should avoid
113           any internal dependencies between these. This shouldn't affect
114           performance, though.
115
116         * New --seats argument which allows to specify what seats kmscon is
117           running on.
118
119         * The old vt.[ch] subsystem is now merged into uterm_vt.c and a fake VT
120           backend was added. This allows to activate/deactivate kmscon via
121           keyboard shortcuts. This is for debugging only, though.
122
123         * The VTE layer was extended a lot to support more advanced control
124           sequences and fix several bugs.
125
126         * --dumb now forces kmscon to use non-accelerated rendering
127
128         * The scrollback buffer now works. You can specify keyboard shortcuts
129           via --grab-* options. Default is: <Shift>Up/Down/Prior/Next
130
131         * GL_EXT_unpack_subimage is not required anymore.
132
133         * _Lots_ of speed improvements in the rendering path.
134
135         * The unifont font backend was added. This is similar to 8x16 but has a
136           lot more characters.
137
138         * ... and a lot of bugfixes
139
140 CHANGES WITH 3: (development release)
141         * VTE support has been improved greatly. vt220 should be supported fully
142           except for multi-line characters.
143
144         * glib dependency removed. Hashtables and unicode support is now
145           implemented in kmscon.
146
147         * Configfiles are now supported. /etc/kmscon.conf and ~/.kmscon.conf are
148           read by kmscon on startup. They can include the same options as the
149           command line options of kmscon. However, command-line options have
150           precedence.
151
152         * Multiple video objects are now supported per seat. That is, if you
153           have more than one graphics card per seat, all of them will be used by
154           kmscon. Multiple displays were supported from the beginning.
155
156         * Modularized input backend. The XKB backend is fully optional and can
157           be activated/deactivated during runtime. The Dumb backend has been
158           renamed to "plain".
159
160         * The eloop library is fully documented and should be API stable from
161           now on.
162
163         * The font renderer subsystem has been rewritten and replaced with a new
164           subsystem which can load different font-renderers during runtime.
165           Several backends including static 8x16 backend has been added. It is
166           possible to compile kmscon without freetype2/pango dependencies now.
167
168         * 2D blitting to framebuffers has been improved greatly. More devices
169           are supported now and blending is available, too. The 3D devices have
170           been updated to support these blitting operations via OpenGL. This may
171           be slow on older devices, though.
172
173         * New text renderer subsystem has been added. It can load multiple
174           different text-renderers during runtime. The default renderer (bblit)
175           uses 2D blitting operations to render text. However, the gltex
176           renderer is also available (optionally) which renders with OpenGL
177           textures. This can improve performance greatly on modern devices.
178
179         * Gcc optimizations are now enabled by default to improve rendering
180           performance.
181
182 CHANGES WITH 2: (development release)
183         * Build scripts were improved and simplified. They also allow much more
184           control about the build process now. The source was split into several
185           different libraries.
186
187         * Added llog.h helper for logging in libraries.
188
189         * Eloop was moved into separate library and supports more more
190           use-cases now. It can be used as a standalone project.
191
192         * Terminal emulator (vte.c) was improved a lot and can run vim now.
193
194         * Console layer was rewritten and is now much faster and much more
195           standards compliant.
196
197         * Uterm monitor was added. The monitor uses udev and systemd-logind to
198           watch the system for new seats and devices. This allows us to run on
199           multiple seats simultaneously and being hotplug-capable.
200
201         * Uterm vt layer was added. This simply wraps the older VT layer so we
202           can switch to different VT systems on-the-fly.
203
204         * New uterm video backends: The fbdev backend is now fully functional
205           kmscon can run on any fbdev device now. Furthermore, the dumb backend
206           was added which is simply an unaccelerated DRM backend that should
207           work even without EGL, GL, gbm, etc.
208
209         * New 2D rendering API. In case OpenGL is not available, we now allow
210           blitting images into the framebuffer. This is used for fbdev and dumb
211           video devices.
212
213         * Font renderer now depends on pango. This is is needed only until I get
214           the time to rewrite the freetype backend. But for now we depend on
215           pango so have full font support.
216
217         * lots of small fixes
218
219 CHANGES WITH 1: (development release)
220         * First kmscon release. For testing purposes only. Includes a rendering
221           pipeline and a very rundimentary terminal emulator.