GMA 500

«Счастливым» обладателям аппаратов с видеокартами GMA 500/600 (Poulsbo), GMA 3600/3650 (Cedarview) посвящается!

Один из примеров таких аппаратов – нетбук Acer Aspire One AO751, в котором используется связка из процессора Intel Atom Z520 1.33 ГГц с чипсетом Intel US15W (GMA 500).

Ubuntu

Для Ubuntu проблема решается довольно просто, нужно открыть terminal, ввести:

sudo add-apt-repository ppa:gma500/ppa

sudo apt-get update

sudo apt-get install poulsbo-driver-2d poulsbo-driver-3d poulsbo-config

… и перезагрузиться. Все.

Более подробно см. здесь:

Puppy и fbdev

В случае с Puppy Linux поиск по просторам интернета приводит к следующим страницам:

Выполнение рекомендаций по первым двум ссылкам ничего положительного не дало, а вот благодаря инструкции tempestuous по третьей ссылке, наконец-то удалось запустить абсолютно без тормозов просмотр видеофильмов на полном экране в LupuRus-520 с драйвером fbdev и разрешением 1360×768, а в браузерах теперь страницы прокручиваются плавно, без рывков.

Иногда бывает, что после перезагрузки с созданием save-файла, драйвер fbdev работает также без тормозов, но только с разрешением 1024×768 и изменить его никак не получается.

Где работает

Описанный tempestuous способ успешно работает на всех сборках Puppy Linux 5.1x/5.2x, построенных на ядре 2.6.33.2, в частности на русифицированных:

и др.

PuppyRus и fbdev

Инструкция

Чтобы настроить работу драйвера fbdev для видеокарточки GMA 500 в PuppyRus Richy 216(7) необходимо выполнить следующее:

1. Нужно отключить драйвер psb_gfx (или gma_gfx.ko.gz), для этого есть несколько способов:

  • Пересобрать основной sfs-файл pupm-216.sfs с удалением файла /lib/modules/3.1.10/kernel/drivers/staging/gma500/psb_gfx.ko.gz (или gma500_gfx.ko.gz). ИМХО самый надежный, но трудоемкий способ.
  • Добавить psb_gfx в /etc/rc.d/MODULESCONFIG, а именно дописать в строку 22 вот так:
SKIPLIST=" psb_gfx arcfb cirrusfb cyber2000fb cyblafb

перезагрузиться с созданием save-файла. Но при этом способе бывает, что потом возможно загрузиться только с разрешением 1024×768 вместо необходимого 1366×768.

  • При первой загрузке удалить файл /lib/modules/3.1.10/kernel/drivers/staging/gma500/psb_gfx.ko.gz (или gma500_gfx.ko.gz) и перезагрузиться с созданием save-файла - этого обычно вполне достаточно.

2. Создать файл /etc/modprobe.d/uvesafb.conf со следующим текстом:

options uvesafb mode_option=1366x768-16 scroll=ywrap

3. Создать файл /etc/resolutionfix с текстом:

915resolution 38 1366 768

4. Создать файл /etc/X11/xorg.conf с текстом:

#PuppyRus config file

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
	HorizSync    31.5-90
	VertRefresh  60
	Option      "PreferredMode" "1366x768"
	EndSection

Section "Device"
	Identifier  "Card0"
	Driver      "fbdev" #card0driver
	VendorName  "Intel Corporation"
	BoardName   "System Controller Hub (SCH Poulsbo) Graphics Controller"
	BusID       "PCI:0:2:0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	DefaultDepth 16
	#Option         "metamodes" "1366x768_60 +0+0" #METAMODES_0
	Subsection "Display"
		Depth       16
		Modes       "1366x768"
	EndSubsection
EndSection

#PuppyHardwareProfile=Intel_r_Poulsbo_Graphics_ChipAUO

5. Добавить в систему файл /sbin/v86d, желательно последней версии.

6. Выйти в консоль и выполнить:

#depmod -a
#modprobe uvesafb mode_option=1366x768-16 scroll=ywrap

после этого разрешение в консоли должно измениться на 1366×768, затем после команды:

#xwin

иксы должны подняться на драйвере fbdev с разрешением 1366×768.

Теперь все работает без тормозов, в том числе воспроизведение видеофайлов на полный экран.

Рекомендации

Если после перезагрузки иксы не поднялись, то необходимо выполнить в консоли:

#modprobe uvesafb mode_option=1366x768-16 scroll=ywrap

тогда все должно нормально загрузиться.

Автозагрузка

При добавлении вышеуказанной команды в /etc/rc.d/rc.local получается загрузка с драйвером fbdev, но почему-то опять с неродным разрешением 1024×768. Для выхода из положения необходимо добавить эту команду в автозагрузку так, чтобы она выполнялась до старта файла xwin. Как вариант можно создать скрипт /etc/profile.d/start_uvesa.sh со следующим текстом:

#!/bin/sh
modprobe uvesafb mode_option=1366x768-16 scroll=ywrap

Скачать

uvesafb-v86d-pr216.pet (5.45 Кб)

Usoft-uvesa-pr217.sfs (8 Кб) – данный пакет стабильно работает в PuppyRus 2.1.6 Richy, а также в сборках PuppyRus Richy-217-DdSE и PuppyRus 217 Byte006a (Байт).

Проблема наличия в системе с ядром k3.4.6 файла gma500_gfx.ko.gz, решена по совету sfs добавлением в пакет файла gma500_gfx.ko.gz нулевой длины.

Puppy и modesetting

Для оборудования Poulsbo начиная с ядра 3.3.rc1 появился модуль gma500_gfx, который обеспечивает  2D-ускорение и разрешение 1366×768 с использованием драйвера xf86-video-modesetting.
В дистрибутивах Puppy Linux модуль gma500_gfx присутствует начиная с ядра 3.4.17: Slacko-5.4.0.3 с PAE и новее, Dpup Wheezy 3.5.2.5, Upup Precise 3.7.2 и новее.

PuppyRus и modesetting

В состав дистрибутивов проекта PuppyRus Linux, начиная с PuppyRus-Icewm-13.01 включен драйвер modesetting, для работы которого необходимо, по рекомендации отсюда Poulsbo, добавить файл /etc/X11/xorg.conf.d/20-poulsbo.conf со следующим содержанием:

Section "Device"
   Identifier "gma500_gfx"
   Driver     "modesetting"
   Option     "SWCursor"       "ON" 
EndSection

С версии PuppyRus-Icewm-13.03 указанный файл создается правилом udev.

Ждущий режим

Выход из ждущего режима перестал работать в сборках с ядрами начиная с 3.13.0 и новее, а с версиями до 3.11.3 включительно все работает нормально. Для решения этой проблемы нужно всего лишь отправить в blacklist модуль gpio_sch. Проверено на сборках с ядром 3.14.4-pf3 и 3.14.5.

Ссылки

Печать/экспорт