Ноут от Samsung’а и его Linux’ы. Часть 6: видеодетектив

Алексей Федорчук

Наш детектив под названием Дело о гибридном видео близится к развязке. Убедившись в работоспособности свежеустановленной openSUSE, я задался вопросом: а что эту работоспособность обеспечивает? Который из двух установленных в ней видеочипов?

Визуально было такое впечатление, что задействован чип от Nvidia: уж больно гладко выглядели все спецэффекты. Мой личный субъективный тест — игра extreme-tuxracer — по ощущениям показывал быстродействие как минимум не ниже, чем на большой машине с AMD Radeon HD 4250, который, не смотря на свою интегрированность, является всамделишним 3D-чипом.

Я, конечно, в курсе, что HD Graphics 3000, по сравнению со своими более старшими (то есть старыми) братьями во Intel’е в отношении трёхмерной графики был весьма усовершенствован. Однако, судя по виденным тестам, до «настоящих» Radeon’ов и и GeForce’иев всё-таки не дотягивает.

То есть по визуальным ощущениям я в данном ноуте имею дело с работой дискретного GeForce GT 520MX, причём, судя по отсутствию характерной заставки на старте системы, работа эта обеспечивается свободным драйвером nouveau.

Поскольку к этому времени я немножко теоретически подковался в вопросе о гибридном видео (о чём рассказано здесь), для начала пытаюсь выяснить, а не порылась ли здесь технология Nvidia Optimus? Для чего произвожу поиск соответствующего свободного её аналога:

$ zypper search bumblebee

Результат отрицательный — пакет с указанным именем не обнаруживается ни установленным в системе, ни в репозиториях. Из чего можно сделать вывод, что, ввиду отсутствия переключателя на корпусе или соответствующий опции в BIOS’е, в моём ноуте задействован механизм переключения между чипами в зависимости от заданного уровня энергопотребления.

После этого пытаюсь выяснить, какие модули, связанные с видеоподсистемой, у меня загружены:

$ lsmod | grep nouveau
nouveau               778193  0
ttm                    80953  1 nouveau
mxm_wmi                12979  1 nouveau
drm_kms_helper         42489  2 nouveau,i915
drm                   252927  6 nouveau,ttm,i915,drm_kms_helper
i2c_algo_bit           13423  2 nouveau,i915
video                  19653  2 nouveau,i915
button                 13949  2 nouveau,i915

Получается, что загружены оба — и для Intel’а (i915), и для Nvidia (nouveau). А вот какой из них «главней» — остаётся непонятным.

Ладно, вспоминаю, что я не где-нибудь, а в KDE, которое имеет средство просмотра аппаратной конфигурации — KinfoCenter. Запускаю его, нахожу вроде бы нужный пункт —Сведения о графике -> OpenGL и любуюсь его содержимым:

video011.png

В коем фигурирует лишь драйвер для Intel’овского чипа — и ни малейшего намёка на на чип Nvidia.

Ну хорошо, думаю, а что нам скажет полковник Брежнев знаменитый YAST2, по слухам, содержащий все сведения о системе, которые тольк могут понадобиться.

А говорит он нам довольно странные вещи. Сначала выводит информацию про Intel’овский чип, из которой следует, что чип этот работает с модулем DRM, драйвер чипа называется i915 (положим, последнее я и так знал), и что соответствующий модуль активирован:

video021.png

А вот про Nvidia имя соответствующего модуля хранится в тайне, и на счёт его активности выводятся противоречивые сведения:

video03.png

Так и оставшись в недоумении, я начинаю рыскать по системе в поисках дополнительной информации. В частности, о возможных способах переключения между чипами. И в этом плане я не нашёл ничего лучшего, кроме как Управление питанием в Параметрах системы:

video041.png

Здесь можно настроить параметры энергосбережения для одного из трёх профилей управления питанием:

  • производительного, когда все опции энергосбережения отключены:

    video051.png

  • энергосберегающего, с умеренными значения этих опций:

    video061.png

  • агрессивно-энергосберегающего, при котором значения их максимальны:

    video07.png

Профили эти можно приписать к режимам работы ноутбука: подключению к сети, работе от аккумулятора, низком уровне заряда последнего, почти полной разрядке:

video08.png

Численные значения уровней (в процентах от полного заряда) могут быть установлены пользователем:

video09.png

Прямых указаний на то, что при смене профилей происходит переключение видеочипов, я нигде не нашёл. Однако эксперименты с
extreme-tuxracer’ом показали, что при производительном и энергосберегающем режимах пингвин отлавливает рыбку с одинаковой скоростью. А вот при агрессивном энергосбережении начинает несколько тормозить. Это позволяет предположить, что именно с переходом к максимальному энергосбережению отключается дискретный GeForce.

Разумеется, всё это основано на сугубо субъективных ощущениях. Хорошо бы подтвердить это каким-то количественными данными, но как — пока не придумал, ибо никогда не интересовался производительностью видеочипов и всем, к этому относящемуся. Разве что коллективный разум Джуйки поможет — тогда и вернусь к этому вопросу.

Так что в этом детективе ответа на традиционных вопрос — кто же преступник? — пока не будет. Хотя я склоняюсь к мнению, что главный злодей в этом сюжете — производитель, использующий новые технологии, не документируя их должным образом. Возможно, дальнейшие оперативно-розыскные мероприятия прольют свет на этот вопрос (и кое-что уже появилось).

А пока удовлетворюсь тем, что в openSUSE всё, связанное с графикой, работает, и работает хорошо. Так что в заметке, заключающей данный цикл, подведу итоги.


К содержанию

Ноут от Samsung’а и его Linux’ы. Часть 6: видеодетектив: 5 комментариев

  1. $ zypper search bublebee

    Это очепятка где? Если в консоли — то оно же bumblebee :)
    Аа насчёт работы якобы nvidia чипа — выгрузите его модуль и убедитесь, что ничего не меняется. Ну не работают дискретные чипы в линуксе, насколько я знаю. То, что у вас меняется производительность в экономе, это лишь следствие уменьшения частоты интеловского gpu.

  2. 2 Frank ачипятка здесь — проверил по history :)
    > не работают дискретные чипы в линуксе
    Если линукс просто не види GeForce — почему тогда нормально не грузятся Иксы в PCLinuxOS и в Fedora?

    И от памяти интеловский чип ничего не отжирает. Он что, забирает память из того гигабайта, что на маме?

  3. Скорей всего Иксы в PCLinuxOS и в Fedora как раз потому и повисают, что пытаются запинать дискретку. А насчёт памяти — дык, чип жрёт память динамически. Неужели free -m показывает полные 1024 или хотя бы 1023 метра?
    Н у и в dmesg полезно заглянуть, вряд ли там будут упоминания nvidia в каком-либо виде.
    Кстати, я в убунте когда-то на гибриде пытался активировать nvidia драйвер. После перезагрузки получалось такое сообщение: драйвер загружен и активирован, но не используется. И, разумеется, дискретна не работала.
    Кстати, лучший вариант проверить, работает ли дискретка — запустить игру, юзающую opengl 2.0+ — интеловская дискретка выдаст себя отсутствующими текстурами. Что-то там про танки такое было…
    Предлагаю запустить 0 A.D. — http://www.playdeb.net/software/0%20A.D. — на интеле должна жутко тормозить.
    А, вот эти танки — http://www.playdeb.net/software/Zero%20Ballistics
    Ну, придётся поискать сборки под зюзю…

  4. Я думаю, здесь интел работает. В 3Д его очень производительным сделали. Кстати, наличие загруженных нивидиевских модулей не значит, что дискретка работает.

Обсуждение закрыто.