I second that about Nvidia GPUs. While Linux hardware support is really good, there is plenty of common, mainstream hardware that never was and never will be supported by Linux, usually due to uncooperative manufacturers. For Nvidia, their non-free driver is terrible and the nouveau driver in Linux is hit-or-miss. (Note, many people use either of those successfully, but the likelihood of success drops rapidly with any of: multiple displays, the need to dynamically change outputs, multi-GPU Optimus hardware or even laptops in general, and fully functional hardware acceleration.)
Hopscotch
It's not exactly what you're wanting, but there is Remote Video Camera on F-Droid.
If I were doing it, I would look for an app that just implements the same basic functionality as a network-connected camera. Then video storage, alerting, motion detection, etc. would all be handled by something like zoneminder.
In my experience, printers in general are terrible, but HP LasetJet Enterprise m series printers are excellent.
I assume you are referring to the behavior when F-Droid has limited permissions with regard to app installation (but maybe you're referring to something else):
If F-Droid is included as part of the system, such as with CalyxOS, as a system app, or with the F-Droid privileged extension (if that's still offered), then the app updating/installation behavior is a lot more like what Play Store has.
Yes, Aurora Store works alright for that
By not using it.
Seriously though, F-Droid (a Play Store alternative) has a lot of nice apps.
[Can] a patch can kind of be like a hook?
In the free software world, a patch usually describes a file that lists lines to be added to or removed from another file (or multiple files). The most common use for this is probably with actual source code.
Binary (non-text) patches are also possible, and in Windows a software bug-fix "patch" would likely be mostly binary. In the free software world, it's uncommon to use binary patches for updates; instead the source is patched (either in the main upstream project or by a distribution) and a new binary package is built and published.
Where you create a config file that has symlinks to all the executables like you mentioned?
I don't really understand how those two questions relate, so I may not be able to give you a good answer. Often a configuration file has a variable=value
structure, but it would certainly possible to have a list of file paths in a configuration. However, this might instead be implemented as an actual directory (like ~/.config/app/pre-hook.d/
) where each executable file in that directory is executed by the "pre" hook in the app. (Configuration directories often work very similarly also.)
Whether the paths are symlinks is likely to be irrelevant, as this is more a filesystem level feature that would often be ignored entirely by the application.
I hope this is helpful.
A hook is a mechanism for adding functionality at a certain point in a program's normal flow. As a simple example, imagine a program that works by doing three things in order. It could have hooks that allow the user to add actions before or after any individual steps. Each possible point in the flow is a separate hook. One way to implement it is with a directory for each hook in the program's configuration directory, where executables can be placed; the hook runs each executable in sorted order.
I didn't look up any of this, so it may not be the best explanation, but I hope it is helpful.
From the README at the current published commit:
The current focus is on implementing next-word suggestions, which has become complicated/hit a snag and is taking more time than originally planned. Updates will come when this issue is resolved. Thank you for being patient.
Prior to this, releases occurred quite regularly.
Matrix doesn't require you to set up a server.
Codeberg is one option. I think they run Forgejo.