今日のボク
2008/05/28(水) 26:47 今日のボク はてブ情報 はてブに登録 はてブ数

すっかり元気を取り戻しています。

名前:  非公開コメント   

  • TB-URL  http://www.tokuda.net/diary/0637/tb/

NetBSD/macppc 4.99.63でX Window System (中間まとめ)
2008/05/28(水) 26:29 NetBSD はてブ情報 はてブに登録 はてブ数

とにかく、Xが動きませんね。

XFree86 (xsrc) だとディスプレイデバイスを見つけられず、起動しない。

modular-xorg (pkgsrc) だとロードモジュールを読み込み中にcore dumpして起動しない。

やれやれ。こまったもんです。粘るのをやめるしたら、次の選択肢ぐらいですか。
  1. NetBSD 4.0を試す
  2. Mac OS Xに戻す
  3. Linuxを試す

名前:  非公開コメント   

  • TB-URL  http://www.tokuda.net/diary/0636/tb/

NetBSD/macppc 4.99.63でX Window System (modular-xorg編)
2008/05/28(水) 26:20 NetBSD はてブ情報 はてブに登録 はてブ数

pkgsrcのmodular-xorgで試してみました。

xorg.confのdeviceセクションは次のとおりです
Section "Device"
    Identifier  "radeon"
    ChipID      0x5962
    Driver      "radeon"
    BusID       "PCI:0:16:0"
    Option      "BusType" "AGP"
    Option      "AGPMode" "4"
    Option      "EnablePageFlip" "On"
    Option      "CloneMode" "1280x1024"
    Option      "AGPMode" "2"
#    Option     "DynamicClocks" "on"
#    Option     "Accel"
#    Option     "AccelMethod" "XAA"
EndSection
genfbでもradeonfbでも次のようなエラーでcoreをはいて終わります。
(II) Loader magic: 0x19c93a8
(II) Module ABI versions:
        X.Org ANSI C Emulation: 0.3
        X.Org Video Driver: 1.2
        X.Org XInput driver : 0.7
        X.Org Server Extension : 0.3
        X.Org Font Renderer : 0.5
(II) Loader running on netbsd
(II) LoadModule: "pcidata"
(II) Loading /usr/pkg/lib/xorg/modules//libpcidata.so

Fatal server error:
Caught signal 11.  Server aborting
なんだかxsrcよりもひどいですね。

gdbにかけてみます。
mini# gdb /usr/pkg/bin/Xorg Xorg.core 
GNU gdb 6.5
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "powerpc--netbsd"...(no debugging symbols found)

Reading symbols from /usr/pkg/lib/libXfont.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/pkg/lib/libXfont.so.1
Reading symbols from /usr/pkg/lib/libfreetype.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/pkg/lib/libfreetype.so.6
Reading symbols from /usr/pkg/lib/libXau.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/pkg/lib/libXau.so.6
Reading symbols from /usr/pkg/lib/libfontenc.so.1...(no debugging symbols found)...done.
Loaded symbols for /usr/pkg/lib/libfontenc.so.1
Reading symbols from /usr/lib/libz.so.1...
(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/pkg/lib/libXdmcp.so.6...(no debugging symbols found)...done.
Loaded symbols for /usr/pkg/lib/libXdmcp.so.6
Reading symbols from /usr/lib/libm.so.0...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libm.so.0
Reading symbols from /usr/lib/libc.so.12...(no debugging symbols found)...done.
Loaded symbols for /usr/lib/libc.so.12
Reading symbols from /usr/pkg/lib/xorg/modules/libpcidata.so...
(no debugging symbols found)...done.
Loaded symbols for /usr/pkg/lib/xorg/modules//libpcidata.so
Reading symbols from /usr/libexec/ld.elf_so...(no debugging symbols found)...done.
Loaded symbols for /usr/libexec/ld.elf_so
Core was generated by `Xorg'.
Program terminated with signal 6, Aborted.
#0  0xefcfc464 in kill () from /usr/lib/libc.so.12
(gdb) 
(gdb) bt
#0  0xefcfc464 in kill () from /usr/lib/libc.so.12
#1  0xefdbd980 in abort () from /usr/lib/libc.so.12
#2  0x0185e104 in ddxGiveUp ()
#3  0x01995c74 in AbortServer ()
#4  0x0199633c in FatalError ()
#5  0x0187fc0c in xf86SigHandler ()
#6  0xefd588e8 in opendir () from /usr/lib/libc.so.12
Previous frame inner to this frame (corrupt stack?)
(gdb) 
なんですかねこりゃ? なんか変なロードモジュールを開こうとして死んでますか? ログからすると/usr/pkg/lib/xorg/modules//libpcidata.soをロードしようとしていたみたいですけど。うーむ。radeonとかそういう問題じゃないような気がしますね。

名前:  非公開コメント   

  • TB-URL  http://www.tokuda.net/diary/0635/tb/

NetBSD/macppc 4.99.63でX Window System (XFree86編)
2008/05/28(水) 26:00 NetBSD はてブ情報 はてブに登録 はてブ数

まずはxsrcに含まれるXFree86です。

XF86ConfigのDeviceセクションは次のようになっています。ftp://ftp.ki.nu/pub/NetBSD/port-macppc/XFree86/XF86Config/miniから頂いたものです。
Section "Device"
#  BoardName "RV280 5964"
  ChipID 0x5962
  BusID "PCI:00:16:00"
  Driver "radeon"
  #ChipId 0x514D
  Identifier    "Radeon9200"
  Screen 0
  Option "Rotate" "off"
VendorName "ATI Technologies Inc"
BoardName "Radeon 9200 Mobility"

Option "AGPMode" "4"
Option "EnablePageFlip" "On"
Option "CloneMode" "1024x768"
Option      "AGPMode" "2"
EndSection
genfbなカーネルでもradeonfbなカーネルでも次のようなメッセージで起動しません (/var/log/XFree86.0.logより抜粋)。
(II) Primary Device is: PCI 00:00:0
(WW) RADEON: No matching Device section for instance (BusID PCI:0:0:0) found
(EE) No devices detected.

Fatal server error:
no screens found
dmesgでもXF86ConfigでもPCI 0:16:0にディスプレイデバイスがあるのですが、ログではなぜかPCI 0:0:0について出力されています。そりゃぁNo devices detectedですわな。

うーん、よくわかりませんね。

名前:  非公開コメント   

  • TB-URL  http://www.tokuda.net/diary/0634/tb/

NetBSD/macppc 4.99.63でX Window System (radeonfbで苦戦)
2008/05/28(水) 25:52 NetBSD はてブ情報 はてブに登録 はてブ数

Mac miniにcurrentを入れて、Xを動かしてデスクトップとして使おうとしていますが、苦戦しています。

まず、radeonfbに困惑です。

NetBSD/macppcのGENERICカーネルは
# Display devices
# ofb*  at pci? dev ? function ?        # Generic Open Firmware Framebuffer
# OFB_ENABLE_CACHE speeds up the console on many machines, but should
# not be enabled on some older machines, such as the rev. A-D iMacs or any
# O'Hare based machine that uses external cache like the PowerBook 3400c
#options        OFB_ENABLE_CACHE        # Speed up console in ofb
#options        OFB_FAKE_VGA_FB         # Allow X to mmap VGA regs
chipsfb*        at pci? function ?      # C&T 65550
machfb*         at pci? function ?      # ATI Mach 64, Rage, Rage Pro

radeonfb*       at pci? function ?      # ATI Radeon. R3xx is problematic
options         RADEONFB_MMAP_BARS      # allow mmap()ing BARs - needed for X

voodoofb*       at pci? function ?      # 3Dfx Voodoo3 
r128fb*         at pci? function ?      # ATI Rage 128
genfb*          at pci? function ?
といった感じで適切なFramebufferデバイスを使うようになっており、Mac miniではradeonfbが使用されます。

で、使用された瞬間、画面が暗転します。画面は暗転しますが、キー入力は受け付けているようで、適切な入力ができればシャットダウンぐらいはできますね。って、それでは困ります。

さて、radeonfbが使われている状態のdmesgを見ると次のようになっています。起動時にradeonfbの検出を行ったぐらいでいきなり暗転するわけですね。
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 4.99.63 (GENERIC) #0: Mon May 19 16:09:15 PDT 2008
        builds@wb33:/home/builds/ab/HEAD/macppc/200805190002Z-obj/home/builds/ab/HEAD/src/sys/arch/macppc/compile/GENERIC
中略
radeonfb0 at pci0 dev 16 function 0: ATI Technologies Radeon 9200 5962
radeonfb0: Video BIOS not present
radeonfb0: No video BIOS, using default clocks
radeonfb0: refclk = 27.000 MHz, refdiv = 12 minpll = 125000, maxpll = 350000
radeonfb0: using static EDID
max_dotclock according to supported modes: 108000
Vendor: [ENC] 
Product: [1650] L565
Serial number: 0
Manufactured 2003 Week 38
EDID Version 1.2
EDID Comment: 
Video Input: 80
        Digital
Gamma: 2.20
Max Size: 34 cm x 27 cm
Features: ea
        DPMS standby
        DPMS suspend
        DPMS active-off
        RGB
        Preferred timing
Chroma Info:
        Red X: 0.639
        Red Y: 0.639
        Grn X: 0.290
        Grn Y: 0.610
        Blu X: 0.139
        Blu Y: 0.080
        Wht X: 0.309
        Wht Y: 0.330
Range:
        Horizontal: 30 - 65 kHz
        Vertical: 59 - 61 Hz
        Max Dot Clock: 110 MHz
Video modes:
        1024x768 @ 60Hz
        800x600 @ 60Hz
        640x480 @ 60Hz
        1280x1024 @ 60Hz
        1280x1024 @ 60Hz
Preferred mode: 1280x1024 @ 60Hz
radeonfb0: using static EDID
max_dotclock according to supported modes: 108000
Vendor: [ENC] 
Product: [1650] L565
Serial number: 0
Manufactured 2003 Week 38
EDID Version 1.2
EDID Comment: 
Video Input: 80
        Digital
Gamma: 2.20
Max Size: 34 cm x 27 cm
Features: ea
        DPMS standby
        DPMS suspend
        DPMS active-off
        RGB
        Preferred timing
Chroma Info:
        Red X: 0.639
        Red Y: 0.639
        Grn X: 0.290
        Grn Y: 0.610
        Blu X: 0.139
        Blu Y: 0.080
        Wht X: 0.309
        Wht Y: 0.330
Range:
        Horizontal: 30 - 65 kHz
        Vertical: 59 - 61 Hz
        Max Dot Clock: 110 MHz
Video modes:
        1024x768 @ 60Hz
        800x600 @ 60Hz
        640x480 @ 60Hz
        1280x1024 @ 60Hz
        1280x1024 @ 60Hz
Preferred mode: 1280x1024 @ 60Hz
radeonfb0: 64 MB aperture at 0x98000000, 64 KB registers at 0x90000000
radeonfb0: display 0: initial virtual resolution 1280x1024 at 32 bpp
radeonfb0: port 0: physical 1280x1024 60Hz
radeonfb0: port 1: physical 1280x1024 60Hz
init engine
wsdisplay0 at radeonfb0 kbdmux 1: console (fb, vt100 emulation)
wsmux1: connecting to wsdisplay0
drm at radeonfb0 not configured

中略
sshなどのリモートログインの方策がない場合、にっちもさっちもいかないのでこれでは困ります。結局のところ、radeonfbを無効にしたkernelを作れば当然ですが暗転することはありません。

ということで次のようなconfigのカーネルを作りました。
# Display devices
 ofb*   at pci? dev ? function ?        # Generic Open Firmware Framebuffer
# OFB_ENABLE_CACHE speeds up the console on many machines, but should
# not be enabled on some older machines, such as the rev. A-D iMacs or any
# O'Hare based machine that uses external cache like the PowerBook 3400c
options         OFB_ENABLE_CACHE        # Speed up console in ofb
options         OFB_FAKE_VGA_FB         # Allow X to mmap VGA regs
#chipsfb*       at pci? function ?      # C&T 65550
#machfb*                at pci? function ?      # ATI Mach 64, Rage, Rage Pro

#radeonfb*      at pci? function ?      # ATI Radeon. R3xx is problematic
#options        RADEONFB_MMAP_BARS      # allow mmap()ing BARs - needed for X

#voodoofb*      at pci? function ?      # 3Dfx Voodoo3 
#r128fb*                at pci? function ?      # ATI Rage 128
genfb*          at pci? function ?
dmesgで確認するとgenfbでデバイスが認識されています。ofbかと思っていたのですけどねぇ。なぜでしょう。
genfb0 at pci0 dev 16 function 0: ATI Technologies Radeon 9200 5962
genfb0: framebuffer at 0x9c008000, size 1280x1024, depth 8, stride 1280
wsdisplay0 at genfb0 kbdmux 1: console (default, vt100 emulation)
wsmux1: connecting to wsdisplay0
drm at genfb0 not configured

名前:  非公開コメント   

  • TB-URL  http://www.tokuda.net/diary/0633/tb/