3 ms·
While you cherry picked examples that work for your arguments, I would say that they arent entirely correct. On x86, you can use a bounded number of drivers and
by surajrmal 5y ago
While you cherry picked examples that work for your arguments, I would say that they arent entirely correct. On x86, you can use a bounded number of drivers and boot successfully on a large number of boards. This is because things like buses, storage and display are standardized. This is not true for ARM. Every manufacturer does its own thing. Yes there are bits which have been standardized and shared, but for the most part that's not the case. As a result you cannot really make a single image that boots on a large number of boards without also including a very large number of drivers. Windows phone only ran on a limited number of SOCs, primarily Qualcomm.
Also for what it's worth, Qualcomm does update their ACPI definitions between SoC generations. They also fork their drivers to match. If there was a stable driver ABI they could probably do the same on Linux but that's not an option.
On server, ARM vendors went the PC route and just adopted standard interfaces used servers (pcie, sata, etc). This is large departure from SoCs targeting phones, tablets, and iot.
- my123 5y agoFor QCOM the bindings for the base drivers are stable, and despite them forking drivers, the one for the others generally are - too The biggest concern there is the PEP power management mechanism instead of using what ACPI provides. > This is because things like buses, storage and display are standardized That's a rosy view of x86. Quite some laptops ship with Intel RST set up such as stock Windows wouldn't boot on them before adding that driver. Display (frame buffer) is standardised too as UEFI GOP, but that no longer applies when the GPU driver takes over of course. Storage controllers & USB bindings are standardised too. Doing a Qualcomm driverless boot on those platforms is very much possible, with storage and USB available, enough to install the OS and make it reach the desktop. (and on a side note, as far back as the Snapdragon 810, PCIe was very much used. The Lumia 950 (XL) had their Wi-Fi controller over a PCIe bus.)
- surajrmal 5y agoLaptops are definitely trending in the same direction as smart phones, I will not contest that. However my main point is that it's all much more standardized. Booting the system to the point you can prompt the user to connect to the internet and download more drivers is much easier on x86. Qualcomm having "stable" bindings is a choice they've made. There is nothing forcing them to do that. The point is that they could not do that, because they know all images built for their phones will be specialized. Qualcomm may use PCIe for one off peripherals, but it is not the bus used for most peripherals.