Xorg жрет CPU на Nvidia драйверах
Попробуйте добавить в конфиг /usr/share/X11/xorg.conf.d/10-nvidia.conf новые секции или добавить:
Option "AllowEmptyInitialConfiguration"
Option "UseNvKmsCompositionPipeline" "false"
еще в панели можно выключить (Force) Full composition pipeline
Section "OutputClass"
Identifier "nvidia"
MatchDriver "nvidia-drm"
Driver "nvidia"
Option "AllowEmptyInitialConfiguration"
Option "UseNvKmsCompositionPipeline" "false"
ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
Option "UseNvKmsCompositionPipeline" "false"
EndSectionУтила парсит штатную утилу nvidia-smi
nvidia-smi
Если у вас процессы не отображаются, то нужно понижать CUDA версию. По сути должна работать 11.4. Разбираемся дальше.
Значит смотрим процессы, которые взаимодействуют с карточкой. Видим, тут есть. Роем дальше
sudo usermod -a -G video логин_учетки
echo 'ADD_EXTRA_GROUPS=1' | sudo tee -a /etc/adduser.conf echo 'EXTRA_GROUPS=video' | sudo tee -a /etc/adduser.conf
и чишо мы имеем, докидываем тулкит и молимся в /dev/null, чтоб ось не лаганула с этой кудахталкой. А такое бывало, когда видеодрайвера после нее начинают обсыпаться.
sudo apt-get -y install nvidia-cuda-toolkit
ждем эдак вечность и получаем пшелнахер!!!
Ну что, пробуем ребутить. Ну что, утилиты слетели.
Пробуем накатывать это зловоние повторно:
sudo apt-get install vidia-utils-470
от своей версии драйверов 470. И все, не помогло! классика No running processes found.
sudo apt-get purge nvidia-utils-470
sudo apt-get install nvidia-driver-515
sudo apt-get install nvidia-utils-515
опять ребутим. Вуаля. Драйвер не стартанул с этой картой. Понятно, 470 это край для 600 серии карт и не только.
sudo apt-get purge nvidia-utils-515
sudo apt-get purge nvidia-driver-515
sudo apt-get install nvidia-driver-390
sudo apt-get install nvidia-utils-390
и получаем Not Supported класс.
Смотрим что на сей раз предложит:
ну давай серверную попробуем, нам же нефиг делать
sudo apt-get purge nvidia-driver-390
sudo apt-get purge nvidia-utils-390
sudo apt-get install nvidia-driver-418-server
sudo apt-get install nvidia-utils-418-server
все так же, только уже CUDA появилась 10.1
Заставляет задуматься, а есть ли тут такая функция и из-за нее ли проблема.
https://docs.nvidia.com/deploy/cuda-compatibility/index.html#binary-compatibility__table-toolkit-driver
нам нужен драйвер 470.57+ например и cuda 11.5 ну действуй я не знаю. А где все это взять.
sudo apt-get purge nvidia-driver-418-server
sudo apt-get purge nvidia-utils-418-server
sudo apt-get install nvidia-driver-470
sudo apt-get install nvidia-utils-470
https://www.nvidia.com/Download/driverResults.aspx/177145/en-us/
sudo chmod +x ./NVIDIA-Linux-x86_64-470.57.02.run sudo apt-get purge nvidia-driver-470 sudo apt-get purge nvidia-utils-470 sudo ./NVIDIA-Linux-x86_64-470.57.02.run
Ожидаемо получаем что хер тебе:
sudo service lightdm stop
запускаем установку и ловим ошибку по DKMS
make[2]: *** [scripts/Makefile.build:297: /var/lib/dkms/nvidia/470.57.02/build/nvidia/nv-memdbg.o] Error 1
make[2]: *** [scripts/Makefile.build:297: /var/lib/dkms/nvidia/470.57.02/build/nvidia/nv.o] Error 1
In file included from /var/lib/dkms/nvidia/470.57.02/build/common/inc/nv-linux.h:25,
from /var/lib/dkms/nvidia/470.57.02/build/nvidia/nv-rsync.c:24:
/var/lib/dkms/nvidia/470.57.02/build/common/inc/nv-time.h: In function 'nv_sleep_ms':
/var/lib/dkms/nvidia/470.57.02/build/common/inc/nv-time.h:217:18: error: 'struct task_struct' has no member named 'state'; did you mean '__state'?
217 | current->state = TASK_INTERRUPTIBLE;
| ^~~~~
| __state
In file included from /var/lib/dkms/nvidia/470.57.02/build/common/inc/nv-linux.h:25,
from /var/lib/dkms/nvidia/470.57.02/build/common/inc/nv-msi.h:14,
from /var/lib/dkms/nvidia/470.57.02/build/nvidia/nv-msi.c:11:
/var/lib/dkms/nvidia/470.57.02/build/common/inc/nv-time.h: In function 'nv_sleep_ms':
/var/lib/dkms/nvidia/470.57.02/build/common/inc/nv-time.h:217:18: error: 'struct task_struct' has no member named 'state'; did you mean '__state'?
217 | current->state = TASK_INTERRUPTIBLE;
| ^~~~~
| __state
make[2]: *** [scripts/Makefile.build:297: /var/lib/dkms/nvidia/470.57.02/build/nvidia/nv-report-err.o] Error 1
make[2]: *** [scripts/Makefile.build:297: /var/lib/dkms/nvidia/470.57.02/build/nvidia/nv-rsync.o] Error 1
make[2]: *** [scripts/Makefile.build:297: /var/lib/dkms/nvidia/470.57.02/build/nvidia/nv-msi.o] Error 1
make[1]: *** [Makefile:1881: /var/lib/dkms/nvidia/470.57.02/build] Error 2
make[1]: Leaving directory '/usr/src/linux-headers-5.15.0-46-generic'
make: *** [Makefile:80: modules] Error 2Короче сносим все дрова nvidia и сначала ставим cuda посвежее, к 470 пойдет 11.7
https://developer.nvidia.com/cuda-downloads?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=22.04&target_type=deb_local
установил, поимел проблемы. Замусорил ядрами, дальше все стало собираться и откатываться с ядрами oracle и с ними намертво отлетала сеть. Посидел без интернета и плюнул на эту затею, откатился на 470 пока и поудалял все лишние собранные ядра.
Вот зараза. Но с настроек в самом начале полегче стало.