Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zyga/lantern

Analysing Backlight on Linux
https://github.com/zyga/lantern

Last synced: 2 days ago
JSON representation

Analysing Backlight on Linux

Awesome Lists containing this project

README

        

Lantern - Analysing Backlight on Linux
======================================

The goal of the project is to improve the understanding and awareness of the
situation of screen backlight support on Linux. Currently the project is in
nascent state, collecting submissions created by lantern-collect and storing
them directly in this repository.

Resources
=========

Kernel Documentation
--------------------

- https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/ABI/stable/sysfs-class-backlight
- https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/ABI/testing/sysfs-class-backlight-driver-adp8870
- https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/ABI/testing/sysfs-class-backlight-driver-lm3533
- https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/acpi/video_extension.txt

Community
---------

- Personal page of an Intel engineer http://nikula.org/~jani/backlight/
- XDC2014 presentation by Hans de Goede on "Backlight kernel ABI discussion https://www.youtube.com/watch?v=VO7nU3-MGMw
- Article about backlight from a personal blog of Hans de Goede http://hansdegoede.livejournal.com/13889.html
- Lantern posts on my blog http://www.zygoon.pl/search/label/lantern

TODO
====

If you are interested in contributing you can start by following this list, any
idea is good though, just open issues, talk to us on IRC (``#checkbox`` on
freenode) or send emails to Zygmunt Krynicki
zygmuntkrynickicanonical.com

- Run ./lantern-collect and send me the resulting tarball
- Contribute answers to the questions listed below:
- Improve any of the data-analysis scripts in this repository (statistics,
graphs!)
- Create a plainbox provider that can perform the interactive tests
- Design open source hardware that can measure screen brightness
- Interface with existing measurement hardware

Open Questions
==============

Basics
------

- What are the values of ``/sys/class/backlight/*/max_brightness`` as seen in
the wild?
- What is the usage ratio of each of the three possible values of
``/sys/class/backlight/*/type`` (``raw``, ``firmware``, ``platform``)?
- When ``/sys/class/*/actual_brightness`` is zero is the backlight off or just
very dim?
- Do ``/sys/class/*/{actual_,}brightness`` agree when using hardware brightness
control keys?
- Do ``/sys/class/*/{actual_,}brightness`` change when using the hardware
brightness control keys?
- Does the firmware remember the value set by hardware brightness control keys?
- What is the value after reboot?
- Is there a difference between what happens in X and on vt*?

With extra hardware
-------------------

- What is the plot of distinct values of ``/sys/class/backlight/*/brightness``
against emitted light?
- Is there *off-the-shelf* hardware that can measure it?

Windows Factor
--------------

- What are the requirements of Windows hardware certification programme on the
backlight interface?
- What does ACPI say about brightness? (this is a personal learning goal)
- Are the values reported by Windows (using standard Windows APIs) identical to
what Linux sees?

Android Factor
--------------

- How does this work on AOSP
- How does it work in practice on available handsets?

Apple Factor
------------

- What does Apple offer as far as drivers and userspace control?
- What does Linux see when booting on Apple hardware?

Standardization
---------------

- Which relevant standards apply?

License
=======

Lantern is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License version 3,
as published by the Free Software Foundation.

Lantern is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with Lantern. If not, see .