Разрешение в консоли
oleg153 18 мая, 2007 - 20:34
Не могу настроить разрешение в консоли. Опция frame buffer в ядре включена. В ядре задал 1280x1024@60. В GRUB'e пишу video=vesafb:mtrr:3,ywrap,1280x1024-32@60. Но выдает разрешение 800х600. На fbset -s выдает, что возможно только разрешение 800х600. В чем может быть дело?
»
- Для комментирования войдите или зарегистрируйтесь
поменяй
поменяй видеодровину на vesafb-tng
vesafb-tng
Я vesafb-tng ставил.
Кто их знает
Возможности монитора например неправильно определяет. Собирай без vesa-tng (с vesa, vesa-tng -- это фича gentoo-sources). Судя по XEN, vesa драйвера вообще зло (ибо требуют x86-эмуляции, которая в XEN не реализована). Приходится поэтому переходить к использованию radeon-драйвера (или nvidia)
Мне vesa-tng не нравится тем, что позволяет кому ни попадя менять разрещение -- имеем шелкание монитора при переходе от консоли к иксам и обратно (с просто vesa такого нет).
PS: кто нибудь знает, как запретить fb-драйверам реагировать на запрос изменения параметров экрана? А то c vesa-драйвером mplayer показывает нормально (на fbcon), а с radeon (как драйвер fbcon) -- очень блекло (нет яркости)
PPS: слишком много параметров для vesa-tng задаешь. Попробуй без глубины цвета и частоты развертки для начала
PPPS: fbset -s использует инфу из /etc/fb.modes Обычно этот файл не существует и его надо самому создавать (из вывода "fbset -i" при разных режимах загрузки)
Попробую.
Спасибо. Буду пробовать.
:-(
Попробовал собрать без vesa-tng, т.е. с vesa. Ядру задал "vga=0x317 video=vesafb:mttr:3,ywrap". При загрузке выдает "You passed an undefine mode number. Press Enter to see video mode available...".
Если задать "video=vesafb:mttr:3,ywrap,1024x768-16@60", выдает вообще, разрешение 640х480. Что такое?
Просто vesa video= не понимает
Ему хватает vga=. video= задавать не надо. Остальные -- все наоборот.
Не понял, что
Не понял, что значит "Остальные -- все наоборот.".
P.S. Хоть как, если указать параметр "vga=0x317", вылезает "You passed an undefine mode number. Press Enter to see video mode available...". :-(
Хмм... Задал
Хмм... Задал параметр vga=317. Черный экран, но явно система грузится, просто ничего не отображается. Что бы это могло значить?
Значит правильно кофигурить надо
драйвер vesa, надеюсь звездочкой (постоянно, не иодулем) собран?
А все остальные драйвера пока выкинь (не включай, ни модулем, ни постоянно)
Re: :-(
Что за 0x317? Тут скорей должно быть 0x31A.
| 640x480 800x600 1024x768 1280x1024
----+-------------------------------------
256 | 0x301 0x303 0x305 0x307
32k | 0x310 0x313 0x316 0x319
64k | 0x311 0x314 0x317 0x31A
16M | 0x312 0x315 0x318 0x31B
Да я и 0x31A
Да я и 0x31A пробовал. Бесполезно.
Re: Да я и 0x31A
В ядре всё так?
Console Drivers ->
[*] VGA text console
[*] Video mode selection support
Console Drivers -> Frame-buffer support ->
[*] Support for frame buffer devices
[*] VESA VGA graphics console
Попробуй с такими аргументом ягра:
video=vesa:1280x1024@60,ywrap,mtrr vga=0x31A
или
video=vesafb:1280x1024-16@75 vga=0x31A
В ядре все так.
В ядре все так. Пробовал и video=vesa:1280x1024@60,ywrap,mtrr vga=0x31A и video=vesafb:1280x1024-16@75 vga=0x31A, не пашет. Вылезает все то "You passed an undefine mode number. Press Enter to see video mode available..."
а фрамбуффер
а фрамбуффер включен в ведре?
Для драйвера vesa задавать video= нельзя
Что тут непонятно? В парметрах командной строки должна быть только строчка vga=791 (работает везде). И никаких video= Если не работает, выключаешь все остальные драйера и пересобираешь
PS: кстати, собирать тоже надо уметь. Как именно собираешь?
А то получишь кашу из старой конфигурации и новой
Да вот у меня
Да вот у меня тоже прописано в grub.conf
kernel /boot/kernel-genkernel-x86-2.6.17-gentoo-r8 vga=791 root=/dev/hda3 init=/linuxrc real_root=/dev/hda3
и все работает :)
_______________
Бороться, Искать. Найти и НЕЗДАВАТЬСЯ!
Пересобрал
Пересобрал ядро. Не помогает. Пересобираю следующим образом :
make mrproper
make menuconfig
make bzImage
make modules
make modules_install
ср bzImage /boot/kernel-new
В ядре указываю :
Device Drivers >
Graphics support: >
[*] Support for frame buffer devices
<*>VESA VGA graphics support
VESA driver type (vesafb) --->
Console display driver support --->
[*] Video mode selection support
<*> Framebuffer Console support
[*] Support for the framebuffer splash
Для загрузки
kernel /boot/kernel-new root=/dev/hdb3 vga=791
Не пашет, выдает You passed an undefine mode number.
Интересная какашка
А остальные драйвера отключены? Как насчет VGA-драйвера? Такое впечатление, что он подключается... А что за карточка? Она в Windows нормально работает?
Отключено : VGA
Отключено :
VGA 16-color graphics support
Hercules mono graphics support
nVidia Riva support
Matrox acceleration
ATI Radeon display support
ATI Radeon display support
ATI Rage128 display support
ATI Mach64 display support
SIS acceleration
NeoMagic display support
IMG Kyro support
3Dfx Banshee/Voodoo3 display support
3Dfx Voodoo Graphics (sst1) support
Trident support
Карточка встроенная в мат. плату - NVIDIA GeForce4 Integrated GPU. В винде работает нормально.
А ядро какой версии?
У меня Video-mode selection support с прочеркиванием (типа без него никак нельзя). А тут звездочка
А стандартные ядра (от LiveCD) пробовал? Они как себя ведут?
http://ru.gentoo-wiki.com/HOWTO_fbsplash
нашел тут статейку не плохую. почитай. На форумах делали по ней говорили что все получилось.
_________________
Бороться, Искать. Найти и НЕЗДАВАТЬСЯ!
Да товарищ вроде все это перепробовал
Так как насчет версии ядра и загрузки ядра от Gentoo LiveCD ?
Нет. Не
Нет. Не работает с ядром с LiveCD 2006.1. Даже уже при загрузке, если выбрать ядро gentoo (не gentoo-nofb), выдает "You passed an undefine mode number.". В чем дело не пойму? ;-(
А конкретно как мат плата зовется?
Впервые слышу о плате со встроенной видюхой без vesa-BIOS... Или что можно как-то его включить-отключить настройками. Наверняка такая же проблема и у других встречалась...
PS: Тогда для начала собирай с драйвером NVIDIA (звездочка), и указывай вместо VGA= video=nvidiafb:1024x768-16@85 (для начала).
А можно только vesa-драйвер выкинуть, а все остальные включить. У меня при такой комбинации можно ничего не указывать, драйвер все равно включается (radeonfb), правда в режиме 256-indexed color (для FB говорят надр специальный image делать в этом случае)
Мат. плата - Epox
Мат. плата - Epox 8RGM2I. C драйвером NVIDIA собирать не пробовал.
P.S. А что обозначает "VBE 3.0"?
Если бы была VBE 3.0, то vesa-драйвер бы работал
А что там про VBE 3.0 говорится? Что поддерживается платой? Или нужна перепрошивка BIOS?
Да VBE 3.0 платой
Да VBE 3.0 платой поддерживается. Только не поддерживаются разрешения выше 800х600 (Пробовал выяснить с помощью vbeprobe в grub'е и vbetest из пакета lrmi). Результат одинаковый поддерживаемые разрешения только 320х240, 640х480 и 800х600. Поэтому vga=0x317(0х31В) не работает, а vga=0х314(т.е разрешение 800х600х64k) прекрасно работает.
Все получилось!
Все получилось! Отключил vesa, поставил nVidia Riva. Указал video=rivafb:mtrr,ywrap,1280x1024-16@60. Пашет. Спасибо за помощь.
З.Ы. А могут ли быть потом проблемы в иксах?
Наверно могут быть
Почитал описание платы... Контроллер с неторыми винчестерами не дружит, BIOS надо обновлять (зачем то), еще что-то про проблемы с Linux. Самое интересное, про отсутствие VBE ничего не нашел
Спасибо за
Спасибо за статейку, но я тоже по ней делал.
У меня аналогичная проблема
Что бы я ни указал в параметрах ядра... оно ставит 1280х1024 - а это очень мелко для меня...
В итоге я поставил крупный шрифт в консоли, так как побороть ядро не смог.
P.S.у меня подозрение, что ядро запрашивает данные прямо с монитора, но игнорирует заданные мной параметры...
это уже другая проблема
Наверно.... Со стандарными ядрами (от LiveCD 2006.x) пробовал?
PS: так бывает, когда указываешь неправильные видео-параметры для ядра. Драйвер все равно включается и делает разрешение по максимуму (а при хорошем мониторе мелко получается)
пришлось повозиться
в общем дело было такое: ядро игнорировало параметры типа video=vesafb: и т.д. автоматом ставилось 1280x1024@85 - это было очень мелко и я от нечего делать поставил 20-й шрифт.
Чтение dmesg выдало следующее:
видно, что режим консоли ставится не в vesafb, а в nvidiafb.
Поставил параметр - video=nvidiafb:.. и т.д. - все заработало - нормально ставится нужное разрешение, вот только частота не ставится выше 85 герц. В встроенном в mc редакторе и вьювере на разрешениях ниже 1280х1024 почему-то вылезли странные подчеркивающие линии на концах строк...
убрал из ядра nvidiafb. - стала работать vesafb - тут уж все параметры ставятся и все работает без глюков, но, к моему разочарованию, консоль стала подтормаживать. :(
В общем оставил я nvidiafb с 1280х1024@85 и с 20-м шрифтом и живу себе потихоньку.
Для vesafb
Для vesafb задается так:
vga=0x317 video=vesafb:mttr:3,ywrap
vga=<разрешение и глубина цвета>, описание есть в хендбуке.
Re: Для vesafb
Я так поня что все это в настройках граба писать?
А что если у меня вообще ничего не будет показывать? или такая ситуация исключена? Не хотелось бы потом сидеть с черным экраном. Что делать тогда?
Вариантов куча
grub позволяет редактировать строку перед выполнением. Можно создать дубль описания загрузки и править ее
Да, это
Да, это параметры которые надо передать ядру. Чегото боятся не стоит, тк всегда в Грубе можно нажать e и отредактировать.
А по поводу черного экрана - я с этим сталкивался с vesa-tng на многих старых видюхах и один раз с vesa на radeon 7000 agp(никак не решалось, помогла замена карточки)