Linux
Welcome to c/linux!
Welcome to our thriving Linux community! Whether you're a seasoned Linux enthusiast or just starting your journey, we're excited to have you here. Explore, learn, and collaborate with like-minded individuals who share a passion for open-source software and the endless possibilities it offers. Together, let's dive into the world of Linux and embrace the power of freedom, customization, and innovation. Enjoy your stay and feel free to join the vibrant discussions that await you!
Rules:
-
Stay on topic: Posts and discussions should be related to Linux, open source software, and related technologies.
-
Be respectful: Treat fellow community members with respect and courtesy.
-
Quality over quantity: Share informative and thought-provoking content.
-
No spam or self-promotion: Avoid excessive self-promotion or spamming.
-
No NSFW adult content
-
Follow general lemmy guidelines.
view the rest of the comments
I think the laptop really does matter, and it's because chipsets are not all equal in how well their sleep modes are supported in the OS.
I've been buying XPS13s for over a decade; I've had four (three personal, and one requisitioned for me by my job), and sleep and suspend have worked almost flawlessly on them under Linux. In the office, most everyone else would move between meetings or to their desks with the lids almost closed, to prevent sleep and the problems it caused, but I'd just fearlessly close my lid; it was ironic to me that running Linux on the XPS I had more reliable sleep behavior than the Windows people on their laptops.
For OP: low power, initialization, and restoring state has to be implemented by each chip, and there are a lot of shitty, poorly implemented chips. Then the OS also has to store and restore state for each chipset, and even if the chip implements it well, the OS has to do a good job restoring power in the correct order and restoring the state for each chip. If anything goes wrong in either the chip or driver implementation, you get a broken state.
This is aggravated by the fact that Linux is a monolithic kernel, and if any device drivers get borked it usually borks the whole kernel. This wouldn't be as bad a problem if Linux were a microkernel architecture and drivers could just be killed and restarted.