Entry tags:
Эволюция софта? результат компромисов?
Не так давно обзавёлся TV-тюнером для своего компа. Так как уже имел дело с Beholder-ом и он меня устроил, то решил не экпериментировать с другим производителем. Тем более, что на форуме производителя обещали, что выбранный мной тюнер (H7) уже поддерживается в линуксе (первый мой H7, кстати, работает под виндой).
Не не тут то было.
/небольшое отступление/
Ура. Тюнер определился. Чем смотреть? mplayer не понравился. tvtime устроил более чем. Но оказалось, что звуком управлять он не в состоянии. То есть на старом ядре ползунок у него бегал, а на новом - нет.
Сразу оговорюсь, что ещё на виндовой тачке тюнеровый звук через pci мне не понравился своими задержками. Предвидя аналогичную проблему на убунте я сразу подключил тюнер через шнурок от CD.
Так вот звук со шнурка тюнера (якобы CD) регулируется прекрасно штатными регуляторами, но tvtime им управлять уже не может.
Оказывается, tvtime работает через OSS, которая была в составе старых ядер, а в новых не только отключается по умолчанию, но даже (в новом моём ядре) оторвана вовсе. ALSA - пожалуйста.
То есть либо OSS но без поддержки тюнера, либо поддержка тюнера, но регулировать звук не из tvtime.
Можно опять-таки взять не готовое ядро, а сырцы и собрать его с поддержкой OSS, но оно нам надо? Тем более, что апгрейда системы всё-равно не избежать.
Зато обнаружились патчи для tvtime, которые учат его управлять звуком через alsa.
Пытался честно выбрать другие тюнеры, которые знают что такое alsa, но ни один не понравился.
В итоге вытащены сырцы tvtime (через те-же репозитарии), патчи найдены, наложены... Компиляем - ура! Результат достигнут.
Чуть позже прикрутил и lirc, наслаждаясь управлением тюнером с ПДУ.
Доволен ли я? Нет, конечно. Ещё остались непобеждёнными некоторые проблемы: dvb и радио.
Радио работать отказывается на любом софте. Дебагинг в логах намекает на то, что ему частоты сообщаются не в тех единицах. Вроде того, что v4l в герцах указывал, а c v4l2 надо в килогерцах. gnome-radio вроде бы поддерживает и v4l обоих версий, и автоопределять должна. Но никакие настройки не помогли. Ни один другой софт для прослушивания FM не смог с этой бедой справиться.
DVB-T? Пока у нас в городе эфирное цифровое телевидение отсутствует, но ожидается весной. А ядро при загрузке бодро сообщает что-то про проблемы с фронтэндом и загрузкой фирмвары.
Но что будет дальше? Через пару месяцев, когда появится Precise Pangolin? Питаюиллюзию надежду, что должно стать лучше. По крайней мере собираюсь ставить его не сверху на систему, а на новый винт.
Подобная борьба с новым софтом вызывает ассоциации с эволюцией биологических организмов. Те же мутации/изменения, та же интерференция разных изменений в разных генах/блоках/модулях/программах, те же самые компромиссы, то же самое отсутствие идеала. :)
Не не тут то было.
/небольшое отступление/
В своё время проапгрейдив Hardy до Intrepid получил некоторые нежелательные последствия.Так вот, имея к этому времени на компе lucid и став счастливым обладателем tv-тюнера, начал я его настраивать. Периодически почитывая форум производителя. Во-первых, я был удивлён тем, что вопреки обещаниям, моё ядро распознавать тюнер не собиралось. В очередное заблуждение я был введён тем, что ядро у меня периодически обновляется, и поэтому полагал что оно у меня свежее и тюнер поддерживать обязано. Оказалось не так. В рыси ядро исключительно 2.6.32 и меняется только следующая после дефиса цифра. То есть изменения скорее всего касаются каких-нибудь очень важных заплаток по безопасности. А поддержка моего тюнера появилась начиная то ли с 2.6.34, то ли 2.6.36. Самостоятельно собирать ядро не стал, оставив на последок. Ибо многие проблемы можно будет получить потом при апгрейде системы. Пришлось подключать дополнительный репозитарий. Оказалось, что среди ядер есть уже и тройка, но кто знает какие проблемы могут возникнуть при таких серьёзных заменах? Поэтому остановился на последней внушающей версии из 2.6.*, каковой оказалась 2.6.38.12.
Некоторые проблемы были закрыты апдейтами, другие решил сам, с мелкими неудобствами смирился. Многое уже и подзабыл, а что помню, так то что были "пляски с бубном" для того чтобы приемлемо заработал звук.
Так как осадок остался, то на Jaunty переходить не спешил, а выждал несколько месяцев месяцев, чтобы особо рьяные маньяки, из рядов которых давно выбыл, явные глюки и ошибки выявили.
Не помогло. После апгрейда получил ещё большие странности, как-то: компиляция программы GCC-ой происходила с кучей предупреждений, а бинарный результат падал с ошибкой сегментации. При чём под цаплей и козерогом эта программа компилялась молча и работала без проблем. Эта же программа на ура компилялась под древним Trustix-ом, и старым CentOs-ом. Самое интересное, что откомпилированный там и там бинарник, на ура работал под тем же зайцелопом.
Кое как решив возникшие проблемы, апгрейдится до Karmic не спешил.
Не спешил так долго, что дождался выпуска Lucid. А когда собрался было сапгредиться, с удивлением обнаружил, что обновлялка с Jaunty до Licud систему обновлять не хочет/не умеет. Дважды апгрейдиться (с Jaunty до Karmic и с Karmic до Lucid) мне совершенно не хотелось и решил я попытаться призвать свою наглость. Залез в скачанные менеджером обновлений скрипты для апгрейда, нашёл нужные переменные, и вписал, что он умеет апгрейдиться с того что мне надо, до того чего положено. Запустил скрипт минуя менеджер (а тот тот заново начал бы всё скачивать) и через некоторое время получил желанную Рысь.
Естественно, новые проблемы снова были. Какие-то были ликвидированы достаточно быстро, но борьба с mysql растянулась надолго.
mysql (кажется сапгрейдившийся с 5.0 до 5.1) просто не хотел запускаться. В логах - сплошные сообщения про spawning и exit, а какого ляда ему надо - непонятно. Какая сволочь придумала этот service чего-то start, который проследить невозможно? То ли дело старый добрый /etc/init.d/mysql start! Пляски с бубном были знатные. Гугльсёрфинг не помогал, удаление и установка с нуля (несколько раз) тоже была безрезультатна. Когда обнаружил что мускуль таки может подняться с помощью mysqld_safe, долгое время таким способом и пользовался. Хорошо что комп у меня работает не выключаясь, а перезагрузки весьма редки. Спустя много времени после анализа а собственно чем отличается штатный запуск мускуля от того что через *_safe решил тупо вписать пути до базы в конфиг - и "о чудо!" - всё заработало. Нет, ну раньше ведь мускуль знал где базы лежат так почему вдруг перестал догадываться? А если в новой версии внесли такую "фичу", то почему бы в апгрейдящем скрипте не предусмотреть автоматическое вписывание пути, которая для апргрейжемой версии является дефаултовой? В общем, борьбу с mysql я запомнил надолго.
Именно после этого я решил если уж апгрейдиться, то на следующий LTS.
/конец лирического отступления/
...
Ура. Тюнер определился. Чем смотреть? mplayer не понравился. tvtime устроил более чем. Но оказалось, что звуком управлять он не в состоянии. То есть на старом ядре ползунок у него бегал, а на новом - нет.
Сразу оговорюсь, что ещё на виндовой тачке тюнеровый звук через pci мне не понравился своими задержками. Предвидя аналогичную проблему на убунте я сразу подключил тюнер через шнурок от CD.
Так вот звук со шнурка тюнера (якобы CD) регулируется прекрасно штатными регуляторами, но tvtime им управлять уже не может.
Оказывается, tvtime работает через OSS, которая была в составе старых ядер, а в новых не только отключается по умолчанию, но даже (в новом моём ядре) оторвана вовсе. ALSA - пожалуйста.
То есть либо OSS но без поддержки тюнера, либо поддержка тюнера, но регулировать звук не из tvtime.
Можно опять-таки взять не готовое ядро, а сырцы и собрать его с поддержкой OSS, но оно нам надо? Тем более, что апгрейда системы всё-равно не избежать.
Зато обнаружились патчи для tvtime, которые учат его управлять звуком через alsa.
Пытался честно выбрать другие тюнеры, которые знают что такое alsa, но ни один не понравился.
В итоге вытащены сырцы tvtime (через те-же репозитарии), патчи найдены, наложены... Компиляем - ура! Результат достигнут.
Чуть позже прикрутил и lirc, наслаждаясь управлением тюнером с ПДУ.
Доволен ли я? Нет, конечно. Ещё остались непобеждёнными некоторые проблемы: dvb и радио.
Радио работать отказывается на любом софте. Дебагинг в логах намекает на то, что ему частоты сообщаются не в тех единицах. Вроде того, что v4l в герцах указывал, а c v4l2 надо в килогерцах. gnome-radio вроде бы поддерживает и v4l обоих версий, и автоопределять должна. Но никакие настройки не помогли. Ни один другой софт для прослушивания FM не смог с этой бедой справиться.
DVB-T? Пока у нас в городе эфирное цифровое телевидение отсутствует, но ожидается весной. А ядро при загрузке бодро сообщает что-то про проблемы с фронтэндом и загрузкой фирмвары.
Но что будет дальше? Через пару месяцев, когда появится Precise Pangolin? Питаю
Подобная борьба с новым софтом вызывает ассоциации с эволюцией биологических организмов. Те же мутации/изменения, та же интерференция разных изменений в разных генах/блоках/модулях/программах, те же самые компромиссы, то же самое отсутствие идеала. :)