And of course they had to shoehorn some AI bullshit in it
(why I installed this driver: because i can remap the two extra buttons as copy/paste)
Actual driver code: about 500KB. If that.
500KB used to be the entire OS, application, drivers, and user data. Oh well.
They didn’t have mice that far back.
The original Macintosh had 128k of ram.
RAM is active. It doesn’t hold the entire OS when in use even now.
The entire MacOS including finder and the tools was 216KB on the 400KB floppy.
um wut
I have several Logitech peripherals. Why in the fuck does it need AI?!?!
I mean, this was their idea last year…
I feel like “AI Mouse” is right up their alley.
Because CEOs.
To communicate with the 5th version of software they have somehow released between the time the product was created and you bought it.
We live in the age of bloated software.
The Internet is so bloated because every page is bursting with telemetry and spa framework bullshit that over engineers a fucking music recital site.
Saving this to share at work. What an abomination that, I am sorry you have to deal with it
,
X mouse button control
It can’t detect some of the fancier buttons and gestures but it can often pickup buttons 4 and 5 for remapping, and it does chording and long press options to give you multiple functions without any AI bullshit.
maybe this will help, if you wanted to ditch the logi driver:
https://github.com/pwr-Solaar/Solaar
Solaar is a Linux manager for many Logitech keyboards, mice, and other devices that connect wirelessly to a Unifying, Bolt, Lightspeed or Nano receiver as well as many Logitech devices that connect via a USB cable or Bluetooth. Solaar is not a device driver and responds only to special messages from devices that are otherwise ignored by the Linux input system.
piper is also great. openrgb works too if all you want is to change led colors.
Saving this for later.
take it to the bushes.
Bewbs
I hope one day theres something similar to this, but for 8bitdo.
I have an 8bitdo keyboard, and in order to map my buttons, I need to boot up a windows 10 hard drive, do my one time edits, save them to the keyboard, and THEN I can turn off the pc, swap back to my ZorinOS hard drive, and THEN I can go about as normal.
And if for some reason somethings wrong, or didn’t take, I’d have to repeat the whole process all over again.
All because the keyboard manager doesn’t work on linux. But it’s not logitech.
Sell the 8bitdo keyboard and buy one instead that is capable of running with QMK or ZMK firmware and is configurable by either VIA or VIAL.
…now are those real words, or are you picking out random spoonfuls of alphabet soup?
QMK and ZMK are FOSS firmwares that can run on Atmel AVR and ARM chips like the RP2040.
VIA or VIAL are config utilities that you can use to remap your keyboard on the fly.
I’m going to assume these are open source apps because for some reason that’s how those guys like to name stuff.
Wait for YaQMK and vmk-ng then YaVMK-ngx, which will be forked to yaamksubwthn
Trust the process. Just buy a VIA or VIAL enabled keyboard and enjoy ra easy graphical setup.
Wooting keyboards are also really nice, and are configured through a web interface. It’s also a Dutch company, so if you want to buy European it’s definitely a good choice :)
A web interface? Is the keyboard running a webserver or is it remotely managed by the manufacturers website?
I’m confused about configuring keyboards via web app.
Nah just a website you navigate to and then it communicates over USB. There’s a desktop app too but it’s just an electron wrapper.
I have a Flydigi gamepad and I can use a virtual machine with tiny11 to change the configuration. The connection isn’t super stable but for the few times I have to do it, it works.
Does this require libratbag?
Does this mean I can finally stop going back a page when I nudge my mouse the wrong way??
wtf AI in your mouse driver?
Oh yeah, totally not logging your every mouse movement, no sir, not at all!
It’s training itself to pass those mouse based “I’m human” checks that some sites use.
That’s hilarious. But might actually not be a joke.
The driver for your mouse occupies a few kilobytes. The shitty app and AI garbage bloatware occupies the rest.
Use the offline installer, which is for offline and airgapped machines. It turns off the AI prompt builder as well as all the telemetry shite:
https://support.logi.com/hc/en-us/articles/11570501236119-Logitech-Options-offline-installer
AI prompt builder? What? It’s a fucking mouse???
It is repulsive to me in its entirety but apparently the vibe coders dig it.
Why should that be bundled with peripherals… doesn’t seem to be a good “synergy”.
“Vibe coders” read as “fucking idiots”
But it has AI? If your mouse doesn’t have AI, you’re living in the past
Edit:
postpastOne could say they are streets behind.
for this?
Give me the past or give me death
Logitech, the data company?!?!
We detected you moved your mouse. Downloading 1GB of AI telemetry and 3GB of user experience optimizations…
Fuck electron, fuck “web first” apps, fuck the “all application in the future will be websites” mentality.
The sad reality of the end of Windows dominance.
I get what you are saying and this is definitely a factor but I think the bigger influencer was mobile adoption. As soon as smartphones took off it was inevitable that we would see a surge in cross platform frameworks/libraries.
The fact we tackled this problem by shifting everything to web apps was also inevitable given the more simplistic deployment requirements and maintenance costs of a website vs native application.
I feel like I am shouting to the void when I talk about performance of modern software being unbelievably bad.
Yeah, I can see how it ended up like that, and it would at least be nice if Windows accepted that and had one copy of the browser rather than every app installing it’s own just in case of breaking changes.
And it would also be really nice if it only clogged the system for when it needs to show a UI, but I’ve got a ton of background processes that are also running a browser just in case today is the day that I finally need to see them. Just looking down task manager now at some suspect large processes, I can see a Razer “mouse driver”, Epic, Discord, Steam, Nvidia, Oculus, NordVPN, Signal…
None of these things need to be running a browser while I’m not looking at them.
But hey, lets throw another 32GB of RAM in there, and another dozen cores, and maybe we can achieve the dream of running each of them all in their own fucking operating system as well…
Yeah and unfortunately it’s going to get worse when AI agents are also always running in the background (which is inevitable, let’s be honest).
Proton proves that you don’t need to run on a web browser for cross platform compatibility. Turing-complete platforms are equivalent in their capabilities, it’s just a matter of adding a translation layer that doesn’t need to be as heavy as a browser DOM (at least for going between windows and Linux on x64).
I’m not 100% convinced that an emulation layer isn’t as heavy as a browser.
We had things like Java and QT, and none of it really took off. Apple is probably to blame here as well, for wanting everything to be native to iOS and ignoring the reality that developers don’t want to make five different versions of their software.
It’s generally not as heavy because the layer is just reinterpreting API calls while the user code still runs natively. On a browser running JavaScript, it’s using an interpreter for every line of code. Depending on the specifics, it could be doing string processing for each operation, though it probably only does the string processing once and converts the code into something it can work with faster.
Like if you want to add two variables, a compiled program would do it in about 4 cpu instructions, assuming it needed to be loaded from memory and saved back to memory. Or maybe 7 if everything had a layer of indirection (eg pointers).
A scripting language needs to parse the statement (which alone will take on the order of dozens of cpu instructions, if not hundreds), then look up the variables in a map, which can be fast but not as fast as a memory load or two, then do the add, and store the result with another map lookup. Not to mention all of the type stuff being handled at run time, like figuring out what the variables are and what an add of those types even means, plus any necessary conversions. I understand that JavaScript can be compiled and that TypeScript is a thing, but the compiled code still needs to reproduce all of the same behaviour the scripting language does, so generic functions can still be more complex to handle calling and return conventions and making sure they work on all possible types that can be provided. And if they are using eval statements (or whatever it is to process dynamically generated code), then it’s back to string processing.
Plus the UI itself is all html and css, and the JavaScript interacts with it as such, limiting optimizations that would convert it into another format for faster processing. The GPU doesn’t render HTML and CSS directly; it all needs to be processed for each update.
For D3D to Vulkan, the GPU handles the repetitive work while any data that needs to be converted only needs to happen once per pass through the API (eg at load time).
That browser render stuff can all be done pretty quickly on today’s hardware, so it’s generally usable, but native stuff is still orders of magnitude faster and the way proton works is much closer to native than a browser.
Going to be quite a bit heavier than that if you run it on a different CPU architecture though. And even if you’re not running on mobile, Apple still opened that can of worms a few years back. Linux too, I guess.
Honestly, I don’t mind HTML for a UI. It resizes nicely to fit a large number of devices. It looks pretty much the same no matter what you’re running it on. But it should just be that, a UI layer. Otherwise the solution you were looking for was a website, and not a dozen 500MB chunks of Chrome installed around my PC.
Man, they really developed the most unfun layout system and then tried to force it to everyone
The mouse driver used with the Commodore 64’s GEOS operating system uses 3 blocks on disk, less than a kilobyte.
Most of the reason why the Logitech driver is so gargantuan is a separate Chromium browser instance, because someone thought that apps should be all websites first, which lead to most GUI libraries being developed for javascript and most devs being taught to be web developers.
VSCode is also electron with a 100mb download size and 400mb install size. I think it has 1000x more functionality than some shit Logitech UI where you change LED colors. This sounds more like incompetence on the Logitech team than a problem with electron itself.
It’s not like traditional methods of packing apps are without problems. If I want to install the qbittorrent flatpak on Ubuntu, it pulls in >1gb of KDE depenencies, so I really don’t see how that’s better than these dreaded electron apps.
Or you can use qbittorrent-nox which is a server-only package of qbittorrent and just interact with it via its the web interface from your favorite browser.
Mind you, I only know this by chance because I explicitly wanted to run qbittorrent as a service on an always on machine which is not supposed to be used with keyboard and mouse.
The 1gb of KDE dependencies are one time only, but there’s also the option of just using OpenGL + bare x11 or Wayland for GUI. If my game engine could pull it off, if IMGUI apps could pull it off, then everyone could pull it off, we just need a UI framework not ddependent on either GTK or qt.
“One time only”? In theory yes, in practice I don’t have anything else that needs those KDE dependencies. When I remove qbittorrent I can safely remove them. This is just a reality check that desktop GUI frameworks and package management are really not much better than Electron/html as lots of comments in this thread seem to suggest.
That is your use case, that relative to your individual usage only one application uses the framework. In that very specific scenario, sure. However with electron it’s forced to be that way for every single application no matter what your scenario is.
If electron packaged as a dependency, then it would be similar. But it’s always forcibly bundled.
Ok, I will just try to install more KDE apps so I can make use of that great dependency so I can join the Electron hating circle jerk next time. But from where I stand now, Electron apps are just like any appimage or snap.
But did it support RGB?
Didn’t think so, checkmate!
A lot of fancy early RGB mouse came with a companion app that needed 10MB at most, and that was ridiculed.
That driver was using 0.5% of system resources! I thought it would be worse when I saw “259 blocks free”, but overall that’s pretty good.
Well that’s just a screen shot of the directory listing of the GEOS disk from the 64’s default “OS”, the BASIC interpreter. That 3 block file also contains information that only GEOS sees, the actual executable 6502 code is likely in the 500 bytes, if that. The user manual for the mouse actually contains an assembler listing of the driver. It ain’t big.
The 64, of course, was never designed with a mouse in mind, so Commodore engineers used the analog paddle inputs to encode the mouse XY motion. So the “driver” really just reads the A/D converters for the paddles and fudges some kind of motion information out of it.
It works quite well. The 64 only has a 320x200 display, so it’s not like you need a gaming 1000DPI 1ms mouse.
holy fucking shit. I once programmed a mouse driver for an 8 bit computer with 32kb of ram. I don’t remember the exact size of the compiled driver but it was under 1kb.
Today’s tech companies probably couldn’t even figure out a way to make a hello world in python without it needing 100gb of storage, an Intel Core9/AMD Ryzen 7000 or better, an internet connection and an online user account.
Maybe a Docker or two, perhaps a VM in the cloud. Is that still hip with the kids?
All the cool kids are running kubernetes
The actual driver for an HID USB device, even on WIndows, is still just a few KB.
Worse, the default driver for HID devices like mice, keyboards, joysticks, gamepads and so on is part of Windows since Windows 7 and all you had to do was give it an INF file that really just associated USB hardware devices that sent the PC a specific identifier (made up of a VID and a PID value) on USB protocol initialization, with that built-in driver - and that file is maybe 100 bytes. Even better, that INF file is not even needed anymore since Windows 10.
A driver for a mouse (pretty much the simplest Human Interface Device there is) that in addition to the normal mouse thing also supports setting the RGB color of some lights is stupidly simple because the needed functionality is already in the protocol.
Remember, modern digital electronics still uses really tiny processors sometimes with less than 32KB flash memory (and way less than that in RAM) only they’re microcontrollers rather than microprocessors now, hence the protocols are designed so that they can be handled by processing hardware with little memory (after all, many USB Hosts aren’t PCs but instead are things like USB HUDs which have microcontrollers not microprocessors)
I have no doubt in my mind whatsoever that almost the entirety of that 1GB is bloatware.
That’s not the driver but some bundled configuration & update bloatware.
Back in my days, you had to overwrite some .exe with a “0” to disable Nvidia from spying on you. The overwrite, because they would just download it again if you deleted the .exe.
I remember installing a fresh PC with win98. During installation, I disabled some windows bloatware (Imagine! You actually could do this!), and ended up with an unresponsive, non-windows app blocking the system. I killed that app and removed it from the system. Keep in mind that at this point, no network connection was set up, nor did I install any driver or program yet, this was straight from the windows install medium.
After reboot, the app was back, and again blocking the system.
Wiping the harddisk and starting installation over did not help either.
Turned out this was some bloatware installed by the BIOS whenever it detected at boot that there was a) a Windows installation that was b) “missing” their “register your PC with us” app. This needed some Windows bloatware to work, and thus failed on this machine.
This was the only time I angrily screamed at a hotline worker.
The software, afaik there is no actual driver involved.