OpenSuSe 11.4 и встроенные видеокарты Intel

После перехода на OpenSuSe 11.4 я заметил, что видеокарта Radeon HD 5570 с пропиетарными драйверами ATI работает без нареканий; однако две других машины с интегрированными видеокартами Intel работали из рук вон плохо.

Во-первых, меня очень разочаровал мой ноутбук Dell Latitude L110 c видеокартой на чипсете Intel 915GM. Но не потому, что он плохой; а потому, что железо уже морально устарело (буку стукнуло 5 лет, которые он отслужил верой и правдой в боевых условиях), и поддержка некоторых фич прекращена с 1 квартала 2011 года. Это значит, что в следующих релизах операционных систем семейства Linux заставить карту работать будет все сложнее, и в конце концов случится то же, что и произошло с картой ATI Radeon X 1650, т.е. на оборудовании можно будет ставить крест.

Но на сегодняшний день эта карточка у меня завелась (хотя и со скрипом). Оживить ее можно так.

1. Обновляем до последних версий пакеты

xorg-x11-driver-video
xorg-x11-driver-intel-legacy

2. Сохраняем старый xorg.conf (на всякий случай):

# mv /etc/X11/xorg.conf /etc/X11/xorg.conf.old

В runlevel 3 (без иксов) запускаем конфигурилку X:

# X -configure

Он там подумает, и родит файл /root/xorg.conf.new. В нем надо внести некоторые исправления:

а) если драйвер определился как “intel”, меняем его на “intellegacy”:

Driver “intellegacy”

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

Option “DRI” “on”

в) Отключаем фичу, которая больше не поддерживается:

Option “XvMC” “off”

Потом копируем его в xorg.conf и запускаем иксы:

# cp /root/xorg.conf.new /etc/X11/xorg.conf
# startx

У меня после этого все заработало на ноутбуке. После этого проверил 3D ускорение:

$ glxinfo | grep direct
direct rendering: Yes

На второй машине у меня была другая видеокарта, но тоже интеловская (Intel Corporation 82865G Integrated Graphics Controller).

Сконфигурировал там xorg.conf аналогичным образом, и в результате X запустились, glxinfo показал direct rendering: Yes, a mplayer перестал работать.

Лечится исправлением видеодрайвера для mplayer:

# cat /etc/mplayer/mplayer.conf | grep gl2
vo=gl2,x11

Теперь и mplayer заработал на ура.

Переход на OpenSuSe 11.4

Убил выходные на то, чтобы 3 компьютера проапгрейдить со старых ОС на OpenSuSe 11.4.

Хуже всего проходил upgrade с 11.0 на 11.4 на ноутбуке. Вроде и система установилась нормально, перегружаю ноутбук, и при попытке залогиниться получаю отбивку – “Неизвестный модуль” (или для англоязычной версии “Module is unknown”).

Выяснилось, что в 11.4 для авторизации используются модули PAM (которые не были установлены на ноутбуке в версии 11.0 и при апгрейде система их “забыла” поставить). Так что есть два варианта решения проблемы – либо доставить модули руками (что проблематично, т.к. так просто залогиниться не получится), либо отключить использование PAM при логине – я так и сделал.

Процедура следующая. При загрузке системы в меню Grub надо выбрать соответствующий вариант загрузки и руками в опцию загрузки написать single. В однопользовательском режиме надо поправить файл /etc/pam.d/login, и закомментировать строчку:

#session required pam_resmgr.so

После перезагрузки ноутбука в обычном режиме в систему уже можно было залогиниться, но запустить X с помощью startx мог только root (остальным пользователям не хватало прав). Проблема не наблюдалась в runlevel 5 (т.к. там иксы стартуют от рута), но у меня все работает в runlevel 3 и иксы запускаются только при необходимости. Это лечится добавлением прав на запуск:

# chmod a+s /usr/bin/Xorg

Прощай, Google App Engine!

Это завершающая статья про Google App Engine. Я принял решение отказаться от использования GAE в своих проектах.

Сначала платформа Google App Engine мне показалась очень интересной. Я даже наваял на ней пару тестовых приложений, и когда меня все устроило, запустил несколько более-менее серьезных проектов на GAE.

Потом выяснилось, что Google стал блокировать доступ к сайтам на GAE по непонятным причинам, а спустя какое-то время даже прикрыл свой проект appgallery.appspot.com, написанный на GAE и предназначенный для популяризации этой платформы.

Такой зависимости от капризов гугла я терпеть не мог, и решил уйти с платформы Google App Engine.

Когда я забрал данные из хранилища в Google App Engine в формате sqlite3, я думал, что сконвертировать их, например в mysql, будет совсем не сложно.

Я ошибался. Данные в дампе оказались нечитаемыми, и с ними нормально работать мог только движок Google App Engine. Поэтому мне пришлось сделать реэкспорт данных из хранилища GAE в другой читабельный формат.

К счастью, bulkloader умеет экспортировать данные и в других форматах, например, CSV или XML. Про экспорт в XML есть хорошая статья на Хабре, где по полочкам и разложено, как настроить bulkloader.yaml для корректного преобразования данных в XML.

Так как сайты на платформе GAE может хостить только Google, платформа оказалась тупиковой ветвью в развитии фреймворков на Python, использовать ее стало бесполезно и даже опасно. Уж лучше писать на Django, чем бездарно тратить время на GAE.