For a given device, sometimes one linux distro perfectly supports a hardware component. Then if I switch distros, the same component no longer functions at all, or is very buggy.
How do I find out what the difference is?
For a given device, sometimes one linux distro perfectly supports a hardware component. Then if I switch distros, the same component no longer functions at all, or is very buggy.
How do I find out what the difference is?
The vast majority of drivers are included with the Linux kernel now (in tree) so the difference usually comes down to kernel version (newer kernels have more drivers, of course) or kernel configuration set at compile-time (this can be anything from including or not including drivers, to turning driver features on and off, or more fundamental changes beyond drivers)
You can get kernel version info from
uname -a
and a lot of the time, probably most of the time (this is also down to configuration), you can get kernel configuration info from/proc/config.gz
(usegzip -d
to decompress) or something like/boot/config
Then you can run
diff
on configurations of 2 different distro kernels you're interested in to see how the 2 distribution's kernels were set up differentlyThis could also be caused by different setups of userspace tools or UI that interact with these drivers in different, sometimes worse ways but this is usually much less likely in my experience (most Linux distros do things like this the same way these days tbh)
Oh, also, there are a lot of drivers that require vendor-supplied firmware or binary blobs to function and most of the time distros don't bake these into the kernel (although it is possible) and different distros might have more or less of these blobs available or installed by default or they might be packaged differently. The kernel should print an error message if it can't find blobs it needs though
I guess there's kinda a lot to consider lol. Sorry if all of this is obvious
What hardware are you talking about specifically?