На сучасних ноутбуках з процесором Intel часто йдуть дві відеокарти, одна інтегрована на чіпсеті Intel, друга дискретна - в основному NVIDIA. Виробники пояснюють це тим, що інтегрована карта Intel сильно економить заряд батареї і дозволяє значно збільшити час роботи ноутбука в автономному режимі. Не так сильно гріється (немає необхідності в додатковому теплоотводе). Підтримує OpenGL інструкції і всі сучасні ігри можна запускати на відеокарті Intel.
Чому не влаштовує Intel
Здавалося б, суцільні плюси у Intel, але в чому ж підступ? А підступ у тому, що на дешевих ноутбуках (не знаю як на дорогих) інтегрована Intel відеокарта дає погане зображення. Проявляється це в мерехтінні екрану і як наслідок втоми очей. спроба поміняти частоту ШІМ ні до чого не привела. Зображення стало стабільніше, але потім все одно очі втомлювалися. Чи не зрозуміло, чому це відбувалося в Linux, адже під Windows на тому ж ноутбуці не було проблем з интеловской відеокартки. Потрібно було якось задіяти дискретну NVIDIA карту.
В сучасних ноутбуках відео-підсистема влаштована так, що основний відеотрафік (десктоп, офіс, термінал) йде через Intel відеокарту, а через NVIDIA йшов відеопотік тільки з додатків спеціально прив'язаних до цієї карті, наприклад, гри. А ось, щоб пустити весь відеосигнал через NVIDIA ніяк не виходило. Пробував безліч дистрибутивів Linux і ніде не міг знайти відповіді на це питання. Все було заточене під енергозбереження, тобто основний відкритий йшов Intel, а NVIDIA для екстремальних навантажень. А хотілося, щоб NVIDIA працювала весь час.
Як перейти на NVIDIA
Після гугленія і куріння форумів прийшов до висновку, що питання настройки NVIDIA на ноутбуках цікавить багатьох людей. Але чіткого керівництва щодо повного переходу на NVIDIA не було. Все залежало від конкретного дистрибутива Linux і те, що у кого-то вийшло при повному повторенні всіх кроків не приводило до результату на твоєму ноутбуці.
У підсумку, після декількох спроб з Ubuntu, OpenSuSe, CentOS у мене вийшло зробити NVIDIA основний відкритий в Ubuntu 17.10 на моєму ноутбуці ASUS 540.
установка
Розглянь установку NVidia на чистій Ubuntu 17.10 (з коробки).
Додаємо репозитарій з якого будемо ставити:
sudo apt add repository ppa: xorg-edgers / ppa
Потім ставимо драйвера і допоміжні утиліти:
sudo apt-get install nvidia-361 nvidia-settings nvidia-prime
Тут варто звернути увагу на версію пакету nvidia. Не завжди найостанніша є найкращою. Треба дивитися відгуки на форумах.
Довантажувати драйвер в модуль:
lsmod sudo modprobe nvidia
Перевіряємо, як встановився драйвер:
lsmod | egrep nvidia ~ / Dropbox / Linux / Ubuntu $ lsmod | egrep nvidia nvidia_uvm 663552 0 nvidia_drm 45056 6 nvidia_modeset 843776 5 nvidia_drm nvidia 13004800 382 nvidia_modeset, nvidia_uvm drm_kms_helper 167936 2 i915, nvidia_drm drm 356352 12 i915, nvidia_drm, drm_kms_helper
Командою glxinfo визначаємо карту, яка буде виконувати OpenGL інструкції:
glxinfo | egrep render
Висновок цієї команди повинен містити назву дискретної відеокарти:
glxinfo | egrep render direct rendering: Yes OpenGL renderer string: GeForce 840M / PCIe / SSE2 GL_ARB_conditional_render_inverted, GL_ARB_conservative_depth, GL_KHR_robustness, GL_KTX_buffer_region, GL_NVX_conditional_render, GL_NV_conditional_render, GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_parameter_buffer_object2, GL_NV_path_rendering, GL_ARB_compute_variable_group_size, GL_ARB_conditional_render_inverted, GL_KHR_robustness, GL_KTX_buffer_region, GL_NVX_conditional_render, GL_NV_conditional_render, GL_NV_copy_depth_to_color, GL_NV_copy_image, GL_NV_parameter_buffer_object2, GL_NV_path_rendering, GL_EXT_protected_textures, GL_EXT_render_snorm, GL_EXT_robustness, GL_NV_conditional_render, GL_NV_copy_buffer, GL_NV_copy_image, GL_NV_packed_float_linear, GL_NV_path_rendering, GL_OES_fbo_render_mipmap, GL_OES_geometry_point_size,
Тепер скористаємося чудовою утилітою nvidia-settings, яку ми поставили разом з драйверами. Nvidia-settings надасть вичерпну інформацію про параметри дискретної відеокарти і дозволить зробити зміни в ряді налаштувань.
Головне вікно nvidia-settings
Параметри дискретної відеокарти
Датчик температури на дискретній відеокарті
Якщо ви хочете, щоб за отрисовку всієї графіки (декстопов, термінал, браузер, ігри) повністю відповідала карта NVIDIA, то виберете її в списку GPU. Якщо необхідно економити енергію батареї ноутбука, то вибирайте вбудовану відеокарту Intel.
Режим роботи всієї графічної системи ноутбука
тести
Після того, як NVIDIA драйвери були успішно встановлені, потрібно провести ряд тестів показують, що дискретна відеокарта NVIDIA виконують всю роботу по обрахунку сцени. Для цього запустимо 3D тест подивимося на датчик температури дискретної карти. Якщо температура буде підвищуватися, значить вся обчислювальна навантаження йде на дискретну відеокарту.
glxgears
Найпростіший і ефективний тест для відеокарти. Обертаються три шестерінки. Тест glxgears входить в пакет mesa-utils:
sudo apt-get install mesa-utils
запускається тест командою:
glxgears
Дивимося на шестерінки, консольку, куди виводиться поточний FPS і заздалегідь приготоване вікно nvidia-settings з датчиком температури.
GL Mark
На відміну від glxgears - це просунутий тест, який перевіряє кілька режимів роботи Open GL.
sudo apt-get install glmark2 glmark2
Unigine
Досить прикольний набір безкоштовних тестів, які можуть конкретно навантажити вашу відеокарту. Завантажити виконуваний файл можна за наступним посиланням:
https://benchmark.unigine.com/heaven
висновки
Наведено рекомендації по встановленню драйвера для NVIDIA карти під Linux (Ubuntu). Показано, як перевести весь відеотрафік на дискретну карту NVIDIA. Описано способи перевірки коректності установки драйверів.