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"
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編)
まずは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/