Привет, ЛОР.
Захотелось мне тут поиграть в Гарри Поттера (Hogwarts Legacy), а оно, оказывается, работает только с DirectX 12.
Древняя дебиановская меза (20 версии) его, естественно, не умеет.
Пришлось доставать напильник и шаманить, но в итоге всё завелось и работает.
Небольшая инструкция:
1) в /etc/apt/sources.list добавляем:
deb http://ppa.launchpad.net/kisak/kisak-mesa/ubuntu focal main # да, убунтовские репозитории - страшно
2) в /etc/apt/preferences добавляем:
Package: libdrm2:* libdrm-amdgpu1:* libdrm-common:* libegl1-mesa:* libegl-mesa0:* libgbm1:* libgbm-dev:* libgl1-mesa-dri:* libglapi-mesa:* libglx-mesa0:* libllvm15:* libosmesa6:* libxatracker2:* mesa-va-drivers:* mesa-vdpau-drivers:* mesa-vulkan-drivers:*
Pin: release n=focal
Pin-Priority: 990
Package: *
Pin: release a=stable
Pin-Priority: 900
3) делаем
sudo apt update
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv <НЕДОСТАЮЩИЙ_КЛЮЧ>
sudo apt update
sudo apt upgrade
Рестартим иксы и всё должно работать:
➜ ~ glxinfo |grep version\ string
server glx version string: 1.4
client glx version string: 1.4
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.0.1 - kisak-mesa PPA
OpenGL core profile shading language version string: 4.60
OpenGL version string: 4.6 (Compatibility Profile) Mesa 23.0.1 - kisak-mesa PPA
OpenGL shading language version string: 4.60
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.0.1 - kisak-mesa PPA
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
Кроме библиотек Mesa дополнительно ничего ставиться/обновляться не должно (только libllvm15), вот всё, что вытянулось из PPA:
➜ ~ dpkg -l|grep kisak
ii libdrm-amdgpu1:amd64 2.4.110-1~kisak1~f amd64 Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii libdrm-amdgpu1:i386 2.4.110-1~kisak1~f i386 Userspace interface to amdgpu-specific kernel DRM services -- runtime
ii libdrm-common 2.4.110-1~kisak1~f all Userspace interface to kernel DRM services -- common files
ii libdrm2:amd64 2.4.110-1~kisak1~f amd64 Userspace interface to kernel DRM services -- runtime
ii libdrm2:i386 2.4.110-1~kisak1~f i386 Userspace interface to kernel DRM services -- runtime
ii libegl-mesa0:amd64 23.0.1~kisak1~f amd64 free implementation of the EGL API -- Mesa vendor library
ii libegl-mesa0:i386 23.0.1~kisak1~f i386 free implementation of the EGL API -- Mesa vendor library
ii libegl1-mesa:amd64 23.0.1~kisak1~f amd64 transitional dummy package
ii libgbm-dev:amd64 23.0.1~kisak1~f amd64 generic buffer management API -- development files
ii libgbm1:amd64 23.0.1~kisak1~f amd64 generic buffer management API -- runtime
ii libgbm1:i386 23.0.1~kisak1~f i386 generic buffer management API -- runtime
ii libgl1-mesa-dri:amd64 23.0.1~kisak1~f amd64 free implementation of the OpenGL API -- DRI modules
ii libgl1-mesa-dri:i386 23.0.1~kisak1~f i386 free implementation of the OpenGL API -- DRI modules
ii libglapi-mesa:amd64 23.0.1~kisak1~f amd64 free implementation of the GL API -- shared library
ii libglapi-mesa:i386 23.0.1~kisak1~f i386 free implementation of the GL API -- shared library
ii libglx-mesa0:amd64 23.0.1~kisak1~f amd64 free implementation of the OpenGL API -- GLX vendor library
ii libglx-mesa0:i386 23.0.1~kisak1~f i386 free implementation of the OpenGL API -- GLX vendor library
ii libllvm15:amd64 1:15.0.7-1~kisak2~f amd64 Modular compiler and toolchain technologies, runtime library
ii libllvm15:i386 1:15.0.7-1~kisak2~f i386 Modular compiler and toolchain technologies, runtime library
ii libosmesa6:amd64 23.0.1~kisak1~f amd64 Mesa Off-screen rendering extension
ii libosmesa6:i386 23.0.1~kisak1~f i386 Mesa Off-screen rendering extension
ii libxatracker2:amd64 23.0.1~kisak1~f amd64 X acceleration library -- runtime
ii mesa-va-drivers:amd64 23.0.1~kisak1~f amd64 Mesa VA-API video acceleration drivers
ii mesa-vdpau-drivers:amd64 23.0.1~kisak1~f amd64 Mesa VDPAU video acceleration drivers
ii mesa-vulkan-drivers:amd64 23.0.1~kisak1~f amd64 Mesa Vulkan graphics drivers
ii mesa-vulkan-drivers:i386 23.0.1~kisak1~f i386 Mesa Vulkan graphics drivers
Если пакетный менеджер предлагает снести полсистемы — ни в коем случае не соглашайтесь, вероятнее всего у вас уже мешанина в системе.
На чистом Debian Stable работает, даже со свежей инсталляцией на виртуалке проверил.
В любом случае — на свой страх и риск.
Статью пилить лень.