LINUX.ORG.RU

вечный вопрос: ATI и его драйвера. практика.


0

0

в теории все гладко.
а на практике:
стал недавно обладателем материнки на 780g. И никак не удается заставить нормально работать чипсетный 3d укоритель.

система debian lenny, amd64, 2.6.26-1-amd64

Драйвера пробовал искаробки - там понятно что ничего нет от 3d. да и в 2d глюки страшнючии вылезли.

проприетарный 8.10 d 2d- все прекрано. А вот в 3d - _как бы_ работает.
glxinfo содержит такую строчку

direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)

из xorg.0.log
================================================
(II) "glx" will be loaded. This was enabled by default and also specified in the config file.
(II) "freetype" will be loaded by default.
(II) "record" will be loaded by default.
(II) "dri" will be loaded. This was enabled by default and also specified in the config file.
(II) LoadModule: "glx"
(II) Loading /usr/lib/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="X.Org Foundation"
compiled for 1.4.2, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(**) AIGLX enabled
(II) Loading extension GLX
(II) LoadModule: "dri"
(II) Loading /usr/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
compiled for 7.1.0, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(II) Loading extension XFree86-DRI
================================================
================================================
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
drmOpenByBusid: Searching for BusID PCI:1:5:0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
=======================
и так далее перебераются номера карт д card14
ищет вроде правильно, но
(--) PCI:*(1:5:0) ATI Technologies Inc unknown chipset (0x9610) rev 0, Mem @ 0xd0000000/28, 0xfdfe0000/16, 0xfde00
000/20, I/O @ 0xee00/8.

Вывод dmesg | grep drm
[ 4137.117151] [drm] Initialized drm 1.1.0 20060810

и все. карточку он похоже неувидел.

Симптоматика такая - opengl работает, но медленее чем хотелось бы. в openarena в меню 5-7fps при 800х600.





★★

И? Из лога ясно вытекает что ты не собрал кернеловый модуль, либо он не загрузился.

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

Можно подробнее - я вопрос задаю не для прикола - правда запутался.
из какого лога???
из dmesg вытекает что он загрузился, но не работает.

я вот и пытаюсь найти причину и решение.

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

оставь в покое dri и пинай fglrx.ko . Судя по обоим логам у тебя его просто нет.

svr4
()

а кто вам сказал что вам надо ставить 64 битную версию системы?

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

Проверьте, загрузился ли модуль fglrx. lsmod | grep fglrx. Если да, то смотрите настройки xorg.conf. Если нет, то смотрите, почему (в xorg.log). Собран ли вообще такой модуль? На всякие там вопросы "почему x86-64" не реагируйте. На x86-64 всё работает.

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

а ведь и то правда. fglrx нету. буду пробовать собрать.

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

спасибо, анонимный друх!!!

собрал модуль fglrx. загрузил, рестартнул иксы.

Стало интересно.... по информации glxinfo
name of display: :0.0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2

по логу икс-сервера драйвер загрузился и работает.

даже компиз немножко заработал... но это отдельная тема

но вот openarena (ничего другого на тест сейчас не стоит, кстати - чем попробовать еще???) работает теперь быстро, но картинки нет - все покрыто мелко полоской и рябью. выводы о скорости работы делаю по смене цветов в этой ряби :) подозреваю что дело не в ней а таки в драйвере.


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

лог

(**) Option "AIGLX" "off"

(**) Extension "Composite" is enabled

(II) "dbe" will be loaded by default.
(II) "glx" will be loaded. This was enabled by default and also specified in the config file.

(II) "dri" will be loaded. This was enabled by default and also specified in the config file.
(II) LoadModule: "glx"
(II) Loading /usr/lib/xorg/modules/extensions//libglx.so
(II) Module glx: vendor="X.Org Foundation"
compiled for 1.4.2, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(**) AIGLX disabled

(II) Loading extension GLX
(II) LoadModule: "dri"
(II) Loading /usr/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
compiled for 7.1.0, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(II) Loading extension XFree86-DRI
(II) LoadModule: "extmod"
(II) Loading /usr/lib/xorg/modules/extensions//libextmod.so
(II) Module extmod: vendor="X.Org Foundation"
compiled for 1.4.2, module version = 1.0.0
Module class: X.Org Server Extension
ABI class: X.Org Server Extension, version 0.3

(II) LoadModule: "fglrx"
(II) Loading /usr/lib/xorg/modules/drivers//fglrx_drv.so
(II) Module fglrx: vendor="FireGL - ATI Technologies Inc."
compiled for 7.1.0, module version = 8.54.3
Module class: X.Org Video Driver

(II) ATI Proprietary Linux Driver Version Identifier:8.54.3
(II) ATI Proprietary Linux Driver Release Identifier: UNSUPPORTED-8.542
(II) ATI Proprietary Linux Driver Build Date: Oct 3 2008 17:42:58
(--) Chipset Supported AMD Graphics Processor (0x9610) found

(II) fglrx(0): 10BitPixelFormat disabled by default
(==) fglrx(0): RGB weight 888
(II) fglrx(0): Using 8 bits per RGB (8 bit DAC)
(==) fglrx(0): Gamma Correction for I is 0x06419064
(==) fglrx(0): Gamma Correction for II is 0x06419064
(==) fglrx(0): Buffer Tiling is ON
(--) fglrx(0): Chipset: "ATI Radeon HD 3200 Graphics" (Chipset = 0x9610)
(--) fglrx(0): (PciSubVendor = 0x1458, PciSubDevice = 0xd000)
(--) fglrx(0): board vendor info: third party graphics adapter - NOT original ATI
(--) fglrx(0): Linear framebuffer (phys) at 0xd0000000
(--) fglrx(0): MMIO registers at 0xfdfe0000
(--) fglrx(0): I/O port at 0x0000ee00
(==) fglrx(0): ROM-BIOS at 0x000c0000
(II) fglrx(0): Primary V_BIOS segment is: 0xc000

drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenByBusid: Searching for BusID PCI:1:5:0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 8, (OK)
drmOpenByBusid: drmOpenMinor returns 8
drmOpenByBusid: drmGetBusid reports PCI:1:5:0
(II) Loading sub module "fglrxdrm"
(II) LoadModule: "fglrxdrm"
(II) Loading /usr/lib/xorg/modules/linux//libfglrxdrm.so
(II) Module fglrxdrm: vendor="FireGL - ATI Technologies Inc."
compiled for 7.1.0, module version = 8.54.3
ABI class: X.Org Server Extension, version 0.3
(II) fglrx(0): Using adapter: 1:5.0.
(II) fglrx(0): [FB] Find the MC FB aperturs range(MCFBBase = 0xc0000000, MCFBSize = 0x20000000)
(--) fglrx(0): Video RAM: 524288 kByte, Type: DDR2
(II) fglrx(0): PCIE card detected
(--) fglrx(0): Using per-process page tables (PPPT) as GART.

(WW) fglrx(0): board is an unknown third party board, chipset is supported

(==) fglrx(0): NoAccel = NO
(==) fglrx(0): NoDRI = NO

(II) Loading sub module "fglrxdrm"
(II) LoadModule: "fglrxdrm"
(II) Reloading /usr/lib/xorg/modules/linux//libfglrxdrm.so
(==) fglrx(0): OpenGL ClientDriverName: "fglrx_dri.so"
(**) fglrx(0): ATI GART size: 255 MB

(II) fglrx(0): Direct rendering enabled

(--) Depth 24 pixmap format is 32 bpp

(WW) fglrx(0): could not detect X server version (query_status=-1)

(II) Loading extension ATIFGLRXDRI
(II) fglrx(0): doing DRIScreenInit
(II) fglrx(0): DRIScreenInit for fglrx driver
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 9, (OK)
drmOpenByBusid: drmGetBusid reports PCI:1:5:0

(II) fglrx(0): [drm] DRM interface version 1.0
(II) fglrx(0): [drm] created "fglrx" driver at busid "PCI:1:5:0"
(II) fglrx(0): [drm] added 8192 byte SAREA at 0x6ec000
(II) fglrx(0): [drm] mapped SAREA 0x6ec000 to 0x7f62ad3da000
(II) fglrx(0): [drm] framebuffer handle = 0x6ed000
(II) fglrx(0): [drm] added 1 reserved context for kernel
(II) fglrx(0): DRIScreenInit done
(II) fglrx(0): Kernel Module Version Information:
(II) fglrx(0): Name: fglrx
(II) fglrx(0): Version: 8.54.3
(II) fglrx(0): Date: Oct 3 2008
(II) fglrx(0): Desc: ATI FireGL DRM kernel module
(II) fglrx(0): Kernel Module version matches driver.
(II) fglrx(0): Kernel Module Build Time Information:
(II) fglrx(0): Build-Kernel UTS_RELEASE: 2.6.26-1-amd64
(II) fglrx(0): Build-Kernel MODVERSIONS: yes
(II) fglrx(0): Build-Kernel __SMP__: yes
(II) fglrx(0): Build-Kernel PAGE_SIZE: 0x1000
(II) fglrx(0): [drm] register handle = 0x006ee000

(II) fglrx(0): DRI initialization successfull!
(II) fglrx(0): FBADPhys: 0xc0000000 FBMappedSize: 0x01000400
(II) fglrx(0): FBMM initialized for area (0,0)-(1280,3277)
(II) fglrx(0): FBMM auto alloc for area (0,0)-(1280,1024) (front color buffer - assumption)
(II) fglrx(0): Largest offscreen area available: 1280 x 2253
(==) fglrx(0): Backing store disabled
(II) Loading extension FGLRXEXTENSION
(II) Loading extension ATITVOUT

(**) fglrx(0): Textured Video is enabled.

(II) LoadModule: "glesx"
(II) Loading /usr/lib/xorg/modules//glesx.so
(II) Module glesx: vendor="X.Org Foundation"
compiled for 7.1.0, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(II) Loading extension GLESX
(II) fglrx(0): GLESX enableFlags = 26
(II) fglrx(0): Using XFree86 Acceleration Architecture (XAA)
Screen to screen bit blits
Solid filled rectangles
Solid Horizontal and Vertical Lines
Driver provided ScreenToScreenBitBlt replacement
Driver provided FillSolidRects replacement
(II) fglrx(0): GLESX is enabled
(II) LoadModule: "amdxmm"
(II) Loading /usr/lib/xorg/modules//amdxmm.so
(II) Module amdxmm: vendor="X.Org Foundation"
compiled for 7.1.0, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(II) fglrx(0): UVD2 feature is available

(II) fglrx(0): X context handle = 0x1
(II) fglrx(0): [DRI] installation complete
(==) fglrx(0): Silken mouse enabled
(==) fglrx(0): Using hardware cursor
(==) RandR enabled
(II) Loading sub module "GLcore"
(II) LoadModule: "GLcore"
(II) Loading /usr/lib/xorg/modules/extensions//libGLcore.so
(II) Module GLcore: vendor="X.Org Foundation"
compiled for 1.4.2, module version = 1.0.0
ABI class: X.Org Server Extension, version 0.3
(II) GLX: Initialized MESA-PROXY GL provider for screen 0
(II) fglrx(0): Enable the clock gating!

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

не смешно. цомпиз не влияет.

еще попробовал opengl - дело в дровах. ибо любая игруха с использованием 3d картинку дает из мелкой ряби.

griz ★★
() автор топика

Надо поиграться с настройками xorg.conf

Ниже мой конфиг (все работает):

----------------------------------------------------------

Section "ServerFlags"
	Option	    "Xinerama" "off"
	Option	    "AllowMouseOpenFail" "on"   # Startx if there is no mouse
	Option	    "AIGLX" "off"               # Accelerated Indirect GLX
EndSection

Section "ServerLayout"
	Identifier     "X.org Configured"
	Screen      0  "aticonfig-Screen[0]" 0 0
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
	ModulePath   "/usr/lib/xorg/modules/"
	FontPath     "/usr/share/fonts/misc/"
	FontPath     "/usr/share/fonts/Type1/"
	FontPath     "/usr/share/fonts/100dpi/"
	FontPath     "/usr/share/fonts/75dpi/"
	FontPath     "/usr/share/fonts/ttf-bitstream-vera/"	
	FontPath     "/usr/share/fonts/terminus/"
	FontPath     "/usr/share/fonts/corefonts/"	
EndSection

Section "Module"
	Load  "dri"        # Direct rendering
	Load  "glx"        # OpenGL Extension to the X Window System
	Load  "GLcore"     # OpenGL support
	Load  "freetype"   # TrueType font handler (without xfs!!!)
#	Load  "dbe"        # Double-buffering
#	Load  "record"     # X event recorder
#	Load  "extmod"     # Misc. required extensions. Extensions are in /usr/lib/modules/extension
#	Load  "xtrap"      # XTrap is an X Server extension which facilitates the capturing of server
#	                   #       protocol and synthesizing core input events.
#	Load  "type1"      # Adobe Type 1 font handler (without xfs!!!)	
#	Load  "int10"      # Video mode change (assembler interrupt, may be for old programms)	
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
	Option      "XkbRules" "xorg"
	Option      "XkbModel" "pc105"
	Option      "XkbLayout" "us,ru(winkeys)"
	Option      "XkbOptions" "grp:caps_toggle"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5 6 7"     # Scroll-wheel
EndSection

Section "Monitor"
	Identifier  "aticonfig-Monitor[0]"
	Option	    "VendorName" "ATI Proprietary Driver"
	Option	    "ModelName" "Generic Autodetecting Monitor"
EndSection

Section "Device"
	Identifier  "aticonfig-Device[0]"
	Driver      "fglrx"
	VendorName  "ATI Technologies Inc"
	BoardName   "Radeon Mobility X1400"
	BusID       "PCI:1:0:0"	

	Option	    "UseInternalAGPGART" "no"     # "no" -- agpgart from kernel (/dev/agpgart)
	Option	    "TexturedVideo" "on"          # Enable xv
	Option	    "XAANoOffscreenPixmaps" "true"# Disable/enable drawing textured outside the display
#	Option      "DisableGLXRootCliping" "on"  # Draw openGL in a special root window
	Option	    "Capabilities" "0x00000000"   # OpenGL specific profiles/settings
	Option	    "VideoOverlay" "off"          # Video Overlay for the Xv extension
	Option	    "OpenGLOverlay" "on"          # OpenGL Overlay When OpenGL 
	                                          #       Note: overlay is enabled, Video Overlay
	                                          #       will be disabled automatically
	Option	    "BlockSignalsOnLock" "on"
	Option	    "UseFastTLS" "2"
	Option	    "mtrr" "off"                  # disable DRI mtrr mapper, driver has its own code for mtrr
	Option	    "no_accel" "no"               # disable/enable XAA/DRI
	Option	    "no_dri" "no"                 # disable/enable XAA/DRI
	Option	    "EnablePrivateBackZ" "no"
	Option	    "backingstore" "true"
	Option	    "KernelModuleParm" "locked-userpages=0"	
	Option	    "MaxGARTSize" "512"	          # fglrx parameter
EndSection

Section "Screen"
	Identifier "aticonfig-Screen[0]"
	Device     "aticonfig-Device[0]"
	Monitor    "aticonfig-Monitor[0]"
	DefaultDepth     24
	SubSection "Display"
		Viewport  0 0
		Depth     24
	EndSubSection
EndSection

Section "DRI"           # Sets permissions for /dev/dri/card*
	Group "video"
	Mode  0666
EndSection


#------------------------------------------------------------------------------
----------------------
# http://en.wikipedia.org/wiki/X_Window_System_protocols_and_architecture

Section "Extensions"

#built-in
#	Option	    "DAMAGE" "Enable"       # Tracks modified regions of windows, and minimizes
                                            #     bandwidth use required to keep the display up
					    #     to date.
#built-in
#	Option	    "RENDER" "Enable"       # (XRender) Hardware accelerated image compositing
	                                    #     with alpha blending.
#built-in
#	Option      "MIT-SHM" "Enable"      # X Window System extension for exchange of image data
                                            #     between client and server using shared memory.

	Option	    "Composite" "Disable"   # Off-screen rendering of entire window hierarchies, 
                                            #     allowing applications and composition managers
					    #     to do effects anywhere along the way. Required
					    #     for things like alpha transparency for windows
					    #     and drop shadows. 

	Option	    "XVideo" "Enable"       # Support for hardware video overlays and hardware-based
	                                    #     video scaling on playback. Also called Xv (not
					    #     to be confused with the xv program).
	
	Option      "DPMS" "on"             # Allows controlling monitor power saving modes
EndSection
#------------------------------------------------------------------------------
----------------------

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

За конфиг спасибо. попробую получить из него великое знание :)

Что еще, помимо модуля fglrx участвует в работе 3d видео???
Какие нибудь куски от mesa3d??? из dri.freedesktop.org??? из X.org???

может надо что то (до)обновить или переставить????

Или проприетарный fglrx вещь в себе и больше ни на что не завязана??? врядли.

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

Да, месу лучше проверить (но ручатся не буду) Проблема в том, что с пропиетарщиной никогда не знаешь что она использует. :(

Ядро, кури ядро. В зависимости от версий драйвера были следующие выводы:

1. рандом хип отключить (рандомизация кучи) 2. директ рендеринг в ядре тоже отрубить это всегда надо 3. i2c посмотреть внимательно, тоже иногда нужно было что-то в нем (но на х*ра?!) 4. в разделе кернелхакинг свключить какие-то устаревшие *** (не помню как называется)

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

месу скачал свежайшую и переставил. ноль.

ядро курить - мне кажеться это не тот путь. с ядром искаробки должно работать - иначе это или было лы явно прописано в инструкции по установке дров, да и в конце концов ядро пересобирать умеют далеко не все - если бы надо было пересобирать ядро в нете ругани было бы выше головы.....

неееет... тут дело в чем то другом....

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

Все. победил.
расскажу, может кому и поможет:
Первая моя ошибка была - поверил ребятям из ATI когда инсталлятор написал что он successfully installed. И не стал читать лог установки. А там в конце было написано что теперь идите туда то и ручками с правами root запускате такой сткрипт. тогда мы еще и модуль ядра вам соберем и установим.

Здесь спасибо svr4 и анонимусу которые сказали что его у меня нет. Мне в это просто неверилось :)

После предложенных действий OpenGL завелся и стал работать. но непойми как.

Курить ядро я не стал по описанным выше причинам, но зато у буржуйских пользователей бубунты прочитал что не у всех путево работает Каталист 8.10
Причем там мнения разделились - то ли с ядром 2.6.26 толи сам по себе нехорошо работает. Итогом - заморачиваться с установкой более старого ядра я не стал. поставил старый драйвер и, как оказалось, он заработал.

А. еще:
Путем все заработало с конфигом для Xorg, который создается aticonfig.


Теперь на очереди свистелки. Цомпиз работает (привет, svr4!!!)!!! только эмеральд нехочет...

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

> Причем там мнения разделились - то ли с ядром 2.6.26 толи сам по себе нехорошо работает. Итогом - заморачиваться с установкой более старого ядра я не стал. поставил старый драйвер и, как оказалось, он заработал.

Именно, дарйвер ати использует некоторые хрени, которые в новом ядре из коробки отключены. Поэтому я и сказал, что на ядро имело смысл посмотреть.

ЗЫ: если будет что-то подтормаживать, видео опенжл -- посмотри соотв. строчки в моем конфиге. /opt/bin/aticonfig --initial мало чего по умолчанию настраивает правильно (в целом все норм. но не идеально, как минимум у меня после этого фильмы сильно проц грузили).

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

>/opt/bin/aticonfig --initial мало чего по умолчанию настраивает правильно

Да он вообще мало что по умолчанию настраивает...

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