DebuggeR94

Настройка nouveau/nvidia-open для работы бок о бок

May 27th, 2026
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.17 KB | None | 0 0
  1. 1. Установить пакет: `nvidia-open` (он подтянет зависимости: `egl-gbm` `egl-wayland2` `egl-x11` `nvidia-utils`).
  2.  
  3. 2. Разблеклистить модули открытого драйвера, мы будем контролировать их через параметры загрузки.
  4. ```
  5. ln -s /dev/null /etc/modprobe.d/nvidia-utils.conf
  6. ```
  7.  
  8. 3. Создать файл `/etc/mkinitcpio-nvidia.conf`:
  9. ```
  10. # vim:set ft=sh:
  11. # MODULES
  12. # The following modules are loaded before any boot hooks are run.
  13. MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)
  14.  
  15. # BINARIES
  16. # This setting includes any additional binaries a given user may wish into the CPIO image.
  17. BINARIES=()
  18.  
  19. # FILES
  20. # This setting is similar to BINARIES above, however, files are added as-is and are not parsed in any way.
  21. FILES=()
  22.  
  23. # HOOKS
  24. # This is the most important setting control the modules and scripts added to the image, and what happens at boot time.
  25. HOOKS=(systemd plymouth autodetect microcode keyboard sd-vconsole modconf block filesystems fsck)
  26.  
  27. # COMPRESSION
  28. # Use this to compress the initramfs image. Options: cat, zstd, gzip, bzip2, lzma, xz, lzop, lz4
  29. #COMPRESSION="zstd"
  30.  
  31. # COMPRESSION_OPTIONS
  32. # Additional options for the compressor.
  33. #COMPRESSION_OPTIONS=()
  34.  
  35. # MODULES_DECOMPRESS
  36. # Decompress loadable kernel modules and their firmware during initramfs creation. Switch (yes/no).
  37. #MODULES_DECOMPRESS="no"
  38. ```
  39.  
  40. 4. Создать файл `/etc/systemd/system-environment-generators/10-gpu-driver-check.sh`:
  41. ```
  42. #!/bin/sh
  43. # Set env vars depending on the loaded gpu module
  44. if lsmod | grep -q "^nvidia"; then
  45. echo "VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json"
  46. echo "__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/10_nvidia.json"
  47.  
  48. # Video acceleration
  49. echo "LIBVA_DRIVER_NAME=nvidia"
  50. echo "VDPAU_DRIVER=nvidia"
  51.  
  52. elif lsmod | grep -q "^nouveau"; then
  53. echo "VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nouveau_icd.json"
  54. echo "__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json"
  55.  
  56. # Video acceleration
  57. echo "LIBVA_DRIVER_NAME=zink"
  58. echo "VDPAU_DRIVER=zink"
  59. # OpenCL
  60. echo "RUSTICL_ENABLE=zink"
  61. fi
  62. ```
  63.  
  64. 5. Отредактировать `/etc/mkinitcpio.d/linux.preset`:
  65. ```
  66. # mkinitcpio preset file for the 'linux' package
  67.  
  68. #ALL_config="/etc/mkinitcpio.conf"
  69. ALL_kver="/boot/vmlinuz-linux"
  70. #ALL_kerneldest="/boot/vmlinuz-linux"
  71.  
  72. PRESETS=('default' 'nvidia') #'fallback')
  73.  
  74. #default_config="/etc/mkinitcpio.conf"
  75. #default_image="/boot/initramfs-linux.img"
  76. default_uki="/boot/EFI/Linux/arch-linux.efi"
  77. default_options="modprobe.blacklist=nvidia,nvidia_drm,nvidia_modeset,nvidia_uvm" # blacklist proprietary driver modules
  78.  
  79. nvidia_config="/etc/mkinitcpio-nvidia.conf"
  80. #nvidia_image="/boot/initramfs-linux-nvidia.img"
  81. nvidia_uki="/boot/EFI/Linux/arch-linux-nvidia.efi"
  82. nvidia_options="modprobe.blacklist=nouveau,nova_core,nova_drm" # blacklist open driver modules
  83.  
  84. #fallback_config="/etc/mkinitcpio.conf"
  85. #fallback_image="/boot/initramfs-linux-fallback.img"
  86. fallback_uki="/boot/EFI/Linux/arch-linux-fallback.efi"
  87. fallback_options="-S autodetect"
  88. ```
Add Comment
Please, Sign In to add comment