No Description

chrys c1c20f8a1f Update 1 week ago
autostart d554fb4bf3 remove systemd file from installation 7 months ago
config 1c27bfde65 Merge branch 'storm' 4 months ago
contrib bdb366d9c3 change contrib structure, prepare rrpm, update AUR 1 year ago
docu 453869e9af fix some bad stuff 5 months ago
experimental e39a5b301c make initial work 1 year ago
locale 6089d0c768 Added a polish translation 2 months ago
play zone b2c5fef4f1 folder restructuring 4 months ago
realese nots 65d4d8b411 add release notes 3 months ago
src c1c20f8a1f Update 1 week ago
tools 93921dfd01 fix ignore/ungignore 3 months ago
.gitignore 1b559ef722 remove stalled stuff 1 year ago
CREDITS 5c66426f26 Credits file updated. 7 months ago
LICENCE dd8f7e05f9 add licence LGPLv3 2 years ago da7c36f0b6 Update 3 months ago
TODO v2.0 d01bd47833 Merge branch 'bleed' 3 months ago
TODOv3.0 b2c5fef4f1 folder restructuring 4 months ago
bugs b2c5fef4f1 folder restructuring 4 months ago 547c9302b0 fix dependency check 7 months ago 6c5fb412ed remove systemd file from installation 7 months ago fd8fcbdb8f raise version 4 months ago dc7d8229a3 Update 7 months ago


A modern, modular, flexible and fast console screenreader. It should run on any operating system. 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.

OS Requirements

  • Linux (ptyDriver, vcsaDriver, evdevDriver)
  • macOS (ptyDriver)
  • BSD (ptyDriver)
  • Windows (ptyDriver)

Core Requirements

  • python3 >= 3.3
  • screen, input, speech, sound or braille drivers dependencies see "Features, Drivers, Extras".

Features, Drivers, Extras, Dependencies

Input Drivers:

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

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
  2. "ptyDriver" terminal emulation driver
    • python-pyte

Speech Drivers:

  1. "genericDriver" (default) speech driver for sound as subprocess:
    • espeak or espeak-ng
  2. "espeakDriver" speech driver for Espeak or Espeak-NG:
    • python-espeak
  3. "speechdDriver" speech driver for Speech-dispatcher:
    • Speech-dispatcher
    • python-speechd
  4. "emacspeakDriver" speech driver for emacspeak
    • emacspeak

Braille Drivers:

  1. "BrlttyDriver" braille driver (WIP):
    • brltty (configured and running)
    • python-brlapi

Sound Drivers:

  1. "genericDriver" (default) sound driver for sound as subprocess:
    • Sox
  2. "gstreamerDriver" sound driver for gstreamer
    • gstreamer >=1.0
    • GLib


  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
  • PIP: sudo pip install fenrir-screenreader
  • 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: genericDriver (via espeak or espeak-ng, could configured in settings.conf)
  • braille driver: brlttyDriver (WIP)
  • input driver: evdevDriver


You can see all information on the Wiki: