Bug 10862 - 3D does not work on x86_64
Summary: 3D does not work on x86_64
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: fglrx_glx (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: Ilya Mashkin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-02-18 14:55 MSK by Alexey Shabalin
Modified: 2007-04-09 15:15 MSD (History)
2 users (show)

See Also:


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

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Shabalin 2007-02-18 14:55:07 MSK
Имем в наличии ноутбук RoverBook Explorer W500.
Чипсет - ATI Radeon Xpress 200M.
Процессор - AMD Turion64. Более полная информация в аттаче.
Получается, что из-за отсутствия модуля ядра ati-agp под x86-64 архитектурой, не
работает 3D.
Под 32-х битной все нормально.
Comment 1 Alexey Shabalin 2007-02-18 14:57:56 MSK
Created attachment 1808 [details]
Логи 32-х и 64-х режимов
Comment 2 Sergey Vlasov 2007-02-18 15:38:37 MSK
А можно ещё увидеть 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 Alexey Shabalin 2007-02-18 15:48:26 MSK
Created attachment 1809 [details]
xorg.conf

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

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

    Option "MaxGARTSize" "64"

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

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

Или попробовать поменять это значение и посмотреть, что будет.
Comment 5 Alexey Shabalin 2007-03-02 12:27:53 MSK
(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 Sergey Vlasov 2007-03-02 20:05:01 MSK
А попробуйте ещё на i586 вписать в /etc/modprobe.d/blacklist-local строку:

blacklist ati_agp

И проверьте, будет ли работать fglrx в такой конфигурации (убедитесь ещё, что
ati_agp действительно не появляется в выводе lsmod).  Если fglrx будет работать,
получается, что отсутствие ati_agp на x86_64 не имеет отношения к проблеме, и
баг надо перевешивать на fglrx.
Comment 7 Alexey Shabalin 2007-03-05 00:29:53 MSK
(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 Sergey Vlasov 2007-03-05 22:27:54 MSK
Там этот баг и будет висеть, пока AMD не почешется что-нибудь исправить...

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