Commit Graph

60 Commits

Author SHA1 Message Date
Carsten Haitzler 57e8805005 ddc - fix animation blocked by slow ddc response with multi screen
just by luck the queue "play catchup" happens to have a classic
scheduling issue. one screen always wins, the other always loses as we
play catch-up in the request queue so one is starved of "scheduling
slots" while the othe rgets them all. this fixes that by moving the
entire request queue into the thread work queue in one go so they all
get an equal chance. now botjh my desktop monitors dim smoothly on
idle like my laptop... smooooooooood
2020-02-06 19:47:04 +00:00
Carsten Haitzler eab2a34ef3 backlight - add ddc support via libddcutil
This adds ddc monitor control and glues it into the backlight system.
A result of this is now backlgiht control gadgets work screen by
screen and even on desktop monitors as well as on a laptop panel. If
you now put a backlight gadget on a shelf on each screen... it will
control THAT screen's backlight.

This requires libddcutil to be installed. That will require i2c
modules (i2c-dev specifically). This means that this is likely not
going to do anything useful on bsd's... unless libddcutil happens to
work there by chance.

so install ddcutil/libddcutil. ensure it's in ld.so.conf so setuid
root processes find it (as LD_LIBRARY_PATH won't help) and enjoy your
new funcky per-screen backlight controls... :)

@feature
2020-02-06 18:41:23 +00:00
Carsten Haitzler bac870bf61 malloc.h - bsd does not like me including it... 2020-01-18 01:33:21 +01:00
Carsten Haitzler 5b5c7c3cb3 e system - force a malloc trim regularly to keep back-end proc minimal 2020-01-16 12:09:49 +00:00
Carsten Haitzler 63ae3290fb e system - remove test tool as we can't use it anymore
it'll just be a fight between e and a cmdline tool - so no more test
tool needed. this is off the ground.
2020-01-16 11:59:12 +00:00
Carsten Haitzler 7e47977d9a printf format macros - put them in the right places for no warnings 2020-01-15 19:06:24 +01:00
Carsten Haitzler 72a2f7e8aa e system cpufreq - silence bsd warnings for unused params and ifdefs 2020-01-15 19:06:24 +01:00
Carsten Haitzler fb9948738b e system test - fix warnings about aligned types 2020-01-15 19:06:24 +01:00
Carsten Haitzler 72496cbfeb e system backlight - fix bsd size type for sysctl 2020-01-15 19:06:24 +01:00
Carsten Haitzler f57572b678 e system - add new uber setuid tool to replace all the previous ones
so e has had a bit of a mess of setuid root tools to do things that
are essential to maintaing a functioning desktop/laptop/tablet/phone
like device like shutting it down or suspending or sqizzling the cpu
governor or messing with the backlight or... you get the idea.

this has been spread around enlightenment_sys and other special
purpose tools. this now unifies it into a single "always there"
enlightenment_system backend setuid root slave process whose job it is
to do all these things via a stdio protocol in an organized way. this
means latency to do something is lower, but at the expense of
consuming ram and a lurking process. unfortunately the lurking will be
needed soon when i add ddc support to make it even vaguely efficient,
so it's a cost i guess we have to pay now. we'll need this in future
as well for some stats collection and more.

still need to port existing code to use this instead of the existing stuff,
and then remove of the old stuff.
2020-01-15 11:33:49 +00:00