L'intégralité du noyau Linux est fait par les devs de linux. Des patchs arrivent de la part d'un paquet de contributeurs dont google, microsoft… mais aussi de particuliers ou de petites entreprises. Au final c'est bien Linus Torvalds qui est maître du noyau.
Cependant il existe quelques pilotes propriétaires à installer en plus de linux comme ceux de nvidia par exemple. En effet nvidia ne souhaite pas participer au développement de linux et met des bâtons dans les roues des devs juste pour faire chier.
Comme je n'aime pas l'idée d'installer un pilote proprio, je préfère me passer de matériel nvidia.
Ensuite sous slackware il existe le kernel-huge et le kernel-generic :
- le kernel-huge est celui utilisé par l'installeur et également celui installé par défaut. Il ne requiert pas d'initrd car quasi tous les pilotes sont compilés en dur, donc ils sont chargés au démarrage de linux même s'il s'agit de pilote dont tu n'as pas besoin.
- le kernel-generic contient très peu de pilotes en dur, tout est compilé en module. Par conséquent tu as besoin d'un initrd au moins pour le système de fichiers (ext4, btrfs, reiserfs…).
Certaines personnes utilisent le kernel-huge au quotidien, d'autre le kernel-generic. Perso je considère le kernel-huge comme le kernel de secours, et le kernel-generic comme le kernel à utiliser au quotidien. Mais chacun voit midi à sa porte.
Comme tu le dis, si le wifi fonctionne avec le kernel 4.19 et non avec 4.4 c'est bien parce que le matériel n'était pas ou peu connu à l'époque.
Il y a une question que je me pose à propos du kernel 4.4.157 en particulier : à l'installation de slackware 14.2, le kernel 4.4.14 est installé. Après une mise à jour c'est le kernel 4.4.172 qui est installé à ce jour. Alors pourquoi utilises-tu le kernel 4.4.157 ?