忍者ブログ
趣味+メモ用のブログです。 GNU/Linux関連、OSS関連情報、調査事項になるでしょうが、何を書くか分かりません。
[4] [5] [6] [7] [8] [9] [10]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

輝度調節つづき。

debianの poolから
linux-image-2.6.30-2-686_2.6.30-8_i386.deb
linux-image-2.6.31-trunk-686_2.6.31-1~experimental.2_i386.deb
を拾ってきて入れてみる。

kernel起動時のACPI関連のエラーはでないのだが、
/proc/acpi/eventが作成されていない!!

/boot/config-xxxx をみてみると
# CONFIG_ACPI_PROCFS_POWER is not set
# CONFIG_ACPI_PROC_EVENT is not set

だそうだ。

な、なんで???

PR
Let's note R8で輝度調節ができない。

どうも ACPIがうまく動いていないからみたい。


[    0.220817] ACPI Error (dswload-0659): [DD02] Namespace lookup failure, AE_NOT_FOUND
[    0.221020] ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20090903/psloop-230)
[    0.221226] ACPI Error (psparse-0537): Method parse/execution failed [\] (Node c1515558), AE_NOT_FOUND
[    0.221636] ACPI Error (dswload-0659): [USB0] Namespace lookup failure, AE_NOT_FOUND
[    0.221836] ACPI Exception: AE_NOT_FOUND, During name lookup/catalog (20090903/psloop-230)
[    0.222039] ACPI Error (psparse-0537): Method parse/execution failed [\] (Node c1515558), AE_NOT_FOUND
[    0.222396] ACPI: Executed 3 blocks of module-level executable AML code
[    0.235025] ACPI: BIOS _OSI(Linux) query ignored
[    0.253323] ACPI Error (psargs-0359): [\_SB_.PCI0.GFX0.DD02.CUBL] Namespace lookup failure, AE_NOT_FOUND
[    0.253537] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.GFX0.INIG] (Node f6c41f68), AE_NOT_FOUND
[    0.253893] ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PCI0.LPCB.EC0_._REG] (Node f6c3dec8), AE_NOT_FOUND
[    0.254268] Fail in evaluating the _REG object of EC device. Broken bios is suspected.
[    0.254362] ACPI: Interpreter enabled
[    0.254452] ACPI: (supports S0 S1 S3 S4 S5)
[    0.254847] ACPI: Using IOAPIC for interrupt routing
[    0.284363] ACPI: EC: GPE = 0x17, I/O: command/status = 0x66, data = 0x62
[    0.284801] ACPI: No dock devices found.
[    0.289057] ACPI: PCI Root Bridge [PCI0] (0000:00)
wine-1.1.31を試して見たところ、
「1)スクロール時に表示が乱れる。」問題は解消されていた。

しかし、相変わらず日本語が消える問題は解消されず。

また、resource.cに変更が加わっていたので期待したが、
Accelarator Tableの対応はできていなかった。。。


またまた、サクラエディタを修正。
サクラエディタ1.6.5にて、パッチをパワーアップして適用していただいた。
(http://sakura.qp.land.to/?FAQ%2F47)

が、以下の2点の問題が残っている。
1)スクロール時に表示が乱れる。(1行目が画面更新されない)
2)日本語入力時に入力確定時に文字が取り消されることがある。


1)スクロール時に表示が乱れる。については、暫定修正版を作成 (ぱちぱちぱち!!)

http://sakaihdt.gozaru.jp/sakura.html

どうも、ScrollAtV関数内で使用されている、
「::InvalidateRect( m_hWnd, NULL, TRUE );」が
正常に動作していないように思える。

ここの部分を修正してもなおらなかったのだが、
ScrollAtVを呼び出している外の関数で、
画面のリドロウ(RedrawAll()  もしくは、OnPaint()関数)
を呼び出すことで回避できたのだが、
処理速度が非常に重い気がする・・・・・

もう少し調査が必要。


っていうか、Wine側調査しなくっちゃ!!

linux-2.6.31.1 をコンパイルしてみるが、
途中でエラー!?

Debian GNU/Linux 5.0.3
gcc (Debian 4.3.2-1.1)

make[1]: ディレクトリ `/home/sakaihdt/kernel/linux-2.6.31.1/Documentation/lguest' に入ります
cc -m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE    lguest.c   -o lguest
lguest.c:21:25: error: sys/eventfd.h: そのようなファイルやディレクトリはありません
lguest.c: In function ‘create_thread’:
lguest.c:1021: warning: implicit declaration of function ‘eventfd’
make[1]: *** [lguest] エラー 1
make[1]: ディレクトリ `/home/sakaihdt/kernel/linux-2.6.31.1/Documentation/lguest' から出ます
make: *** [debian/stamp/build/kernel] エラー 2

だそうだ。
とりあえず、ソースを直してみる。


ま、とりあえず、ヘッダのインクルードを削除!!



Documents/guest/lguest.c:21:25:  // #include <sys/eventfd.h>

うまくとおりました!!

ってそんなもん?!

デビアンのKDEで日本語入力ができなかった
qtアプリのみ入力できないんで、しらべてみたところ
以下のブログに解決法あり!!

http://d.hatena.ne.jp/hidepon_mory/20090827/1251363233


解決方法として、uim-qtuim-ximをインストールする。

とのこと
えいや!!でいれちゃう!!

apt-get install uim-qt uim-xim

Let's note R8に debian GNU/Linux lennyをインストール

通常インストール後、
kernel 2.6.30-1をセルフコンパイル。

Intel Wifi Link 5100 がカーネル 2.6.27-6以降でサポートらしく、
lennyのデフォルトカーネル 2.6.26では未対応。

ファームウェアについては、以下のページからダウンロード
http://www.intellinuxwireless.org/?n=downloads
iwlwifi-5000-ucode-8.24.2.12.tgz

/lib/firmware に解凍したファイルを配置。


あと、音関連も少々いじった。
参照URLどこだっけかな
さあWINE側の調査開始。

windowハンドルは OK
とのことなので、

dlls/user32/win.c を参照してみる。

  97  */
  98 static WND *create_window_handle( HWND parent, HWND owner, LPCWSTR name,
  99                                   HINSTANCE instance, BOOL unicode )
 100 {

135     if (!(win = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY,
 136                            sizeof(WND) + extra_bytes - sizeof(win->wExtra)      )))


ここか?

HeepAlloc()関数をググってみる。
http://msdn.microsoft.com/ja-jp/library/cc430107.aspx

hHeap
[入力]割り当てたいヒープのハンドルを指定します。 HeapCreate 関数または GetProcessHeap 関数が、このハンドルを返します。
とのこと、
GetProcessHeap関数を呼べばいいのか?

ってわけで、resource.cで呼び出している箇所を、
(global16.c)を書き換えてみたんだけど、だめだね、

リンクできない。

やっぱり16はだめなのか?

さいちゃれんじだ!!







さて状況整理、状況整理。

だれにも紹介したつもりないけれど、
だれかみてるのかしら、このブログ。

どうせ、ログばっかりだしね。

(1) Wine側の対応

結局 Accelarator Tableが、Wineではちゃんと実装されていないことが
原因のよう。

http://bugs.winehq.org/show_bug.cgi?id=19368
Dmitry Timoshkov氏より返信
=============================================
> I seem " Windows has Accelarator Table in Shared Memory "
> But Wine has Accelarator Table in HeepArea.
> ( dlls/user32/resource.c CreateAcceleratorTableA() use
> GlobalAlloc16 function .)
In Windows an accelerator is a user32 kernel object, like windows and menus, and an accelerator created in one process is visible to another one. Wine implements this only for window handles. ============================================= 直す予定もなさそう。 10月以降にちょろちょろとみていくとしますか。。。 (2) サクラエディタ側 修正パッチを取り込んでくれる模様。 zlibライセンスって初めて知ったなぁ。 個人的にはGPL派だけど、郷には入れば郷にしたがえだからね。 http://sakura-editor.sourceforge.net/cgi-bin/cyclamen/cyclamen.cgi?log=dev <5587> Wineでの動作について(修正) さて、仕事しますか。。。。 いやだなぁ。。。



やっと直せた。

●バイナリイメージと修正ソースを以下においておきます。
http://sakaihdt.gozaru.jp/sakura.html


結局、サクラエディタの10行程度の修正で済みました。

●原因について(修正した箇所)
サクラエディタでは、Accelaratorテーブル(ショートカットテーブル)を
共有メモリに入れていたのですが、
TranslateAccelerator()呼び出し時に、
(Wineでは)既に有効になっていないようです。

修正は、Accelaratorテーブルを共有メモリでなく、
TranslateAccelerator()関数を呼び出している関数の
ローカル変数として作成することで対応しました。

WineとWindowsのAccelaratorテーブルのもちかたが
違っている為だと考えられます。


とりあえず、Wine側とサクラ側に連絡するとしますか・・・・




忍者ブログ [PR]
カレンダー
10 2024/11 12
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
フリーエリア
最新コメント
最新トラックバック
プロフィール
HN:
一乗寺 又兵衛
性別:
男性
職業:
コンパイル
趣味:
コンパイル
バーコード
ブログ内検索