Go to file
2021-05-31 13:28:06 -04:00
autostart remove systemd file from installation 2018-06-18 00:31:59 +02:00
config Updates to the pty2.conf keyboard layout. 2021-05-31 13:28:06 -04:00
contrib change contrib structure, prepare rrpm, update AUR 2017-07-25 10:29:58 +02:00
docu fix some bad stuff 2018-07-21 02:04:44 +02:00
experimental/selinux make setup.py initial work 2017-05-25 13:43:33 +02:00
locale add russian translation 2020-04-20 13:22:02 +07:00
play zone detect device only once 2019-10-21 23:11:13 +02:00
realese nots sync 2019-10-22 01:06:54 +02:00
src try fix key repeat of ctrl 2021-05-27 01:10:01 +02:00
tools Update generate_translations.sh 2020-04-21 09:41:43 +07:00
.gitignore cleanup 2019-01-22 00:37:07 +01:00
bugs folder restructuring 2018-09-11 02:43:03 +02:00
check-dependencies.py check_dependency: check for espeak-ng instead of espeak 2021-02-02 11:08:31 +01:00
CREDITS Credits file updated. 2018-06-10 20:33:27 -04:00
install.sh Updated install.sh so that all keyboard layouts will be installed. 2021-02-22 17:51:36 -05:00
LICENCE add licence LGPLv3 2016-12-30 19:54:27 +01:00
README.md update reade 2020-04-23 01:31:14 +07:00
requirements.txt Update requirements.txt 2019-01-28 14:51:11 +01:00
setup.py Update setup.py 2021-05-17 14:32:59 +02:00
TODO v2.0 Update TODO v2.0 2019-08-21 12:18:06 +02:00
TODOv3.0 folder restructuring 2018-09-11 02:43:03 +02:00
uninstall.sh Update uninstall.sh 2018-06-12 11:36:52 +02:00

Fenrir

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

Speech Drivers:

  1. "genericDriver" (default) speech driver for sound as subprocess:
  • espeak or espeak-ng
  1. "espeakDriver" speech driver for Espeak or Espeak-NG:
  • python-espeak
  1. "speechdDriver" speech driver for Speech-dispatcher:
  • Speech-dispatcher
  • python-speechd
  1. "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
  1. "gstreamerDriver" sound driver for gstreamer
  • gstreamer >=1.0
  • GLib

Extras:

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

installation

  • Archlinux: PKGBUILD in AUR
  • PIP: sudo pip install fenrir-screenreader
  • Manual:
  • install "espeak" and "sox" with your package manager
  • sudo pip install -r requirements.txt
  • run install.sh and uninstall.sh 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

Configure pulseaudio

Pulseaudio by default does only play sound for the user its currently running for. As fenrir is running as root, your local user does not hear the sound and speech produced by fenrir. for this fenrir provides a script to configure pulseaudio to stream the sound played as root to your local user. Last is playing the sound then. This is not a issue of fenrir but this is how pulseaudio works.

just run the configuration scipt twice (once as user, once as root).

Run: configure_pulse.sh sudo configure_pulse.sh

The script could also be found at /tools/ in git

localization

copy fenrir.mo translations file from fenrir/locale/your_language/LC_MESSAGES/fenrir.mo to /usr/share/locale/your_language/LC_MESSAGES/fenrir.mo

Documentation

You can see all information on the Wiki: https://wiki.linux-a11y.org/doku.php?id=fenrir_user_manual