Bug 10862 - 3D does not work on x86_64
: 3D does not work on x86_64
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/fglrx_glx)
: unstable
: all Linux
: P2 normal
Assigned To:
:
:
:
:
:
  Show dependency tree
 
Reported: 2007-02-18 14:55 by
Modified: 2007-04-09 15:15 (History)


Attachments
Логи 32-х и 64-х режимов (22.88 KB, application/octet-stream)
2007-02-18 14:57, Alexey Shabalin
no flags Details
xorg.conf (2.85 KB, text/plain)
2007-02-18 15:48, Alexey Shabalin
no flags Details


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2007-02-18 14:55:07
Имем в наличии ноутбук RoverBook Explorer W500.
Чипсет - ATI Radeon Xpress 200M.
Процессор - AMD Turion64. Более полная информация в аттаче.
Получается, что из-за отсутствия модуля ядра ati-agp под x86-64 архитектурой, не
работает 3D.
Под 32-х битной все нормально.
------- Comment #1 From 2007-02-18 14:57:56 -------
Created an attachment (id=1808) [details]
Логи 32-х и 64-х режимов
------- Comment #2 From 2007-02-18 15:38:37 -------
А можно ещё увидеть xorg.conf?

У меня создаётся впечатление, что модуль ati_agp на самом деле не использовался
и в 32-битном режиме:

(**) fglrx(0): ATI GART size: 128 MB
(II) fglrx(0): [pcie] 126976 kB allocated with handle 0xdeadbeef

PCIE GART, насколько я понимаю, реализуется в самом графическом контроллере, а
не в host bridge, которым управляет ati_agp.  Кроме того, вывод lsmod
показывает, что модуль ati_agp никем не используется.

В 64-разрядном режиме инициализация почему-то не проходит:

(**) fglrx(0): ATI GART size: 128 MB
(EE) fglrx(0): [pcie] Failed to gather memory of size 131072Kb for PCIe. Error
(-1014)

При этом в dmesg наблюдается:

[fglrx:firegl_init_pcie] *ERROR* Only power-of-two ring buffer size is supported
for PCIe

Судя по (**), размер GART в данном случае задан в xorg.conf; возможно, это
значение придётся изменить (для начала попробовать убрать совсем).
------- Comment #3 From 2007-02-18 15:48:26 -------
Created an attachment (id=1809) [details]
xorg.conf

xorg.conf - в обоих случаях одинаковые, размер GART в них не указывается.
Значение размера видеопамяти указывается в BIOS - 128M.
------- Comment #4 From 2007-02-18 16:29:55 -------
(In reply to comment #3)
> xorg.conf - в обоих случаях одинаковые, размер GART в них не указывается.

Можно попробовать дописать в секцию "Device":

    Option "MaxGARTSize" "64"

Ещё есть некая опция RingSize, но непонятно, какие значения туда писать -
документации для неё нет.

> Значение размера видеопамяти указывается в BIOS - 128M.

Или попробовать поменять это значение и посмотреть, что будет.
------- Comment #5 From 2007-03-02 12:27:53 -------
(In reply to comment #4)
> (In reply to comment #3)
> > xorg.conf - в обоих случаях одинаковые, размер GART в них не указывается.
> 
> Можно попробовать дописать в секцию "Device":
> 
>     Option "MaxGARTSize" "64"
> 
> Ещё есть некая опция RingSize, но непонятно, какие значения туда писать -
> документации для неё нет.
> 
> > Значение размера видеопамяти указывается в BIOS - 128M.
> 
> Или попробовать поменять это значение и посмотреть, что будет.

игрался с любыми значениями (и MaxGARTSize и в BIOS).
результат нулевой. Все равно ошибка типа
(EE) fglrx(0): [pcie] Failed to gather memory of size 131072Kb for PCIe. Error
(-1014)
------- Comment #6 From 2007-03-02 20:05:01 -------
А попробуйте ещё на i586 вписать в /etc/modprobe.d/blacklist-local строку:

blacklist ati_agp

И проверьте, будет ли работать fglrx в такой конфигурации (убедитесь ещё, что
ati_agp действительно не появляется в выводе lsmod).  Если fglrx будет
работать,
получается, что отсутствие ati_agp на x86_64 не имеет отношения к проблеме, и
баг надо перевешивать на fglrx.
------- Comment #7 From 2007-03-05 00:29:53 -------
(In reply to comment #6)
> А попробуйте ещё на i586 вписать в /etc/modprobe.d/blacklist-local строку:
> 
> blacklist ati_agp
> 
Эта строчка не помогает, модуль все равно грузится.

> И проверьте, будет ли работать fglrx в такой конфигурации (убедитесь ещё, что
> ati_agp действительно не появляется в выводе lsmod).  Если fglrx будет работать,
> получается, что отсутствие ati_agp на x86_64 не имеет отношения к проблеме, и
> баг надо перевешивать на fglrx.

После удаления файла модуля ati-agp.ko эксперимент удался - X запустились без
ошибок, 3D работает. Действительно ati_agp не причем. Надо баг перевешивать на
fglrx.
------- Comment #8 From 2007-03-05 22:27:54 -------
Там этот баг и будет висеть, пока AMD не почешется что-нибудь исправить...

Кстати, логи ещё от 8.33.6 - в версии 8.34.8 ничего не поменялось?
------- Comment #9 From 2007-03-06 12:31:32 -------
Проверил с fglrx 8.34.8 и 2.6.18-wks-smp-alt2 - все работает.
Закрываю.