LINUX.ORG.RU

[gentoo][KMS] ЧЯДНТ?


0

0

Поставил таки ведро 2.6.32, включил CONFIG_DRM_RADEON_KMS=y, запускаю ядро с radeon.modeset=1. Потом пересобрал libdrm-9999, mesa-9999, xorg-server-1.7.3-blabla и x11-drivers

$ uname -r
2.6.32-gentoo-r1-gdd027ca
$ glxgears 
773 frames in 5.0 seconds = 154.539 FPS
787 frames in 5.0 seconds = 157.353 FPS
^C
$ glxinfo | grep OpenGL
OpenGL vendor string: Mesa Project
OpenGL renderer string: Software Rasterizer
OpenGL version string: 2.1 Mesa 7.8-devel
...

$ sudo lspci | grep VGA
01:05.0 VGA compatible controller: ATI Technologies Inc RC410 [Radeon Xpress 200M]

И проц загружен на 100%. В ядре 2.6.30 всё впорядке:

$ uname -r
2.6.30-gentoo-r9
$ glxgears 
4056 frames in 5.0 seconds = 811.121 FPS
4003 frames in 5.0 seconds = 800.571 FPS
^C
$ glxinfo | grep OpenGL
OpenGL vendor string: DRI R300 Project
OpenGL renderer string: Mesa DRI R300 (RS400 5A62) 20090101 x86/MMX/SSE2 NO-TCL
OpenGL version string: 1.5 Mesa 7.8-devel

Собственно вопрос: почему тормоза с KMS?

З.Ы. Что это за хеш у ядра 32?

★★★★★

ЕМНИП x11-drivers должны быть из гита, я тоже на r200 бился, бился, да забил, в последней лайв федоре однако работает, надо побороть лень да посмотреть какие там версии и сколько патчей наложено...

anonymous ()
Ответ на: комментарий от anonymous

Ага, спасибо, как раз собираю гитовскую x11-drivers/xf86-video-ati

xorik ★★★★★ ()

Попробуй с sys-kernel/git-sources-2.6.33_rc3-r2
У меня интель, с ним работает всё нормально с 30-го ядра.

Ну и glxgears таки не бенчмарк, даже для разных ядер.

CyberTribe ★★ ()
Ответ на: комментарий от CyberTribe

>Попробуй с sys-kernel/git-sources-2.6.33_rc3-r2
Хорошо, если ничего не поможет

Ну и glxgears таки не бенчмарк, даже для разных ядер.

Я в курсе, но Software Rasterizer как бы намекает, и teeworlds выдает 1.5 FPS

xorik ★★★★★ ()

А запустить через LIBGL_DEBUG=«verbose» glxinfo и прочитать Xorg.0.log для гентушнега не Ъ?

linux4ever ()
Ответ на: комментарий от linux4ever

А запустить через LIBGL_DEBUG=«verbose» glxinfo

Добавилось:

libGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
В xorh.0.log:
(II) Loading extension DRI2
(EE) RADEON(0): [dri] RADEONDRIGetVersion failed to open the DRM
[dri] Disabling DRI.
(II) AIGLX: Screen 0 is not DRI2 capable
(II) AIGLX: Screen 0 is not DRI capable
А в 2.6.30:
(II) RADEON(0): [dri] Found DRI library version 1.3.0 and kernel module version 1.30.0
(II) RADEON(0): [DRI] installation complete

xorik ★★★★★ ()
Ответ на: комментарий от linux4ever
$ sudo modprobe drm radeon
Password:
$ sudo lsmod
Module                  Size  Used by
radeon                454059  0 
ttm                    26965  1 radeon
drm_kms_helper         19988  1 radeon
drm                   121851  3 radeon,ttm,drm_kms_helper
ati_agp                 4218  0 
agpgart                23360  3 ttm,drm,ati_agp
...
xorik ★★★★★ ()
Ответ на: комментарий от linux4ever

>Мдя, опять что-то поломали.
Может и я что-то торможу, надо бы Сильви спросить, у нее такая же видеокарта была...

xorik ★★★★★ ()
Ответ на: комментарий от xorik

>(EE) RADEON(0): [dri] RADEONDRIGetVersion failed to open the DRM

а libdrm собран с --enable-radeon-experimental-api ? после этого еще и mesa с xf86-video-ati надо пересобрать, чтоб подхватили libdrm_radeon.

madgnu ★★★★★ ()
Ответ на: комментарий от madgnu

>а libdrm собран с --enable-radeon-experimental-api ? после этого еще и mesa с xf86-video-ati надо пересобрать, чтоб подхватили libdrm_radeon.
Да, сейчас посмотрел, в ебилде есть такая опция... И всегда пересобирал в таком порядке: libdrm mesa xorg-server x11-drivers/...
Так что даже не знаю что не так

xorik ★★★★★ ()
Ответ на: комментарий от xorik

Вряд ли от иксов зависит. Можно попробовать еще пересобрать glproto и dri2proto (не знаю, как они в генте называются).

madgnu ★★★★★ ()
Ответ на: комментарий от madgnu

Ага спасибо, есть такие, их тоже щас из гита попробую...

xorik ★★★★★ ()
Ответ на: комментарий от madgnu

опаньки (ц) вот какую строку нашел в xorg.log

(II) [KMS] drm report modesetting isn't supported.
хотя:
$ dmesg | grep drm
[drm] Initialized drm 1.1.0 20060810
[drm] radeon kernel modesetting enabled.
но гугление ничего не дало...

xorik ★★★★★ ()
Ответ на: комментарий от xorik

у меня на .32 не работает KMS,
ошибка GART при загрузке модуля radeon

Sylvia ★★★★★ ()
Ответ на: комментарий от Sylvia

>ошибка GART при загрузке модуля radeon
Понятно...
А я не заметил изменений от KMS, только software rasterizer. И никакого «быстрого переключения в консоль и обратно» не заметил. А да, еще ждущий режим заработал на ноуте (до этого черный экран при просыпании и висло намертво)

xorik ★★★★★ ()
Ответ на: комментарий от xorik

на .31 у меня работало, все как положено, с DRI2
только висло часов так через 6 максимум, обычно даже и быстрее

в .32 ввели firmware, которую как раз и не загружает с ошибкой GART

Sylvia ★★★★★ ()

на генте может поглюкивать из за вот этого пакета

* sys-kernel/linux-headers
Latest version available: 2.6.30-r1
Latest version installed: 2.6.30-r1

fix:
rm -rf /usr/include/drm
cp -a /usr/src/linux/include/drm /usr/include

Sylvia ★★★★★ ()
Ответ на: комментарий от Sylvia

>на .31 у меня работало, все как положено, с DRI2
Вечером попробую .31, потом отпишусь...

xorik ★★★★★ ()
Ответ на: комментарий от Sylvia

>на генте может поглюкивать из за вот этого пакета
Ага, спасибо, тоже потестю

xorik ★★★★★ ()
Ответ на: комментарий от xorik

только я допишу такой момент, что с DRI2 3D у меня работало медленнее чем с просто DRI

Sylvia ★★★★★ ()
Ответ на: комментарий от Sylvia

на генте может поглюкивать из за вот этого пакета ... linux-headers

equery говорит, что не так:

$ equery b /usr/include/drm/drm.h
[ Searching for file(s) /usr/include/drm/drm.h in *... ]
x11-libs/libdrm-9999 (/usr/include/drm/drm.h)

xorik ★★★★★ ()
Ответ на: комментарий от xorik

>И никакого «быстрого переключения в консоль и обратно» не заметил.

Значит, у тебя xf86-video-ati не подцепил KMS. Попробуй 2.6.33-rc3, у меня с ним на r600 KMS+3d+IRQ работает отлично.

madgnu ★★★★★ ()
Ответ на: комментарий от xorik

/usr/include/drm формируется из заголовков ядра и libdrm

/usr/src/linux/include/drm :$ls -l
total 368
-rw-r--r-- 1 sylvia sylvia 1530 Jan 7 02:07 drm_cache.h
-rw-r--r-- 1 sylvia sylvia 1468 Jan 7 02:07 drm_core.h
-rw-r--r-- 1 sylvia sylvia 26472 Jan 7 02:07 drm_crtc.h
-rw-r--r-- 1 sylvia sylvia 5287 Jan 7 02:07 drm_crtc_helper.h
-rw-r--r-- 1 sylvia sylvia 5722 Jan 7 02:07 drm_edid.h
-rw-r--r-- 1 sylvia sylvia 5790 Jan 7 02:07 drm_encoder_slave.h
-rw-r--r-- 1 sylvia sylvia 3787 Jan 7 02:07 drm_fb_helper.h
-rw-r--r-- 1 sylvia sylvia 23018 Jan 7 02:07 drm.h
-rw-r--r-- 1 sylvia sylvia 2589 Jan 7 02:07 drm_hashtab.h
-rw-r--r-- 1 sylvia sylvia 1908 Jan 7 02:07 drm_memory.h
-rw-r--r-- 1 sylvia sylvia 3452 Jan 7 02:07 drm_mm.h
-rw-r--r-- 1 sylvia sylvia 7089 Jan 7 02:07 drm_mode.h
-rw-r--r-- 1 sylvia sylvia 4047 Jan 7 02:07 drm_os_linux.h
-rw-r--r-- 1 sylvia sylvia 41431 Jan 7 02:07 drm_pciids.h
-rw-r--r-- 1 sylvia sylvia 50968 Jan 7 02:07 drmP.h
-rw-r--r-- 1 sylvia sylvia 2655 Jan 7 02:07 drm_sarea.h
-rw-r--r-- 1 sylvia sylvia 5975 Jan 7 02:07 drm_sman.h
-rw-r--r-- 1 sylvia sylvia 300 Jan 7 02:07 drm_sysfs.h
-rw-r--r-- 1 sylvia sylvia 9899 Jan 7 02:07 i810_drm.h
-rw-r--r-- 1 sylvia sylvia 11639 Jan 7 02:07 i830_drm.h
-rw-r--r-- 1 sylvia sylvia 20805 Jan 7 02:07 i915_drm.h
-rw-r--r-- 1 sylvia sylvia 259 Jan 7 02:07 Kbuild
-rw-r--r-- 1 sylvia sylvia 12938 Jan 7 02:07 mga_drm.h
-rw-r--r-- 1 sylvia sylvia 9943 Jan 7 02:07 r128_drm.h
-rw-r--r-- 1 sylvia sylvia 32102 Jan 7 02:07 radeon_drm.h
-rw-r--r-- 1 sylvia sylvia 7075 Jan 7 02:07 savage_drm.h
-rw-r--r-- 1 sylvia sylvia 2534 Jan 7 02:07 sis_drm.h
drwxr-xr-x 2 sylvia sylvia 4096 Jan 7 02:07 ttm
-rw-r--r-- 1 sylvia sylvia 8328 Jan 7 02:07 via_drm.h

Sylvia ★★★★★ ()
Ответ на: комментарий от Sylvia

Ааа, вот наверное в чем дело!
[code]
$ equery f linux-headers | grep drm
$
$ eix linux-headers
...
Installed versions: 2.6.27-r2!b!s(00:04:47 08.12.2009)
[/code]

xorik ★★★★★ ()
Ответ на: комментарий от Sylvia

Хм, поставил linux-headers-2.6.30-r1, все равно
$ equery f linux-headers | grep drm
Пусто

xorik ★★★★★ ()

вот чего у себя отловила:

[drm] Initialized drm 1.1.0 20060810
Synaptics Touchpad, model: 1, fw: 6.1, id: 0xa3a0b3, caps: 0xa04713/0x10008
[drm] radeon kernel modesetting enabled.
[drm] radeon: Initializing kernel modesetting.
[drm] register mmio base: 0xFE1F0000
[drm] register mmio size: 65536
[drm] GPU reset succeed (RBBM_STATUS=0x00000140)
[drm:rs400_gart_adjust_size] *ERROR* Forcing to 32M GART size (because of ASIC bug ?)

последнее выдается на экран после чего следует «завис»
хотя скрипты загрузки продолжают работать и можно зайти через ssh

[drm] Generation 2 PCI interface, using max accessible memory
[drm] radeon: VRAM 128M
[drm] radeon: VRAM from 0x78000000 to 0x7FFFFFFF
[drm] radeon: GTT 32M
[drm] radeon: GTT from 0x80000000 to 0x81FFFFFF
radeon 0000:01:05.0: irq 16 for MSI/MSI-X
[drm] radeon: irq initialized.
[drm] Detected VRAM RAM=128M, BAR=256M
[drm] RAM width 128bits DDR
[TTM] Zone kernel: Available graphics memory: 444174 kiB.
[TTM] Zone highmem: Available graphics memory: 972466 kiB.
[drm] radeon: 128M of VRAM memory ready
[drm] radeon: 32M of GTT memory ready.
[drm] GART: num cpu pages 8192, num gpu pages 8192
[drm] radeon: 4 quad pipes, 1 z pipes initialized.
[drm] radeon: cp idle (0x10000C03)
[drm] Loading R300 Microcode
platform radeon_cp.0: firmware: requesting radeon/R300_cp.bin
radeon_cp: Failed to load firmware «radeon/R300_cp.bin»
[drm:r100_cp_init] *ERROR* Failed to load firmware!
radeon 0000:01:05.0: failled initializing CP (-2).
radeon 0000:01:05.0: Disabling GPU acceleration
[drm] radeon: cp finalized
[drm] Panel ID String: CMO
[drm] Panel Size 1024x768
[drm] Radeon Display Connectors
[drm] Connector 0:
[drm] VGA
...

irq 10: nobody cared (try booting with the «irqpoll» option)
Pid: 636, comm: modprobe Not tainted 2.6.32.3-allure #1
Call Trace:
<тут была трассировка, но пришлось вырезать т.к. слишком большое сообщение>

Disabling IRQ #10
[drm] fb mappable at 0xC0040000
[drm] vram apper at 0xC0000000
[drm] size 3145728
[drm] fb depth is 24
[drm] pitch is 4096
[drm] LVDS-11: set mode 1024x768 14
Console: switching to colour frame buffer device 128x48
fb0: radeondrmfb frame buffer device
registered panic notifier
[drm] Initialized radeon 2.0.0 20080528 for 0000:01:05.0 on minor 0


а в конце даже это все загружается в консоль...
хотя раз Disabling GPU acceleration , то посижу ка я лучше пока без KMS всяких там...

Sylvia ★★★★★ ()
Ответ на: комментарий от Sylvia

>radeon_cp: Failed to load firmware «radeon/R300_cp.bin»

А прошивка-то есть в initrd?

madgnu ★★★★★ ()
Ответ на: комментарий от Sylvia

>rm -rf /usr/include/drm

cp -a /usr/src/linux/include/drm /usr/include

+ после этого пересобрать libdrm mesa xf86-video-ati


Тоже не помогло... Осталось попробовать .31 ядро, а потом забью...

xorik ★★★★★ ()
Ответ на: комментарий от Sylvia

Я понял в чем дело!

надо было отключить Graphics support -> Support for frame buffer devices -> ATI Radeon display support
Но теперь черный экран еще в консоли, и потом при старте иксов...
Не могла бы ты сказать, какие опции надо включать в Graphics support -> Support for frame buffer devices и Graphics support -> Console display driver support?

xorik ★★★★★ ()
Ответ на: Я понял в чем дело! от xorik

Просто фреймбуфер совсем не отключается, максимум ставится модулем

Просто меня это на мысль навело: http://en.gentoo-wiki.com/wiki/Intel_GMA
Warning: Make sure you disable framebuffer drivers in Device Drivers ---> Graphics support ---> Support for frame buffer devices, like intelfb, vesafb or uvesafb. KMS won't work with them and you'll end up with a black console screen or possibly other graphical artifacts.

xorik ★★★★★ ()
Ответ на: Я понял в чем дело! от xorik

Черный экран после «waiting for uevents to be processed...» и до конца, но система не повисает, mpd играет, можно зайти в консоль и нажать ctrl+alt+del и нормально перезагрузится

xorik ★★★★★ ()
Ответ на: комментарий от ZuBB

Фиг, теперь черный экран еще до инита, во время инициализации drm:

$ dmesg | grep drm
[drm] Initialized drm 1.1.0 20060810
[drm] radeon kernel modesetting enabled.
[drm] radeon: Initializing kernel modesetting.
[drm] register mmio base: 0xC0000000
[drm] register mmio size: 65536
[drm] GPU reset succeed (RBBM_STATUS=0x00000140)
[drm:rs400_gart_adjust_size] *ERROR* Forcing to 32M GART size (because of ASIC bug ?)
[drm] Generation 2 PCI interface, using max accessible memory
[drm] radeon: VRAM 128M
[drm] radeon: VRAM from 0x38000000 to 0x3FFFFFFF
[drm] radeon: GTT 32M
[drm] radeon: GTT from 0x40000000 to 0x41FFFFFF
[drm] radeon: irq initialized.
[drm] Detected VRAM RAM=128M, BAR=256M
[drm] RAM width 128bits DDR
[drm] radeon: 128M of VRAM memory ready
[drm] radeon: 32M of GTT memory ready.
[drm] GART: num cpu pages 8192, num gpu pages 8192
[drm] radeon: 1 quad pipes, 1 z pipes initialized.
[drm] radeon: cp idle (0x10000C03)
[drm] Loading R300 Microcode
[drm] radeon: ring at 0x0000000040000000
[drm] ring test succeeded in 2 usecs
[drm] radeon: ib pool ready.
[drm] ib test succeeded in 0 usecs
[drm] Default TV standard: PAL
[drm] 14.318180000 MHz TV ref clk
[drm] Panel ID String: LPL
[drm] Panel Size 1280x800
[drm] Radeon Display Connectors
[drm] Connector 0:
[drm] VGA
[drm] DDC: 0x68 0x68 0x68 0x68 0x68 0x68 0x68 0x68
[drm] Encoders:
[drm] CRT1: INTERNAL_DAC2
[drm] Connector 1:
[drm] LVDS
[drm] DDC: 0x1a0 0x1a0 0x1a0 0x1a0 0x1a0 0x1a0 0x1a4 0x1a4
[drm] Encoders:
[drm] LCD1: INTERNAL_LVDS
[drm] Connector 2:
[drm] S-video
[drm] Encoders:
[drm] TV1: INTERNAL_DAC2
[drm] fb mappable at 0xD0040000
[drm] vram apper at 0xD0000000
[drm] size 4096000
[drm] fb depth is 24
[drm] pitch is 5120
[drm] LVDS-11: set mode 1280x800 18
fb0: radeondrmfb frame buffer device
[drm] Initialized radeon 2.0.0 20080528 for 0000:01:05.0 on minor 0

Пойду попробую ядро из гита...

xorik ★★★★★ ()
Ответ на: комментарий от xorik

[drm:rs400_gart_adjust_size] *ERROR* Forcing to 32M GART size (because of ASIC bug ?)

у меня также, но fb работает
если соберете .33-е - отпишитесь

Sylvia ★★★★★ ()
Ответ на: комментарий от Sylvia

>если соберете .33-е - отпишитесь
Собрал, всё отлично работает (glxgears ~в два раза убавился, но главное не software rasterizer).
Но я включил поддержку LCD и backlight. Мне кажется из-за этого всё заработало (экран не гас), сейчас еще проверю на 32-м ядре, т.к. не хочется сидеть на rc и там madwifi-ng не собирался...

xorik ★★★★★ ()
Ответ на: комментарий от xorik

хорошо, спасибо

glxgears ~в два раза убавился

у меня с dri2 также было (с .31)

Sylvia ★★★★★ ()
Ответ на: комментарий от Sylvia

Итог

На .32 ядре темный экран.
На .33 всё в порядке, но сломали ждущий, а в спящем после просыпания на экране появляется шум + надо разбираться, чтоб wifi починить.
Поэтому пока подожду до релиза .33, потом помучаю еще.
Всем спасибо за помощь

З.Ы. В .33 та же строчка в dmesg [drm:rs400_gart_adjust_size] *ERROR* Forcing to 32M GART size (because of ASIC bug ?), но тем не менее работает

xorik ★★★★★ ()
Ответ на: Итог от xorik

попробовала тоже .33-rc3
X11 запустился и поработал 2 минуты, запустила PSI, ушло в завис с цветными квадратами на экране.

Sylvia ★★★★★ ()
Ответ на: комментарий от Sylvia

Вот не знаю, у меня вроде бы стабильно. Хотя я долго не сидел: запустил glxgears, запустил 3d игру в вайне, а потом тестил спящий/ждущий.

xorik ★★★★★ ()

Что показывает # eselect opengl list

macr ()

А где...

А где в конфиге взять это? CONFIG_DRM_RADEON_KMS

2.6.31, .32 , .33-rc4 не нашел...

restle ()
Ответ на: А где... от restle

В menuconfig - Device Drivers/Staging Drivers/Enable modesetting on radeon by default

xetf ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.