Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
Uvesafbのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
Uvesafb
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:グラフィック]] [[Category:視覚効果]] [[en:Uvesafb]] [[it:Uvesafb]] [[zh-hans:Uvesafb]] {{Related articles start}} {{Related|カーネルモジュール}} {{Related|カーネルパラメータ}} {{Related|sysctl}} {{Related articles end}} 他のフレームバッファドライバーと違って、uvesafb は v86d と呼ばれるユーザースペースの仮想化デーモンを必要とします。x86 の上で x86 のコードをエミュレートするのは馬鹿げているようにも見えますが、他のアーキテクチャでフレームバッファコードを使用したいという場合に大事になります (特に x86 以外のアーキテクチャ)。カーネル 2.6.24 では新しいフレームバッファドライバーが追加されました。標準の vesafb よりも多くの機能が存在します: # 遅延時間後の正しいブランクとハードウェアの復帰 # システム BIOS のようにカスタム解像度をサポート。 vesafb と同じ数だけのハードウェアをサポートします。 == インストール == [[AUR]] から {{aur|v86d}} を[[インストール]]してください。 == システムの準備 == フレームバッファ関連のカーネルブートパラメータは全てブートローダーの設定から削除して vesafb フレームバッファがロードされないようにしてください。 $ grep vga /proc/cmdline $ grep -ir vga /etc/modprobe.d/ 上記のコマンドで何も返ってこないようにする必要があります。{{ic|1=vga=}} オプションを記述している場合は、削除してください。 === GRUB === {{note|This might not work.}} まず {{ic|/etc/default/grub}} を編集して {{ic|1=GRUB_GFXPAYLOAD_LINUX=keep}} 行をコメントアウトしてください。 そして標準のスクリプトを使って {{ic|grub.cfg}} を再生成します: # grub-mkconfig -o /boot/grub/grub.cfg === GRUB legacy === uvesafb が正しく動作するように {{ic|/boot/grub/menu.lst}} の kernel 行から {{ic|vga<nowiki>=</nowiki>xxx}} という記述を全て削除してください。 === Systemd === systemd を使っている場合、v86d フックを {{ic|/etc/mkinitcpio.conf}} の HOOKS に追加します。これで uvesafb が起動時に動くようになります。 HOOKS="base udev v86d ..." == uvesafb の設定 == === 解像度の定義 === uvesafb の設定は {{ic|/usr/lib/modprobe.d/uvesafb.conf}} で定義します: # This file sets the parameters for uvesafb module. # The following format should be used: # options uvesafb mode_option=<xres>x<yres>[-<bpp>][@<refresh>] scroll=<ywrap|ypan|redraw> ... # # For more details see: # https://www.kernel.org/doc/Documentation/fb/uvesafb.txt # options uvesafb mode_option=1280x800-32 scroll=ywrap {{ic|mode_option}} のドキュメントは [https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/fb/modedb.txt linux.git/tree/Documentation/fb/modedb.txt] にあります。 パッケージが更新されたときにカスタマイズした設定が上書きされないように、ファイルを {{ic|/etc/modprobe.d/uvesafb.conf}} にコピーしてください: # cp /usr/lib/modprobe.d/uvesafb.conf /etc/modprobe.d/uvesafb.conf そして {{ic|/etc/mkinitcpio.conf}} の FILES セクションのエントリに設定ファイルを追加します: FILES="/etc/modprobe.d/uvesafb.conf" 変更を適用するにはカーネルの ''initramfs'' イメージを再生成する必要があります。 # mkinitcpio -p linux システムを再起動して変更が適用されたか確認してください。 === 解像度の最適化 === 次のコマンドを使うことで使用できる解像度を全てリストアップできます: $ cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes 返ってきたエントリを使って {{ic|/usr/lib/modprobe.d/uvesafb.conf}} を修正しましょう。 === 現在の解像度のチェック === 以下のコマンドを使うことで現在のフレームバッファの解像度を表示できます。設定が反映されているかどうか確認するのに使ってください: $ cat /sys/devices/virtual/graphics/fbcon/subsystem/fb0/virtual_size $ cat /sys/class/graphics/fb0/virtual_size == Uvesafb をカーネルに組み込む == 自分でカーネルをコンパイルする場合、カーネルに uvesafb を組み込んで {{ic|/etc/rc.local}} などから v86d を実行することができます。この場合、オプションは {{ic|1=video=uvesafb:<options>}} という形式で[[カーネルパラメータ]]として指定します。下で書かれているように uvesafb と 915resolution を組み合わせるときはこの方法を使うことはできないので注意してください。 == Uvesafb と 915resolution == 以下では、より複雑なシナリオについて説明します。ワイドスクリーンラップトップ用の多くのインテルビデオチップセットには、バグのあるBIOSが搭載されていることが知られています。これは、ワイドスクリーンのメインのネイティブ解像度をサポートしていません。このため、ブート時にBIOSにパッチを適用し、Xサーバーがワイドスクリーンの解像度を使用できるようにするために、915resolutionが作成されました。今日、Xサーバーは915resolutionの助けなしでこれを行うことができます。ただし、915resolutionをuvesafbと組み合わせると、Xを起動することなく、ワイドスクリーンフレームバッファーを取得できます。この場合、915resolutionを実行した後でuvesafbをロードして、uvesafbが適切な解像度に頼れるようにする必要があります。 === 915resolution-static === このシナリオでは、915解像度を静的にコンパイルする必要があります(initramfsに置かれるので、外部ライブラリにリンクすることはできません。)。したがって、 [community] リポジトリで915 resolutionパッケージを使用することはできません。代わりに、AURで {{AUR|915resolution-static}}{{Broken package link|{{aur-mirror|915resolution-static}}}} {{aur-mirror | 915resolution-static}}}}を探してください。 これは915解像度を静的にコンパイルし、915解像度フックを提供しますので、uvesafbをロードする前に915解像度を実行して、パッチされた解像度を得ることができます。makepkgと[[pacman]]を使って915 resolution-staticをインストールしてください。 === 解像度 === 交換するBIOSモードと取得する解像度を定義するには、915resolutionフックを編集する必要があります。あなたは915resolutionのすべてのオプションについての情報を得ることができます。 $ 915resolution -h {{ic|/lib/initcpio/hooks/915resolution}} を編集して915resolutionのオプションを変更します。 run_hook () { msg -n ":: Patching the VBIOS..." /usr/sbin/915resolution 5c 1280 800 msg "done." } デフォルトとして、5cは、置き換えるBIOSモードのコードです。次のコマンドを使用して、使用可能なBIOSビデオモードのリストを取得できます {{ic|915resolution -l}} {{Note|915resolutionはそれを新しいユーザー定義モードに置き換えるので、(フレームバッファーでもXでも)不要なモードのコードを選択する必要があります。上記の例では、{{ic|1280 800}} が新しい望ましい解像度です。}} === HOOKS === 915resolutionフックを追加し、その後、{{ic | /etc/mkinitcpio.conf}}のHOOKSにv86dフックを追加します。keymap、resume from suspension、をfilesystemのフックの前に置きます。 HOOKS="base udev 915resolution v86d ..." 次に、mkinitcpioを使用してinitramfsを再生成する必要があります(次のコマンドを設定に合わせて調整してください) mkinitcpio -p linux == トラブルシューティング == === Uvesafb cannot reserve memory === {{Ic|vga<nowiki>=</nowiki>xxx}} カーネルパラメータを削除するのを忘れてないか確認してください -- この設定が残っていると UVESA フレームバッファが標準の VESA フレームバッファで上書きされてしまいます。 もしくは {{ic|1=video=vesa:off vga=normal}} をカーネルコマンドラインに追加してください。 === Error: "pci_root PNP0A08:00 address space collision + Uvesafb cannot reserve memory" === これは2.6.34-ARCHカーネルを搭載したAcer Aspire One 751hで発生します。他のシステムでも発生するかどうかは不明です。別のフレームバッファーがuvesafbのセットアップに干渉しない場合でも、uvesafbは必要なメモリー領域を予約できません。 この問題は、ブートローダーの設定でカーネルパラメータに以下を追加することで修正できます。 pci=nocrs == 参照 == * [https://www.kernel.org/doc/Documentation/fb/uvesafb.txt Uvesafb カーネルページ] * [http://dev.gentoo.org/~spock/projects/uvesafb Gentoo の uvesafb ページ] * [http://infosnews.5cz.de/VESA_BIOS_Extensions.html#VBE_mode_numbers VESA mode numbers]
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Aur
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:TranslationStatus
(
ソースを閲覧
)
Uvesafb
に戻る。
検索
検索
Uvesafbのソースを表示
話題を追加