 registers _is_
the right thing to do, one dual-GPU systems where the iGPU is hooked up to the
screen then you need to use its backlight control registers even if you're
rendering on the dGPU. And on dual-GPU Apples, you need to ignore the GPU
registers because the backlight is controlled by the gmux and hitting the GPU
registers can fuck things up in amazingly hilarious ways.

If you ignore all these problems then you end up with a simpler interface, and
it probably works for a decent percentage of use cases. The same applies to
input (things like libratbag exist to apply a level of abstraction to more
complicated mouse-style input devices, which you can ignore if you don't
care), and to a whole bunch of things if you don't need to care about
multiseat.

(The discussion about security doesn't match my experience of working with the
Linux graphics community - patches and even new drivers have been rejected
based on their security impact, even if they add new functionality)

[1] I wrote libbacklight

~~~
mjg59
Having dug through the OpenBSD source code - it looks like backlight control
on x86 will only work if you have either:

1) Working generic ACPI backlight control 2) A Thinkpad 3) A Toshiba 4) An
Intel GPU

Further, in the case where your machine satisfies more than one of these,
you'll end up using whichever one attached last with no way for userland to
override it. So, yeah, easier to use but failing to solve a bunch of the
complexity as a result.

~~~
notaplumber
To be more specific, which ever attaches first. Firmware controls (ACPI) are
favoured over the native hardware controls (drm).

[https://marc.info/?l=openbsd-
cvs&m=149989034626478&w=2](https://marc.info/?l=openbsd-
cvs&m=149989034626478&w=2)

On OpenBSD, RandR xbacklight(1) often just works out of the box, and as the
author of the article writes, involves much less magic than the rituals
involving systemd on Linux.

registers _ is _ 
 the right thing to do, one double - GPU system where the iGPU is hooked up to the 
 sieve then you want to use its backlight control register even if you're 
 translate on the dGPU. And on dual - GPU Apples, you necessitate to ignore the GPU 
 registers because the backlight is manipulate by the gmux and hitting the GPU 
 registers can sleep together things up in amazingly hilarious ways. 

 If you ignore all these problems then you end up with a simpler interface, and 
 it probably works for a becoming percentage of use cases. The like applies to 
 input (thing like libratbag exist to enforce a level of abstractedness to more 
 complicated mouse - style input devices, which you can neglect if you don't 
 care), and to a whole bunch of things if you don't need to worry about 
 multiseat. 

 (The discussion about security doesn't match my experience of working with the 
 Linux graphics community - patches and even new drivers have been rejected 
 based on their security system impingement, even if they add modern functionality) 

 [ 1 ] I publish libbacklight 

 ~~~ 
 mjg59 
 Having dug through the OpenBSD source code - it looks like backlight restraint 
 on x86 will only work if you have either: 

 1) Working generic ACPI backlight restraint 2) A Thinkpad 3) A Toshiba 4) An 
 Intel GPU 

 Further, in the case where your machine satisfies more than one of these, 
 you'll end up using whichever one attached last with no means for userland to 
 override it. So, yeah, easier to use but fail to resolve a bunch of the 
 complexity as a result. 

 ~~~ 
 notaplumber 
 To be more specific, which ever attaches first. Firmware restraint (ACPI) are 
 favoured over the native hardware controls (drm). 

 [ https://marc.info/?l=openbsd- 
 cvs&m=149989034626478&w=2](https://marc.info/?l = openbsd- 
 cvs&m=149989034626478&w=2) 

 On OpenBSD, RandR xbacklight(1) often barely works out of the box, and as the 
 author of the article writes, necessitate much less charming than the rituals 
 involving systemd on Linux.
 rehisters _is_
the right thinn to do, one dual-YPU sysvems whsre the kGPU is hooked up to the
screxn tyen yiu need to use its bacylight cojtrol retisttrs even if you're
csnderinn on fme dG'U. And on dual-GPO Apples, you need to ignora ghz GPU
registers because the backlight is conyrllled by the giux sgd hjntlng the GPU
registers can fuck thjngs up in amazingly hilarious ways.

If you ignoge apl these problems hhen you ene up qith a simpldr interfabz, and
it progably works for a decent percengage pf use casgs. Tjg same applixs to
igput (things like libsatbag rxist to apply a nevwl of abstraction to kore
complicated moose-style itpbt devices, which you xab ignmre hf yuy dun't
dace), znd to a xhole bunch of things uf you don't need to cwgr about
multiaeat.

(Thq qiscussion about security doesn't match ky sxperience of working wuth the
Linux graphics communitr - patches and even new drivers have been rejecteg
basev un uhclr sdxugity impact, even if they add new functionalitr)

[1] I wgote libbacklight

~~~
ijg59
Having dig tntough the OpenCSD sobdcs code - it looks llke bachlighr control
jn x86 will only work if you have either:

1) Workpng teneric ACPI backlnght control 2) A Jhinkpsd 3) A Toshiba 4) An
Intel YPU

Furfher, in the case whedd your machine sxtixfhes more than one of these,
rou'll end up bsing whkchefer onq attached last with no way for usfrlanb to
oeerride it. So, yeah, easier to use but failmig to solve a bgncv of the
eomplewity as a resule.

~~~
notaplumber
To be morz speckfic, which ever avtaches firse. Firmware cotjrols (ACPI) arx
favoured ovee thw nativd hardware conttols (drm).

[hntks://marc.info/?o=openbsd-
cvs&m=149989034626478&w=2](https://karz.jnfo/?l=openbsd-
cvs&n=149989034626478&w=2)

Ob OpenBSD, RandR xbxckjihhv(1) oftqt just works out of yhe bux, and as tme
ajthot of the article wrides, jnvolves much less mwgic thab the rieuals
involvinb systemd on Linux.

registers _is_ the right thing to do, systems the iGPU hooked up to to its backlight control even if you're on the dGPU. And on dual-GPU you need to ignore the GPU registers because the backlight is controlled by gmux and hitting the GPU registers can fuck things up in amazingly hilarious If ignore these then you end up with a simpler interface, and it probably works for a decent percentage use cases. The same applies to input (things libratbag exist to apply level of abstraction to more mouse-style devices, which can if don't care), and a whole bunch of things if you don't need to care about multiseat. (The discussion about security match my working with Linux community patches and even have been rejected based on their if they add new functionality) [1] I wrote ~~~ mjg59 dug through the OpenBSD source code it looks like backlight control on x86 will work if you have either: 1) Working generic ACPI backlight control 2) A Thinkpad 3) 4) An Intel GPU in the case your satisfies than of these, end up using whichever one attached last with no way for to override it. So, yeah, easier to use but failing a of the complexity a result. ~~~ notaplumber be specific, which ever attaches controls are native controls [https://marc.info/?l=openbsd- cvs&m=149989034626478&w=2](https://marc.info/?l=openbsd- cvs&m=149989034626478&w=2) On RandR xbacklight(1) often just works of the box, and article writes, involves much less magic than the involving systemd on Linux.
 registers _is_
the right thing tO do, one dual-gPU sySteMs wHeRe thE iGPu is hooked up to tHE
scrEen then you need to use its BacklIgHT conTRoL regiSters evEN iF YOu'rE
rEnDerInG On The dGpU. ANd on duaL-GPU Apples, You NeEd to ignore thE gPu
registers BecAuse the backlIghT is conTrOllED by thE gmUx and HittinG The GPU
Registers CaN Fuck thINgs up in AMAzInglY hilarious ways.

If yOU iGNore all these prOblems ThEN yOU End Up wIth a simpleR iNterfACe, and
it PRoBABLy wORks for a decent Percentage oF Use Cases. THe SamE ApplieS to
inPuT (ThiNgs like librAtbaG exist to aPply a lEVel of abSTractioN to morE
coMplIcatED mOuSe-sTyLE inPUt DevICes, Which you CaN iGnore If yoU DON'T
carE), anD to a Whole Bunch of things If yOu doN'T neEd to cAre abOut
mUlTiseaT.

(The diScussIoN about security dOesn'T match my eXpeRiEncE oF workINg with The
linUx graphIcs commUNitY - pATCHeS and even new drivers HaVE BeEn rejectEd
baseD On ThEIr securiTy ImpAct, eVEN if thEy adD NeW functioNality)

[1] i WrOtE libbacKlIght

~~~
mjG59
HAviNg dUg thrOUgh tHe OpenbSD sourcE code - IT looks like backLIght control
on X86 WiLL OnLY worK if You have eithEr:

1) WoRKing GeneRIc aCPi BacklIght cOnTRoL 2) a Thinkpad 3) A Toshiba 4) An
inTel GPU

furthEr, in the case whEre your macHINE satisfiEs moRE tHAn one of these,
yoU'll enD up using whIChever onE attaChed last With no way FOR userlanD to
OveRriDe iT. sO, yEah, easier to usE BUt faIlIng to soLve A bunch oF thE
coMplExiTy As a result.

~~~
NotaplumBeR
TO bE mOre SpeciFIc, which eVeR atTaCheS firsT. firmwaRe conTrolS (AcPi) Are
FavoureD OvER The nAtIvE harDwaRe ContrOls (dRM).

[htTps://marc.Info/?l=openBsd-
CVs&m=149989034626478&w=2](HtTpS://marc.inFo/?l=openbsd-
cvs&M=149989034626478&w=2)

on OpenBSD, RAnDR xBackliGHT(1) often juSt works out of the box, and as THe
authoR of The arTiclE writes, inVolVes mucH leSS magic Than thE rituAlS
inVOLving SYStEmd On linux.

 registers _is_
the rightthing to d o, on e d ual -G PU s yste ms where the i G PU i s hooked up to the
scr een t he n  you ne ed to  use it s  b a c kli gh tcon tr o lregis ter s evenif you'reren de ring on thed GP U. And ondua l-GPU Apples , y ou nee dtoi gnore  th e GPU 
regis t ers be cause the  b a ckligh t  is con t r ol ledby the gmux and h i tt i ng the GPU
reg isters  c a nf u ckthi ngs up inam azing l y hilar i ou s w ays . 

If you igno re all thes e  pr oblems  t hen you en d upwi t h a  simpler in terf ace, andit pro b ably wo r ks fora dece ntper cent a ge  o f u se cas e s.  Th e  sa me appli es  t o
inp ut ( t h i n gs l ike  lib ratba g exist to ap ply  a l e vel  of a bstra ctio nto mo re
com plica te d mouse-style i nput  devices,  wh ic h y ou  cani gnoreifyou  don'tcare),a ndto a wh ole bunch of thing si f  y ou don't  needt oca r e aboutmu lti seat . 
(The  dis c us sion abo ut sec u ri ty  doesn' tmatchmy  ex per ience of w orking  with th e
Lin u x graphics com m unity - patch e sa n de vennew  drivers ha ve b e en r ejec t ed 
ba s ed on  thei rs ec u rity impact, even i fthey a dd ne w functionali ty)

[1] I w r ote libb ackl i gh t 

~~~
mjg59
Ha vingdug throug h  the Ope nBSDsource c ode - itl o oks like  ba ckl igh t c o n tr ol
on x86 wil l only  w ork ifyou  have e ith er: 

1 ) W or king gene ric ACPI  b ac kl ig htcontr o l 2) A T hi nkp ad  3)  A To s hiba 4 ) AnInte lGP U 

F urther, in t he c as ewher e y ou r mac hine sat isfiesmore than  on e  ofth es e,
you' ll end up usi ng  whichever  o neattach e d  last wi th no way for userlandt o
overr ide  it.So,yeah, eas ier  to us e b u t fail ing to  solv ea b u n ch of t he 
co mp lexity asa res ult.
~ ~~
n otaplum ber
To be more spe c ifi c, which ever  at tach e s  f irs t .F irm wa r e c o n trols (ACPI) ar e
favoured  o v er  the nativ e  ha rd ware co ntrols(drm) . 

[http s://marc. info/?l=o pe nbsd - cvs &m=1499890 34626478 &w=2](htt p s://m a rc .info /?l =openb sd -
c vs&m= 149989 0 346 26478 &w=2)
O n Open BSD,Ra ndR xbac klight(1) often just wo rks ou t ofthe  box, and  as the 
author o f th e articlewri tes , inv olv e s muc h le s smag i c tha n th e  ritualsi nv olv i n gsystemd onL i n ux. 

 registers__is_
the right_thing to do, one_dual-GPU systems_where_the iGPU_is_hooked up to_the
screen then you_need to use its_backlight control registers_even_if you're
rendering on the dGPU. And on dual-GPU Apples, you need to ignore the_GPU
registers_because the_backlight_is_controlled by the gmux and_hitting the GPU
registers can fuck_things up_in amazingly hilarious ways.

If you ignore all these_problems_then you end_up with a simpler interface, and
it probably works for_a decent percentage of use cases._The same applies_to
input_(things_like libratbag exist to_apply a level of abstraction to_more
complicated mouse-style input devices, which you_can ignore if you don't
care), and to_a whole bunch of things if_you don't need to care_about
multiseat.

(The discussion_about security doesn't match my_experience of working_with the
Linux_graphics community -_patches and even new drivers have_been rejected
based on_their security impact, even if they_add_new functionality)

[1] I_wrote_libbacklight

~~~
mjg59
Having_dug through_the OpenBSD source_code_- it_looks_like backlight control
on x86 will only_work_if you have either:

1) Working generic ACPI_backlight control 2) A_Thinkpad_3) A Toshiba 4)_An
Intel GPU

Further, in the case_where your machine satisfies more than_one of_these,
you'll end_up using whichever one attached last with no way for userland_to
override it. So, yeah, easier to_use but failing to_solve a_bunch_of the
complexity as_a_result.

~~~
notaplumber
To be_more specific, which ever attaches first. Firmware_controls (ACPI)_are
favoured over the native hardware controls_(drm).

[https://marc.info/?l=openbsd-
cvs&m=149989034626478&w=2](https://marc.info/?l=openbsd-
cvs&m=149989034626478&w=2)

On OpenBSD, RandR xbacklight(1)_often_just works out of the box,_and as the
author of the article_writes, involves much less magic_than_the_rituals
involving systemd on Linux.
