NetBSD/macppc 4.99.63でX Window System (中間まとめ)
とにかく、Xが動きませんね。
XFree86 (xsrc) だとディスプレイデバイスを見つけられず、起動しない。
modular-xorg (pkgsrc) だとロードモジュールを読み込み中にcore dumpして起動しない。
やれやれ。こまったもんです。粘るのをやめるしたら、次の選択肢ぐらいですか。
XFree86 (xsrc) だとディスプレイデバイスを見つけられず、起動しない。
modular-xorg (pkgsrc) だとロードモジュールを読み込み中にcore dumpして起動しない。
やれやれ。こまったもんです。粘るのをやめるしたら、次の選択肢ぐらいですか。
- NetBSD 4.0を試す
- Mac OS Xに戻す
- Linuxを試す
- TB-URL http://www.tokuda.net/diary/0636/tb/
NetBSD/macppc 4.99.63でX Window System (modular-xorg編)
pkgsrcのmodular-xorgで試してみました。
xorg.confのdeviceセクションは次のとおりです
gdbにかけてみます。
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" EndSectiongenfbでも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編)
まずはxsrcに含まれるXFree86です。
XF86ConfigのDeviceセクションは次のようになっています。ftp://ftp.ki.nu/pub/NetBSD/port-macppc/XFree86/XF86Config/miniから頂いたものです。
うーん、よくわかりませんね。
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" EndSectiongenfbなカーネルでも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 founddmesgでも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で苦戦)
Mac miniにcurrentを入れて、Xを動かしてデスクトップとして使おうとしていますが、苦戦しています。
まず、radeonfbに困惑です。
NetBSD/macppcのGENERICカーネルは
で、使用された瞬間、画面が暗転します。画面は暗転しますが、キー入力は受け付けているようで、適切な入力ができればシャットダウンぐらいはできますね。って、それでは困ります。
さて、radeonfbが使われている状態のdmesgを見ると次のようになっています。起動時にradeonfbの検出を行ったぐらいでいきなり暗転するわけですね。
ということで次のようなconfigのカーネルを作りました。
まず、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/