This is a bit unrealistic. Games may work better than they did in the past, but performance isn't 1:1 yet. More importantly, device drivers can be a lot more dicey.
Personally, the main thing keeping me from actually using my Linux partition most of the time is that my mouse buttons can't be properly rebound. Yeah, I could find some janky work-around, but that would be eating into my workflow.
I also do, in fact, need Windows for development.
GNU is great, but pretending it's a viable Windows replacement for every use case is just disingenuous. It doesn't help anyone and it only makes GNU supporters seem that much more out of touch with the average user's experience.
There are literally people who will think the internet is broken if they accidentally delete their browser shortcut or just straight up can't find it in the sea of icons on their desktop. These are the users that Windows is protecting from themselves. The same users probably wouldn't be able to figure out how to use the command line if their life depended on it.
There's a place for Windows, and there's a place for GNU. I'd love to see the place for GNU expand and the place for Windows shrink, but that doesn't make it so.
Microsoft seems to think that windows is the solution to all usecases, I think the reverse.
Yes, Linux too has its issues, but I've seen major growth in Linux whereas windows had been a steady decline to becoming an ad riddled bloatware machine that you pay for
Windows definitely isn't the solution for all use cases. There are some use cases for which it's completely ineffective. There is no one operating system that's perfect for all use cases.
This feels out-of-touch itself, like you haven't actually tried in years. Yes, to rebind your mouse buttons, you will have to install a piece of software, and tell it what you want each button to do... Exactly like you have to do in Windows. I haven't seen any janky work-arounds needed, and the software is a lot more responsive than I was used to in windows with the official logitech software. You don't need command line in linux any more often than you need to edit the registry in windows - your typical PC user can get by without it just fine and probably should stay away from it. As for game performance, there will always be variability here, but there is no hard and fast rule like "you will lose 20% performance in linux vs windows". Some stuff may not get along with proton or linux (big one is some of the "bad actor" anti-cheat stuff, as mentioned elsewhere in this thread that just won't work at all), but the vast majority is running great under linux - imperceptibly different, if it is even different at all. Finally, there are plenty of distros that will handle all the drivers you need with little to no input from the user. One of the primary selling points of PopOS is fantastic graphics driver support "out of the box", but they aren't alone - many make the process invisible or butter smooth.
I always love how many people that don't use linux to do 'X' thing, feel the need to tell people that do use linux every day for 'X' how bad linux is at doing 'X'... People going into windows specific communities and shouting about how bad windows is for 'X' or 'Y' task would be shunned to oblivion if not outright banned, but they come into the linux communities every day to tell us how bad linux is??
I emailed the dev who makes Solaar less than a month ago after my most recent attempt. They said clicking and holding would be on Logitech's end, in their firmware. As the firmware stands currently, it's not possible to rebind those particular buttons and click and hold them unless you rebind them to other buttons already on the mouse. Works in Logitech Options + on Windows, does not work through Solaar on any Linux distro.
I attempted to contact the Logitech devs, but there doesn't seem to be any open avenue for doing so. I tried talking to Logitech support, but they weren't able to put me in contact or even forward a message.
So yes, I have tried this recently. And literally the person who makes the software I'm trying to use has told me that my use case is not currently possible without some sort of workaround.