Kernel-based mode-setting, ou KMS, est un procédé permettant la gestion des modes d'affichage par le noyau Linux et celui des systèmes BSD.
Le KMS s'oppose à l'UMS (user mode setting).
Sans KMS c'est le pilote graphique qui se charge de la gestion des modes d'affichage graphique, ce qui est loin d'être optimal. En effet, ce travail est déjà fait une première fois par le noyau pour l'affichage des messages durant la phase de démarrage, avant que le pilote graphique ne réinitialise à nouveau le mode d'affichage lorsqu'il est lui-même chargé.
Sur la base de KMS, une gestion plus élaborée a ensuite été développée : Atomic mode-setting.