Я видел решения этой проблемы в других местах, но они связаны с xrandr
, обнаруживающим все видеокарты, но на моем компьютере этого не происходит, Итак, начнем:
В моем ноутбуке есть графический процессор Nvidia и видеокарта Intel. Я хотел бы, чтобы карта Nvidia была обнаружена и доступна для CUDA, Tensorflow и т. Д., Но не использовалась для графики. Это оборудование:
lspci|grep VGA
00:02.0 VGA compatible controller: Intel Corporation Device 3e9b
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1f10 (rev a1)
И hardinfo
показывает это для графики:
-Display-
Resolution : 1920x1080 pixels
OpenGL Renderer : Mesa DRI Intel(R) UHD Graphics 630 (CFL GT2)
X11 Vendor : The X.Org Foundation
, поэтому графика идет через карту Intel.
Одна из проблем, часто упоминаемых как причина того, что карта Intel не видит порт HDMI, заключается в том, что порт физически подключен только к карте Nvidia, поэтому, если используется другая карта, HDMI недоступен. С xrandr
я вижу только экран ноутбука, поэтому предполагаю, что это так.
Я попытался выяснить, так ли это в моей системе, чтобы использовать xrandr --setprovideroffloadsink
для рендеринга на Intel, а затем отправки в HDMI через Nvidia. Но
xrandr --listproviders
Providers: number : 1
Provider 0: id: 0x43 cap: 0x9, Source Output, Sink Offload crtcs: 3 outputs: 1 associated providers: 0 name:modesetting
где в примерах, которые я мог найти, это дало бы две карты (с именами Nvidia и Intel или аналогичные), я понятия не имею, что с этим делать?
Оказалась проблема с основным режимом выбора карты Nvidia, как обсуждалось здесь. Отключение режима nvidia-drm решило проблему для меня.