Saturday, April 24, 2010

Hybrid graphics...Очень кратко

Включение достаточно простое:
  • патчим текущее ядро
  • включаем kms в ядре и поддержку radeon(желательно все как модули)
  • устанавливаем последние версии mesa и xf86-video-ati
  • копируем прошивки R600_rlc.bin и R700_rlc.bin в /lib/firmware/radeon/

Перегружаемся и монтируем mount -t debugfs none /sys/kernel/debug в результате появляется переключатель /sys/kernel/debug/vgaswitcheroo/switch - из которого можно прочитать текущее состояние видеокарт. Если записать в него записать( echo some_thing > switch):
  • DDIS - включение дискретной карты;
  • DIGD - включение интегрированной карты;
  • OFF - выключить лишнюю карту - позволяет серьезно продлить время работы от батарейки(при включении включены обе карты).

Благодарность Dave Airlie за решение этой маленькой несуразицы с поддержкой. :-) и авторам заметки asusm51ta-with-linux. Надеюсь это патч скоро попадет в основную ветвь ядра....

И маленькие логи напоследок:
glxinfo 3650
....
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: Mesa DRI R600 (RV635 9591) 20090101  TCL DRI2
OpenGL version string: 2.0 Mesa 7.8.1
OpenGL shading language version string: 1.10
....
glxgears 3650
......
9416 frames in 5.0 seconds = 1883.109 FPS
......
glxinfo 3200
......
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: Mesa DRI R600 (RS780 9612) 20090101  TCL DRI2
OpenGL version string: 2.0 Mesa 7.8.1
OpenGL shading language version string: 1.10
.......
glxgears 3200
.......
6627 frames in 5.0 seconds = 1325.309 FPS