この場合は、gma500_gfxと呼ばれるDRMカーネルモジュールを変更するために、グラフィックスドライバーの開発に取り組んでいます。
このドライバーに変更を加えるたびに、以前のカーネルモジュールを(cpコマンドで)コンパイルおよび置換するスクリプトを開始し、Linuxディストリビューション(Lubuntu)を再起動します。
Linuxを再起動しないと、このグラフィックドライバーモジュールをリロードできません(まだ)。コマンドmodprobeおよびrmmodは、常に「使用中のモジュール」エラーを表示します。
modprobe gma500_gfx -r
modprobe: FATAL: Module gma500_gfx is in use.
依存関係を見ると、次のリストが表示されます。
gma500_gfx 185579 2
drm_kms_helper 48716 1 gma500_gfx
drm 298219 3 drm_kms_helper,gma500_gfx
video 19370 2 Acer_wmi,gma500_gfx
i2c_algo_bit 13413 1 gma500_gfx
また、これらの依存関係をアンロードすることもできず、同じエラーが発生します。 modprobeの前に試したが失敗したその他のこと:
Linuxディストリビューションを再起動するよりも、グラフィックスドライバーモジュールを再読み込みするためのより速い方法を誰か知っていますか
多くの調査の結果、モジュールがアンロードされないようにする2つのリファレンスと、モジュールをリロードする方法を見つけました。ロックを保持する2つのことは次のとおりです。
ロックをそれぞれ削除するには:
Sudo /etc/init.d/lightdm stop
echo 0 > /sys/class/vtconsole/vtcon1/bind
ただし、2番目のオプションはgma500_gfxドライバーからフレームバッファーフレームワークのバインドを解除し、画面出力を停止します。したがって、nrを組み合わせた方が適切です。 2バインド解除、モジュールのアンロード、画面のリセット、モジュールの再ロードを行うスクリプトを使用します。私の知る限り、これをコンソールから実行する必要があります。
#!/bin/bash
echo 0 > /sys/class/vtconsole/vtcon1/bind
modprobe -r gma500_gfx
modprobe gma500_gfx
/etc/init.d/lightdm start
できれば、1つの再起動スクリプトが必要です。このスクリプトは、LightDMから直接実行でき、ドライバーを再ロードしてセッションを復元します。私はまだこれを行うことができませんでしたが、それは上記の質問とは異なるトピックです。それを行うための提案は、私を幸せにします。 :)