У меня довольно уникальная ситуация, когда у меня есть сервер с установленной видеокартой NVIDIA, на котором нам нужно запустить X-сервер, однако сервер находится в стойке без монитора. Причиной запуска X является рендеринг операций с программой, использующей Qt. Есть огромные преимущества в эффективности благодаря использованию рендеринга на GPU, а не на CPU. Всякий раз, когда я startx
x, X не запускается, потому что экран не прикреплен. Каков наилучший метод для запуска x с поддельным монитором? ОС RHEL 6
1 ответ
Я не знаю, является ли это «лучшим способом», но это то, как я это делаю.
Используйте графический интерфейс nvidia-settings для создания edid-файла для экрана
Затем в терминале по вашему выбору вставьте или напишите:
sudo nvidia-xconfig -a --allow-empty-initial-configuration \
--use-display-device="DFP-0" --connected-monitor="DFP-0" \
--custom-edid="DFP-0:/home/$USER/edid.txt"
sudo reboot
Добавить графические процессоры и экраны в xorg.conf.
Если вы хотите иметь возможность разгона и управления вентиляторами, добавьте «--cool-bits = 12» (или то, что в документации NVIDIA указано для вашего драйвера) в строку «nvidia-xconfig» на Топ.
Если у вас нет способа создать файл edid, или вы не можете найти его здесь, я воспользуюсь:
00 ff ff ff ff ff ff 00 1e 6d f5 56 71 ca 04 00 05 14 01 03 80 35 1e 78 0a ae c5 a2 57 4a 9c 25 12 50 54 21 08 00 b3 00 81 80 81 40 01 01 01 01 01 01 01 01 01 01 1a 36 80 a0 70 38 1f 40 30 20 35 00 13 2b 21 00 00 1a 02 3a 80 18 71 38 2d 40 58 2c 45 00 13 2b 21 00 00 1e 00 00 00 fd 00 38 3d 1e 53 0f 00 0a 20 20 20 20 20 20 00 00 00 fc 00 57 32 34 35 33 0a 20 20 20 20 20 20 20 01 3d 02 03 21 f1 4e 90 04 03 01 14 12 05 1f 10 13 00 00 00 00 23 09 07 07 83 01 00 00 65 03 0c 00 10 00 02 3a 80 18 71 38 2d 40 58 2c 45 00 13 2b 21 00 00 1e 01 1d 80 18 71 1c 16 20 58 2c 25 00 13 2b 21 00 00 9e 01 1d 00 72 51 d0 1e 20 6e 28 55 00 13 2b 21 00 00 1e 8c 0a d0 8a 20 e0 2d 10 10 3e 96 00 13 2b 21 00 00 18 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 26
Сохраните файл edid.txt в домашнем каталоге вашего пользователя или измените местоположение в строке конфигурации.
Если вы включили разгон и хотите использовать экран на своем основном графическом процессоре:
sudo nano /etc/X11/xorg.conf
Удалить строки:
Option "UseDisplayDevice" "DFP-0"
Option "CustomEDID" "DFP-0:/home/nv/edid.bin"
Option "ConnectedMonitor" "DFP-0"
из раздела "Экран", в котором указан ваш GPUID с прикрепленным к нему экраном.
Разгон!
Предел мощности:
sudo nvidia-smi -i GPUID -pl WATTLIMIT
Основные часы:
nvidia-settings -c :0 -a [gpu:GPUID]/GPUGraphicsClockOffset[3]=16
:0 - это экран X, назначенный для GPU, GPUID - это угаданный номер GPU (считая от 0).
16 == смещение.
Используйте отрицательные числа для разгона.
Часы памяти:
nvidia-settings -c :0 -a [gpu:GPUID]/GPUMemoryTransferRateOffset[3]=1200
Если вы привыкли к Afterburner и т.д., Вы должны удвоить значения смещения в Linux(около).
Я всегда получаю больше сока из своих карт в системе Linux (для моего использования)
Включить и контролировать вентилятор (ы) вручную:
nvidia-settings -c :0 -a [gpu:GPUID]/GPUFanControlState=1
nvidia-settings -c :0 -a [fan:GPUID]/GPUTargetFanSpeed=85
Установите GPUFanControlState обратно на 0, чтобы отключить ручное управление.
GPUTargetFanSpeed принимает целое число от 0 до 100 в качестве входных данных.
Проверьте температуру, энергопотребление и т.д .:
nvidia-smi
Если процесс заблокирован в состоянии пониженного энергопотребления с помощью графического процессора, единственный найденный мной обходной путь состоял в создании профиля приложения, и не было никакого способа контролировать состояние P. По крайней мере, на потребительских картах.
Вот процесс:
cd ~/.nv
cat > nvidia-application-profiles-rc
Вставьте этот шаблон:
{
"rules": [
{
"pattern": {
"feature": "procname",
"matches": "NameOfRunningProcessThatWantsMorePriority"
},
"profile": "ProfileNameWhatever"
}
],
"profiles": [
{
"name": "ProfileNameWhatever",
"settings": []
}
]
}
Нажмите ввод, затем CTRL + C, прежде чем редактировать с любым вкусом.
Запустите свой процесс и введите nvidia-smi, чтобы получить имя процесса для использования в профиле приложения.
Кроме того, если у вас есть доступ к графическому интерфейсу, вы можете создать там профиль приложения.
Для сохранения пользовательских ограничений мощности при перезагрузках должен быть включен "Режим постоянства".
Чтобы включить его на всех графических процессорах:
sudo nvidia-smi -pm 1
Чтобы включить его на определенном графическом процессоре:
sudo nvidia-smi -i GPUID -pm 1
Режим постоянства поможет с быстротой, если запускать без головы и запускать несколько небольших процессов друг за другом, так как графический процессор не переходит в спящий режим между заданиями, это сократит время на обработку многих небольших задач.
Поднимет потребление холостого хода при активации!
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ ПРИ ИСПОЛЬЗОВАНИИ lightdm !!
Обычные методы порождают проблемы в новых системах Ubuntu
Как и все остальное на самом деле настройка вещей, используйте учетную запись root или sudo
Управление вентилятором:
# DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 nvidia-settings -c :0 -a [gpu:GPUID]/GPUFanControlState=1
# DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 nvidia-settings -c :0 -a [fan:GPUID]/GPUTargetFanSpeed=70
Над /underclock:
# DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 nvidia-settings -c :0 -a [gpu:GPUID]/GPUGraphicsClockOffset[3]=64
# DISPLAY=:0 XAUTHORITY=/var/run/lightdm/root/:0 nvidia-settings -c :0 -a [gpu:GPUID]/GPUMemoryTransferRateOffset[3]=1100
# == root или sudo
Если проблемы возникают, когда все работает (или нет), NVIDIA опубликовала несколько хороших запросов для устранения неполадок:
Другой;
Советы и подсказки ArchLinux Wiki по NVIDIA
Приложение xconfig NVIDIA драйвер 384.98
Просто измените версию драйвера в URL на версию вашего драйвера, и вы будете на правильном пути.