xfce4-terminal measured 154.7 ms on the same synthetic workload.
ktrem
A Kryon-built terminal for Linux desktops. The target is simple: become a practical xfce4-terminal alternative with fast output, familiar tabs, rich terminal compatibility, and honest public benchmarks.
$ ktrem -x make test --tab
ok terminal
$ make benchmark-parser
ansi_flood 27 ms
unicode_table 7 ms
dense_sgr 13 ms
resize_reflow 739 ms
Alt+1..Alt+8 switch tabs directly.
Benchmarks
Measured against xfce4-terminal
The GUI suite runs both terminals inside Xvfb so it does not interrupt the active desktop. Results are averaged across three isolated runs with KTREM_ACTIVE_FPS=1000 and KTREM_PTY_BURST_MS=8. The clipboard and find workloads send the same held shortcuts to both terminals.
| Workload | ktrem avg | xfce4-terminal avg | State |
|---|---|---|---|
| Startup payload | 0.0 ms | 1.7 ms | matched |
| ANSI flood, 18k lines | 81.7 ms | 187.0 ms | faster |
| Unicode table, 6k lines | 18.0 ms | 93.0 ms | faster |
| Alternate-screen redraw | 22.3 ms | 61.0 ms | faster |
| Dense SGR styling | 84.0 ms | 91.3 ms | faster avg |
| Long wrapped output | 42.7 ms | 114.0 ms | faster |
| Scrollback flood | 86.7 ms | 107.7 ms | faster |
| Cursor matrix updates | 72.7 ms | 124.3 ms | faster |
| External clipboard paste | 206.3 ms | 256.7 ms | faster |
| External find dialog | 613.0 ms | 635.7 ms | faster avg |
OSC 8 link-heavy output, compared with xfce4-terminal at 276.7 ms.
Parser-only repeated reflow improved from 2393 ms after streaming reflow work.
120 external X window resizes under Xvfb; xfce4-terminal averaged 177.3 ms.
29-line X clipboard payload pasted with Ctrl+Shift+V into a raw-mode target; xfce4-terminal averaged 256.7 ms.
Ctrl+Shift+F over an 18k-line corpus, submit, close, and return to PTY input; xfce4-terminal averaged 635.7 ms.
Parity
Close, but not declared done
ktrem is already competitive on synthetic throughput and has a large terminal-compatibility surface. The remaining work is about server/drop-down behavior, packaging, and broader real-desktop validation.
Implemented
- Tabs with
Alt+1throughAlt+8direct switching. - Search across scrollback and visible terminal content.
- Copy, paste, primary selection, bracketed paste, and OSC 52 clipboard handling.
- OSC 8 hyperlinks with Ctrl-click opening.
- Profiles, font path, font size, colors, scrollback, cursor style, and session restore.
- Sixel images, mouse reporting, alternate screen, xterm title/color controls, and XTGETTCAP reports.
Xfce launch coverage
--command,-e,--execute, and-x.--working-directory,--default-working-directory,--title, and--geometry.--fullscreen,--maximize,--drop-down, and border visibility flags.--tabmulti-spec launch up to the current 8-tab session limit.
Remaining before a full alternative claim
- Broader workflow validation beyond the current Xvfb benchmark suite.
- Broader live-resize validation across real desktop window managers.
- Real multi-window launch and single-instance command server behavior.
- Repeated-invocation drop-down visibility toggle.
- Fontconfig-backed fallback for missing glyphs beyond static fallback paths.
- Desktop file, icon packaging, release assets, and terminfo decision.
Features
Built for real terminal work
Fast output path
PTY output uses an adaptive active-output cadence and bounded drain burst to keep heavy shell output moving without locking the idle UI to a high frame rate.
Familiar keyboard model
Tab navigation, copy/paste, find, zoom, page scrolling, and direct tab switching follow the shortcuts terminal users expect.
Terminal compatibility
SGR styling, alternate screen, mouse modes, focus reporting, sixel, xterm OSC controls, modifyOtherKeys, and DEC private reports are covered in the parser.
Kryon integration
The app uses Kryon for windowing, rendering, input, system theme integration, and platform hooks while keeping terminal-specific behavior in ktrem.
Install
Build ktrem locally
ktrem currently builds from source against a neighboring Kryon checkout. Install commands and package links will move here as release assets become available.
git clone https://github.com/kryonlabs/kryon.git
git clone https://github.com/kryonlabs/ktrem.git
cd ktrem
make
make test
make install
Roadmap
Remaining engineering plan
Broaden benchmark coverage
Add longer real-desktop workflow runs beside the existing output, clipboard paste, find, and live-resize Xvfb suites.
Close launch/server parity
Add real separate windows, single-instance command routing, and drop-down toggle behavior.
Fix missing glyphs completely
Add fontconfig fallback so box drawing, Powerline, CJK, symbols, Greek, and Cyrillic can resolve from installed system fonts.
Move renderer work into Kryon where reusable
Keep ktrem logic in ktrem, but add reusable Kryon primitives for a retained GPU terminal-grid renderer when the design is proven.