Skip to content
Elias Vanderstuyft edited this page Jul 24, 2016 · 3 revisions

This page first describes the mission of this Wiki, followed by the motivation and content overview, followed by the modus operandi used throughout this Wiki, and ends with some conventions to enable efficient public collaboration.

Mission

The mission of this Wiki is to inform users and developers of various aspects of Force-Feedback (FF) support on Linux. The key thing here is to make all information public, and collaboration is strongly encouraged: by the community, for the community.

Collaboration can be done in many ways: by giving suggestions, ideas, writing documentation, testing stuff and provide feedback, creating tools, etc.

Eventually, running and creating FF applications on Linux should feel/program better than on non-free operating systems (such as Windows). However, if the experience on Windows improves because of this work, that's also good...

Motivation

A number of problems exist with the current FF support, and can be split up into two levels:

  • API level
  • Implementation level

Multiple FF APIs exist for Windows, of which some things are poorly documented, and have mutual contradictory parts. Adding the current Linux FF API only contributes to this problem. There is a clear lack of standardization.

On the implementation level, almost all gaming devices have worse FF driver support on Linux compared to Windows, currently. Additionally, the number of FF-enabled Linux applications is much lower compared to Windows-only applications.

Aside from these problems, we can make a difference by, to begin with, standardizing a well-documented API that is more capable than competitors.

Contents

This Wiki consists of four main parts (pages):

Internal topics that would otherwise render these four Wiki pages too large, deserve their own page.

Modus Operandi

Each internal problem/suggestion/topic requires

  • a description and motivation,
  • a difficulty level,
  • and completion status,

where appropriate.

Difficulty Levels

Difficulty Level: Unknown means: Unknown
Difficulty Level: Easy means: Easy
Difficulty Level: Moderate means: Moderate
Difficulty Level: Hard means: Hard
Difficulty Level: Almost impossible means: Almost impossible

Completion Status

Completion Status: Not yet started means: Not yet started
Completion Status: Research/Development started means: Research/Development started
Completion Status: Approximately working prototype means: Approximately working prototype
Completion Status: Working, but needs more love means: Working, but needs more love
Completion Status: Done means: Done

Conventions

Everyone is allowed and encouraged to make edits to this Wiki, and create new Wiki pages if needed. When doing so, please provide a meaningful Edit Message.

When embedding an image, ideally the original image data should be copied to this repository's file system, unless not possible due to license conflicts. This is to avoid dead links. If you don't have write access to the repo's file system, either ignore this convention, or post an Issue to ask for permission.

Questions/discussions should be asked/performed using GitHub Issues, to keep the Wiki pages readable.

The repo's file system serves as limited data storage (images, documents, etc.), and may also contain code examples and small tools. Big applications/projects belong in their own repositories.

Clone this wiki locally