
Ubuntu日本語フォーラム

ログインしていません。
9.04 karmic環境が非常に快適なAtomZ+Poulsbo(US15W:GMA500内蔵)ですが、そのkarmicも来年4月でサポートが終わってしまいます。
うちのONKYO BXも毎日便利活用していますが、さらに使い続けるため、このたび10.04LTS lucidのインストール・環境構築を試みたので、公開しておきます。
本家のWiki(https://wiki.ubuntu.com/HardwareSupportComponentsVideoCardsPoulsbo)および、
日本語フォーラムのまとめ(https://forums.ubuntulinux.jp/viewtopic.php?id=9730)をお書きくださってるtistaさんの情報は非常に参考になりました。
ありがとうございます!
0.インストール前に準備するもの
・Ubuntu 10.04LTSのインストールCD
出来れば、UbuntuにおけるPoulsboドライバのメンテナであるLucazade氏が作成されたものを使う、初回ブート時から高解像度で作業ができるので気持ち楽。
でも、普通のLucidでも、10.04.1でも可能。
・USBハブ
BXはUSBへの供給電力が少ないので、セルフパワーのものを。
・USBマウス
Lucidのデフォルト状態では、タッチスクリーンがタッチパッド相当の動作しかしないので、意図しないクリック・ドラッグが頻発してストレスがたまる。
・USB有線LANアダプタ
無線LANチップが正常動作するまでネットに接続する為に必要。
ないと面倒。無線LANが動かせるようになるまでアップデートができない。アップデートをするとパッチをあてたドライバをまた新しいカーネルの/lib/modules/〜にコピーして、という作業が必要。
できればあったほうがいいもの
・Ubuntu 10.04LTSのUSBインストールメディア
光学ドライブを準備する手間が省ける。
・eGalaxのタッチスクリーンドライバ
http://home.eeti.com.tw/web20/eGalaxTouchDriver/linuxDriver.htm
2.6x用のベータドライバの方が安定している気がする
http://home.eeti.com.tw/web20/drivers/touch_driver/Linux/20100907/eGalaxTouch-3.03.4510-32b-k26.tar.gz
・libertas.ko、libertas_sdio.ko
他にLucidのPCがあれば、パッチをあてたlibertas.ko、libertas_sdio.koを用意しておくと楽。
これがないと、BX実機にカーネルソース、カーネルのコンパイル環境などを用意した上で、カーネルモジュールのコンパイルが必要になる。
#パッチのあて方については、パッチ作成・配布元のnblogさんのブログを参照のこと。
# http://nblog.jp/0132
・SD8686のファームウェア
http://extranet.marvell.com/drivers/driverDisplay.do?driverId=203
SD-8686-LINUX26-SYSKT-9.70.3.p24-26409.P45-GPL.zipの中のSD-8686-FEDORA26FC6-SYSKT-GPL-9.70.3.p24-26409.P45.tarの中のFwImage中の2つのファイルを用意。
helper_sd.binをsd8686_helper.binに変更しておく。
1.インストール
インストールメディアから起動し、普通にインストール。
スワップ領域を512MB以上用意しておくこと。
/dev/sda1はリカバリ領域なので、覚悟がなければ消さないこと。
2.とりあえず、update-managerで全てのアップデートを行う。
途中でエラーが出る場合があるが、構わず最後までやって再起動。
3.GRUB2のニューから、最新のカーネルのRecoveryを選んでブート。メニューからroot with netを選択。
# sudo apt-get remove psb-kernel-source
# add-apt-repository ppa:gma500/ppa && sudo apt-get update && sudo apt-get install poulsbo-driver-2d poulsbo-driver-3d poulsbo-config
再起動
# halt
これで、一応最近のカーネルで高解像度表示ができるようになる(はず)。
4.カーネルオプションの調整
$ sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"に追記。
mem=416mb nohz=off pci=nocrs acpi_osi=Linux acpi_backlight=vendor acpi_skip_timer nomodeset
$ sudo update-grub
5.タッチスクリーンドライバのインストール
eGalaxTouch-3.03.4510-32b-k26.tar.gzを用意する。
$ tar xvzf eGalaxTouch-3.03.4510-32b-k26.tar.gz
$ cd eGalaxTouch
$ sudo bash ./setup.sh
PS/2接続なので、2を選択。
/etc/rc.localの編集。case “$1” in〜の前に追記
$ sudo nano /etc/init.d/rc.local
echo -n serio_raw > /sys/bus/serio/devices/serio4/drvctl
6.無線LANドライバのインストール
2.6.32*用にパッチをあてたモジュール(libertas.ko、libertas_sdio.ko)、ファームウェア(sd8686.bin、sd8686_helper.bin)を用意する。
モジュールについては、他にLucidが動いてるPCでコンパイルしてコピーすると楽だが、実機でも可能ではある。
パッチ作者のnblogさんのブログにパッチ本体と、詳細な方法がある。
http://nblog.jp/0132
以下、カーネルモジュールとファームウェアを/media/usb/sd8686に用意したと仮定して進めます。
一応オリジナルのものをバックアップ(2.6.32-25-genericの場合)
$ cd /lib/modules/2.6.32-25-generic/kernel/drivers/net/wireless/libertas
$ sudo mv libertas.ko libertas.ko.org
$ sudo mv libertas_sdio.ko libertas_sdio.ko.org
$ sudo cp /media/usb/sd8686/libertas.ko ./
$ sudo cp /media/usb/sd8686/libertas_sdio.ko ./
ファームウェアをコピー
$ sudo cp /media/usb/sd8686/sd8686.bin /lib/firmware/
$ sudo cp /media/usb/sd8686/sd8686_helper.bin /lib/firmware/
再起動。
7.タッチスクリーンのキャリブレーション
デフォルトの状態では、タッチスクリーンでアプリケーションを開けないのでUSBマウスを使って、アプリケーション>アクセサリ>端末を開く。
$ eGalaxTouch
toolタブの4Pts Calをクリック。
丸の中央を順番にタッチしてキャリブレーション終了。
8.省電力設定
どうも省電力におけるディスプレイの減光に問題があるらしく、このままだとバッテリー駆動になった瞬間に画面がブラックアウトする。
システム>設定>電源管理の設定を開く。
バッテリー使用時タブの「バックライトの輝度を低くする」「アイドル状態になったら画面を暗くする」のチェックを外す。
サスペンドの設定が終わるまでは、ディスプレイを閉じてもサスペンドにせず、「ブランクスクリーンにする」にしておくほうが無難かもしれない。
長期間サスペンド後の復帰時のブラックアウト問題については、
9.サスペンド
pm-utilsのサスペンドはどうもうまくいかない。
s2ramを使うために、uswsuspパッケージをインストールする。
$ sudo apt-get purge vbetool && sudo apt-get install uswsusp
MicroSDHCが挿入/マウントされていると、サスペンドに失敗するため、サスペンド前に強制的にウンマウントするようにスクリプトを組む。
$ nano sleeps2ram.sh
[ -b /dev/mmcblk0p1 ] && sudo umount /dev/mmcblk0p1
sudo s2ram --force --vbe_save --vbe_mode --pci_save --acpi_sleep 2
$ chmod +x sleeps2ram.sh
サスペンドはこのsleeps2ram.shを実行する。
しかし、サスペンド後のレジュームはやや不安定です。特になぜか長期間サスペンドさせた後にレジュームすると、画面の輝度が戻らずブラックアウトすることが多い気がします。
設定の煮詰めが甘いのだと思いますが。
MicroSDHCも、karmicでも初期はやはり刺したままでダメで、いつの間にか(?どのタイミングのアップデートで改善したかわかりません)刺したままでも大丈夫になっていた経過があるのですが、lucidでまた戻ってますね……。
以上で、とりあえずタッチパネル動作・無線LAN・Bluetooth・サスペンド/レジュームが可能になると思います。
何ぶん、基本的な知識が足りないので、手順に冗長な部分や足りない部分、間違っている部分があるかもしれません。
特に、セクション9のサスペンドあたり、もうちょっとスマートなやり方があると思うのですが。
お気づきの点があれば、ご指摘いただけると助かります。
オフライン
追記:サスペンドはやはり時々復帰に失敗するので検証しました。
AC電源で駆動してる場合と、バッテリー使用時、サスペンドしている時間など、いくつかの条件で調べた結果、サスペンドに入った時の電源状態(AC電源かバッテリー駆動か)が、サスペンド中に変化すると正常にレジュームできないことがわかりました。
AC電源につないで起動し、サスペンドする→そのままレジュームする→成功
AC電源につないで起動し、サスペンドする→AC電源を外してバッテリー駆動に移行→レジューム失敗
バッテリー駆動で電源断状態から起動し、サスペンドする→レジューム成功
バッテリー駆動で電源断状態から起動し、サスペンドする→AC電源に接続→レジューム失敗
ただし、別の現象も発覚しました。
バッテリー駆動で起動すると、最初のログイン画面でブラックアウトします。ただし、そのままログイン操作(エンターキー押下→パスワード入力)をすれば、ログインできて、デスクトップが表示されます。
オフライン
hippocampus様
ひとつご確認なのですが、xorg.conf中のDeviceセクションに
Option "IgnoreACPI" "true"
がありますでしょうか。なければ追記してみて下さい。
tistaさん
お世話になります。
xorg.confにはその記載がなかったので、追記してみましたが、特に変化はないようです。
うーむ、あとちょっとのところかと思うんですが。
オフライン
gnome-mplayerの件ですが、設定を確認させて頂きたいので、下記のコード:
cat $HOME/.gconf/apps/gnome-mplayer/preferences/%gconf.xml
をご投稿頂けますでしょうか。
P.S. 実はMaverick用GMA500/PPAにあるgnome-mplayerへの変更は、作業して頂いたsupport.cへの変更のみです。
基本的には、Gnome-mplayerはmplayerへの純粋なgtk front-endとして動作します。
内部の各種パラメータはmplayerへ-profile gnome-mplayerとして渡し、gtkウィンドウやコンテキストメニュー、あるいはマウス操作を支援しているに過ぎません。
mplayerへのパラメータが適切でない可能性も考えられるでしょう。
tistaさん
お手を患わせて申し訳ありません。よろしくお願いいたします。
$ cat /home/hippo/.gconf/apps/gnome-mplayer/preferences/%gconf.xml
<?xml version="1.0"?>
<gconf>
<entry name="last_dir" mtime="1289826811" type="string">
<stringvalue>file:///media/SDHC8G-EXT4</stringvalue>
</entry>
<entry name="extraopts" mtime="1289877921" type="string">
<stringvalue>-va vaapi</stringvalue>
</entry>
<entry name="mplayer_dvd_device" mtime="1289877921" type="string">
<stringvalue>/dev/dvd</stringvalue>
</entry>
<entry name="show_subtitles" mtime="1289877921" type="bool" value="true"/>
<entry name="subtitle_margin" mtime="1289877921" type="int" value="0"/>
<entry name="subtitleshadow" mtime="1289877921" type="bool" value="false"/>
<entry name="subtitleoutline" mtime="1289877921" type="bool" value="false"/>
<entry name="subtitlecolor" mtime="1289877921" type="string">
<stringvalue>ffffff00</stringvalue>
</entry>
<entry name="subtitlescale" mtime="1289877921" type="float" value="1"/>
<entry name="verbose" mtime="1289877921" type="int" value="0"/>
<entry name="resize_on_new_media" mtime="1289877921" type="bool" value="false"/>
<entry name="keep_on_top" mtime="1289877921" type="bool" value="false"/>
<entry name="remember_loc" mtime="1289877921" type="bool" value="false"/>
<entry name="bring_to_front" mtime="1289877921" type="bool" value="false"/>
<entry name="replace_and_play" mtime="1289877921" type="bool" value="false"/>
<entry name="single_instance" mtime="1289877921" type="bool" value="false"/>
<entry name="vertical" mtime="1289877921" type="bool" value="false"/>
<entry name="show_status_icon" mtime="1289877921" type="bool" value="true"/>
<entry name="show_notification" mtime="1289877921" type="bool" value="true"/>
<entry name="use_xscrnsaver" mtime="1289877921" type="bool" value="false"/>
<entry name="use_defaultpl" mtime="1289877921" type="bool" value="false"/>
<entry name="use_mediakeys" mtime="1289877921" type="bool" value="true"/>
<entry name="showdetails" mtime="1289877921" type="bool" value="false"/>
<entry name="showplaylist" mtime="1289877921" type="bool" value="false"/>
<entry name="disable_animation" mtime="1289877921" type="bool" value="false"/>
<entry name="disable_pause_on_click" mtime="1289877921" type="bool" value="true"/>
<entry name="disableframedrop" mtime="1289877921" type="bool" value="false"/>
<entry name="disable_deinterlace" mtime="1289877921" type="bool" value="true"/>
<entry name="disableembeddedfonts" mtime="1289877921" type="bool" value="false"/>
<entry name="disableass" mtime="1289877921" type="bool" value="false"/>
<entry name="forcecache" mtime="1289877921" type="bool" value="false"/>
<entry name="volume_gain" mtime="1289877921" type="int" value="0"/>
<entry name="remember_softvol" mtime="1289877921" type="bool" value="false"/>
<entry name="softvol" mtime="1289877921" type="bool" value="false"/>
<entry name="pplevel" mtime="1289877921" type="int" value="0"/>
<entry name="osdlevel" mtime="1289877921" type="int" value="0"/>
<entry name="mixer" mtime="1289877921" type="string">
<stringvalue>Master</stringvalue>
</entry>
<entry name="plugin_cache_size" mtime="1289877921" type="int" value="2000"/>
<entry name="cache_size" mtime="1289877921" type="int" value="2000"/>
<entry name="use_hw_audio" mtime="1289877921" type="bool" value="false"/>
<entry name="audio_channels" mtime="1289877921" type="int" value="0"/>
</gconf>
$ dpkg -l | grep mplayer
ii gnome-mplayer 0.9.9.2-1 A GTK+ interface for MPlayer
ii mplayer 2:1.0~rc4~try1.dsfg1-1ubuntu2~maarten0 movie player for Unix-like systemsオフライン
ご投稿ありがとう御座います。
見た限り、問題は無さそうですね。
それで、試しに、下記のような記述をVideo出力へ手動で記述して頂けますでしょうか。
vaapi,x11,
最後のカンマをお忘れなく。
あるいは、gnome-mplayerの起動オプションに-widでウィンドウIDを指定する項目があるのですが、それを設定から制御できなさそうです。
強引な手法としては、設定→MPlayer→MPlayerへのその他のオプションに既に-va vaapiがあると思いますが、さらに追記して
-va vaapi -wid
というように引数なしでオプションを記述してみて頂くという手も考えました。
tistaさん
video出力にvaapi,X11,を記載する方法、mplayerへ渡すオプションに-va vaapi -widを渡す方法、その両方を同時に記載する方法を試してみましたが、やはり再生が始まりません。
ターミナルから$ mplayer -va vaapi -vo vaapi <当該動画ファイル> は問題なく再生できます。
gnome-mplayerはログもエラーメッセージも出さないので、どこで引っかかってるのか、分かり難いです。
もしかして、10.10でなければできないのでしょうか。
オフライン
video出力にvaapi,X11,を記載する方法、mplayerへ渡すオプションに-va vaapi -widを渡す方法、その両方を同時に記載する方法を試してみましたが、やはり再生が始まりません。
そうですか。なかなか手強いですね。
閑話休題ということで、Maverick用のSD8686 firmwareのバイナリが以下にあるようですが、既にご存知だったらすいません。
libertas-firmware 9.70.7.p0-1 (i386 binary) in ubuntu maverick
gnome-mplayerはログもエラーメッセージも出さないので、どこで引っかかってるのか、分かり難いです。
ですが、terminalから-vオプションを付けて起動するとメッセージを出せますよ♪
もしお時間ありましたらここへ投稿してみて下さい。tistaも読んでみたいですね。
tistaさん
gnome-mplayerの-vオプションについてご教示いただいてありがとうございます。
以下、とりあえずビデオ出力にvaapi、オプションに-va vaapiを記載した場合のログです。
GNOME MPlayer v0.9.9.2 vo = vaapi ao = (null) Running with GIO support Master Playback is 1 Master Range is 0 to 65536 Master Current Volume 46396, multiplier = 0.001526 Scaled Volume is 70.794678 Using volume of 71.00 Using match: type='signal',interface='com.gnome.mplayer' Using match: type='signal',interface='org.gnome.SettingsDaemon' Using match: type='signal',interface='org.gnome.SettingsDaemon.MediaKeys' Proxy connections and Command connected vo = vaapi ao = (null) opening playlist playlist detection = 0 adding file:///media/tv-test.ts-high.mp4 to playlist (cancel = 0) getting file metadata for /media/SDHC8G-EXT4/tv-test.ts-high.mp4 playing - file:///media/tv-test.ts-high.mp4 is playlist 0 Looking for cover art at /media/SDHC8G-EXT4/cover.jpg Looking for cover art at /media/SDHC8G-EXT4/Folder.jpg media size = 0 x 0 media size = 0 x 0 media size = 0 x 0 media size = 0 x 0 mplayer -profile gnome-mplayer -quiet -slave -identify -volume 71 -framedrop -noconsolecontrols -noidle -osdlevel 0 -nomouseinput -nocache -wid 0x760006f -ss 0 -ass -noembeddedfonts -ass-font-scale 1.00 -ass-color ffffff00 -channels 2 -va vaapi -vf-add screenshot -dvd-device /dev/dvd -af-add export=/tmp/mplayer-af_exportwskukd:512 /media/SDHC8G-EXT4/tv-test.ts-high.mp4 Spawn succeeded for filename /media/SDHC8G-EXT4/tv-test.ts-high.mp4 media size = 0 x 0 MPlayer 1.0rc4-4.4.3 (C) 2000-2010 MPlayer Team ERROR: mplayer: could not connect to socket ERROR: mplayer: No such file or directory ERROR: Failed to open LIRC support. You will not be able to use your remote control. Playing /media/SDHC8G-EXT4/tv-test.ts-high.mp4. libavformat file format detected. ID_VIDEO_ID=0 [lavf] stream 0: video (h264), -vid 0 ID_AUDIO_ID=0 ID_AID_0_LANG=und [lavf] stream 1: audio (aac), -aid 0, -alang und ERROR: libva: libva version 0.31.1-sds1 VIDEO: [H264] 1024x576 24bpp 23.980 fps 601.0 kbps (73.4 kbyte/s) ERROR: libva: va_getDriverName() returns 0 Clip info: ERROR: libva: Trying to open /usr/lib/va/drivers/psb_drv_video.so major_brand: isom ERROR: libva: va_openDriver() returns 0 ID_CLIP_INFO_NAME0=major_brand ID_CLIP_INFO_VALUE0=isom minor_version: 1 ID_CLIP_INFO_NAME1=minor_version ID_CLIP_INFO_VALUE1=1 compatible_brands: isomavc1 ID_CLIP_INFO_NAME2=compatible_brands ID_CLIP_INFO_VALUE2=isomavc1 ID_CLIP_INFO_N=3 ID_FILENAME=/media/SDHC8G-EXT4/tv-test.ts-high.mp4 ID_DEMUXER=lavfpref ID_VIDEO_FORMAT=H264 ID_VIDEO_BITRATE=600952 ID_VIDEO_WIDTH=1024 ID_VIDEO_HEIGHT=576 ID_VIDEO_FPS=23.980 ID_VIDEO_ASPECT=1.7778 ID_AUDIO_FORMAT=MP4A ID_AUDIO_BITRATE=160136 ID_AUDIO_RATE=48000 ID_AUDIO_NCH=2 ID_START_TIME=0.00 ID_LENGTH=1819.77 ID_SEEKABLE=1 ERROR: Couldn't open video filter 'ass'. ID_CHAPTERS=0 ERROR: ASS: cannot add video filter Opening video filter: [scale] Opening video filter: [screenshot] Opening video filter: [eq2] ERROR: [ass] Init ERROR: [ass] Updating font cache ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family [VD_FFMPEG] VA API accelerated codec. Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264) ========================================================================== ID_VIDEO_CODEC=ffh264 ========================================================================== Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding) AUDIO: 48000 Hz, 2 ch, s16le, 160.1 kbit/10.43% (ratio: 20017->192000) ID_AUDIO_BITRATE=160136 ID_AUDIO_RATE=48000 ID_AUDIO_NCH=2 Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio)) ========================================================================== [export] Exporting to file: /tmp/mplayer-af_exportwskukd [export] Memory mapped to file: /tmp/mplayer-af_exportwskukd (0xb7362000) [export] Exporting to file: /tmp/mplayer-af_exportwskukd [export] Memory mapped to file: /tmp/mplayer-af_exportwskukd (0xb7362000) AO: [pulse] 48000Hz 2ch s16le (2 bytes per sample) [export] Exporting to file: /tmp/mplayer-af_exportwskukd [export] Memory mapped to file: /tmp/mplayer-af_exportwskukd (0xb7362000) [export] Exporting to file: /tmp/mplayer-af_exportwskukd [export] Memory mapped to file: /tmp/mplayer-af_exportwskukd (0xb7362000) ID_AUDIO_CODEC=faad Starting playback... ERROR: Unsupported PixelFormat 61 [VD_FFMPEG] Trying pixfmt=1. Could not find matching colorspace - retrying with -vf scale... Opening video filter: [scale] ERROR: The selected video_out device is incompatible with this codec. ERROR: Try appending the scale filter to your filter list, ERROR: e.g. -vf spp,scale instead of -vf spp. ERROR: Unsupported PixelFormat 61 [VD_FFMPEG] Trying pixfmt=0. ERROR: Unsupported PixelFormat 61 Could not find matching colorspace - retrying with -vf scale... Opening video filter: [scale] ERROR: The selected video_out device is incompatible with this codec. [VD_FFMPEG] Trying pixfmt=2. ERROR: Try appending the scale filter to your filter list, Could not find matching colorspace - retrying with -vf scale... ERROR: e.g. -vf spp,scale instead of -vf spp. Opening video filter: [scale] ERROR: The selected video_out device is incompatible with this codec. ERROR: Try appending the scale filter to your filter list, ERROR: e.g. -vf spp,scale instead of -vf spp. ERROR: [h264 @ 0x1414f80]decoding to PIX_FMT_NONE is not supported. ERROR: [h264 @ 0x1414f80]decode_slice_header error ERROR: [h264 @ 0x1414f80]no frame! ERROR: Error while decoding frame! (同じエラーの繰り返しが数十回繰り返されるため省略) [VD_FFMPEG] Trying pixfmt=0. ERROR: Try appending the scale filter to your filter list, Could not find matching colorspace - retrying with -vf scale... ERROR: e.g. -vf spp,scale instead of -vf spp. Opening video filter: [scale] ERROR: The selected video_out device is incompatible with this codec. [VD_FFMPEG] Trying pixfmt=2. ERROR: Try appending the scale filter to your filter list, Could not find matching colorspace - retrying with -vf scale... ERROR: e.g. -vf spp,scale instead of -vf spp. Opening video filter: [scale] ERROR: [h264 @ 0x1414f80]decoding to PIX_FMT_NONE is not supported. [VD_FFMPEG] Trying pixfmt=1. ERROR: [h264 @ 0x1414f80]decode_slice_header error Could not find matching colorspace - retrying with -vf scale... ERROR: [h264 @ 0x1414f80]no frame! Opening video filter: [scale] ERROR: Error while decoding frame! Thread completing shutting down threadquery for /media/SDHC8G-EXT4/tv-test.ts-high.mp4 since threaddata->done is TRUE
途中の
mplayer -profile gnome-mplayer -quiet -slave -identify -volume 71 -framedrop -noconsolecontrols -noidle -osdlevel 0 -nomouseinput -nocache -wid 0x760006f -ss 0 -ass -noembeddedfonts -ass-font-scale 1.00 -ass-color ffffff00 -channels 2 -va vaapi -vf-add screenshot -dvd-device /dev/dvd -af-add export=/tmp/mplayer-af_exportwskukd:512 /media/SDHC8G-EXT4/tv-test.ts-high.mp4
が実際のmplayerの実行コマンドだと思われます。
これをコピーアンドペーストして、-profile gnome-mplayerと-wid 0x760006fを外し、-vo vaapiを追加して端末から実行してみると、なるほどエラーがでます。
試行錯誤した結果、これから-vf-add screenshotを外すと、実行できることがわかりました。つまり、
mplayer -vo vaapi -quiet -slave -identify -volume 71 -framedrop -noconsolecontrols -noidle -osdlevel 0 -nomouseinput -nocache -ss 0 -ass -noembeddedfonts -ass-font-scale 1.00 -ass-color ffffff00 -channels 2 -va vaapi -dvd-device /dev/dvd -af-add export=/tmp/mplayer-af_exportwskukd:512 /media/SDHC8G-EXT4/tv-test.ts-high.mp4
なら実行できます。-vf-add はスクリーンショット関連のオプションなのかな?と思うのですが、gnome-mplayerから指定できるような箇所はありませんでした。
なにかアドバイスがございましたら、よろしくお願いいたします。
オフライン
メッセージのご確認ありがとう御座います。
試行錯誤した結果、これから-vf-add screenshotを外すと、実行できることがわかりました。つまり、
コード:
mplayer -vo vaapi -quiet -slave -identify -volume 71 -framedrop -noconsolecontrols -noidle -osdlevel 0 -nomouseinput -nocache -ss 0 -ass -noembeddedfonts -ass-font-scale 1.00 -ass-color ffffff00 -channels 2 -va vaapi -dvd-device /dev/dvd -af-add export=/tmp/mplayer-af_exportwskukd:512 /media/SDHC8G-EXT4/tv-test.ts-high.mp4なら実行できます。-vf-add はスクリーンショット関連のオプションなのかな?と思うのですが、gnome-mplayerから指定できるような箇所はありませんでした。
とのことですが、vf-addはVideo-Filterの追加を意味します。
メッセージを見ると、
Opening video filter: [scale] Opening video filter: [screenshot] Opening video filter: [eq2]
となっており、このうち問題になりそうなscreenshotを止めてみることができるかですね。
とりあえず、設定→MPlayer→MPlayerへのその他のオプションへ、以下のように記述してみましょう。
-va vaapi -vf-clr
vf-clrはVideoFilterをクリアする目的で使用しますが、このvf-clrのタイミングがvf-addより遅ければ良いのですが・・・。
tistaさん
-va vaapi -va-clr
試してみましたが、残念ながら効果はないようです。
gnome-mplayer -vでみてみたところ、-vf-clr -vf-add screenshotの順番でした。
ふと、gnome-mplayerのソースを変更して、デフォルトのmplayerへ渡すオプションを変更できないかな?と思い
grepで-vf-addが含まれるソースを検索したところ、gnome-mplayer-0.9.9.2/src/thread.cの1233行が引っかかりました。
どうも、-vo vdpauなどは例外処理として-vf-addを省いてるようです。そこで、
|| g_ascii_strncasecmp(vo, "vdpau", strlen("vdpau")) == 0)) {を
|| g_ascii_strncasecmp(vo, "vdpau", strlen("vdpau")) == 0 || g_ascii_strncasecmp(vo, "vaapi", strlen("vaapi")) == 0)) {に変更し、お教えいただいたdpkg-buildpackage -rfakerootコマンドでパッケージ作成→インストールしてみました。
おお、再生できる!すばらしい。
ちなみに、無事再生できたときのログです。
GNOME MPlayer v0.9.9.2 vo = vaapi ao = (null) Running with GIO support Master Playback is 1 Master Range is 0 to 65536 Master Current Volume 46396, multiplier = 0.001526 Scaled Volume is 70.794678 Using volume of 71.00 Using match: type='signal',interface='com.gnome.mplayer' Using match: type='signal',interface='org.gnome.SettingsDaemon' Using match: type='signal',interface='org.gnome.SettingsDaemon.MediaKeys' Proxy connections and Command connected opening playlist playlist detection = 0 adding file:///media/SDHC8G-EXT4/te-test.ts-high.mp4 to playlist (cancel = 0) getting file metadata for /media/SDHC8G-EXT4/te-test.ts-high.mp4 playing - file:///media/SDHC8G-EXT4/te-test.ts-high.mp4 is playlist 0 Looking for cover art at /media/SDHC8G-EXT4/cover.jpg Looking for cover art at /media/SDHC8G-EXT4/Folder.jpg media size = 0 x 0 media size = 0 x 0 media size = 0 x 0 media size = 0 x 0 mplayer -profile gnome-mplayer -quiet -slave -identify -volume 71 -mixer-channel Master -framedrop -noconsolecontrols -noidle -osdlevel 0 -nomouseinput -nocache -wid 0x8c0006f -ss 0 -ass -noembeddedfonts -ass-font-scale 1.00 -ass-color ffffff00 -channels 2 -va vaapi -dvd-device /dev/dvd -af-add export=/tmp/mplayer-af_exportasvofk:512 /media/SDHC8G-EXT4/te-test.ts-high.mp4 media size = 0 x 0 Spawn succeeded for filename /media/SDHC8G-EXT4/te-test.ts-high.mp4 MPlayer 1.0rc4-4.4.3 (C) 2000-2010 MPlayer Team ERROR: mplayer: could not connect to socket ERROR: mplayer: No such file or directory ERROR: Failed to open LIRC support. You will not be able to use your remote control. Playing /media/SDHC8G-EXT4/te-test.ts-high.mp4. libavformat file format detected. ID_VIDEO_ID=0 [lavf] stream 0: video (h264), -vid 0 ID_AUDIO_ID=0 ID_AID_0_LANG=und [lavf] stream 1: audio (aac), -aid 0, -alang und VIDEO: [H264] 1024x576 24bpp 23.980 fps 601.0 kbps (73.4 kbyte/s) Clip info: major_brand: isom ID_CLIP_INFO_NAME0=major_brand ID_CLIP_INFO_VALUE0=isom minor_version: 1 ID_CLIP_INFO_NAME1=minor_version ID_CLIP_INFO_VALUE1=1 compatible_brands: isomavc1 ID_CLIP_INFO_NAME2=compatible_brands ID_CLIP_INFO_VALUE2=isomavc1 ID_CLIP_INFO_N=3 ID_FILENAME=/media/SDHC8G-EXT4/te-test.ts-high.mp4 ID_DEMUXER=lavfpref ID_VIDEO_FORMAT=H264 ID_VIDEO_BITRATE=600952 ID_VIDEO_WIDTH=1024 ID_VIDEO_HEIGHT=576 ID_VIDEO_FPS=23.980 ID_VIDEO_ASPECT=1.7778 ID_AUDIO_FORMAT=MP4A ID_AUDIO_BITRATE=160136 ID_AUDIO_RATE=48000 ID_AUDIO_NCH=2 ID_START_TIME=0.00 ERROR: libva: libva version 0.31.1-sds1 ID_LENGTH=1819.77 ID_SEEKABLE=1 ERROR: libva: va_getDriverName() returns 0 ID_CHAPTERS=0 ERROR: libva: Trying to open /usr/lib/va/drivers/psb_drv_video.so ERROR: libva: va_openDriver() returns 0 Opening video filter: [scale] ERROR: Couldn't open video filter 'ass'. ERROR: ASS: cannot add video filter ERROR: [ass] Init ERROR: [ass] Updating font cache ========================================================================== Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family [VD_FFMPEG] VA API accelerated codec. Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264) ========================================================================== ID_VIDEO_CODEC=ffh264 ========================================================================== Opening audio decoder: [faad] AAC (MPEG2/4 Advanced Audio Coding) AUDIO: 48000 Hz, 2 ch, s16le, 160.1 kbit/10.43% (ratio: 20017->192000) ID_AUDIO_BITRATE=160136 ID_AUDIO_RATE=48000 ID_AUDIO_NCH=2 Selected audio codec: [faad] afm: faad (FAAD AAC (MPEG-2/MPEG-4 Audio)) ========================================================================== [export] Exporting to file: /tmp/mplayer-af_exportasvofk [export] Memory mapped to file: /tmp/mplayer-af_exportasvofk (0xb7434000) [export] Exporting to file: /tmp/mplayer-af_exportasvofk [export] Memory mapped to file: /tmp/mplayer-af_exportasvofk (0xb7434000) AO: [pulse] 48000Hz 2ch s16le (2 bytes per sample) [export] Exporting to file: /tmp/mplayer-af_exportasvofk [export] Memory mapped to file: /tmp/mplayer-af_exportasvofk (0xb7434000) [export] Exporting to file: /tmp/mplayer-af_exportasvofk [export] Memory mapped to file: /tmp/mplayer-af_exportasvofk (0xb7434000) ID_AUDIO_CODEC=faad Starting playback... ERROR: Unsupported PixelFormat 61 [VD_FFMPEG] Trying pixfmt=1. Movie-Aspect is 1.78:1 - prescaling to correct movie aspect. ID_VIDEO_ASPECT=1.7778 VO: [vaapi] 1024x576 => 1024x576 H.264 VA-API Acceleration Resizing to 1024 x 576 current size = 0 x 0 Changing window size to 1024 x 576 visible = 1 media size = 1024 x 576 media size = 1024 x 576 [VD_FFMPEG] XVMC-accelerated MPEG-2. ERROR: Failed to get value of property 'sub_demux'. Exiting... (Quit) Thread completing
あとは、サスペンド/レジュームさえもうちょっと安定してくれればバッチリです。
こちらはもうちょっと試行錯誤が必要かも。
tistaさんのおかげで、目的の一つであった、youtubeで動画再生支援を、という野望に一歩近づきました。本当にありがとうございます!
オフライン
hippocampus様
これは素晴らしいです!
もはやsolvedとしても良いくらいの素晴らしいTipsです。
sourceの変更箇所も特定できていることから、launchpadで素早くパッケージングできるでしょう。
known issueとしては、「ビデオ再生画面をキャプチャし、画像ファイルへ保存することが出来なくなる」というのがあるでしょう。
この辺りはまた別な検証で解決できる可能性もありますので、当面はトレードオフということで多くの方も納得して頂けるのではないでしょうか。
また、gecko-mediaplayerとFlashVideoReplacerを利用してFirefoxへmplayerを埋め込むのは容易です。ぜひチャレンジしてみて下さい。
tista
tistaさん
ありがとうございます。
おかげさまで、flashvideoreplacer+geckomediaplayerで、youtube HDの低負荷再生ができました。
無線LANだと通信速度の関係もあるのか、1080pだとちょっと厳しい感じでしたが、720pなら最初のキャッシングの時間に目を瞑れば、非常に快適です。全画面でも綺麗。
ちなみに、gnome-mplayerの設定で、こちらの環境では「オーディオの出力」にpulseを指定した方が安定してるような気がしました。
#ちょっとこのスレの趣旨からは外れますが、前述のgnome-mplayerのソースの変更はkarmicでも有効で、同じようにyoutubeの低負荷再生が可能となりました。
うーむ、やはりAtomZ+Poulsboは、バッテリーの持ちとパフォーマンスが絶妙なバランスだなあ。
ディスコンはもったいない。400g以下のPCで、(制限はあるけど)HD動画再生が可能で、バッテリーの持ちがwifiを使いつつ4時間持つというのは、未だにこの組み合わせしかないし。
世界はAndroidTabletの方に向かってるようだが、やっぱり旧世代の人間としてはPCが使える方が「楽しい」。
オフライン
Lucidのインストールが一段落したので、再びMaverickを試してます。
とはいえ、USBメモリへのインストールなので、せっかく高速化されたという起動速度は体感できず、起動にコーヒーを一杯飲めるくらいかかりますが。
起動してしまえば、Maverickの方がLucidよりサクサクな気がしますね。Windowをドラッグした時の描画など、結構違う。
視覚効果も、最初から「通常効果」が有効になってますし、オープンソースドライバの完成度が上がっているのを実感できます。
MaverickのドライバがLucidにバックポートされるとうれしいんですけどね・・・。
オフライン
起動してしまえば、Maverickの方がLucidよりサクサクな気がしますね。Windowをドラッグした時の描画など、結構違う。
視覚効果も、最初から「通常効果」が有効になってますし、オープンソースドライバの完成度が上がっているのを実感できます。
MaverickのドライバがLucidにバックポートされるとうれしいんですけどね・・・。
この辺はXorgの性能差とも考えられますので、一概にpsbドライバだけの要因ではないでしょうね。
起動時間で言うと、kernelまで同じようにconfigしてもtistaの環境ではLucidのほうがむしろ高速ですね
(と言ってもわずか1秒違うかどうかというところですが)。
仰る通り、Xの描画性能に関してはMaverickがわずかに有利なように見えますが、Maverickではpowersaveがより進化し、
むしろ特筆すべきは発熱抑制やバッテリ駆動時間で大きく向上しているように見受けられます。
対notebookではMaverickのほうが総合力で勝るかも知れませんね。
tista