drivers/gpu/drm/vkms

VKMS Virtual Kernel Mode-Setting display driver

A purely virtual display adapter that pretends to be a graphics card so the Linux graphics stack can be exercised without real hardware. It is widely used by kernel developers and CI systems to run display-server, compositor, and DRM/KMS tests on headless machines and in virtual environments.

keep conf=0.93 deploy=medium replacement=none subsystem=gpu category=graphics-display
93%

recommendation

It should stay because VKMS is not tied to any physical hardware at all; it is a software-only display device that the graphics stack uses for automated testing, continuous integration, and headless development. The kernel docs describe it as the canonical target for IGT and KUnit graphics tests, and it continues to receive both targeted fixes and broader DRM core updates, so it is actively maintained and has no equivalent replacement.

repository signals

25 files
7,952 source lines
166 commits, 5y
+8,516 / −1,991 lines added / removed, 5y
32 authors, 5y
monthly commits · 2021-04-21 → 2026-04-21 · 166 total · active in 40/61 months
2021 2022 2023 2024 2025 2026 2021-04: 4 commits · +131 −78 2021-05: 0 commits · +0 −0 2021-06: 1 commit · +0 −2 2021-07: 6 commits · +79 −76 2021-08: 2 commits · +5 −4 2021-09: 0 commits · +0 −0 2021-10: 0 commits · +0 −0 2021-11: 0 commits · +0 −0 2021-12: 0 commits · +0 −0 2022-01: 2 commits · +27 −10 2022-02: 1 commit · +7 −7 2022-03: 0 commits · +0 −0 2022-04: 3 commits · +6 −6 2022-05: 1 commit · +1 −1 2022-06: 2 commits · +3 −0 2022-07: 2 commits · +2 −3 2022-08: 0 commits · +0 −0 2022-09: 11 commits · +643 −335 2022-10: 0 commits · +0 −0 2022-11: 4 commits · +11 −5 2022-12: 1 commit · +6 −11 2023-01: 3 commits · +42 −5 2023-02: 0 commits · +0 −0 2023-03: 2 commits · +1 −9 2023-04: 8 commits · +144 −142 2023-05: 7 commits · +106 −106 2023-06: 0 commits · +0 −0 2023-07: 1 commit · +117 −1 2023-08: 0 commits · +0 −0 2023-09: 1 commit · +7 −15 2023-10: 0 commits · +0 −0 2023-11: 2 commits · +25 −4 2023-12: 2 commits · +17 −12 2024-01: 0 commits · +0 −0 2024-02: 0 commits · +0 −0 2024-03: 0 commits · +0 −0 2024-04: 2 commits · +4 −7 2024-05: 0 commits · +0 −0 2024-06: 0 commits · +0 −0 2024-07: 2 commits · +7 −8 2024-08: 1 commit · +4 −2 2024-09: 4 commits · +173 −25 2024-10: 2 commits · +5 −10 2024-11: 11 commits · +688 −344 2024-12: 2 commits · +1 −3 2025-01: 8 commits · +119 −81 2025-02: 16 commits · +2,316 −215 2025-03: 0 commits · +0 −0 2025-04: 6 commits · +822 −5 2025-05: 0 commits · +0 −0 2025-06: 1 commit · +5 −2 2025-07: 11 commits · +284 −260 2025-08: 1 commit · +46 −5 2025-09: 2 commits · +9 −80 2025-10: 17 commits · +1,001 −10 2025-11: 9 commits · +1,606 −58 2025-12: 1 commit · +2 −0 2026-01: 1 commit · +8 −7 2026-02: 3 commits · +36 −37 2026-03: 0 commits · +0 −0 2026-04: 0 commits · +0 −0

sources

  1. docs.kernel.org

    VKMS is a virtual KMS driver used for testing; kernel docs describe simulated hardware features, configfs-created instances, and explicit IGT/KUnit test workflows.

  2. lore.kernel.org

    VKMS was still receiving targeted functional fixes in 2026 (example: gamma LUT size check fix), indicating active maintenance rather than abandonment.

  3. lore.kernel.org

    VKMS was touched by broad DRM core work in April 2026, and lore timeline shows sustained recent churn rather than removal preparation.

codex reasoning notes (technical)

Keep: VKMS is not tied to obsolete physical hardware at all; it is a virtual DRM/KMS driver used for graphics-stack testing and CI, so hardware-obsolescence removal logic does not apply. `hardware_still_sold_new_in_2025=false` and `last_widely_available_year=null` because no sellable hardware ever existed. `deployments_today=medium` reflects continued test/CI and virtualized development use, not mass end-user deployment. No replacement driver is a clean upstream substitute for the same test-focused role. Source acquisition: the two lore URLs came from `lore_activity`/`lore_file_timeline` on `drivers/gpu/drm/vkms/vkms_drv.c`; the docs URL was derived by reading local `Documentation/gpu/vkms.rst` with `exec_command` and mapping it to the canonical published kernel-docs page via canonical recall.