Это разные компоненты, работающие в связке (графический стек).1). Ядро Linux - его версия не важна, так как из ядра используется только драйвер. В Linux все драйверы распространяются с ядром системы, хочешь новые драйверы - просто обнови ядро. Но никто не мешает взять новый drm и драйверы intel, ati и nouveau из нового ядра Linux и установить в старое. Так например делают разработчики Debian.
2). Следом идёт libdrm. У libdrm и драйверов intel, radeon и nouveau нет никакой синхронизации версий! Точнее номеров версий. Допустим, мне надо откатиться на старый драйвер из-за регрессии в 3D-игре, чтобы посмотреть как было там. Устанавливаю старое ядро 3.4, а какой установить libdrm? Вот не очевидно что 4.0.63, а 4.0.62 с этой версией ядра ещё не совместим, а 4.1 уже не совместим! Номера версий придумал просто для примера. За короткое время поддержки ядер Linux разработчиков libdrm наругал Торвальдс, теперь оно длится дольше, а я вот ругаю их за не очевидность того, с какой версией ядра какие версии libdrm совместимы.
3). Далее идёт ещё один драйвер intel, radeon и nouveau, на этот раз для Xorg. И снова короткое время поддержки версий ядер Linux и libdrm. И снова номер версии не синхронизирован ни с ядром, ни с libdrm. Только тут ещё хуже: три драйвера с версиями (например) 2.0.45, 7.1.14 и 4.16.58. Хотя libdrm для этих видеокарт общий. Они бы хоть выпускали компоненты связки с синхронными номерами версий, например 2012.08 или 2014.05. И снова если я захочу откатиться на старую версию, откуда мне знать что для ядра Linux 3.4 нужна версия драйвера 6.12, а 6.11 ещё не поддерживает, а 7.0 уже не поддерживает?
4). И наконец Mesa, одна версия на три видеокарты. Это GLX, DRI и OpenGL. Короткого времени поддерки ядра, libdrm, драйвера Xorg нет, и нет трёх разных Mesa под 3 видеокарты. Казалось бы, всё нормально. Только номера версий теперь как в Google Chrome и udev: - раз в несколько месяцев меняется мажорная версия.
5). Опционально libva и libvdpau, любые версии.
Наверное ты думаешь что если с Open Source есть проблемы совместимости, то с проприетарщиной вообще всё ужасно! Поддержка 2-3 версий ядра и ещё куча условий, чтобы заработало! А теперь внимание: ftp://download.nvidia.com/XFree86/Linux-x86_64/304.121/READM...
Chapter 2. Minimum Software Requirements
Software Element Supported versions
Linux kernel 2.4.22 and newer
XFree86* 4.0.1 and newer
X.Org* 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 1.10, 1.11, 1.12, 1.13, 1.14, 1.15
Kernel modutils 2.1.121
glibc 2.0
* It is only required that you have one of XFree86 or X.Org, not both.
Please see “How do I interpret X server version numbers?” for a note about X server version numbers.
If you need to build the NVIDIA kernel module:
Software Element Min Requirement
binutils 2.9.5
GNU make 3.77
gcc 2.91.66
То есть если я возьму линукс 2005 года и установлю на компьютер 2014-го, он не увидит мою сетевушку и звуковушку, зато Doom III выдаст очень большой FPS на максимальных настройках графики!