LINUX.ORG.RU
Ответ на: комментарий от Deleted

Извините за ламерский вопрос. Надеюсь, он хотя бы имеет отношение к этой теме. У меня есть ноут hp 6270s со встроенным видео Intel GMA X3100, родное разрешение дисплея 1280x800, установлена suse 10.3. Проблема в том, что при загрузке (до старта иксов) выставляется неправильное разрешение, 4:3, и картинка по горизонтали занимает только центральную часть экрана. Никакими изменениями режима vga мне не удалось добиться разрешения 16:10. Это ограничения драйвера vesa, да? А как можно их преодолеть? Нужно перекомпилировать ядро с поддержкой uvesa, или можно обойтись как-нибудь по-простому?

Интересно, что ноут сертифицирован для работы с novell enterprise desktop, а suse 10.3 демонстрирует такую очевидную проблему при дефолтной установке.

SlonoInquisitor
()
Ответ на: комментарий от Rikz

Спасибо, я тоже думал об этом. Но исходя из того, что я прочитал о 915resolution на сайте en.opensuse.org, он нужен, для того чтобы выставлять правильное разрешение в иксах? Или я неправильно понял? С иксами, кстати, у меня все ок, разрешение 4:3 наблюдается от запуска grub до startx.

SlonoInquisitor
()

описать режим в /etc/fb.modes, а затем "fbset режим"
если всё будет OK, то fbset можно будет прописать и в inittab, чтобы каждый раз руками не запускать

saahriktu ★★★★★
()
Ответ на: комментарий от SlonoInquisitor

> он нужен, для того чтобы выставлять правильное разрешение в иксах? Или я неправильно понял?

Он нужен для исправления глючного интеловского биоса. Использовать это исправление могут все.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо за идею, правда. Я установил пакет 915resolution, выполнил insserv boot.videobios, из вывода команды 915resolution -l выбрал для патчинга режим за номером 45, соотвествующий 1024x768 16bit, и в /etc/sysconfig/videobios прописал

VIDEOBIOS_PATCH="yes"

VIDEOBIOS_PARAMETERS="45 1280 800".

После перезагрузки вывод 915resolution -l, равно как и hwinfo --framebuffer | grep 'Mode', показывает, что режим 45 пропатчен и соотвествует разрешению 1280x800.

Чтобы получиь нормальное разрешение при загрузке, я подсунул грубу строчку vga=0x317 (0x317 это как раз и есть 1024x768 16bit). И не фига. Как у меня грузилась система в разрешении 4:3, так и грузится. Что я сделал не так?

SlonoInquisitor
()
Ответ на: комментарий от SlonoInquisitor

Я попробовал в целях эксперимента изменять разрешение виртуального терминала, выполняя fbset 1024x768-60, fbset 800x600-60, etc.. Эти разрешения прописаны в /etc/fb.modes, но разрешение после выполнения этих команд никак не менялось. Может быть, ядро скомпилировано без каких-то нужных опций?

SlonoInquisitor
()
Ответ на: комментарий от SlonoInquisitor

какой драйвер фреймбуффера используется? Если intelfb - то так оно и должно быть, он не умеет менять разрешение для LCD-панелей на лету и ставит дефолтное 1024 на 768. Зато с суспендом дружит))

fizteh
()
Ответ на: комментарий от SlonoInquisitor

>Чтобы получиь нормальное разрешение при загрузке, я подсунул грубу строчку vga=0x317 (0x317 это как раз и есть 1024x768 16bit). И не фига. Как у меня грузилась система в разрешении 4:3, так и грузится. Что я сделал не так?

1024x768 это 4:3, что не так?

frame ★★★
()
Ответ на: комментарий от frame

Ну я же пропатчил при помощи 915resolution этот режим, так что он должен соответствовать режиму 1280x800 с отношением сторон 16:10. Правда, как мне объяснили, этот патч еще не активен на момент загрузки груба, так что я перестал понимать, зачем он вообще нужен.

SlonoInquisitor
()
Ответ на: комментарий от frame

А что, без пересборки ядра никак нельзя? Здесь вот предлагали прописать нужное разрешение в /etc/fb.modes и затем выставить его при помощи fbset.

SlonoInquisitor
()
Ответ на: комментарий от SlonoInquisitor

>А как бы это узнать поточнее?
dmesg | grep fb
результат будет аналогичен:
Command line: root=/dev/hda1 video=nvidiafb:mtrr,ywrap,1280x1024-16
Kernel command line: root=/dev/hda1 video=nvidiafb:mtrr,ywrap,1280x1024-16
pnp: 00:01: iomem range 0xf8000-0xfbfff could not be reserved
nvidiafb: Device ID: 10de0281
nvidiafb: CRTC0 analog not found
nvidiafb: CRTC1 analog found
nvidiafb: EDID found from BUS1
nvidiafb: CRTC 0appears to have a CRT attached
nvidiafb: Using CRT on CRTC 0
nvidiafb: MTRR set to ON
nvidiafb: PCI nVidia NV28 framebuffer (64MB @ 0xF0000000)

здесь ясно видно какой фреймбуферовский драйвер используется

vesafb видеорежим менять умеет только на момент старта ядра; видеорежим берёт из командной строки ядра, которая прописывается в конфиге загрузчика.
у lilo это ЕМНИМС /etc/lilo.conf (после изменения этого конфига нужно вызывать "lilo").
у grub'а эта строка прописывается в /boot/grub/menu.lst
у меня, например, так:
title=LFS 6.3
root (hd0,0)
kernel /boot/linux-2.6.23.11 root=/dev/hda1 video=nvidiafb:mtrr,ywrap,1280x1024-16

для vesafb вместо опции video можно прописать опцию vga

если фреймбуферовский драйвер умеет менять видеорежим после старта ядра (fbset приносит результат), то в конфиг загрузчика можно ничего не прописывать, а прописать fbset с соответствующим режимом в inittab

saahriktu ★★★★★
()
Ответ на: комментарий от saahriktu

Спасибо. Судя по dmesg | grep fb, используется vesafb. Это коррелирует с тем, что после старта ядра видеорежим не меняется (fbset результата не приносит). Грубу подсунута строчка vga=0x317, и при загрузке я вижу этот самый режим 0x317, то есть 1024x768.

То есть если я хочу получить разрешение 1280x800 во время загрузки системы (до запуска иксов), возникает патовая ситуация: 1. до загрузки ядра vesafb позволяет менять разрешение, но видеорежимы в интеловском биосе еще не пропатчены, так что выставляется все равно 4:3 2. после загрузки ядра и патча режим уже не изменить из-за ограничений vesafb.

Что здесь можно сделать?

SlonoInquisitor
()
Ответ на: комментарий от SlonoInquisitor

есть два варианта - либо старое гентушное ядро - до 2.6.23, там есть патченный vesafb, называется vesafb-tng. Нормально пашет. Вариант два - новое ядро с гентушными патчами, там есть uvesafb, только для нее требуется ramdisk support, ибо для этой штуковины нужна сторонняя утилита. Короче, погляди на http://gentoo-wiki.com/HOWTO_gensplash

fizteh
()
Ответ на: комментарий от fizteh

Спасибо. В принципе, подтверждаются мои наихудшие подозрения;) Патчить дистрибутивное сусевское ядро мне не хочется по ряду причин. Интересно, а винда при загрузке тоже выставила бы разрешение 4:3, или в ней эта проблема магическим образом исчезает?

SlonoInquisitor
()

menu.lst:
title  Arch Linux [kernel 2.6.23.1]
kernel (hd0,5)/kernel-2.6.23.1.bzImage root=/dev/sda7 ro vga=865

драйвер intelfb, раньше был vesa, но всё тоже самое.

# dmesg |grep fb
intelfb: Framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G/915G/915GM/945G/945GM chipsets
intelfb: Version 0.9.4
intelfb: 00:02.0: Intel(R) 915GM, aperture size 256MB, stolen memory 7932kB
intelfb: Non-CRT device is enabled ( LVDS port ).  Disabling mode switching.
intelfb: Initial video mode is 1280x800-16@60.
intelfb: Changing the video mode is not supported.
intelfb: Changing the video mode is not supported.
intelfb: ring buffer : space: 7416 wanted 65472
intelfb: lockup - turning off hardware acceleration

evdovin
()
Ответ на: комментарий от evdovin

А у меня система режим vga=865 не воспринимает. Unknown ID, говорит. Я и раньше пытался его грубу подсовывать, и впустую.

SlonoInquisitor
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.