PCCar.ru - Ваш автомобильный компьютер

PCCar.ru - Ваш автомобильный компьютер (http://pccar.ru/index.php)
-   UnixCar (http://pccar.ru/forumdisplay.php?f=20)
-   -   QCarPc (http://pccar.ru/showthread.php?t=15968)

tony 24.11.2011 15:23

Собрал на archlinux примерно за полчаса.
Выше видел как народ предлагал делать симлинки, либо ковырять pkg-config, на самом деле можно обойтись проще. После того как qmake сгенерирует Makefile надо открыть этот Makefile и добавить в INCPATH пути до недостающих библиотек, у меня в конечном итоге это выглядело так:

Цитата:

INCPATH = -I/usr/share/qt/mkspecs/linux-g++-64 -I. -I/usr/include/gstreamer-0.10 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libxml2 -I/usr/include/QtCore -I/usr/include/QtNetwork -I/usr/include/QtGui -I/usr/include/QtSql -I/usr/include/QtDBus -I/usr/include/libsyncml-3.0 -I/usr/include -I. -I.
Далее make должен схватить все инклюды автоматически, естественно, вам нужно будет поставить все необходимые зависимости включая .h - файлы.
Если у вас другой дистрибутив, то соответственно, пути будут другими.

Теперь касаемо самой программы. С одной стороны понравилось, с другой, она вовсе не является window manager в том смысле в котором предполагается быть именно "оболочке" для X11. Хотя, конечно можно запустить ее напрямую через xinitrc, но очень смущает тот факт что каждую программу приходится прямо интегрировать в этот процесс.

Конечно, я понимаю и беру поправку на то что проект совсем молодой, но все же напишу, как подобный проект я представляю в идеальном состоянии.
Пусть существует много независимых программ как-то портированных или просто отдельно настроенных для этой оболочки типа: qcar-handsfree, qcar-mixer, qcar-navy, qcar-player итд. Сама оболочка должна быть простой и легкой, и позволять запускать приложения, рулить ими в меню и создавать подобие окон, если посмотреть на всяческие de-wm, то они не имеют моноархитектуры и работают именно так. Но опять же, это только строго говоря, для пре-альфа-демо версии то что - более чем отлично.
Если хотите я могу продолжить свои мысли...

Цитата:

И с дребезгом в QT попробую разобраться.
попробуйте запустить xev и сравнить события нажатия обычной мышью и вашим тачем, я думаю это поможет дебагу.

SergeBegger 24.11.2011 15:24

Цитата:

Сообщение от astroiLL (Сообщение 202755)
Что-то на моем Карписи под Ubuntu-11.10 QCPC запустилась со сдвигом.
Сдвиг вправо как раз на ширину выдвигающейся панели и ниже верхней панели.

Рекомендую всё-же Ubuntu 10.10 максимум, если есть возможность... И это действительно разрабатывалось как оболочка, т.е. запуск из голых иксов... И под бубунтой выше 10-й наблюдается баг с аналоговым TV - товарищи от Gstreamer его зафиксировали, но пока не исправили....

astroiLL 24.11.2011 17:09

tony,
за xev спасибо,
сделать прогу модульной хорошая идея, сам об этом думал (что автор думает?),
но почему программа не может быть "оболочкой" непонятно. Что-то ей не хватает?
А собирать программу в 2 этапа с ручной правкой (или даже patch-ем) Makefile-а между ними это самый плохой из всех предложенных способов. Прога своя а не из тарбола и лучше заранее предусмотреть определение библиотек, тем же pkg-config, чем городить полуручной бутерброд. Прога должна собираться "одной командой". А то запаришься собирать.
Да для того вроде qmake и нужен, чтобы получался "правильный Makefile".

Давай "мысли".
Цитата:

Сообщение от SergeBegger (Сообщение 202794)
Рекомендую всё-же Ubuntu 10.10 максимум, если есть возможность... И это действительно разрабатывалось как оболочка, т.е. запуск из голых иксов... И под бубунтой выше 10-й наблюдается баг с аналоговым TV - товарищи от Gstreamer его зафиксировали, но пока не исправили....

Жаль. Но не хотелось бы откатываться на 10.10, если дело только в ТВ, то я переживу и подожду исправления gst, тем более мой Aver-TV A828 один фиг не заработал.

SergeBegger 24.11.2011 17:23

Цитата:

Сообщение от tony (Сообщение 202791)
Пусть существует много независимых программ как-то портированных или просто отдельно настроенных для этой оболочки типа: qcar-handsfree, qcar-mixer, qcar-navy, qcar-player итд. Сама оболочка должна быть простой и легкой, и позволять запускать приложения, рулить ими в меню и создавать подобие окон, если посмотреть на всяческие de-wm, то они не имеют моноархитектуры и работают именно так. .

По уму - надо создать WM (на чём-либо), продумать и описать API, (в том числе и мультимедийный), и не факт, что приложения захотят работать под этой оболочкой как надо, В моем проекте есть такое узкое место - это Navit. Попробуйте посмотреть в сырцах - там настоящие грабли... :sad2: Было очень сложно заставить исконно GTK-шное приложение вписаться в виджет от Qt. У Navit есть свой Qt-шный интерфейс, но там проблемы с поддержкой русского и экранной клавы...
Есть готовый проект с WM - LinuxICE - но он показался мне очень громоздким...
Я где-то выше писал, что основной из задач был запуск проекта на слабом железе, и она была решена - на GEODE LX800 - 500 MhZ с 512 оперативки она запустилась и работала (всё кроме DVB-T)

tony 24.11.2011 17:36

Собирать с ручной правкой это вариант "на коленке", как замена симлинкам. По идее, qmake сам может справиться с этим, фикс в 2 строки с патчем здесь:
http://code.google.com/p/qcarpc/issues/detail?id=1

Получается что вся сборка программы на любой системе с установленными зависимостиями будет такая:

Цитата:

qmake qcarpc.pro
make
make install
либо, соответственно в одну строку:

Цитата:

qmake qcarpc.pro && make && make install
Но все же, сборка с исходников это не совсем штатный способ установки софта, в конечном итоге каждый должен ставить этот софт с пакетов. Выше уже был deb-пакет, это уже хорошо.

Программа-оболочка ничем не отличается от любой другой, кроме того, что оболочка позволяет запускать другие программы, а qcarpc получается только запускает те программы которые имеет сама, это не совсем хорошо. Ведь куда лучше сделать гибкую оболочку которая запускает другие программы. В таком случае, каждый может запустить какую-нибудь свою аппликуху не внося изменения в программу-оболочку вообще. Примерно так и работают все DE/WM xfce4-desktop можно запустить отдельно от xfce и какой-нибудь thunar можно запустить отдельно от xfce самого по себе. Здесь же, все в одном и по сути одна программа, а не оболочка.

Мысли продолжу чуть попозже.

astroiLL 25.11.2011 09:30

Запустил qcarpc как замену оболочки. Загрузилось ровно, только какая-то фиолетовая полоса справа на несколько пикселей. Кнопка "LogOFF" нужна в режиме оболочки обязательно.
С дребезгом на тачскрине пока не разбирался. Надо найти где у QT настройки. В "Конфигурации QT" нашел только "Интервал двойного щелчка=400мс".
Настраивал hid-multitach. Драйвер в ядре есть, он запускается, только надо найти где настройки, как проверить и самое главное как это можно использовать ;)
Определил, что у меня мультитач Cando 2087:0702 поддерживающий двупальцевый метод.

SergeBegger 25.11.2011 16:20

Цитата:

Сообщение от astroiLL (Сообщение 202816)
... тем более мой Aver-TV A828 один фиг не заработал.

Это часом не Ваш случай http://www.linuxtv.org/wiki/index.php/AVerMedia_A828 ?
Не "заработало" что, DVB, или вообще девайс не определяется?

tony 26.11.2011 10:01

Цитата:

Сообщение от SergeBegger (Сообщение 202820)
По уму - надо создать WM (на чём-либо), продумать и описать API, (в том числе и мультимедийный), и не факт, что приложения захотят работать под этой оболочкой как надо

На самом деле, большинство этих проблем уже решены средствами самого X-сервера, просто нужно сделать свою WM которая заточена под запуск портированных приложений вроде FreeSSM и Navit.
Как я себе это вижу:
http://ompldr.org/vYmdpOA
Каждое приложение вроде плеера, handsfree и того же navit становится между двух "панелек", все что нам нужно, это научить приложение подсовывать свои виджеты в верхнюю панель, как переключатель треков. Регулятор громкости на нижней можно использовать. Напрямую с ALSA. Отличный пример простого WM - http://incise.org/tinywm.html
Ничего страшного, если какие-то приложения вроде Navit не смогут этого сделать. В последующем их тоже можно форкнуть.
В крайнем случае, можно пока и не делать свой WM, а сделать просто две панели для какого-нибудь DWM или openbox, я не думаю что это так критично скажется на производительности.

Цитата:

Сообщение от SergeBegger (Сообщение 202820)
В моем проекте есть такое узкое место - это Navit. Попробуйте посмотреть в сырцах - там настоящие грабли... :sad2: Было очень сложно заставить исконно GTK-шное приложение вписаться в виджет от Qt.

Это и есть побочный эффект приложения "все в одном", при использовании WM будет без разницы на чем написано запускаемое приложение, хоть GTK хоть QT.

Цитата:

Сообщение от SergeBegger (Сообщение 202820)
Я где-то выше писал, что основной из задач был запуск проекта на слабом железе, и она была решена - на GEODE LX800 - 500 MhZ с 512 оперативки она запустилась и работала (всё кроме DVB-T)

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

Цитата:

Сообщение от SergeBegger (Сообщение 202820)
Есть готовый проект с WM - LinuxICE - но он показался мне очень громоздким...

На сколько я знаю, LinuxICE мертв и больше не поддерживается. Кроме того там не только WM а целая DE - Enlightenment которая мягко говоря не очень то подходит для мобильных задач.

В любом случае, я думаю что первым шагом можно попробовать разделить все приложения на отдельные. Далее не суть какой WM использовать свой или сторонний, это можно будет легко и быстро переделать, ибо приложение будет полностью нативным и модульным.
Я бы мог помочь Вам с этим, только я не C++ программист, а C в последний раз трогал почти 4 года назад.
В любом случае, я бы мог пока исследовать вопрос со сторонними WM.

PS: Замержите пожалуйста мой фикс в pro-файле, есть на googlecode, по крайней мере qmake будет подсасывать зависимости из pkg-config

astroiLL 28.11.2011 09:34

1. "Закрыть" и "свернуть" это ИМХО избыточность. Во всяком случае как отдельные кнопки на экране. Хватит "сворачивания". А если при работающем "Радио" запустить "MP3", то радио и так выключится.
2. Что делать с такими прогами как Navit? Втискивать в "полосочку" или на весь экран? Если на весь экран, то как доступиться до кнопок управления на панели? Может вешать кнопку вызова где-то в углу (с настройкой местоположения)? Всякие видео и ТВ плееры умеют сворачиваться и разворачиваться по клику, а можно ли будет такому научить навигацию.
Цитата:

Это часом не Ваш случай http://www.linuxtv.org/wiki/index.php/AVerMedia_A828 ?
Не "заработало" что, DVB, или вообще девайс не определяется?
Да мой. Сколько раз пробовал собирать модули. Глючат. Вот и в этот раз вроде собралось, заработал ТВ (tvtime), но при сканировании каналов где-то в середине падает в кору с зависанием машины. Нам такие "драйвера" не нужны. Максимум, что должен делать "приличный" драйвер при "умирании" это закрыть девайс, но не тянуть всю систему в "преисподню".
В те недолгие моменты "жизни" Авера под Qcarpc DVB-T не заработал (цифры у нас вроде пока нет, но обещают скоро), радио запустилось, но вместо звука идет какое-то возбуждение. Притом при увеличении громкости увеличивается, а "выключение звука" не действует совсем. Настройка станций идет очень медленно, где-то 0.05МГц в секунду. При попытке настроить сразу на 102.2 радио не дает.

Кто каким USB DVB-T под Линуксом пользует? Думаю может Beholder будут получше?

SergeBegger 29.11.2011 13:31

Цитата:

Сообщение от astroiLL (Сообщение 203122)
Сколько раз пробовал собирать модули. Глючат

Avermedia Volar HX (А827) под ядрами 2.6.3x.x функционирует нормально, драйвер так-же приходиться "ковырять", Радио работает нормально, другое железо под руки не попадалось.
Цитата:

Сообщение от astroiLL (Сообщение 203122)
Настройка станций идет очень медленно, где-то 0.05МГц в секунду

Для ручного ввода частот есть кнопка с изображением цифр.клавиатуры. Долгое сканирование - результат долгого подбора алгоритма , в итоге получилось то, что имеем... Если использовать стандартные методы поиска станций, скажем из того-же Gstreamer, то получим штук 30 - 40 радиостанций при наличии 4-7 реальных. Не знаю, что это - глюк дров от AverMedia , или нашей РТС :dntknw:


Часовой пояс GMT +4, время: 02:37.

Работает на vBulletin® версия 3.8.4.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot