LINUX.ORG.RU

Сообщения shatsky

 

Права доступа к /dev/snd/timer

 , , ,

Мультисит, две карты, у второго пользователя ничего не играется, ругань на отсутствие доступа к /dev/snd/timer Из вывода udevadm:

P: /devices/virtual/sound/timer
N: snd/timer
E: DEVNAME=/dev/snd/timer
E: DEVPATH=/devices/virtual/sound/timer
E: MAJOR=116
E: MINOR=33
E: SUBSYSTEM=sound
E: TAGS=:uaccess:
E: USEC_INITIALIZED=43262
Тега seat не видно, но почему-то в ACL /dev/snd/timer пользователь первого места.

В общем случае интересует, что собой представляет таймер (а также прочие устройства в /devices/virtual/sound/). Он общий для разных звуковых карт? Тогда к нему должен быть разрешен доступ others, насколько я понимаю (из коробки в генте он принадлежит группе audio и права rw-rw---, но с мультиситом пользователей в группе audio быть не должно, иначе они будут иметь доступ к звуковым потокам друг друга и бардак с выбором устройств).

shatsky
()

Проблемы со звуком

 fm801,

Мультисит, с первой картой все нормально, вторая - Fortemedia FM-801. Напрямую играется более-менее нормально, с pulseaudio - регулярные щелчки с паузами/пропусками фрагментов. Попробовал, как советуют в арчевики, указать ему tsched=0 - при запуске пульсаудио на терминале, которому выделена эта карта, в журнале появляются сообщения

[pulseaudio] alsa-util.c: Unable to set sw params: Permission denied
[pulseaudio] alsa-sink.c: Failed to set software parameters: Permission denied
[pulseaudio] alsa-util.c: Unable to set sw params: Permission denied
[pulseaudio] alsa-source.c: Failed to set software parameters: Permission denied
и звука нет вообще, а пульсовый регулятор в alsamixer становится несвязанным с регуляторами карты; первая карта по-прежнему работает нормально.

Мультисит настроен средствами systemd, из двух карт

/sys/devices/pci0000:00/0000:00:04.0/sound/card0
/sys/devices/pci0000:00/0000:00:09.0/0000:05:07.0/sound/card1
первая назначена месту seat0, вторая - seat1. Фактически это означает, что для всех файлов устройств, которые создаются для первой карты, будет ставиться ACL, разрешающий доступ пользователям, зашедшим с seat0, а для второй - с seat1. Далее я посмотрел, какие устройства на самом деле имеют какие ACL'ы.

Устройства, ACL которых содержит пользователя seat0:

/dev/adsp
/dev/audio
/dev/dsp
/dev/mixer
/dev/snd/pcmC0D0c
/dev/snd/pcmC0D0p
/dev/snd/pcmC0D1c
/dev/snd/pcmC0D2p
/dev/snd/controlC0
/dev/snd/seq
/dev/sequencer
/dev/sequencer2
/dev/snd/timer
Тут мне показалось странным, что последние 4, судя по выводу udevadm, не относятся исключительно к card0, их пути начинаются с /devices/virtual/sound/. Но при этом к ним имеют доступ только пользователи seat0.

Устройства, ACL которых содержит пользователя seat1:

/dev/audio1
/dev/dmfm1
/dev/dmmidi1
/dev/dsp1
/dev/snd/hwC1D0
/dev/midi1
/dev/snd/midiC1D0
/dev/mixer1
/dev/snd/pcmC1D0c
/dev/snd/pcmC1D0p
/dev/snd/controlC1

shatsky
()

Опознайте музыку

 

Какая-то французская певица поет: http://rghost.ru/43519601

shatsky
()

Про мультисит с несколькими видеокартами, драйверами и иксами

Здесь мне, похоже, никто не ответит, к тому же, как мне кажется, проблема показывает серьезные архитектурные изъяны.

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

Во-вторых, логичная автоконфигурация Х-сервера должна выглядеть примерно так:
-определить, какая видеокарта используется;
-выбрать соответствующие ее драйверу юзерспейсный модуль и GLX.
Что происходит вместо этого:
-почему-то выбираются несколько модулей, и, хотя первый из них является правильным, после его загрузки иксы пытаются загрузить остальные;
-общесистемная реализация OpenGL/GLX прибивается гвоздями (в gentoo это делает eselect opengl), и все иксы пытаются использовать ее, даже если она не соответствует драйверу.

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

shatsky
()

Две видеокарты, два драйвера, два фю^W X-сервера

 , ,

Настраиваю мультисит. Есть две видеокарты Nvidia: GT240 и 6600.

Проблема первая: последний блоб не может 6600, а nouveau при попытке подхватить 240 намертво вешает систему. В принципе, меня полностью устраивает вариант использовать 240 с проприетарным и 6600 с nouveau, но пока что у меня получается их загрузить описанным образом только вручную: nouveau в блэклист, запустить Х-сервер, чтоб проприетарный занял 240-ю, потом загрузить nouveau - он подхватывает оставшуюся 6600. Надо сделать так, чтобы это происходило автоматически на стадии загрузки модулей удевом - каким-то образом скрыть от каждого из двух модулей «чужую» видеокарту.

Проблема вторая: не знаю, как в других дистрибутивах, а в генте утилитой eselect opengl выбирается общесистемная реализация OpenGL. У меня сейчас выбрана nvidia - которая для проприетарного драйвера, при этом eselect создала, например, такие симлинки:

/usr/lib/libGL.so -> opengl/nvidia/lib/libGL.so.310.14
/usr/lib/xorg/modules/extensions/libglx.so -> ../../../opengl/nvidia/extensions/libglx.so.310.14
Соответственно, при запуске второго Х-сервера с nouveau происходит такое:
(II) LoadModule: "glx"
(II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
(II) Module glx: vendor="NVIDIA Corporation"
   compiled for 4.0.2, module version = 1.0.0
   Module class: X.Org Server Extension
(II) NVIDIA GLX Module  310.14  Tue Oct  9 12:14:30 PDT 2012
Loading extension GLX
...
(EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
Разумеется, ничто, использующее OpenGL, под ним не работает. Надо сделать так, чтобы два Х-сервера использовали разные реализации.

shatsky
()

PCI-E x16 видеокарта в x4 слоте

Хочу поэкспериментировать с мультиситом. На материнке есть открытый слот PCI-E x4 (прорезь не закрыта перемычкой). В него можно ставить обычную, немодифицированную видеокарту?

shatsky
()

Перестали работать указанные вручную видеорежимы

 

После перехода на трехсотую ветку драйверов (304.60, 310.14) перестали работать вручную прописанные в xorg.conf видеорежимы:

# 960x600 @ 60.00 Hz (GTF) hsync: 37.32 kHz; pclk: 45.98 MHz
Modeline "960x600_60.00"  45.98  960 1000 1096 1232  600 601 604 622  -HSync +Vsync
# 768x480 @ 60.00 Hz (GTF) hsync: 29.82 kHz; pclk: 28.63 MHz
Modeline "768x480_60.00"  28.63  768 784 864 960  480 481 484 497  -HSync +Vsync
Вернее, переключение происходит, но режим ставится не тот, а картинка выводится с нужным разрешением, искаженным соотношением и черными полосами по краям. В Xorg.0.log вижу такое:
[ 25083.505] (WW) NVIDIA(0): No valid modes for "DFP-0:960x600_60.00"; removing.
[ 25083.505] (WW) NVIDIA(0): No valid modes for "DFP-0:768x480_60.00"; removing.
Почему?

shatsky
()

Не может найти подходящий шрифт и прерывается

 core x font subsystem, , xfld

Пытаюсь запустить сабж под гентой, вижу ошибку:

X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  45 (X_OpenFont)
  Serial number of failed request:  12
  Current serial number in output stream:  13
Перехватил обмен с помощью x11trace, в конце вижу следующее:
000:<:000c: 60: Request(45): OpenFont fid=0x03000002 name='-*-*-medium-r-normal--0-120-*-*-p-0-iso8859-1'
000:>:000c:Error 15=Name: major=45, minor=0, bad=50331650
Я правильно понимаю - нужно искать и ставить шрифты в старом иксовом формате, соответствующие этой маске? Как это делать?

shatsky
()

Полуоткрытое бета-тестирование Steam для Linux началось

 ,

Сотрудник Valve, известный под ником Frank, сообщил на форуме сообщества Steam for Linux о начале первой волны рассылки приглашений, некоторые участники уже играют. В дальнейшем список приглашенных будет расширяться.
Здесь можно скачать deb-пакет. Залогиниться могут только приглашенные участники.
В магазине уже доступна фильтрация продуктов по совместимости с Linux.

Подробности

Перемещено Shaman007 из games

shatsky
()

Про источники бесперебойного питания

 

Оба ИБП, с которыми мне приходилось иметь дело - две разные модели APC BackUPS - сильно грелись и слышно гудели, даже при отсутствии нагрузки, даже в выключенном состоянии (но будучи включенными в сеть, разумеется).
Есть ли ИБП, которые:
-не греются до горячего, когда нагрузка работает от сети или выключена (у моего BackUPS RS 500 возле пары крупных резисторов - пока не разобрался, за что они отвечают - аж корпус потемнел);
-не гудят так, что обычному человеку в комнате городской квартиры над большой улицей слышно;
-могут определять, что компьютер выключен и при отключении света не тратить аккумы на светодиоды на материнской плате и мониторе и собственный звуковой сигнал?

shatsky
()

Порт Crysis возможен

 ,

http://www.reddit.com/r/IAmA/comments/12grru/i_am_chris_roberts_creator_of_wi...

Для Ъ: у разработчиков игры Star Citizen (CryEngine) спросили о возможности портирования на Linux. Те ответили, что уже ведут переговоры, причем они не единственные клиенты CryTek, проявляющие инициативу в данном вопросе, так что это весьма вероятно уже в недалеком будущем.

shatsky
()

DCS World: проблема с msvcp100

 

Пытаюсь установить сабж, валится при попытке запуска DCS_updater.exe

wine: Call from 0x7b84b971 to unimplemented function msvcp100.dll.??4?$_Yarn@D@std@@QEAAAEAV01@PEBD@Z, aborting
wine: Unimplemented function msvcp100.dll.??4?$_Yarn@D@std@@QEAAAEAV01@PEBD@Z called at address 0x7b84b971 (thread 0032), starting debugger...
В процессе установки он поставил рантайм 2010-го MSVC, но это не помогло.
Если в настройках замещения указать обязательное использование внешней msvcp100, валится с err:module:import_dll Library MSVCP100.dll not found, хотя msvcp100.dll в ~/.wine/drive_c/windows/syswow64/ и system32/ есть (не знаю, какая из них основная, а какая для мультилиба, file показывает, что обе x86-64).
file ./.wine/drive_c/Program Files/Eagle Dynamics/DCS World/bin/DCS_updater.exe: PE32+ executable (GUI) x86-64, for MS Windows

shatsky
()

Свободный драйвер для GPU VideoCore бесполезен

 , , ,

Несколько специалистов, включая Luc Verhaegen и David Airlie, обращают внимание на то, что открытый Broadcom драйвер используемого в Raspberri Pi GPU практически бесполезен. В отличие от настольных GPU от AMD или Nvidia, у которых различные API реализованы в драйвере, а блоб выполняет незначительные функции вроде выполнения питанием, у Broadcom практически все сделано в огромном блобе; например, внутри него скрыта реализация GLES, которую работающий на стороне ARM-ядра драйвер использует через высокоуровневый RPC-интерфейс - это напоминает сетевые карты с TCP offloading. Таким образом, открытие драйвера не дает возможности усовершенствовать существующую реализацию GLES (о которой David Airlie очень низкого мнения) или добавить другие API.

Подробности

Перемещено tazhate из opensource

shatsky
()

Нужен дизайнер-верстальщик для свободного проекта

 

Суть такова: пытаюсь написать свободную CMS для организации музыки в энциклопедическом виде. «В энциклопедическом» - подразумевает, в частности полноту информации и связей, а также одинаковое удобство просмотра творчества поэтов, композиторов и исполнителей.
Первичная цель - привести в приличный вид собрание с http://kkre-1.narod.ru/ (около 30 тысяч записей русской и советской классики, причем наполняли они это всё вручную, редактированием статических страниц). Написал скрипт, который разбирает их страницы и строит базу - пока что автоматически получается под 4 тысячи записей.
Что имеется на данный момент - можно посмотреть на http://music.shatsky.net/. Буду рад, если найдутся желающие помочь с вёрсткой. Пока достаточно сверстать список аудиозаписей. Шаблон здесь: https://github.com/shatsky/djmuslib/blob/master/templates/recordings.htm.
Джаббер: chaos@jabber.od.ua

shatsky
()

Одесские католики выбирают Linux

 ,

Заходил по спортивным делам в некий католический молодежный центр, увидел и сфотографировал вот такое:
http://cs315330.userapi.com/v315330737/350e/oGQML2NgxJs.jpg
Для Ъ: табличка на двери кабинета информатики с надписью «Согласно Божьей заповеди «не кради» и Украинскому законодательству, Молодежный Центр обязан иметь официальное программное обеспечение. Так как ОС «Windows» слишком дорога, мы используем ОС «GNU/Linux»» и туксом.

shatsky
()

Развертывание проекта с GitHub-репозитарием на OpenShift: git внутри git?

 , ,

Пишу опенсорсную CMS, использую GitHub, т. е. у меня директория с .git/ и кодом.
Хочу развернуть ее на OpenStack (редхатовский PaaS), там тоже git, но эта самая директория с кодом для них должна быть в поддиректории, скажем, wsgi/openshift/
Как настроить среду, чтоб можно было с одним наборам файлов работать с обеими репозитариями, и чтоб при этом на GitHub были только исходники CMS, а на OpenShift - чтоб в поддиректории с ними не было .git/ с метаданными от GitHub?
Во всех описаниях, что удалось найти - просто объединение с переносом проекта внутрь wsgi/openshift/, с последующим появлением появлением специфичных для OpenShift ненужных файлов и вложенности в GitHub.

shatsky
()

Flash MP3 Player JS и проигрывание файлов с внешнего сервера: я чего-то не понимаю

 nsplugin,

Нужно играть со страницы mp3шки с внешнего сервера, смотрю на http://flash-mp3-player.net/players/js/preview/
Отдельная неприятность в том, что этот сервер этот выдает страницу вместо аудиофайла, если в заголовке запроса указан реферер.
Что странно - у них есть версия с флеш-интерфейсом (мне нужна управляемая с помощью JS) - так с ней все грузится и играется, причем запрос к mp3шке не отображается в веб-консоли (Это как вообще? Всегда думал, что флешплеер работает с сетью исключительно через браузер, и все его запросы видны в средствах отладки браузера).
А с этой, в которой неотображаемый swf, управляемый через JS API - с этого сервера ничего не играется, явно по вышеуказанной причине; причем запрос к mp3-файлу появляется в консоли и в нем виден реферер - url .swf-файла.
В чем вообще суть разницы между этими случаями? Можно ли во втором заставить его выполнить запрос с пустым реферером? Другие решения в пределах условий задачи допустимы.

shatsky
()

Подстановка названия keyword argument из строки

 

Есть такой код:

for p in person.objects.exclude(recording=None):
        output+="<a href='/people/"+str(p.id)+"'>"+p.name+"</a> ("+str(len(p.recording_set.all()))+")<br>"
Все хорошо, только в общем случае вместо recording нужно подставлять название одного из нескольких полей, переданное строкой.
Во второй строке это имя атрибута, и можно заменить p.recordings на getattr(p, 'recordings'+'_set')
А вот в первой recording - это keyword, и как его подставить из строки, я так и не смог выяснить.

shatsky
()

Выбрать все записи A, связанные с какими-либо записями B через B.manytomanyfield

 ,

Модель:

class People(models.Model):
    name=models.CharField

class Recordings(models.Model):
    title=models.CharField
    performers=models.ManyToManyField(People)
Нужно выбрать всех исполнителей, т. е. все записи людей People, которые хоть раз встречаются в поле performers какой-либо аудиозаписи Recordings.
На SQL это можно сделать так:
SELECT * FROM people WHERE id IN (SELECT DISTINCT people_id FROM recordings_people)
Или так:
SELECT DISTINCT * FROM recordings_people JOIN people ON recordings_people.people_id=people.id
Как сделать это нормально средствами Django ORM?

shatsky
()

Перенаправление ввода в шелл джанго и юникод

 ,

Бывает нужно загнать в шелл django ввод из файла.
python manage.py shell<file работал нормально, пока в файле не встретились юникодные строки с кириллицей.
Скажем, если в шелле набрать print(u'привет!'), будет нормальный вывод, а если та же строка выполняется из перенаправленного файла - привет
В чем может быть проблема?

shatsky
()