« Русский linux (kubuntu 7.10)



Чтение запись ext2, ext3 в windows »



Для клиента
Пользователь:
Пароль:
 

Ubuntu 7.10 (linux kernel 2.6.22) vs NVIDIA 8600 GT

Категория: / Mine блог / Разное
Решил поставить кубунту (kubuntu), увидеть красоты компиза (compiz fusion), насладится юникс окружением!
Но не тут то было. Моя видеокарта упорно не хотела работать с драйверами от nvidia (10,14.19-23).
Система загружалась, но как только в xorg.conf видела driver="nvidia" (вместо "nv"), сразу впадала в ступор и нагло зависала не подавая признаков жизни (экран гаснет, система в дед локе)

Вот что система выдавала в dmesg

 
# dmesg
[   20.393275] PCI: Cannot allocate resource region 3 of device 0000:05:00.0
[   20.480120] PCI: Failed to allocate mem resource #3:2000000@fe000000 for 0000:05:00.0
[   21.108511] Boot video device is 0000:05:00.0
[   39.067285] ACPI: PCI Interrupt 0000:05:00.0[A] -> Link [APC3] -> GSI 18 (level, low) -> IRQ 20
[   39.067387] PCI: Setting latency timer of device 0000:05:00.0 to 64
 


Понятно, что не может зарезервировать регион памяти, понятно что биос глючный, либо ядро косячит,
непонятно - почему!? Ибо в win xp все работает, Непорядок, Нужно разобраться.

Перерыв, как обычно, пол интернета, просмотрев кучу сообщений в баг репортах однозначного ответа не нашел.
Пошел читать книжки типа "understanding linux kernel", "compiling linux kernel modules for dummies", "linux device drivers 3 edition"..

В итоге пополняем наши знания:

- ядру можно передавать кучу опций, таких как apic=debug noapic lapic nolapic pci=nommconf pci=nobios vga=791
Результатов это не принесло, гораздо более интересна в моем случае опция reserve=, которая позволяет резервировать память,
не давая ядру возможности самостоятельно "попробовать" этот регион.
- можно управлять pci шиной/устройствами командой setpci. Читать данные можем той же командой или lspci, lshw, также низкоуровневая информация содержится в /proc, и /sys/pci

Несколько дней-недель зоопарка linux и танцов с бубнами (барабанами) и мы ее добили,

Делаем следующее (справедливо для моей системы)

 
1) Add all nvidia stuff to /etc/modprobe.d/blacklist
 
blacklist nv
blacklist nvidia
blacklist nvidia_new
 
2) Add kernel ooptions
reserve=0xCE000000,0x1FFFFFF reserve=0xFD000000,0x1FFFF
 


Перезагружаем систему, и - о чудо! Заставка nvidia и кдешный сплэш радуют нас своим присутствием.
Обнаруживаем рабочую конфигурацию системы с другими параметрами регионов памяти!

 
05:00.0 0300: 10de:0402 (rev a1) (prog-if 00 [VGA])
        Subsystem: 1462:0910
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Interrupt: pin A routed to IRQ 20
        Region 0: Memory at 8a000000 (32-bit, non-prefetchable) [size=16M]
        Region 1: Memory at 90000000 (64-bit, prefetchable) [size=256M]
        Region 3: Memory at 88000000 (64-bit, non-prefetchable) [size=32M]
        Region 5: I/O ports at 9f00 [size=128]
        [virtual] Expansion ROM at 8b000000 [disabled] [size=128K]
        Capabilities: [60] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [68] Message Signalled Interrupts: Mask- 64bit+ Queue=0/0 Enable-
                Address: 0000000000000000  Data: 0000
        Capabilities: [78] Express Endpoint IRQ 0
                Device: Supported: MaxPayload 128 bytes, PhantFunc 0, ExtTag+
                Device: Latency L0s <512ns, L1 <4us
                Device: AtnBtn- AtnInd- PwrInd-
                Device: Errors: Correctable- Non-Fatal- Fatal- Unsupported-
                Device: RlxdOrd+ ExtTag- PhantFunc- AuxPwr- NoSnoop+
                Device: MaxPayload 128 bytes, MaxReadReq 512 bytes
                Link: Supported Speed 2.5Gb/s, Width x16, ASPM unknown, Port 0
                Link: Latency L0s <512ns, L1 <4us
                Link: ASPM Disabled RCB 128 bytes CommClk- ExtSynch-
                Link: Speed 2.5Gb/s, Width x16
        Capabilities: [100] Virtual Channel
        Capabilities: [128] Power Budgeting
        Capabilities: [600] Unknown (11)
 


И в результате -

 
glxinfo | grep direc
direct rendering: Yes
 


За это время было отослано баг репортов - 4
Получено подтверждений - 1
Получено способов устранения проблемы - 0

@author: surg30n
@date: Воскресенье, 02 Декабрь 2007


Комментарии : 4


4] Гость - 10:46, 04 Июнь, 2009
Hmm, I am running 2.6.27-1, and have exaktly that error (that was referenced on launchpad with the solution linked here). Too make it worse adding the reserve option (having activated the nvidia driver) made my black screen go away after starting x, though i am still in single user, no x. (using nforce 4 + geforce 8500 (1GB DDR2)).
3] Гость - 00:59, 04 Июнь, 2009
Just update to latest kernel.
There are no such error present.
2] Гость - 22:38, 03 Июнь, 2009
Could you add an english translation to this, it seems like a solution i need! Thanks
1] Гость - 20:38, 05 Апрель, 2008
Линукс унылое говно.





Как и венда. переходим на МакОсь
Комментировать:




Код подтверждения: *
Введите подтверждающий код, так же как он отображен на картинке.
Надоело разбирать числа на картинке? Зарегистрируся, докажи что ты не робот!

@СКАЖИРЕКЛАМЕНЕТ@

двери входные . Продвижение web-сайтов - продвижение сайта. Сайты под ключ.