
Ubuntu日本語フォーラム

ログインしていません。
usplash-theme-ubuntu.soの中には、usplashの画像ファイルとして、複数
の解像度のファイルがありますが(usplash_1024_768.png,
usplash_640_480.pngなど)、これらのうち、usplashがどれを実際に選ぶのかはどうやっ
て決めているのでしょうか。
というのは、画面の解像度が1024x600のnetbookを使用しているのです
が(ubuntuはpre-installedの8.04です)、usplashのubuntuロゴが、デフォ
ルトの状態で上下方向に多少押しつぶされていたので、これを直そうと思
いたち、1028x768用の画像ファイルが、実際に1024x600の画面に表示され
るときに上下方向につぶされて出力されるのかと思い、逆にロゴを引き伸
ばしたものを1024x768でつくり、1024x600につぶされたとき、ちょうどロ
ゴが真円になるようなファイルをusplash_1024_768.pngをベースにつくり
ました。そして、その修正画像を640x480と800x600に縮小したものをそれ
ぞれ作り、それらを使って、usplash-theme-ubuntu-0.18のソース内の該
当ファイルと入れ換えてコンパイルし、startup-managerで設定したので
すが、どうも800x600のファイルを拡大したものを使用しているようで、
ロゴは真円になったのですが、円がぎざぎざしてしまっています。
(画像ビューアーソフトで1024x768ファイルを1024x600に圧縮して表示す
ると非常に綺麗な真円ロゴが表示されます。)
そこで、どうして1024x768ではなく、800x600を使用することになるのか
が分かれば解決できると思うのですが、usplash-theme-ubuntu.cを見ても
良く分かりませんでした。どなたか、ご教示いただければ幸いでございま
す。ちなみに /etc/usplash.confの設定は
xres=1024
yres=768
となっています。startup-managerで設定できる解像度を、1024x768(デフォルトは640x480)にしもだめでした。
よろしくお願いします。
オフライン
こんばんは
grubの起動中の画面のことだと思いますが,あまり詳しくないので,間違いがあるかもしれませんが,一応調べました。
(grubが)1024x768ではなく、800x600を使用することになるのかが分かれば解決できると思うのですが、usplash-theme-ubuntu.cを見ても良く分かりませんでした。
昔、IBMPCができたころはLSIの技術,搭載メモリー量、画面表示アクセラレータなどがないため,画面の表示を80カラム×20行(640×480)に決めました。(その時日本ではPC9801が主流で,640×400×2画面))。そのため、グラフィックチップがない状態での表示が可能になったわけですが,当時も今も直接端子に出力しています。これをVGA規格と読んでいます。その後、VGAがCPU周辺チップ(ノースブリッジ?)に統合された時に800×600に変更になりました。1280×768などの画面に設定できるのはアクセラレータが動き出してから,具体的にはXーWindowシステムが働きだしてからということになりますので,GDM以降ということになります。
grubが働いているのはまさににBIOSと同じ解像度の画面で,アクセラレータが働いていない状態です。そこで,640×480の画面しか表示できないのです。ですから,1024×768とか1280×1024などと指定しても表示できません。
usplashの画像ファイルとして、複数の解像度のファイルがありますが(usplash_1024_768.png,usplash_640_480.pngなど)、これらのうち、usplashがどれを実際に選ぶのかはどうやって決めているのでしょうか。
何とか.soというファイルの中の設定で変わると思いますが,私はこれを作ったことはありませんので,分かりません。
※すいません。PC9801ではなく、PC8801?(その前はディスプレイではなくテレビ画面だったような)。
誤字を訂正しました。
最後の編集者: funatogawa (2009-05-24 21:09:42)
オフライン
私も間違ってたらごめんなさいです・・・。
xres=1024
yres=768
まず、これが間違っているのではないでしょうか?
usplash.conf で書けるのは、ビデオカードがサポートしている解像度ではなく、ブート時に表示可能な解像度です。
1024x768 でもシステムによってはいけるはずですが、まず、miata93 さんのマシンは最大解像度が 1024x600 ということで、そこからしてもオーバーしてるわけですし、多分 800x600 か 640x480 しかサポートしてないのでは・・・。
そこで弾かれてるんだと思います。
オフライン
こんばんは 第2弾です。
まずお詫びと訂正を!
Usplashが表示されるのはGRUBからではなくその後の処理(初期RAMからlinuxrcを読み込んで実行した後?)ということで、1024×768程度のものは表示されるとのことです。
petitbootangさんがおっしゃるようにハードによってということですが、これを作成するのは大変なので、Artwork for Ubuntuのものを利用して作れ!』とのことでした。詳しくは『日系Linux』2009年5・6月号の『ここまでできるUbuntu改造術』1・2回に載っています。
先ほども書いたように私は作ったことがありませんので、これ以上は分かりません。
PS これ以下を加えました。
なお、その文を読んでみると『USplashが表示されるのは、ファイルシステムをアタッチする前ということで、/etc/USplash.conf は起動時には読み込まれないので、initrd.imgを作り直しなさい』、とのことです。
最後の編集者: funatogawa (2009-05-24 22:20:26)
オフライン
funatogawa さん による投稿:
『USplashが表示されるのは、ファイルシステムをアタッチする前ということで、/etc/USplash.conf は起動時には読み込まれないので、initrd.imgを作り直しなさい』、とのことです。
これは、usplash.conf をいじっただけではブートイメージに反映されないので、update-initramfs コマンドでブートイメージファイルを更新する作業のことを指しているのだと思います。usplash.conf を修正したら必ず行う作業です。
どのように優先順位を決めているかとかは私も詳しくないのですが、問題は使えない解像度を指定しても無視されることだと思うので、800x600 のとき最適化されるように、usplash イメージを作り直してみてはどうでしょうか。
オフライン
update-initramfs コマンドによるUSplashの更新方法が下記URLで説明されております。
参考になれば幸いです。
ブートスプラッシュスクリーンの解像度を変更して黒い表示をなおそう!
http://linuxsalad.blogspot.com/2007/11/blog-post_04.html
オフライン
funatogawaさん、petitbootangさん、のんきさん
詳細なご説明、有益な情報ありがとうございました。ご教示いただいたことを参考に頑張ってみたいと思います。ところで、hwinfo --framebufferを試してみたら、ちょっとおもしろい(というか私には不思議な)出力を得ました。
SubDevice:
Revision: "Hardware Version 0.0"
Memory Size: 7 MB + 704 kB
Memory Range: 0x40000000-0x407affff (rw)
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+832), 8 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown
システム->設定->画面の解像度では1024x600と表示されるのですが、では、なぜ上記の出力に1024x600がないのでしょうか?? /etc/usplash.confの設定にしても、小生が1024x768にしたわけでなく、最初からなっていたのですが。。。??
funatogawaさん
小生、米国在住なのもので、ご紹介いただいた雑誌、『日系Linux』2009年5・6月号はすぐには購入できないかと思うのですが、探してみます。ありがとうございました。
最後の編集者: miata93 (2009-05-25 13:15:40)
オフライン