显示模式设定(英语:Mode Setting)指的是为显卡设置屏幕分辨率与色深。现今的显示模式设定软件已经可以支持多屏输出(英语:Multi-monitor)和热插拔。
显示模式设定可以在内核空间或用户空间实现。在内核空间实现显示模式设定(英语:Kernel Mode Setting,即KMS)会更加灵活,而且这也可以让内核在出现致命错误时,即使正使用用户空间的显示服务器,也能在屏幕上输出错误信息。
在用户空间实现的显示模式切换(英语:User-space Mode Setting,即UMS)则需要超级用户权限才能直接访问硬件,而在使用基于内核的显示模式切换的情况下,用户空间的显示服务器并不需要超级用户权限,因而基于内核的显示模式切换安全性更佳。
FreeBSD基金会已宣布赞助一个FreeBSD开发者开发实现对图形执行管理器(英语:Graphics Execution Manager,即GEM)和KMS的支持。
Linux内核在2008年11月的2.6.28版加入GEM,为实现KMS打下了基础,而这将为支持GEM应用程序接口的转换表映射(英语:Translation Table Maps,即TTM)内存管理器所替代。
2009年3月23日发布的2.6.29版内核中加入了对Intel GMA显卡的支持。
对R600系列之前的ATI显卡的支持已在2009年9月9号发布的2.6.31版内核中实现,利用直接渲染管理器(英语:Direct_Rendering_Manager)实现的对R600和R700系列的支持则整合进2.6.32版内核,R800的支持也已整合进2.6.34版内核中。
因为NVIDIA并未放出所有实现KMS所需的相关文档,针对NVIDIA显卡开发开源驱动的Nouveau项目只能利用反向工程来获取必要信息开发实现KMS,这大大增加了开发难度。带有KMS支持的Nouveau驱动已加入2009年12月10日发布的2.6.33版内核,其2D加速性能已相当不错,但3D加速实现仍处于测试阶段。
基于Windows NT的Windows版本都使用了基于内核的图形模式切换。由内核图形模式切换实现的内核错误输出即是著名的蓝屏死机。
注重安全性的OpenBSD也对内核图形模式切换很感兴趣,因为这样可以在不需要超级用户权限的情况下运行X Window系统。
OpenSolaris将把基于内核的图形模式设定作为新特性加入系统,对GEM的支持则已在snv_130版本中加入。