My laptop is an MSI Sword 15 A11UD. But I’m really looking for a program that analyses and projects problem areas and supported/unsupported hardware
There is a website to check which hardware is supported (on which distro). You can look up your laptop there, but beware that it is crowdsourced, so there might have been tinkering involved before submitting the results or the results may be outdated.
Click on “probe your computer” then check the results to see what your current setup supports.
Of course Linux has something helpful like this! I freakin’ adore Linux!
This is also super useful for people deciding what to buy, when the vendor would obviously not be keen to let you plug a USB into their device and boot into the scary Linux
That is pretty sweet. I start up my docker service, run the docker command and ctrl-click the link it pops up in Konsole, and voila! I see exactly what I noticed in my system, mainly that the RGB bullshit doesn’t work which hurts my feelings not at all.
you could also just boot to a live distro and test your hardware. id recommend mint
This was my first thought too but I think OP is more focused on those small things that only become evident after a couple weeks or even a month, after you’ve already invested a bunch of time and energy getting everything running the way you need it
Second this idea. I did exactly this and found out that MX Linux’s default DE config doesn’t work correctly OotB for my setup.
Yes, it’s called Linux. Just boot any live usb and you’ll see.
I get what you are asking: Why try hundred distros, just tell me the one that works, but I’m not aware of any such tool. If an open-source driver exists the kernel is really good at auto-detecting everything and make it work.
a quick and dirty way to find out if your hardware is supported is to try out a live usb distributions that runs entirely off of a usb stick and never makes any permanent changes to your system.
it will run MUCH slower than a regular installation; but if you see all of your hardware and drivers enumerated in lspci; you’ll know that it works out of the box.
you should know that this limits you to the distros that have live usb images only; but if you go with mainstream debian, fedora, arch, etc. you’ll instantly know that downstream distro’s are capable of supporting with that hardware with that version of the mainstream distribution that they’re forked from (eg ubuntu from debian; manjaro from arch; suse from redhat; etc.)
i used this method extensively when i was new to linux and distro hopped a lot; it taught me a lot when i first started out.
I find quite often that the Live version of a distro will work perfectly, but after install some hardware won’t work anymore.
yes, that will happen.
the live distro’s come included with a lot of preloaded driver/firmware that is not included with a regular installation for a myriad of reasons; but you can use lspci and lsmod from the live environment to identify the proper software you need to add to your regular installation to get that hardware working.
It’s just weird that it can’t detect my hardware and pull the drivers it needs like windows does.
Sometimes it’s an ideological issue. Some distributions don’t ship nonfree drivers, some do, but require you to manually install them, and some have trouble making up their mind. This last is where you get live cds that automatically load the drivers needed for your hardware, but when you actually install, things aren’t working anymore.
Thank you, that’s useful info, I didn’t know about this. Could you be so kind to share some link, or say something more, about lspci and lsmod and how to proceed from them to identifying which drivers one should install? Cheers!
here’s an example using my wifi card on my laptop; here i use lscpi and i’ve copy/pasted the stanza that pertains to the wifi card:
me@laptop:~$ lspci -v [REMOVED] 00:14.3 Network controller: Intel Corporation Alder Lake-P PCH CNVi WiFi (rev 01) DeviceName: Onboard - Ethernet Subsystem: Intel Corporation Dual Band Wi-Fi 6(802.11ax) AX201 160MHz 2x2 [Harrison Peak] Flags: bus master, fast devsel, latency 0, IRQ 16, IOMMU group 9 Memory at 601d18c000 (64-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel driver in use: iwlwifi Kernel modules: iwlwifi [REMOVED]
i can see that the driver name is iwlwifi and i can use that to look for related modules using lsmod:
me@laptop:~$ lsmod | grep iwlwifi iwlwifi 598016 1 iwlmvm cfg80211 1318912 3 iwlmvm,iwlwifi,mac80211
now i know all of the module names and i can either google them to learn how to install them or i can continue further with the package manager on the installation to further backwards engineer it. (googling is faster).
as i mentioned earlier there are caveats: downstream distros tend to use a slightly older version of their base distros so you also need to make sure that you’re using the same version of the driver and kernel and adjust accordingly if it doesn’t start working right away.
Also do “dmesg | grep -i firmware” to see what firmware loads the kernel squirted into the various device controllers.
Fantastic, this is extremely helpful, thank you! 🥇 I wanted to test a couple of distros for my Thinkpad, and I’ll make sure to check and save this kind of information from live USBs.
@Melatonin
I installed a linux onto an USB stick
installed Hw-probe. Created a little script that saved the result to disk. and opened the browser to the result page.And went to a Store:
- Insert USB Stick
- Press SHIFT on a Windows PC
- Than do a Power off on Windows
- chose reboot to stick
- connect smart-phone with thetering
- run HW-Probe script
I was allowed to do that on every store i visited. Mostly I asked if the local staff would like see a running linux.
That way I choosed my current laptop
Seems like a pretty slick way to drop some malware payloads, may I ask if this was recently?
In my experience, online websites can help find a distro with minimal support, but they’re quickly out of date. Best way I’ve found is to flash a live USB, boot, and check if all hardware is recognised.
Stuff like Linux-hardware and Arch Wiki’s hardware support pages are a nice place to start, but if the last update was a while back you may find your hardware to be supported better than online documentation may suggest.
All Linux distros are Linux based. There isn’t that much variation. The only things that could change support are:
-
kernel version
-
Nvidia kernel modules
-
Ubuntu kernel
I will say that depending on a distro, there may be more growing pains than others. Like Elementary OS vs MInt vs PopOS
Edit: elementary being behind on versioning, and popOS being the most versatile out of the box.
-
What works/doesn’t work is mostly down to what version of the kernel a distro ships. Most hardware drivers will be compiled into the kernel, or if not, shipped with the distro as kernel modules which get loaded as needed. Either way, the kernel version determines what is and isn’t possible on a given install.
DualSense 5 support for example was introduced in Linux Kernel 5.15, IIRC.
Most distros ship a relatively up-to-date kernel, and hence, the actual hardware support is essentially identical. When it isn’t, it’s down to excluded/included kernel modules, which is usually something you can change if needed.
Others have already commented on the actual ways to find out what will and won’t work, but in general, a newer Linux kernel means better hardware support.
If you try something, and some things don’t work, you’ll either have to figure out how to install and load the appropriate kernel module to get the appropriate driver working, or simply swap out the whole kernel for a newer version.
This is tricky on some installs, like Ubuntu based distros, very impractical on immutable systems, and super easy on distros like arch.
The real complications come when configuring things that Linux doesn’t just automatically figure out sometimes. Fingerprint sensors, fan curves… If that stuff isn’t a known and implemented standard on a given device, getting it to work isn’t a matter of finding the right distro or kernel version.
Nvidia? Install pop os
I just looked at pop os, doesn’t seem like a bad option, what are the downvotes about?
I do have Nvidia btw, does that=problems?
Generally, yes. It’s not nearly as bad as say 2015 but NVidia has a long standing history of being difficult to deal with, and users having to make constant compromises. For instance, NVidia hasn’t had properly working Wayland support on most environments until recently due to the awful flickering that many users experienced. Things like power saving, dual GPU handoff, general OpenGL performance, frame stability and tearing (X.Org), etc. have been either historical and/or current pain points for using NVidia GPUs vs AMD or Intel GPUs.
Managing drivers for nvidia is a constant headache for the nvidia linux community. Pop os devs manage them for you (with a QA team) with pop os so your system never breaks from a bad nvidia update
Downvotes probably from snarky “arch btw” users that like to micromanage their system
Downvotes probably from snarky “arch btw” users that like to micromanage their system
Wtf. This is actually snarky for absolutely no reason. It could be anyone and you just pick out of the blue arch. And no, I don’t use Arch directly, but that has nothing to do with it (I would comment this if you mentioned any other distro too).
Not anymore. As of driver version 555 Nvidia works just as well as anything.
If the distro just boots into a live session, you can get a pretty good idea there. They’re all working off of roughly the same kernel and driver and firmware sets, give or take some distros being a year out of date. The slower distros have something like “backports” or “enablement kernels” to still give you the option of pulling in newer stuff.
The graphics situation (compositor and mesa and kernel drivers and userland driver libraries) is more complicated. Especially with Nvidia. Your distro choice makes a much bigger impact there.
More consistent way would be to just check the Linux kernel version. Most distros are going to be running the default kernel with everything enabled, so you shouldn’t need to worry about specific kernel options being disabled, unless you’re using something really esoteric and not meant for general desktop usage. If you need 3rd party (nvidia) drivers, nouveau works out of the box, and should at least get you to the point you can install the proprietary driver, should you wish to taint your kernel in that way :'(
Second hwtest suite.
Distros just ship packages, some rare drivers may be missing, distros have different versions of drivers, some are external and packagers just take proprietary code and make it compatible, like with NVIDIA on Fedora.
FAFO is always the ol’ reliable
live distro usbs will help with that as others said.
Linux has live ISOs. Flash one on a USB stick, boot off of it and mess around. Generally, these days, everything except the fingerprint sensor/facial recognition thing and sometimes wifi adapter will work out of the box.
Yes, such a program is called an installer. /s
Sorry, I don’t have an answer for you that’s more helpful than the rest of the comments here, they all did well. I second booting a live system.