-
Notifications
You must be signed in to change notification settings - Fork 0
Home
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.
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...
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.
This Wiki consists of four main parts (pages):
- Documentation of Linux FF API (part of kernel ABI)
- Supported Devices (FF support by kernel)
- Driver Features (kernel space)
- Interesting Applications and Libraries (user space)
Internal topics that would otherwise render these four Wiki pages too large, deserve their own page.
Each internal problem/suggestion/topic requires
- a description and motivation,
- a difficulty level,
- and completion status,
where appropriate.
means: Unknown
means: Easy
means: Moderate
means: Hard
means: Almost impossible
means: Not yet started
means: Research/Development started
means: Approximately working prototype
means: Working, but needs more love
means: Done
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.