;-) Приветствую *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)