dil: (Default)
dil ([personal profile] dil) wrote2010-01-17 03:06 am

Как убедить телевизор, что в HDMI у него звука нет

По мотивам раздумий о судьбах звука в HDMI.

Заставить звук выводиться из компьютера через HDMI мне так и не удалось. Девайс есть, драйвер его видит, mplayer в него играет, а в телевизоре тишина. А поскольку  телевизор сильно вумный, то как только он обнаруживает, что в HDMI у него звук может быть, он аналоговый вход отключает. И неважно, что на самом деле в HDMI звука нет. Он же может..

Полдня гугления показали, что проблема известная (даже в Windows), а как ее решать, никто толком не знает. Остаётся ждать, пока nVidia напишет правильный аудиодрайвер. Они уже пообещали.

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

Оказалось, что это можно сделать со стороны компьютера. Для этого надо nVidia’вскому драйверу объяснить, что телевизор по ту сторону HDMI звук не поддерживает, тогда драйвер не скажет телевизору, что может подавать в него звук, и телевизор будет его брать из аналога. Что и требуется. В Windows это делается путём записи магических значений в registry.

А в линуксе так:

запускаем nvidia-settings, находим там телевизор, нажимаем на кнопочку Acquire EDID, сохраняем в файл. Внимательно разглядываем файл и обнаруживаем, что он длиной больше 128 байт. А значит, в нём присутствует extended section, в которой и описываются аудио-возможности телевизора. Берём первые 128 байт, затем меняем предпоследний байт на 00 (раньше там было 01, что свидетельствовало о наличии отрезанной extended section), и корректируем последний байт (это контрольная сумма). Полученный файл подсовываем драйверу в виде Option “CustomEDID”, перезапускаем X-Window, и с радостью обнаруживаем, что аналоговый звук больше не исчезает.

Корректировка контрольной суммы оставляется интересующимся читателям в качестве самостоятельного задания. Это очень просто.

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

[identity profile] http://users.livejournal.com/_windwalker_/ 2010-01-17 02:39 am (UTC)(link)
Тихий ужас. А вообще поддержка HDMI в компах она какая-то иногда недоделанная.

То оно 5.1 PCM не умеет (хотя уже по спецификации 1.0 должно), то в некоторых разрешениях звук пропадает, то при включении режима экономии электроэнергии вместе с отключением дисплея (телевизора) пропадает и звук.

Увы. Хотя в теории всё классно - заместо целого гадюшника проводов (ну или 2-х - spdif + DVI) получаем 1, который к тому же ещё и hot plug.

[identity profile] duke-igthorn.livejournal.com 2010-01-17 09:47 am (UTC)(link)
По моему опыту этот самый хотплаг очень проблемен. Устройства пытаются изображать вумность, у них получается плохо - в результате косяки...

[identity profile] dil.livejournal.com 2010-01-17 12:28 pm (UTC)(link)
в данном случае хотплаг ни при чём, телевизор воткнут с момента загрузки машины

[identity profile] duke-igthorn.livejournal.com 2010-01-17 12:42 pm (UTC)(link)
В данном случае - да. Это я про свои местные войнушки;)

[identity profile] eentropy.livejournal.com 2010-01-17 08:08 pm (UTC)(link)
В спецификации даже специальный контакт hot plug. Только вот в локальной конфе пострадавший жаловался на сгоревший порт в проекторе. Он тоже думал, что hot plug и все пучком. И он не первый с такой проблемой.

От греха подальше, не подключайте HDMI "на ходу".

[identity profile] http://users.livejournal.com/_windwalker_/ 2010-01-17 08:20 pm (UTC)(link)
Угу, я же писал про "в теории".

А на практике VGA дёргают в живую на проекторе/дисплюях и ништяк...

[identity profile] dil.livejournal.com 2010-01-17 09:40 pm (UTC)(link)
ну я и последовательный порт на ходу подключал, и ничего.. но в теории так делать настоятельно не рекомендуется ;)

[identity profile] dil.livejournal.com 2010-01-17 09:39 pm (UTC)(link)
спецификацию я не читал, а в инструкции от телевизора английским по белому написано, что перед подключением и отключением любых кабелей оборудование надо выключить из сети.

[identity profile] duke-igthorn.livejournal.com 2010-01-17 09:46 am (UTC)(link)
Жеееееесть. Ви ищо хочите пользовать проприетарных дрофф??

[identity profile] bormotov.livejournal.com 2010-01-17 10:26 am (UTC)(link)
думаешь, с открытыми дровами всё сильно лучше будет?

Какая качественно разница, кто криво прочитал стандарт (если там вообще это четко оговаривается) и не совсем правильно сообщеал телевизору реальное положение дел, писатель в нвидии, исходники которого не раздаются, или писатель где-то там в интернете, который исходники раздает?

Для простого человека - никакой. Он вкулючает и оно не работает. Тот факт, что в случае opensource простой члеовек может найти кого-то еще, кто пропатчит драйвер, радости не доставит. Самостоятельно эти патчи накладывать у простого члеовека врядли получится, в обновления его дистрибутива они врядли попадут быстрее, чем закрытые драйвера от производителя.

Единсвенный плюс от открытых драйверов - гикам, котоыре могут повторить весь цикл разработки и производства софта.

[identity profile] duke-igthorn.livejournal.com 2010-01-17 11:56 am (UTC)(link)
Для конкретного пользователя - хозяина журнала - польза может быть, ибо он не очень "простой человек"

[identity profile] bormotov.livejournal.com 2010-01-17 12:15 pm (UTC)(link)
Хозяин журнала гик - конечно :)
Но вот я бы такими вещами уже не стал заморачиваться (хотя, с такой инструкцией работы на 5 минут). Я бы пробовал или менять железо на то, которое работает из коробки, или софт, который заработает.

[identity profile] duke-igthorn.livejournal.com 2010-01-17 12:17 pm (UTC)(link)
У другого железа могут быть другие ишьюзы, не правда ли? А благодаря таким как хозяин журнала и гугл - иногда лучше потратить 5 минут, если все остальное устраивает.

[identity profile] bormotov.livejournal.com 2010-01-17 12:21 pm (UTC)(link)
Конечно у другого железа могутбыть другие приколы. И у другого софта - тоже. Но я прагаматик. Не уменьшая благодарности автору (и другим людям, которые раскапывают такие вот странности), я собственно хочу сказать, что в глобальном масштабе, OpenSource не решает проблем простых людей.

Например, кончина линукса у меня на домашнем десктопе была благодаря WiFi карточке. Которая в линуксе заводилась какими-то плясками с ndiswrapper и поиском правильной версии firmware, а под виндой работала из коробки. И несмотря на то, что давно уже я тут отказался от wifi протянул проводок, и в линуксе наверняка подточили драйвера, но "всё остальное" меня устраивает в WinXP. Вот ведь.

[identity profile] duke-igthorn.livejournal.com 2010-01-17 12:25 pm (UTC)(link)
> OpenSource не решает проблем простых людей.
Соббсно его задача - помогать таким как автор решать проблемы простых людей (хотя бы через гугл), максимально просто. Но сам по себе опенсорц не решает проблемы простых людей, это да.

> но "всё остальное" меня устраивает в WinXP
Каждый выбирает по себе. Я выбираю линух не по техническим, а по идеологическим причинам;)

[identity profile] bormotov.livejournal.com 2010-01-17 12:29 pm (UTC)(link)
простые люди такие проблемы через гугл будут решать с очень малой вероятностью. Мне кажется, вера в это одна из ошибок тех, кто "живет" внутри OpenSource. Через гугл проблемы решают гики.

Мои наблюдения показывают, что идеология - не очень хорошая основа :)

[identity profile] duke-igthorn.livejournal.com 2010-01-17 12:45 pm (UTC)(link)
Да, это правда. Но это им по силам - надо им только разок показать. Иногда так и делаю.

"Не очень _хорошая_ основа". Зависит от того, что считать хорошим и плохим. Соббсно опенсорц (точнее даже фрисофт в его Столмановской трактовке) меня привлекает именно этикой.

[identity profile] bormotov.livejournal.com 2010-01-17 12:55 pm (UTC)(link)
Я тоже, но уже поднадоело ;(

Хорошим я считаю то, что минимальными затратами (overall, так сказать) даёт успешный результат. А меня когда-то не один раз оттолкнул, тем, что кроме этики (которая далеко не всегда есть у автора), на этого автора нет никаких других способов воздействия, чтоб получить результат.

Люблю пересказывать историю, когда люди за решение задачи предлагали цену Win2k/server (больше $1000 на тот момент). На чём будет решение, плательщику по барабану. Linux, FreeBSD - да что угодно. Microsoft Support решил за неделю. Прислали те самые "магические заклинания в реестре", с которыми их софт начинал работать так, как нужно было в конкретном случае. Тем, кто пытался решать такое же на opensource платформах, времени было кажется не меньше пары недель выдано.

[identity profile] duke-igthorn.livejournal.com 2010-01-17 12:59 pm (UTC)(link)
> на этого автора нет никаких других способов воздействия, чтоб получить результат.
Опенсорц дает возможность получить результат, не спрашивая автора.

А насчет цены, времени и пр. - да, бывает. Тот же редхат - совсем не дешевая конторка...

[identity profile] bormotov.livejournal.com 2010-01-17 01:01 pm (UTC)(link)
угу, но не гарантирует, что полученный результат поможет еще кому-нибудь.
Впрочем, как и вообще не гарантирует, что эту возможность удастся реализовать ;(

[identity profile] duke-igthorn.livejournal.com 2010-01-17 01:04 pm (UTC)(link)
Да, гарантий никаких. А в мире софта реальную "железную" гарантию вообще получить непросто... Проприетарщики при первом же случае задницу еулой прикрывают.

[identity profile] bormotov.livejournal.com 2010-01-17 01:06 pm (UTC)(link)
в мире просто софта - да. Но вон, как минимум один раз с MS удалось получить :)

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

[identity profile] duke-igthorn.livejournal.com 2010-01-17 01:09 pm (UTC)(link)
> Но вон, как минимум один раз с MS удалось получить :)
Это ж не гарантия, это решение конкретной проблемы. Гарантия - это жесткая ответственность за решение любой проблемы (или финансовая компенсация).

В остальном - согласен. Но мы все-таки говорим про шансы. Вероятность...

[identity profile] bormotov.livejournal.com 2010-01-17 01:16 pm (UTC)(link)
Насколько я понимаю, если MS бы не решил вопрос, то покупатель был бы вправе вернуть лицензию обратно и получить возврат денег.

[identity profile] duke-igthorn.livejournal.com 2010-01-17 01:25 pm (UTC)(link)
Так ли это легко в реальности?

[identity profile] bormotov.livejournal.com 2010-01-17 01:29 pm (UTC)(link)
думаю, что нелегко.
Но тут интересный вопрос (ответа на который у меня нет) - в каком случае легче получить результат, в случае проприетарщина+деньги или opensource+этика(+деньги)

[identity profile] dil.livejournal.com 2010-01-17 01:36 pm (UTC)(link)
ответ в каждом конкретном случае получается разный. есил бы он был однозначный, то вымер бы либо closed-source, либо open :)

[identity profile] bormotov.livejournal.com 2010-01-17 01:39 pm (UTC)(link)
угу :)

[identity profile] duke-igthorn.livejournal.com 2010-01-17 02:46 pm (UTC)(link)
У меня тоже. Уверен, что это зависит от конкретного случая. Именно поэтому я скидываю со счетов этот фактор и выбираю этику.

[identity profile] dil.livejournal.com 2010-01-17 01:35 pm (UTC)(link)
Это правильно, хорошее решение - то, что даёт требуемый результат с минимальными затратами.
Причём затраты бывают как фминансовые, так и временнЫе, и иногда важнее одни, иногда другие.

Я - не коммерческая организация, у меня нет лишней тысячи долларов, чтобы попросить Microsoft, nVidia, Philips или авторов линуксовых драйверов решить мою конкретную проблему. А если бы и была, не факт, что они бы согласились.

Opensource даёт мне [хотя бы теоретическую] возможность решить проблему самому, пусть за счёт моего времени, а closed-source не даёт такой возможности в принципе.

[identity profile] dil.livejournal.com 2010-01-17 12:33 pm (UTC)(link)
а я вот как раз по техническим. потому что если что не так, можно подправить.
ну и по экономическим - линукс дешевле :)

[identity profile] duke-igthorn.livejournal.com 2010-01-17 12:47 pm (UTC)(link)
Попробуй подправить что-нибудь в оракле или вмвари. Под линухом;) Насчет дешевизны - на десктопе пофиг. В общем случае у опенсорца нет однозначного технического преимущества.

[identity profile] dil.livejournal.com 2010-01-17 01:22 pm (UTC)(link)
ну closed-source софт он в любой ОС closed-source, тут уж ничего не сделаешь.
но в целом в линуксе открытых исходников куда больше, чем в windows.

[identity profile] dil.livejournal.com 2010-01-17 12:35 pm (UTC)(link)
видишь ли, у меня нет возможности покупать много железок по очереди и проверять, будут ли они работать. и софт покупать, в надежде, что он заработает с этой железкой - тоже..

[identity profile] bormotov.livejournal.com 2010-01-17 12:41 pm (UTC)(link)
угу, такая возможность, на самом деле, мало у кого есть. Поэтому берут всё то, на чем есть логотип "Win** Compatible", а если и это не помогает - мучают магазины с возвратом товара или службы поддержки - чтоб заставили это работать. Довольно регулярно помогает.

[identity profile] dil.livejournal.com 2010-01-17 01:20 pm (UTC)(link)
в данном случае это бы не помогло.
да, оно win-compatible, но вы купили _видео_карту? видео работает? ну и какие претензии?

[identity profile] bormotov.livejournal.com 2010-01-17 01:26 pm (UTC)(link)
про данный случай я понимаю, и мы с как-бы ушли в философию :))

К видеокарте, можно попробовать сформулировать претензию: есть выход HDMI, звук туда не попадает, хотя должен. Если не должен, должно быть в спецификации, что HDMI без звука, либо чините (расскажите с какими драйверами и магией в реестре/конфигах запускать), либо давайте я её верну обратно, и куплю другую, у которой звук туда попадает.

[identity profile] dil.livejournal.com 2010-01-17 12:31 pm (UTC)(link)
для простого пользователя разницы, конечно, никакой, он туда не полезет.
а я бы как-нибудь отключил в них звук, если бы были исходинки. вот с ИК получилось же.

[identity profile] dil.livejournal.com 2010-01-17 12:29 pm (UTC)(link)
а есть альтернатива?

[identity profile] lazylonelion.livejournal.com 2010-01-17 11:31 am (UTC)(link)
Н-да, но всё же подобные решения не для обывателя, который купил комп с HDMI-монитором. Даже не для каждого айтишника.

[identity profile] dil.livejournal.com 2010-01-17 01:21 pm (UTC)(link)
ну да, а что делать? звук-то хочется

[identity profile] lazylonelion.livejournal.com 2010-01-17 01:36 pm (UTC)(link)
либо изучать шаманство и надеяться что решение существует и достижимо, как в твоём случае (что не всегда так), либо покупать более отлаженные решения. :)

[identity profile] dil.livejournal.com 2010-01-17 03:36 pm (UTC)(link)
http://dil.livejournal.com/891029.html?thread=6363797#t6363797

[identity profile] dkfl.livejournal.com 2010-01-17 07:43 pm (UTC)(link)
а я то думал это свет в конце тоннеля!