Инструкциите са за УСУ 9.

В тази статия ще ви покажа как лесно да инсталирате и настроите поддръжката на Nvidia Optimus в УСУ Линукс.
За незапознатите: Optmus е технология, която много от новите лаптопи притежават. Известна е и като „хибридно видео“. При нея лаптопа има две видеокарти – едната е вградената в процесора на Intel, която се използва за непретенциозни неща с цел пестене на енергия, а другата е мощна видеокарта на Nvidia, която се задейства когато например играете тежки 3D игри.

До скоро, поддръжката на тази технология под Линукс беше доста ограничена, но за щастие това вече не е така.
Вече е възможно само с няколко прости стъпки (въпреки обема на текущата статия), да получите напълно работеща Optimus поддръжка, функционираща почти аналогично на тази в „другата“ операционна система 😉

Инсталиране на драйвера на Nvidia

Можете да го направите като от менюто с програми, отворите Настройки -> Системни настройки:

optimus-1

Ще се отвори контролния център на KDE, от който трябва да отидете в Driver Manager:

optimus-2

В Driver Manager маркирайте една от опциите „Using NVIDIA binary driver“ (ако има такава – тази с „-updates“ в края на името):

optimus-3

След това щракнете „Прилагане“. Системата автоматично ще изтегли и инсталира избрания драйвер.
Когато приключи, рестартирайте компютъра.

Под Линукс има два различни начина на ползване на Optimus, осигурени от пакетите nvidia-prime (официален, от Nvidia) и съответно bumblebee (свободен).
Когато се използва nvidia-prime, цялата работна среда работи само с едната или само с другата видеокарта, като за смяна се изисква рестартиране на работната сесия всеки път след като сте направили настройката.
Когато се използва bumblebee обаче, работната среда винаги работи чрез по-слабата по-слабата видеокарта, а приложенията които искате да използват мощната карта се стартират като в стартера им, пред командата за стартиране сложите „optirun“. Т.е. всяко приложение се настройва предварително, еднократно.

Активиране на Optimus чрез nvidia-prime:

Това е „официалният“ начин, който е по-лесен, но си има своите недостатъци.
За да го използвате, не се налага да инсталирате нищо – пакетът nvidia-prime би трябвало да се е инсталирал автоматично с драйвера.
За да използвате по-мощната видеокарта, единствено трябва от менюто с програми да стартирате Настройки -> Nvidia X Server Settings, в раздел „PRIME Profiles“ да маркирате желаната видеокарта, и да рестартирате сесията. Работната среда, както и всяка една стартирана програма ще използват избраната видеокарта.
При този метод енергоспестяването е по-лошо, тъй като по-мощната видеокарта е постоянно активна когато сте я избрали за основна.

Активиране на Optimus чрез bumblebee:

Този метод е по-добър от гледна точка на енергоспестяването, и не се налага всеки път когато ще играете нещо да активирате видеокартата и да рестартирате сесията – тя се активира само когато стартирате приложението/играта.
Недостатък е че трябва ръчно еднократно да промените командата в стартера на всяка една игра, която искате да използва по-мощната видеокарта.
Първото нещо което трябва да направите, е ЗАДЪЛЖИТЕЛНО от настройките на nvidia в „PRIME Profiles“ да активирате Intel-ската видеокарта, и никога да не активирате Nvidia-та от там (просто няма да работи коректно). Най-добре – направо деинсталирайте пакета nvidia-prime и рестартирайте.

След това инсталирайте пакетите bumblebee-nvidia и mesa-utils (този пакет се използва за тестване), и отново рестартирайте (за последно!).
Сега, първо тествайте дали bumblebee работи като в терминал изпълните

optirun glxgears

Ако всичко е ОК, ще видите вездесъщите въртящи се зъбчатки:

optimus-4

Не използвайте стойността FPS от този тест за някакви сравнения между видеокартите. Този тест не измерва производителност.

Сега, остава единствено да промените стартерите на игрите, които искате да използват мощната видеокарта. Например, ако искате да накарате Steam да я използва, трябва да щракнете с десен бутон върху иконката му (която сте сложили на работния плот), и от менюто да изберете „Информация“:

optimus-5

След това отворете раздел „Програма“ и в полето „Команда“ прибавете „VGL_READBACK=pbo optirun“ преди командата:

optimus-6

Тоест, променете

/usr/bin/steam %U

на

VGL_READBACK=pbo optirun /usr/bin/steam %U

Направете това за всяка игра, която желаете да използва мощната видеокарта.
Параметърът „VGL_READBACK=pbo“ е опционален, и влияе положително върху производителността (с някой и друг кадър), така че го оставете.

Ако искате да настроите по същия начин игра, инсталирана чрез WINE, се изисква малко по-голяма промяна в командата, тъй като командата в стартерите които WINE създава автоматично е малко по-различна.
Ще дам пример как да се промени стартер, създаден от Steam през WINE.
По начало командата е примерно такава:

env WINEPREFIX="/home/lokster/.wine" wine C:\\windows\\command\\start.exe steam://rungameid/108710

Трябва да стане такава:

env WINEPREFIX="/home/lokster/.wine" VGL_READBACK=pbo optirun wine "/home/lokster/.wine/drive_c/Program Files/Steam/Steam.exe" steam://rungameid/108710

Накратко, трябва да промените стартера така, че да не използва „start.exe“ за стартиране на играта, а да стартира директно изпълнимия файл:

VGL_READBACK=pbo optirun wine "/път/до/играта.exe"

Още няколко полезни трика…

За WINE

Това което ще ви покажа, няма директна връзка с Nvidia или хибридното видео, а важи като цяло за WINE: използвайте 32-битова версия на WINE за да си спестите куп проблеми!
Как става това? Ако сте с 32-битово УСУ, не трябва да правите нищо. А ако сте с 64-битово, трябва при първоначалното стартиране на WINE да добавите параметъра WINEARCH=win32.
Ако вече имате папка .wine в домашната папка – трябва първо да я изтриете (което естествено ще изтрие всичко което сте инсталирали в WINE).
След това стартирайте тази команда в терминал или чрез натискане на клавиша Super (WIN-key):

WINEARCH=win32 winecfg

На предложенията да се инсталира .NET и Gecko може спокойно да давате „Cancel“.
След това просто затворете прозореца с настройките на WINE и всичко е готово – от тук нататък WINE е 32-битов и няма нужда да правите нещо повече.
Запомнете: това се прави преди да има папка ~/.wine, в противен случай трябва първо да я изтриете!

Достъп до настройките на Nvidia чрез bumblebee

Ако използвате Bumblebee и опитате да стартирате Настройки -> Nvidia X Server Settings, ще видите че всъщност нямате достъп до настройките. Това е така, защото по подразбиране тази видеокарта не е активна.
За целта трябва да промените командата за стартиране на контролния панел на Nvidia. Командата е такава:

optirun -b none nvidia-settings -c :8

Най-лесно е с мишката да хванете стартера от менюто, да го копирате върху работния плот, и там чрез десен бутон на мишката, в „Информация“ да промените командата.

Автоматично зареждане на настройките на Nvidia

Драйвера на Nvidia има една особеност – настройките които сте избрали в контролния панел не се зареждат автоматично след рестартиране.
За да промените това, първо създайте един текстов файл /home/ПОТРЕБИТЕЛ/.local/bin/restore-nvidia със следното съдържание:

#!/bin/bash
optirun -b none nvidia-settings -c :8 --load-config-only

След това щракнете върху него с десен бутон на мишката, от менюто изберете „Информация“, и в раздел „Права“ сложете отметка пред „Изпълним файл“.

След това стартирайте контролния център на KDE от главното меню -> Настройки -> Системни настройки:

optimus-7

От него отворете „Зареждане и изклюване“:

optimus-8

Там от бутона „Добавяне на скрипт“  изберете /home/ПОТРЕБИТЕЛ/.local/bin/restore-nvidia.
Всичко е готово!

Надявам се инструкциите да са ви били полезни, а ако не работят за вас – просто ще се наложи да почакате докато поддръжката се подобри още малко.