;-) Приветствую *nix-просветлённых!
Вообщем задолбали глюки с нвидиевскими дровами NVIDIA-Linux-x86-ххх. на ТНТ1 (Чайнтек 16Мб)
Описываю в порядке задалбывания ( с надеждой что кто-нить та таки найдётся кому есть что сказать дельное по устранению сиих фичей)
Глюк первый: Проблема "зелёного квадрата"
Юзаю в консоли фреймбуфер для riva ТNТ на кернеле 2.4.24 (глюк был сколько себя помню ещё даже на ранних 2.4.хх) - юзается всё пучком!
Для Х ставлю дополнительно дрова от нвидии NVIDIA-Linux-x86-ххх.
Х запускается и работает всё пучком. Далее выхожу с Х - попадаю в консоль всё пучком работает.
Что иногда случается: при юзании какой-то хрени (есть предположение что задействуются толи оверлеи толи ещё какие-то буферы в видеокарте, иногда после просмотра фильма либо под Х либо в винде в этом зелёном квадрате виден как-бы на "зелёном негативе" кадр из фильма)
при запуске Х появляется зелёный квадрат вакурат на всё поле ранее задействованого "буфера" - он как бы накладывается на изображение и тем самым закрывает рабочую область.
При нажатии ctrl-alt+ (тоесть при смене видеорежима) он исчезает (тоесть есть подозрение что при этом этот "буфер" очищается)
При возврате с Х в консоль (не забывайте что консоль фреймбуферная) этот мерзкий квадрат опять присутствует (тоесть закрывает рабочую область экрана и за ним ничего не видно, за его пределами видно!)
переинициализация fbset"ом ничего не даёт!
Мерзкий зелёный квадрат появляется как-бы случайным образом (как я и говорил есть подозрение что он начинает появляться при задействовании какой-то типа буферной части видяхи, причём даже неважно под какой операционкой!!! Чаще всего он начинает появляться при просмотре фильмом (вот отсюдова и есть догадка про оверлеи))
То он есть то его нету - прямо меджик какой-то! Никаких ошибок нету! Только лепится сверху текущего изображения этот "светло-зелёный подарок"
Под тнт2 (была у меня некоторое время) такого почти не наблюдалось или наблюдалось в виде того же зелёного квадратика но очень маленького по размерам.
Подымал раньше этот вопрос на буржуйском нвидиевском форуме - так никто и не ответил. Среди всех знакомых никсоидов тоже никто ничем кроме сочувствия помочь не может.
Вообщем кто может помочь чем то дельным по этому вопросу - ПОМОГИТЕ!!!!
Я просто не верю, что это я такой бедный и несчастный!!!
Глюк второй: (думаю, контекстно связанный ): Зависон при выходе из Х на кернеле 2.6.х
привожу выдержку из FAQ"а:
"
Q: My system hangs when vt-switching if I have rivafb enabled.
A: Using both rivafb and the NVIDIA kernel module at the same time is
currently broken. In general, using two independent software drivers
to drive the same piece of hardware is a bad idea.
"
Такая ситуация имеет место быть
Но прикол в том, что на рива тнт ультра её нет!!!!!!!
на тнт1 - есть
на тнт2 иногда не виснет, хотя в большинстве случаев виснет
Далее насчёт того что это плохая идея использовать фреймбуфер и дрова от нвидии НЕ СОГЛАСЕН КАТЕГОРИЧЕСКИ!!! Как же ж тогда быть когда юзается интенсивно консоль для админских задач и когда нужно что-то больше (в нете побродить, почту почитать и упорядочить (мозила), развлекаловка и тд), тоесть запускаестя Х и хочется при этом юзать все преимущества апаратного ускорения видяхи для Х.
Но привёл я выдержку больше для нижеследующего:
Подчёркиваю - при работе с ядром 2.4.24 и фреймбуфером и драйвером NVIDIA-Linux-x86-1.0-4496-pkg2.run можно запустить Х, выйти и продолжить работу дальше во фреймбуферной консоли.
Кстати почему не NVIDIA-Linux-x86-1.0-5328-pkg1.run - ответ прост - чёрный экран, тоесть не работет почему то в отличии от предыдущего (разбираться почему не стал - поставил предыдущий)
Теперь начинается ещё интереснее: заюзываем новый кернел 2.6.0/2.6.1-rc1-2-3
В связи с поменявшейся концепцией модулей брал пропатченые уже драйвера (на minion.de есть ссылка)
Так вот получаем на этом кернеле NVIDIA-Linux-x86-1.0-5328-pkg1.run всё чудненько работает!!!!!
Но БОЛЬШОЙ ТРАБЛ!!! При возврате с Х во фреймбуферную консоль имеем тёмный экран либо зависон!!!! Переключение с Х в консоль также ес-но не работает (напоминаю - на риве TNT)
Тоесть работать можно только до момента выхода из Х после первого запуска Х.
Как быть? Точнее интересует как побороть трабл!
Привожу также инфу дополнительную (думаю будет полезной) + это вводная к третьему глюку
Для 2.4.24 имеем rivafb: PCI nVidia NV4 framebuffer ver 0.9.4 (RIVA-TNT, 16MB @ 0xE4000000)
Для 2.6.х имеем PCI nVidia NV4 framebuffer ver 0.9.5b (nVidiaRIVA-TNT, 16MB
@ 0xE4000000)
При установке через fbset одного и того же режима (через fb.modes) идёт смещение на один текстовый символ вправо для ядра 2.6.х.
Сам режим нестандартный для монитора lg57i (но в 2.4.x то работает всё пучком!)
привожу сам режим
fbset -v
Linux Frame Buffer Device Configuration Version 2.1 (23/06/1999)
(C) Copyright 1995-1999 by Geert Uytterhoeven
Opening frame buffer device `/dev/fb0'
Using current video mode from `/dev/fb0'
mode "800x600-111"
# D: 72.754 MHz, H: 70.498 kHz, V: 111.195 Hz
geometry 800 600 800 600 16
timings 13745 120 54 32 1 58 1
accel true
rgba 5/11,6/5,5/0,0/0
endmode
Вычитал также что вроде как fbset ещё не переписан под ядро 2.6 - может в этом и скрыт трабл? Все попытки поправить leftmargin =120 не дают результата - тоесть иаксимум чего удаётся как раз и добиться таким образом - это смещение вправо на 1 текстовый символ! относительно ядер 2.4 Если уменьшать дальше этот параметр то сваливается синхронизация!
ЗЫ: можно конечно и мониторными настройками выкрутить этот символ смещая рабочую область экрана влево, но что получается каждый раз крутить это мониторными настройками при загрузке с разными ядрами (((
Подытоживая: (самое важное что мешает жить относительно спокойно это второй глюк)
Имеем 3 проблемы, которые бы хотелось бы решить:
1) Проблема "зелёного квадрата"
2) Зависон при выходе из Х на кернеле 2.6.х
3) Смещение "картинки" на один текстовый символ вправо во (ядра ветки 2.6)