From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on sa.local.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-0.9 required=5.0 tests=BAYES_00,FSL_HELO_HOME autolearn=no autolearn_force=no version=3.4.1 Date: Fri, 13 Oct 2017 15:01:41 +0200 From: Konstantin Lepikhov To: devel@lists.altlinux.org Message-ID: <20171013130141.GA2112@lks.home> Mail-Followup-To: devel@lists.altlinux.org References: <20171013093613.GA5570@lks.home> <8b319066-178a-af81-e6a2-0e42cf48fb16@basealt.ru> <20171013123233.GA30649@lks.home> <3e08395d-aa71-de93-654c-6c5715e8580d@basealt.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <3e08395d-aa71-de93-654c-6c5715e8580d@basealt.ru> X-Operation-System: ALT Linux starter kit (Trientalis) 4.12.0-lks-wks-alt0.7 User-Agent: Mutt/1.8.3 (2017-05-23) Subject: Re: [devel] Q: libva feedback X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 13 Oct 2017 12:58:32 -0000 Archived-At: List-Archive: List-Post: Hi Anton! On 10/13/2017, at 03:46:25 PM you wrote: > 13.10.2017 15:32, Konstantin Lepikhov пишет: > > Hi Anton! > > > > On 10/13/2017, at 02:35:32 PM you wrote: > > > >> Я всегда проверяю libva на железе перед отправкой на связке ffmpeg+vlc. > >> > >> Что там за неправильный merge ? > >> > > > > http://git.altlinux.org/people/lakostis/packages/?p=libva.git;a=blobdiff;f=va/va.c;h=d4c188f66d4d0494ab84988a4442c0b2dece955d;hp=7f027dd8d812b53e41835fd094a9b903daad0e76;hb=a620ea1ba8a174cbf2c699b763a8ac0bf796c2c4;hpb=39a559e6e117f0d6aae62a0e541544a36a19caed > > > > @@ -648,8 +648,6 @@ VAStatus vaInitialize ( > > ... > > > > Насколько я помню из своего патча для /etc/libva.conf, там не должно быть > > повторного вызова getenv, поскольку значение LIBVA_DRIVER_NAME будет null > > если переменнная окружения не задана и это значение перепишет предыдущее > > из /etc/libva.conf > > > > см. va/va.c: > > > > 59 /* > > 60 * read a config "env" for libva.conf or from environment setting > > 61 * libva.conf has higher priority > > 62 * return 0: the "env" is set, and the value is copied into env_value > > 63 * 1: the env is not set > > 64 */ > > 65 int va_parseConfig(char *env, char *env_value) > > > Сейчас насколько я вижу это всё работает так, что через переменную > окружения LIBVA_DRIVER_NAME вообще невозможно переопределить драйвер. > Только через конфигурационный файл. > > Повторного вызова getenv нет, как и первого. > Твой коммит : > http://git.altlinux.org/gears/l/libva.git?p=libva.git;a=commitdiff;h=722acba63ea18ba7daee32fa8af76666b73a83b7 > > вносит такое поведение и в этом месте никаких изменений больше не было. > > Но сейчас вполне нормально работает автоугадав и такое поведение меня лично вполне устраивает (возможность переопределять драйвер через конфиг), хотя и расходится с поведением апстрима. > не, немного не так: va_parseConfig умеет проверять переменные окружения и если значения нет в конфиге, то используется env (read a config "env" for libva.conf _or_ from environment setting). Этот функционал у нас добавлен, в апстриме его нет, но, похоже, моя ошибка вообще связана с другой проблемой. У меня не xorg, а wayland сессия и она определяется неправильно libva модулями: $ LIBVA_DRIVER_NAME=i965 LIBVA_MESSAGING_LEVEL=2 vainfo --display x11 libva info: VA-API version 1.0.0 libva info: Got driver name (null) libva info: va_getDriverName() returns -1 libva info: User requested driver 'i965' libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_0 libva error: /usr/lib64/dri/i965_drv_video.so init failed libva info: va_openDriver() returns -1 vaInitialize failed with error code -1 (unknown libva error),exit Вот что делает chromium/kodi, они задают тип экрана как x11 вместо drm/wayland Если задать все правильно, то драйвер загружается как надо: $ LIBVA_DRIVER_NAME=i965 LIBVA_MESSAGING_LEVEL=2 vainfo --display drm libva info: VA-API version 1.0.0 libva info: Got driver name i965 libva info: va_getDriverName() returns 0 libva info: User requested driver 'i965' libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_0 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.0 (libva 2.0.0.pre2) vainfo: Driver version: Intel i965 driver for Intel(R) Kaby Lake - 2.0.0.pre2 (2.0.0.pre2) ... (на версии можно не смотреть, я просто играюсь с 2.0.0). -- WBR et al.