No Description

chrys 4d33759404 fix voice 1 week ago
autostart 78d0a80f2a add runit files 4 weeks ago
config f6f0f7448a Keybindings for copy last utterance to clipboard set for laptop and desktop layouts. 3 weeks ago
contrib bdb366d9c3 change contrib structure, prepare rrpm, update AUR 3 months ago
docu 2b8fa39724 script to convert to manpage 2 months ago
experimental e39a5b301c make initial work 5 months ago
locale d43aab85fb Updated spanish translation 8 months ago
play zone fc53810e14 add marry example 3 weeks ago
src 4d33759404 fix voice 1 week ago
tools 8cf405bad1 Fixed lots of grammatical errors, install scripts using -f for copy to avoid errors whilst installing. 3 months ago
.gitignore 1b559ef722 remove stalled stuff 4 weeks ago
Changelog.txt 12878deadc add changelog 1 month ago
LICENCE dd8f7e05f9 add licence LGPLv3 10 months ago
Maintainer 4401c503ba restructure management files 11 months ago bcfc25a223 Update 3 weeks ago
TODO v2.0 4ae28544e6 Update TODO v2.0 1 week ago
bugs 8cf405bad1 Fixed lots of grammatical errors, install scripts using -f for copy to avoid errors whilst installing. 3 months ago 8963f8d476 Rename to 3 months ago 47042b0f75 fix wrong name 3 weeks ago
known bugs.txt b44f43c581 remove bug from todo list (not reproduceable anymore) 3 weeks ago 3d060d23df Update 3 weeks ago d9d7acf00b added some -f lags to suppress warnings 3 months ago


A TTY screenreader for Linux. In theory it's not just limited to Linux. but i currently only provide drivers for that since I do not have another system here. If you want to help, or write drivers to make it work on other systems, just let me know. This software is licensed under the LGPL v3 .

Requirements (core)

  • Linux (currently only screen and input drivers available)
  • python3 >= 3.3
  • python-configargparse
  • screen, input, speech, sound or braille drivers see "Features, Drivers, Extras".

Features, Drivers, Extras, Dependencies

Input Drivers:

  1. "evdevDriver" input driver for linux evdev
    • python-evdev >=0.6.3
    • python-pyudev
  2. This is commonly referred to as python3-evdev by your distribution
    • loaded uinput kernel module
    • ReadWrite permission
    • /dev/input
    • /dev/uinput

Screen Drivers:

  1. "vcsaDriver" screen driver for linux VCSA devices
    • python-dbus
    • Read permission to the following files and services:
    • /sys/devices/virtual/tty/tty0/active
    • /dev/tty[1-64]
    • /dev/vcsa[1-64]
    • read logind DBUS

Speech Drivers:

  1. "EspeakDriver" speech driver for Espeak or Espeak-NG:
    • python-espeak
  2. "speechdDriver" speech driver for Speech-dispatcher:
    • Speech-dispatcher
    • python-speechd
  3. "dummyDriver" speech driver for debugging

Braille Drivers:

  1. "BrlttyDriver" braille driver (WIP):
    • brltty (configured and running)
    • python-brlapi
  2. "dummyDriver" Braille driver for debugging

Sound Drivers:

  1. "genericDriver" sound driver for sound as subprocess:
    • Sox
  2. "gstreamerDriver" sound driver for gstreamer
    • gstreamer >=1.0
    • GLib
  3. "dummyDriver" sound driver for debugging


  1. spellchecker
    • python-pyenchant
    • aspell-YourLanguageCode (example aspell-en for us English)
  2. Unix daemon (also needed for Systemd):
    • python-daemonize
  3. Modify system volume:
    • pyalsaaudio (needs libasound2's headers).


  • Archlinux: PKGBUILD in AUR
  • Manual: run and as root
  • you also can just run it from Git without installing: You can just run the following as root: if you are in Fenrir Git rootfolder: cd src/fenrir/ sudo ./fenrir Settings "settings.conf" is located in the "config" directory or after installation in /etc/fenrir/settings. Take care to use drivers from the config matching your installed drivers. By default it uses:
  • sound driver: genericDriver (via sox, could configured in settings.conf)
  • speech driver: speechdDriver
  • braille driver: brlttyDriver (WIP)
  • input driver: evdevDriver


You can see all information on the Wiki: