framebuffer, nvidia-drivers, power-management - лебедь, рак и щука

Довольно долго бьюсь над проблемой, но так и не нашел решения... Возможно, у кого-то найдутся нужные крупицы опыта.

Медиацентр подключен к HD телевизору, в иксах используются проприетарные драйвера nvidia (единственные, в которых я сумел обнаружить поддержку vdpau). C другой стороны, единственный драйвер FB, который может установить правильное разрешение - это nouveau. Использование uvesafb в консоли имеет в моем случае серьезные недостатки - во первых, разрешение получается отнюдь не 1920х1080 - глазам неприятно, плюс огромный underscan, процентов 15-20. (Кстати, как узнать, какое разрешение устанавливает uvesa? Что бы я не писал в video=uvesafb:... - ничего не меняется). Кроме того, после suspend/resume в консоли при использовании uvesa я получаю черный экран и писк из материнки; если использую nouveau - то все в консоли в поряде - и FB и видеорежим и suspend/resume.

Выходит, что в консоли мне надо nouveau, а в иксах - проприетарные драйвера. Однако разрешить проблему - как их подружить, мне не удалось. Единственное, что я нашел толкового по теме, это Deactivating KMS and unloading Nouveau с сайта производителя )

echo 0 > /sys/class/vtconsole/vtcon1/bind
rmmod nouveau
/etc/init.d/consolefont restart
rmmod ttm
rmmod drm_kms_helper
rmmod drm

Но даже после этого иксы не грузятся, точно не помню ошибку, но смысл такой, что не удается загрузить драйвер с именем типа nvidia.ko (файл имеется, nvidia-drivers установлены). Вот и вопрос - как и что надо еще выгрузить или загрузить, чтобы иксы загрузились? И что надо сделать при выходе из иксов, чтобы получить обратно FB?

Спасибо, если дочитали )

>>nvidia.ko пересоберите

>>nvidia.ko

пересоберите ядро, может помочь

помогает, если пересобрать

помогает, если пересобрать без nouveau )

Выпилите все фреймбуферы и

Выпилите все фреймбуферы и напишите vga=normal
используйте закрытый драйвер

и будут в консоли буквы со

и будут в консоли буквы со спичечный коробок... консоль-то мне тоже нужна.

эмм, а чего вам не

эмм, а чего вам не используется VESA или новый(память уже не так чтобы вспомнить как обзывается) драйвер для консольного фреймбуфера?
никакого гемора а эффект тотже, разрешения выставляет какие пожелаете, с проприетарными drm дровами не конфликтует, поверено на 9200M и 5600FX

ЗЫ если веса не работает, второй, чертова память на "E" как то обзывается, призван исправить положение...

и vesa и uvesa не умеют

и vesa и uvesa не умеют 1920x1080

uvesafb is a _generic_ driver which supports a wide variety of video
cards, but which is ultimately limited by the Video BIOS interface.
The most important limitations are:

- Lack of any type of acceleration.
- A strict and limited set of supported video modes. Often the native
or most optimal resolution/refresh rate for your setup will not work
with uvesafb, simply because the Video BIOS doesn't support the
video mode you want to use. This can be especially painful with
widescreen panels, where native video modes don't have the 4:3 aspect
ratio
, which is what most BIOS-es are limited to.

cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes показывает не более 1280x1024. думаю, такое я и имею. как я уже говорил, получается огромный underscan + проблемы с засыпанием.

Если посоветуете FB драйвер, который сможет 1920x1080 - буду очень благодарен.

.

В консоли много времени не провожу, однако выглядит она вполне прилично с video=uvesafb:mtrr:3,ywrap,1920x1200-24@60 vga=0x31B на wide мониторе 1920x1200 (монитор показывает что такое разрешение и стоит). В иксах nvidia.ko, все работает.
1920x1080 не пробовал.

а у вас uvesa реально

а у вас uvesa реально выставляет 1920*1200? cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes показывает такой режим?

cat

cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes

Кстати, это читали?
sys-apps/v86d

похоже, у вас video bios

похоже, у вас video bios поддерживает все режимы... у меня макс. 1280x1024.
userspace helper стоял всегда и сразу, без него даже не пробовал и насколько я понимаю, без него у меня был бы режим 640х480

uvesafb умеет только те

uvesafb умеет только те режимы, которые зашиты в VBIOS.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

ну я собственно об этом и

ну я собственно об этом и цитировал выше... вопрос-то немного в другом, как получить и в консоли нативное разрешение и в иксах проприетарные драйвера чтобы работали...

sys-apps/v86d + uvesafb

уже написали sys-apps/v86d + uvesafb

Уже написали выше, что это

Уже написали выше, что это может не работать и в данном случае как раз не работает.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

мы несколько отошли от темы..

мы несколько отошли от темы.. вполне понятно, что uvesa в данном случае не подходит, и почему - тоже понятно.

Вопрос то был немного в другом - _как_ правильно выгружать nouveau, чтобы мог загрузиться nvidia.ko? Исходя из слов творцов nouveau, вполне возможно выгрузить nouveaufb и загрузить другой ***fb - хотя бы тот же uvesa. Про то, что в принципе нельзя загружать nvidia.ko - ничего не сказано.

Собственно и конкретно нужно разобраться только в одном - что именно мешает nvidia.ko грузиться? И как это победить? Если есть по этому поводу конструктивные идеи - что попробовать, куда копать - буду рад.

По-моему, прогноз

По-моему, прогноз неутешительный: nouveau и nvidia-drivers подружить, мне кажется, нельзя.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

подружить их действительно

подружить их действительно нельзя, но насколько я понимаю, теоретически возможно правильно выгрузить nouveau - так, чтобы nvidia.ko все-таки загрузился? Весь вопрос в том, как это практически реализовать. Думаю, эта проблема не только у меня, ведь на данный момент проприетарные драйвера во многом на голову впереди nouveau, а остальные FB драйвера не могут обеспечить родное разрешение современных мониторов...

Я боюсь, что выгрузить

Я боюсь, что выгрузить nouveau не получится, потому что оно используется, можно его лишь не загружать.

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Deactivating KMS and

Deactivating KMS and unloading Nouveau

The framebuffer console reserves nouveaufb and therefore you cannot directly unload the Nouveau kernel module. You have to unbind nouveaufb first. When you unbind nouveaufb, the earlier fb driver or the VGA console driver will take over. Your kernel configuration needs to have CONFIG_VT_HW_CONSOLE_BINDING enabled. 

NOTE: For NV50 class hardware and above, the VGA text mode cannot be restored, you will be without a working virtual console until you load a new framebuffer driver! For older hardware the VGA text mode console should be restored fine. If you want to try to restore the VGA text mode yourself, the command vbetool post might be able to do that. Please, read the vbetool manual, before attempting it. 

Here is an example script to unload Nouveau KMS: 
#!/bin/bash

echo 0 > /sys/class/vtconsole/vtcon1/bind
rmmod nouveau
/etc/init.d/consolefont restart
rmmod ttm
rmmod drm_kms_helper
rmmod drm

The echo line unbinds nouveaufb from the framebuffer console driver (fbcon). Usually it is vtcon1 as in this example, but it may also be another vtcon*. See /sys/class/vtconsole/vtcon*/name which one of them is a "frame buffer device". 

The console font trick may be needed with the VGA text mode to restore proper console state (to keep the active line visible), and depends on your distribution.

в полном согласии с данной инструкцией, rmmod nouveau срабатывает только после echo 0 > /sys/class/vtconsole/vtcon1/bind. Опять же, как и написано, после этого для >=NV50 VGA режим не устанавливается, экран черный. Значит, выгрузилось, но не все?

Ага, стало быть, я

Ага, стало быть, я ошибся.

Так а перезапуск consolefont помогает?

Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

я себе представлял примерно

я себе представлял примерно так - при загрузке и в консоли используется nouveau, перед запуском иксов nouveau выгружается и иксы работают на закрытых драйверах, после выхода из иксов снова грузится nouveau и в результате и в иксах и в консоли все шоколадно.

поскольку в консоли я ничего, кроме nouveau использовать не предполагал, я не пытался, как сказано в инструкции, установить VGA режим или подгрузить другой FB драйвер - полагаю, это не решило бы проблему с невозможностью загрузить nvidia.ko. Возможно, конечно, я и ошибаюсь, но разве для загрузки nvidia.ko необходим определенный видеорежим? Исходя их того, что экран тухнет после rmmod nouveau, он действительно выгружается. И, соответственно, перезапуск consolefont на черном экране ничего не дает...

В какую бы сторону покопать? Вроде бы как можно все это сделать, но не получается )

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".