The Linux 5.9 kernel was examined and it was found to support 99% of the popular PCI hardware on the market



Two articles about the new Linux kernel were recently published on Habré. One of them said that the AMD Radeon driver makes up 10.5% of the Linux 5.9 kernel, the other listed new features and functions. Recently there was also information that this core supports 99% of the popular PCI hardware on the market.



Of course, “popular” does not mean “supports everything at all”, so the overall figure could be well below 99% given the variety of devices. have you studied PCI support?



If the goal of the project were to study the total amount of "hardware" supported by the kernel, then one could simply take the ratio - "supported devices / total number of devices". But there are two complications here:



  • It is almost impossible to obtain both figures, and if it is possible, then research of this magnitude will require a huge amount of resources.
  • Not all devices are equally popular.


With the second point, everything is simple: there are common devices that need support because they are used by a large number of people. And there are rare systems that only a few users need. Of course, you can't neglect their needs either, but this world is unfair - developers usually decide first priority issues, and then move on to secondary ones.



The authors of the project to study support for PCI hardware in the Linux 5.9 kernel took an easier path. They summarized all instances of supported devices, dividing by the total number of supported and unsupported devices.



The following formula was used for the calculation:



Status=(S1T1+S2T2+...+SnTn)/(T1+T2+...+Tn)



Where Sn is the device support status ( 1 - supported, 0 - not supported) and Tn is the total number of devices.



In order to find out what devices are common, a system for recording the population of PCI devices was developed.



You can view information about the population in the special repository DevicePopulation . Support status for the new Linux kernel can be obtained from the LKDDb project .



If you want to provide information support to the project, you can send data about your devices using the hw-probe tool .



sudo -E hw-probe -all -upload


Here are the results:

PCI Class Devices Support
Card reader 9433 100%
Communication controller 39144 98.23%
Dma controller 115 99.13%
Dvb card 85 100%
Encryption controller 8169 88.64%
Firewire controller 7978 99.97%
Flash memory 469 37.95%
Graphics card 89190 98.06%
Input device controller 262 100%
Ipmi smic interface 155 100%
Modem 307 89.58%
Multimedia controller 2194 88.56%
Net / ethernet 55774 99.92%
Net / other 10929 99.82%
Net / wireless 43499 99.80%
Non-essential instrumenta ... 5103 99.98%
Sd host controller 10370 100%
Serial bus controller 12251 99.80%
Serial controller 4901 99.84%
Signal processing controller 37989 97.22%
Smbus 62763 99.92%
Sound 103406 99.95%
Tv card 902 100%
Usb controller 215098 100%
The average is 99.27% .



Do you agree with the calculation methodology and results? Share your opinion in the comments.






All Articles