Honestly this is completely ridiculous. Hypertext using HTML constraints is absolutely insufficient for representing application state. It’s the wrong tool for the job and always has been, because it conflates document structure with semantic meaning.
Said another way, HTML cannot be relied on to capture a representation of application state.
The reason REST doesn’t use HTML in most contexts is because applications don’t use HTML in most contexts anymore.
Demanding that application representation use a specific encoding strategy is ridiculous and misses the point entirely, which is that HTTP is no longer the right protocol for the job.
OK, I’m gonna make this simple, since it seems like no one has tried to do that for you. There’s only 3 points
Breaking it down…
The reason for this is that every single piece of hardware needs a driver and not every single piece of hardware has a driver in Linux, and not every driver properly works with the hardware it was built for.
So step 1 is always review your preferred distro for support for your target hardware and don’t just wing it. There’s a lot of shitty broken hardware that Linux devs haven’t built workarounds for and only work in Windows because there’s money to create driver workarounds.
This isn’t that strange in the world of hardware, it’s just something MS managed to prevent everyone from dealing with through it’s monopoly power and Apple prevented everyone from dealing with it by only allowing OSX on it’s hardware and controlling all the updates. In any other world, you don’t just buy random components for your car, or buy electronics without worrying about EU vs US outlets or buy power supplies for electronics without researching voltage, amperage, and polarity. It’s just a thing you have to do.
If you want a “just works” experience, then you do not want to be doing it. The forum link you posted is bonkers. There is no way someone with your level of experience should be bisecting anything. You fell into a hole, asked for a way out, and that forum gave you a shovel.
You want to stick with distros that are ready to go: Debian, Ubuntu, Mint, openSuse, Fedora. My personal opinion is every beginner should start with Mint, but everyone’s got opinions.
Whatever components you’re running don’t have whatever driver maturity is needed for power management. That could be a lot of things, and there’s no fix unless you want to become a volunteer device driver developer, which is like asking if you want you to become a volunteer suspension bridge repairperson. It’s not a real option for you. That means you’re stuck waiting for someone else to write support for whatever hardware you have. Bringing me back to point #1, do not just attempt to put linux on any old hardware - you must research compatibility as part of your purchasing process.
I’ve been running linux for decades. In the beginning, it was a nightmare. I had to debug it every week, sometimes multiple times each week. Nearly every problem was something I caused trying to fix some other problem. Nearly every problem I was trying to fix was ultimately just a lack of out-of-the-box hardware support and hardware auto-configuration. Fast-forward to 2007, I bought my first thinkpad. I researched linux support and bought one that I knew worked with Debian. Worked first time, no tweaking. Fucking beautiful.
Except some features of the laptop didn’t work. I needed to manually configure the pointer device.
But then, I bought my second thinkpad in 2010. Everything worked, and all the config was through graphical settings tools. Amazing.
Well guess what. I bought a new thinkpad a few years ago. I really wanted a Ryzen. But Lenovo only had the first gen available for sale, the second gen was sold out. I saw the support was perfect for the second gen, but not perfect for the first gen. I bought it anyway.
Wouldn’t you know it. The motherboard has hardware bugs that the drivers just don’t handle gracefully. There’s a fight between Lenovo and the driver developers over it. It never gets fully resolved. However, the battery life problem gets resolved. Now I have 2 bugs:
Both of these suck, and there’s nothing I can do to fix it. I could post on a forum and spend literal weeks trying literally everything everyone tells me, but I know what the problem is - hardware/driver support. I could volunteer to become a driver developer, or to work with a driver developer and give them absolutely everything in detail so they can maybe find the time to fix it, but the reality is, I bought unsupported hardware and this is the consequence. Had I bought the second gen ryzen thinkpad, I would not have these issues.
So don’t try to force your way through this sorta shit and then assume everyone else is going through the same thing. Only buy hardware with components you know are going to work, only use distros that are simple to install and operate. And don’t try to solve problems that are caused by failing to adhere to rules 1 and 2.