this post was submitted on 28 Jan 2024
1640 points (99.1% liked)
linuxmemes
21211 readers
57 users here now
Hint: :q!
Sister communities:
Community rules (click to expand)
1. Follow the site-wide rules
- Instance-wide TOS: https://legal.lemmy.world/tos/
- Lemmy code of conduct: https://join-lemmy.org/docs/code_of_conduct.html
2. Be civil
- Understand the difference between a joke and an insult.
- Do not harrass or attack members of the community for any reason.
- Leave remarks of "peasantry" to the PCMR community. If you dislike an OS/service/application, attack the thing you dislike, not the individuals who use it. Some people may not have a choice.
- Bigotry will not be tolerated.
- These rules are somewhat loosened when the subject is a public figure. Still, do not attack their person or incite harrassment.
3. Post Linux-related content
- Including Unix and BSD.
- Non-Linux content is acceptable as long as it makes a reference to Linux. For example, the poorly made mockery of
sudo
in Windows.
- No porn. Even if you watch it on a Linux machine.
4. No recent reposts
- Everybody uses Arch btw, can't quit Vim, and wants to interject for a moment. You can stop now.
Please report posts and comments that break these rules!
founded 1 year ago
MODERATORS
Way back in the olde tymes, I was having trouble with the NIC driver in my Linux install. I posted a question about it on USENET, and got a reply from the guy who wrote the drivers. He asked for some info about the card, then updated the driver to support it.
Damn... now that's a wholesome moment 🥹.
There used to be a lot of cards based on same or similar chips, but with small differences. That made little changes to drivers common. It's a bit like LCD modules or audio chipset quirks. One driver with tons of little differences depending on what each manufacturer decided to do differently.
Yeah, I know, that's why the kernel with the drivers is not more than 150MB. Otherwise, you'd have the Windows situation where driverpacks compressed with 7z (LZMA2, solid archive, 273 word dictionary size and 2GB decompression memory, which requires about 128GB of RAM to compress) take about 30GB.
You have to pack the driver from each manufacturer because of signatures, even though they might even be the same with other drivers in the pack... but, REV differs and oh well, the driver installer doesn't recognize that driver as a valid one for that device.
Of course, the kernel drivers are now commonly signed. The real problem is catering to manufacturers demanding to have their own bespoke driver pack, often including some stupid branded management application, when it's just the same as the other dozen manufacturers packaging of the same product. Then you end up with bloated "driver packs" and a system tray of a half dozen vendors screaming for you to pay attention to them and know that they are somehow contributing to your experience.
In Linux, you have a kernel driver and a myriad of vendor's pci ids mixed together and the vendors just have to deal with it. As a side effect, a USB to serial dongle is about 99% likely to work in Linux, and in my experience 90% unlikely to work in Windows (can't find the driver for it, or in one very prominent case Microsoft bans drivers of counterfeit chips that function fine, but violate IP rights). Punishing the counterfeiters may have been understandable, but ultimately the unwitting customers paid rather than the counterfeiters (they still sold their devices, but the users that were oblivious suffered).
This is exactly why I use driverpacks in Windows (3rd party, like SDI). If the drivers are not in the pack, I download them from the manufacturer and if they're packed with an app, I just extract the whole thing and point Windows (through manual driver update) to search for the drivers in that location. It will install only what it needs to work, nothing else.
Or they did know, but the copy was a lot cheaper than the real thing. Hell, I've done it. If it does the same thing, why buy the more expensive thingie. I get IP rights and all that, but seriously, in the end, you just have to deal with these things. Unless you're Intel, you should expect your device/chip to end up being copied. China doesn't enforce western world IP laws, so it's a "free for all" kind of a thing there. If you plan on doing this (making your own device/chip), your device/chip better be niche enough so it's not viable to actually copy the design. Otherwise, copies will pop up left and right.
The worst of these is Bluetooth. I bought a USB dongle with a chipset said to be compatible.(CSR 8510 A10) Then I found it was a knockoff version of the chipset with some weird ass quirks that make it incompatible with the official drivers. To this day it's the one thing I never bothered to try and fix, even though others have succeeded in making the fix. The fix wasn't something I could easily turn into a DKMS module as I have no idea how to do that, and as a result it had to be compile with the kernel manually and I want ready to go diving into kernel and at the same time also trying to work out exactly what the quirks were.
I eventually bought a dongle with a chipset that worked was either not a knockoff or it was a perfect reproduction. It worked flawlessly, and I've bought more since then for PCs with no Bluetooth support.
Back in the day I was running GLTron on an Athlon 1800+ w/Nvidia GeForce FX 5200 (I think?) and I was running dual monitors. GLTron didn't like using both screens since it presented as a peculiar resolution. So I emailed the GLTron dude and he quickly emailed me a patch that let me run the game across both monitors (bezels not an issue because I was doing multiplayer split screen).
What a great game.