LINUX.ORG.RU

Жизнь во Framebufer'е

 , , , ,


2

4
Жизнь во Framebufer'е

Очень долгое время работал я в FVWM, и не то что конфигурацию - даже скриншот не думал менять. Браузером и почтовиком при этом служила мне Opera.
Но стоило мне начать активно использовать suspend-to-disk, (как он правильно называется я уж и не помню, так как давно настроил его на кнопку выключения питания на системном блоке) как оказалось что в Икс'вых приложениях память с течением времени куда-то убегает. Опера только на старте ест 200 Мб с моим набором не закрываемых вкладок, а памяти у меня всего 768 Мб. Кто-то скажет, что за 8 лет пора бы машине и апгрейд сделать, но я думаю что мне и самому хочется писать приложения бережно относящимся к ресурсам компьютера, а не уходить по пути растраты, который взяли большинство программ сегодня.
И начал уходить я под Новый год во Framebuffer. Directfb в Ubuntu уже был, вручную собрал XDirectFB, links с поддержкой графического режима (с выводом в directfb).
Казалось бы XDirectFB не нужен если есть X, но он обладает важным преимуществом - запускает X'сы без прав суперпользователя прямо на той консоли с которой был произведён запуск (а не на 7-й или 8-й консоли). Из минусов - почему-то падает после настройки с работой с X font server'ом при запусках приложений вроде xcalc или того же fvwm. Но разработчикам сообщено, даст Бог - исправят.

Итак теперь screen встал у меня на службу для увеличения количества консолей.
vim остался текстовым редактором.
mutt - мой новый почтовик (есть на скрине), отлично справляется с годовой почтой в 3000 сообщений на 300 Мб, быстро стартует и завершает работу. Чего не скажешь об Опере.
links - в том числе это сообщение отправлено из links в текстовом режиме. Однако, если хочется посмотреть картинки, я настроил букву «l» на запуск текущей странице в том же links но графическом, ну а если и флеш хочется видеть, то есть клавиша «k», которая запускает XDirectFB с chromium на той же странице. На скриншоте можно найти уменьшенные скрины одной из страниц LOR'а во всех трёх режимах.

Впрочем о последнем хотелось бы сказать подробнее. Дело в том, что не стартует DirectFB сам из под виртуального терминала screen. Поэтому пришлось малость изголится со скриптами, которые делают detach screen запускают нужную команду и по завершении графического приложения возвращают управление screen.
Задача скриптов этих была бы простой если бы DirectFB запускался хотя бы из произвольного скрипта, так нет максимум он запускается из скрипта запущенного командой вроде ". <имя-скрипта>".

Но зато теперь я доволен. Определившись с браузером и почтовиком я также открыл для себя просмотрщик fbi - отличная вещь, открывает картинки очень быстро, позволяет их и листать и поворачивать. И даже огромное изображение 14720x10800 открывает без лишнего шума и качественно масштабирует. На скриншоте - информация о фотографии с пингвином - это и есть скриншот fbi.

fbgs - вполне себе годный скрипт для просмотра pdf с помощью того же fbi.

mplayer - работает так как надо с опциями «mplayer -autosync 30 -fs -vo fbdev -zoom -xy 1024».

Скриншоты сделаны утилитой fbgrab.

Из недостатков приходится отметить - отсутствие единого буфера обмена между графическими и текстовыми приложениями. Но со временем думаю решу и это.

Вот такая жизнь во фреймбуфере. Вот такой вот новый год.

>>> Просмотр (1024x768, 534 Kb)

★★★★

Проверено: JB ()

охренеть, вот это прямо по фен-шую

isako ★★★ ()

Орден за Ъ-шность.

GotF ★★★★★ ()

Для чего себя загонять во фреймбуфер?

TGZ ★★★★ ()

есть ещё netsurf, правда без джаваскрипта и флэша. В линкс'е шрифты невозможно настроить, а это плохо.

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

Для чего? Просто надоело, что, то Опера (да любой браузер) непойми чем грузит процессор на 50%, то количество оставшейся памяти без видимых причин не позволяют войти в suspend. А я ведь не смотря ни на что свою машину (P4 1,7 GHz) слабенькой не считаю. Я буду искать качественные приложения, которые используют ресурсы благоразумно и даст бог это поможет мне в том числе поднять мне мой проект unDE.

unDEFER ★★★★ ()

вот это я понимаю Ъ, а остальные просто позеры (:

Ingvarr ★★★ ()

Как там оно, в девяностых?

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

Нормально в 90-х. Игрушки для вашего андроид из 21-го века разрабатываем :-) Если бы все приложения были бы столь же продуманными как приведённые выше, все повседневные задачи были бы уже давно решены универсально и программисты бы спокойно завершали работу над искуственным интеллектом :-)

unDEFER ★★★★ ()

Итого вместо нормального xorg мы имеем на скриншоте реализацию иксов на DirectFB. А начиналось всё с того, что опера много жрет. Где логика, где смысл?

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

О проблеме оптимизация vs. скорость-легкость разработки известно очень давно, сейчас очевидно преимущество выбора второго варианта для прикладного ПО.

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

Да, нет, на скриншоте нормальный xorg на 8-й консоли с FVWM и Gimp. Но только потому, что FVWM в XDirectFB не пускается, поэтому его смотреть не надо - там я бываю очень редко. Все картинки открытые в Gimp - скриншоты с фреймбуфера. И только один из них с запущенным XDirectFB.

И в общем зря вы считаете, что XDirectFB какой-то ущербный. Это полный XOrg с маленьким патчиком для вывода во фреймбуфер. А премущество его ещё и в быстром переключении между текстовыми консолями и графикой без переключения режима экрана. rdesktop без проблем запускается в полноэкранном режиме на отдельной консоли не мешая переходить на другие консоли.

Итого преимущество есть просто потому, что 80% времени я провожу в Vim'е и Screen'е и слава богу теперь Опера, которой я пользуюсь 10% времени не сжирает незаслуженно 50% ресурсов. Есть правда ddms, который любит набухать, но его я так и быть поперезапускаю.

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

Прошу прощения, но очевидны преимущества для пользователя или для разработчика? К сожалению для пользователей там преимуществ не много.

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

А премущество его ещё и в быстром переключении между текстовыми консолями и графикой без переключения режима экрана.

man nouveau

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

Спасибо, что именно это зависит от драйвера, а не метода вывода не задумывался.

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

man nouveau

Правильнее было бы сказать KMS.

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

Напрямую - для разработчика. Косвенно - для пользователя.

Идеально выбор баланса между оптимизацией и скоростью разработки всегда зависит от задачи. Калькулятору в сегодняшних условиях можно отдать мегабайт 40 памяти, офису можно и 300. Узкоспециализированный сервер приложений можно писать в расчете на 16 гигабайт (сделать ставку на алгоритмы с большим кэшированием).

Пользователи не протестуют против адекватных требований. Не все понимают, почему именно нужно покупать новое железо, но действует нормальная аналогия о том, что все вещи стареют.

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

40 Мб для калькулятора?? Ох, щи.. Как хорошо что у меня есть calc.

Я не смогу вас убедить в том, что требования многих современных программ мягко говоря не адекватны, но просто поверьте, если бы вы имели качественно написанный софт, который использовал бы все имеющиеся у вас ресурсы, но использовал бы их оптимально, то вы бы почувствовали это и были бы благодарны.

unDEFER ★★★★ ()

В fb жизни нет, жалкое существование, это всё равно, что отказаться от жилищ и одежды и отращивать мех

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

Огромное спасибо всем одобряющим! Это очень позитивно! Даже не ожидал, что так будет :-)

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

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

unDEFER ★★★★ ()

А ты затейник :) За фантазию и терпение плюсик.

fragment ()

А каков выигрыш именно от использования фреймбуфера? Почему не иксы с тем же набором софта?

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

Я, все-таки, немного поспорю.

Что лучше для пользователя - красивый, функциональный, интуитивно понятный, стабильный, с каждым обновлением пополняющийся нужным функционалом офисный пакет, который требует современного железа, или супероптимизированный, очень быстрый, запускающийся на пентиуме 2 и 64 мб памяти текстовый редактор, имеющий одну сотую возможностей первого?

Если функций второго достаточно, то он, несомненно, выигрывает. Если железо не может работать с первой программой, то так же будет выбрана вторая в ущерб некоторым запросам. А если оборудование позволяет запустить одновременно десять копий большой развитой программы?

Любая программа может быть оптимизирована. Любая получившаяся в результате может быть оптимизирована еще больше. Но это не всегда нужно и не всегда возможно, и уж точно не всегда оправдано.

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

В fb жизни нет, жалкое существование, это всё равно, что отказаться от жилищ и одежды и отращивать мех

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

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

Не весь набор софта запускается в иксах, fbi - не пускается. А X'сы ещё и падают иногда.

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

Лучший офис будет тот, который сумеет использовать супер-компьютер, чтобы получить максимум преимуществ для пользователя, но в тоже время запуститься на машине без графического ускорения с 64 Мб памяти и обеспечит взаимодействие приемлимого уровня с приемлимой скоростью. А нормальных интерфейсом нынче нету. Хотите больше о том, что я об этом думаю, ищите по ссылке в профиле.

unDEFER ★★★★ ()

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

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

А каков выигрыш именно от использования фреймбуфера? Почему не иксы с тем же набором софта?

Вот-вот.

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

Это невозможно. Программы стали слишком сложными, всегда приходится идти на компромиссы.

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

А X'сы ещё и падают иногда.

Охщи, что ж вы с ними делаете.

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

Ну когда в 4-й или 5-й раз линуксойды будут перепиливать очередное DE, повышая системные требования в очередные 2 раза при тех же самых функциональных возможностях, расскажите им, что программы стали слишком сложными, и приходится идти на компромиссы. Они очень обрадуются и вас поддержат.

geekless ★★ ()

Кто там спрашивал, кто самый Ъ из всех Ъ?

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

Вообще пока я не переключался в консоль и X'сы туда обратно они падали гораздо реже (может быть раз в несколько месяцев). Но когда я вдруг решил попробовать работать в консоли они начали резко падать чаще (по нескольку раз в неделю, а иногда и в день), чем значительно ускорили мой процесс миграции на фреймбуфер.

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

при тех же самых функциональных возможностях

Не тех же. Процесс выглядит так: создается программа (допустим, окружение). Сначала вроде все нормально, но на некотором этапе становится понятно, что возможности, которые хорошо было бы теперь реализовать, плохо вписываются в текущую архитектуру. Учитывая, что и некоторые предыдущие требовали костылей, все переписывается с какого-то уровня (не обязательно с нуля). Новая архитектура кажется очень гибкой и подходящей вообще для всего. Но в конце концов цикл повторяется еще раз.

Кде4 и Гном3 достаточно сильно отличаются от предыдущих версий, хотя вроде бы все делают одно и то же.

note173 ★★★★★ ()

Прекрасно. Вот бы ещё скриншотов :)

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

Не тех же. Процесс выглядит так: создается программа (допустим, окружение). Сначала вроде все нормально, но на некотором этапе становится понятно, что возможности, которые хорошо было бы теперь реализовать, плохо вписываются в текущую архитектуру. Учитывая, что и некоторые предыдущие требовали костылей, все переписывается с какого-то уровня (не обязательно с нуля). Новая архитектура кажется очень гибкой и подходящей вообще для всего. Но в конце концов цикл повторяется еще раз.

Да-да. Гладко было на бумаге, да забыли про овраги.

Давайте возьмём каталог тысяч на 5 файлов. И откроем его в: PathFinder, pcmanfm, Thunar и Nautilus. А теперь ответьте на простой вопрос: реализация каких именно функций и возможностей заставляет на этой элементарной операции: pcmanfm — тупить, Thunar — тормозить, а Nautilus — дико лагать.

Ну и чтобы вопрос не скатился в очередное «современные компьютеры могут вытерпеть любой быдлокод», предлагаю подумать, сколько джоулей каждый из этих ФМ выжрет при этом из батарейки ноутбука.

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

За последние года два, зависания иксов я наблюдал раз 5, не больше. Когда пускал по несколько иксов и часто переключался между ними. Падений не видел ни разу. Как-то вам не везёт.

geekless ★★ ()

Сходил по ссылке в вашем профиле, прочитал первые несколько заметок. Не со всем согласен, но идеи у вас определенно очень здравые. Это только теория, или что-нибудь разрабатывается на практике?

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

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

unDEFER ★★★★ ()

XDirectFB

В нём заводятся обычные иксовые программы без пересборки? Или заводятся с пересборкой, но без необходимости патчить их? Или заводятся только пропатченные иксовые программы?

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

В XDirectFB заводятся X'вые программы не требующие DRI (OpenGL) без пересборки. При желании можно пересобрать GTK для DirectFB и тогда будут заводится GTK приложения в DirectFB без X'сов, но я не пробовал.

Насчёт OpenGL - там есть возможность ускорения, но драйвера естественно не официальные, следовательно поддержка возможностей карточки будет не полная, да и приложения уже без специальной поддержки DirectFB работать не будут.

unDEFER ★★★★ ()

А я вот тоже попиливаю себе фреймбуфер (нет-нет, ничего кардинального, просто привожу в человеческий вид). Можно ли сделать так, чтоб fbterm запускать не вручную, а при переключении на tty сразу? То есть, когда я первый раз жмакну C-M-F#, чтоб не фреймбуфер, а фреймбуфер с заупщенным фбтермом?

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

Можно запустить fbterm на консоли один раз и он там будет постоянно, можно поставить проверку в .bashrc и при логине на консоль автоматически запускать fbterm, ну а если совсем извратиться то можно, конечно, вместо login через inittab пускать сразу fbterm, но это будет запущено под одним пользователем (без su - под root), впрочем никто не мешает запускать login прямо в fbterm.

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

Если у тебя есть лишних 5 минут, можешь добавить dojik-на-jabber.com.ua?

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

реализация каких именно функций и возможностей заставляет на этой элементарной операции: pcmanfm — тупить, Thunar — тормозить, а Nautilus — дико лагать

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

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