5 ms·
Please think architecture (2007)
- hcarvalhoalves 7y agoWho's right? Trees couple hierarchy into information, and there lies the problem. Same thing could be modelled as a table, and allow both views: root hw vendor_submodule acpi vendor fujitsu vendor_feature lcd_brightness submodule backlight feature brightness value 4 Architecture ain't easy...
- lilyball 7y agoI'm not aware of any sysctl values that can be accessed from two separate paths.
- ahartmetz 7y agoIIRC there are many values like that. There are "subsystem" or "driver" directories that don't even look like symlinks but lead into other subtrees. You can use such inter-subsystem links to create infinitely long sysctl paths.
- twblalock 7y agoWhy is it necessary to include vendor information in a setting like this? The value, which represents the user’s desired brightness setting, could be an opaque number and the device driver could be responsible for translating that into whatever is needed to make the display behave.
- asveikau 7y agoThe freebsd laptop I'm writing this on has: $ sysctl -a | grep brightness hw.acpi.video.lcd0.brightness: 50 compat.linuxkpi.i915_invert_brightness: 0 So if you want to write a script that works both, you need to put fujitsu-specific knowledge in your script. Vs. alternatively, an interface that works everywhere. (Incidentally I think this sysctl doesn't do much and I instead use a utility called intel_backlight(1) from ports.)
- aphextron 7y agoWhat laptop are you using for freebsd? Also what desktop environment? I've tried forever to get a BSD laptop setup working.
- asveikau 7y agoLenovo X1 Carbon 6th gen. I don't use a big "desktop" like gnome, just a normal/light X setup resembling the 1990s. Lately it's dwm. Sometimes I do others. Some things that might save you some time in loader.conf: acpi_video_load="YES" acpi_ibm_load="YES" Also, had to set ACPI to "Linux" mode in bios. After that plus the two lines above, suspend works. Also, xf86-video-intel from ports. Wifi is slow but I'm ok with that. Long ago I used OpenBSD on a laptop, and in my experience, with thinkpads, it has a bit more of a "just works" feel than FreeBSD for hardware support. But I'm on freebsd because of a few things that don't work on openbsd these days [like linux binary emulation].
- jonhohle 7y agoFor what value of working? I have a Lenovo X220 that works mostly fine. Sleeps on lid close, WiFi, trackpad. I don’t use it often, I keep it as a disposable backup, but it works.
- ryanthedev 7y agoI like how the abstraction point is at LCD. It's abstracting a specific hardware type, not a hardware feature.
- clarry 7y agoAnd this is why we still have lots of applications where it's difficult or impossible to bind certain inputs. Someone had a mental image of a typical keyboard, then a typical mouse, and that's what we're stuck with. It's not like the sixth thumb button in my mouse is very different from the Print Screen key on my keyboard or the X button in my wireless gamepad. And that's why tools that make your input device X emulate a different type of input device Y are common (but annoying to set up since the setup is going to be application specific). I'm not aware of a single API that offers a sufficiently device-agnostic view of inputs that you can write the application code once and then let the user bind anything they can connect to their computer somehow. The USB spec actually comes close since it starts at the actual hardware inputs (toggle switch, button, relative motion, absolute motion, etc.) and their range, and then offers hints about their intended usage or meaning. It's the layers above that suck.
- viraptor 7y agoHas this changed since 2007? (don't have any freebsd available to check)
- livueta 7y agoGuess not: https://www.freebsd.org/cgi/man.cgi?query=acpi_fujitsu&sektion=4&manpath=FreeBSD+12.0-RELEASE https://www.freebsd.org/cgi/man.cgi?query=acpi_fujitsu&sekti... > hw.acpi.fujitsu.lcd_brightness From man acpi_fujitsu on an actual system: SYSCTL VARIABLES These sysctls are currently implemented: hw.acpi.fujitsu.lcd_brightness Makes the LCD backlight brighter or dimmer. hw.acpi.fujitsu.pointer_enable Enables or disables the internal mouse pointer. hw.acpi.fujitsu.volume Controls the speaker volume. hw.acpi.fujitsu.mute Mutes the speakers.
- cnst 7y agoLooks like it's still the same in 2019, based on documentation: * http://bxr.su/f/s?q=lcd_brightness http://bxr.su/f/s?q=lcd_brightness * http://mdoc.su/f/acpi_fujitsu.4 http://mdoc.su/f/acpi_fujitsu.4 Fun fact: PHK posted the above "architecture" rant only a couple of months prior to vetoing the import of OpenBSD's hw.sensors framework into FreeBSD (October 2007). Isn't that ironic? FreeBSD still doesn't have a sensors framework to this day. Meanwhile, NetBSD will be celebrating 20 years of envsys(4) in a few months. And the count of sensor drivers in OpenBSD is currently at about 111 individual device drivers (yes, over a hundred different drivers — everyone gets a sensor in OpenBSD).
- dooglius 7y agoSo what happens if you plug your laptop into a docking station that has its own backlight? What if a new laptop comes out that has multiple backlights (perhaps of different colors)? In both of these circumstances the assumption that there is one backlight is faulty and not future-proofed. Not to mention that the units don't carry over from one vendor to another.
- cnst 7y ago> Not to mention that the units don't carry over from one vendor to another. Who cares about the units? When was the last time you used a vendor-provided utility to configure a Network Interface Card, instead of just using ifconfig (if you're on BSD)? On OpenBSD, there's also bioctl for RAID management, too — https://en.wikipedia.org/wiki/Bioctl https://en.wikipedia.org/wiki/Bioctl. And sysctl hw.sensors for temperature sensors and more. How's brightness any different? It's a percentage value from 0 to 100%. Would the user really care how many internal settings a given machine has, and that 100% is really just 16 internally?
- theamk 7y agoSure they do! When I press "brightness up" shortcut on my keyboard, I want my laptop to brighten by 1 physical step, or by 2%, whatever is bigger. Having to press the key multiple times just to get any effect is super frustrating.
- cnst 7y agoI think those shortcuts are often handled by the driver itself, so, it'll already know the required stepping. Another option could be to provide such stepping explicitly as another sysctl. Otherwise, realistically, the keyboard shortcut stepping could simply be assumed to have only 16 variations in the first place, even if you're still using a percentage point through the interface.
- delusional 7y agoYou expose a second, more specific, value. Then provide a useful fallback for when you set the old generic value. If you have a multicolored backlight, then a user of the old abstraction just wants white. If there's multiple backlights, you could just dim them all. This is what an abstraction is. The abstraction doesn't need to cover all possible cases in the future. You just have to pick what that abstraction will mean for your new thing when you have it.
- jeremyspurz 7y agoWelcome to illuminati brotherhood where you can become rich famous and popular and your life story we be change totally. I am here to share my testimony on how I join the great brotherhood Illuminati and my life story was change immediately . I was very poor no job and I have no money to even feed and take care of my family I was confuse in life I don’t know what to do I try all my possible best to get money but nothing works out for me each day I shared tears, I was just looking out for my family no money to take care of them until one day I decided to join the great Illuminati , I come across them in the internet I never believe I said let me try I email them. all what they said we happen in my life just started it was like a dream to me they really change my story totally . They give me the sum of $500,000,000 and many other things as benefits. through the Illuminati I was able to become rich, and have many investments on my own and become famous and popular in my country , today me and my family is living happily and I am the most happiest man here is the opportunity for you to join the Illuminati and become rich and famous in life and be like other people and your life will be changed totally. If you are interested in joining the great brotherhood of Illuminati Visit Illuminati World Now on their official website at http://www.illuminatiworldnow.com/ http://www.illuminatiworldnow.com/
- ryanthedev 7y agoNegative. Backlighting is vendor specific. Different implementations offer different configurations. I do agree you probably want a base object for inheritance, exposing a common interface wouldn't be a good idea. No matter what, you need to implement your abstraction. You're always going to end up with a list of vendor specific implementations.
- cnst 7y ago> Negative. Backlighting is vendor specific. Different implementations offer different configurations. Are you joking? For an analogy, do any NIC vendors even provide their own tools for configuring their Ethernet cards? And even if some do, how many people actually bother to use those, instead of OS-specific utilities like ifconfig? How's backlighting any different here?
- regularfry 7y agoThe networking analogy would be things like DPDK, where yes, you do need to know what the hardware is doing, and yes, there's vendor-specific support. The answer to "how many people bother" would be "as many as have a damn good reason to do so." http://doc.dpdk.org/guides/nics/overview.html http://doc.dpdk.org/guides/nics/overview.html shows the non-homogeneity of NIC feature support across vendors; if you don't care about this stuff, there's no reason to know it, but if you do, it's make or break.
- cnst 7y agoSure, that's a lot of variation. Sure, some of these features are essential for certain applications, like checksum offload etc. However, most of these features are still uniform enough that a whole bunch of them are supported by standard drivers included with all BSD operating systems, and configurable with the standard ifconfig of each BSD, too: http://mdoc.su/-/ifconfig.8 http://mdoc.su/-/ifconfig.8 The fact that you even have a whole table with these features shows that these features are not that difficult to categorise and unbrand to be general enough to have OS-defined behaviours and configurations for.
- mntmoss 7y agoThe "generic" one is necessarily a UI to the device, not the actual device, because there's always some kind of special casing or variation in an abstract property like that. Having the UI is of benefit when it serves as a building block, but not if it cuts off customization for some task.
- movieswebsite 7y agohttps://tezmovieswebsite.blogspot.com/2019/10/tara-mira-2019-punjabi-movie-download.html https://tezmovieswebsite.blogspot.com/2019/10/tara-mira-2019...
- twic 7y agoHis next post on that list, on a different subject, is also pretty entertaining: https://lists.freebsd.org/pipermail/freebsd-arch/2007-August/006764.html https://lists.freebsd.org/pipermail/freebsd-arch/2007-August...