今天,我尝试在配备 S3 Savage IX-MV 视频芯片的 HP OmniBook XE3 上启动 Kubuntu 12.04 LTS,结果发现:
$ glxinfo|egrep 'renderer|direct'
direct rendering: Yes
OpenGL renderer string: Gallium 0.4 on softpipe
$ grep '(EE)' /var/log/Xorg.0.log
(WW) warning, (EE) error, (NI) not implemented, (??) unknown
$ grep 'SAVAGE(' /var/log/Xorg.0.log | grep -vE 'Chose mode|Not using|No suitable BIOS mode found for|\[junkers\]'
[ 340.560] (II) SAVAGE(0): Creating default Display subsection in Screen section
[ 340.560] (++) SAVAGE(0): Depth 16, (--) framebuffer bpp 16
[ 340.560] (==) SAVAGE(0): RGB weight 565
[ 340.560] (==) SAVAGE(0): Default visual is TrueColor
[ 340.560] (II) SAVAGE(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x0000
[ 340.560] (==) SAVAGE(0): Using XAA acceleration architecture
[ 340.560] (==) SAVAGE(0): Using HW cursor
[ 340.560] (==) SAVAGE(0): Using video BIOS to set modes
[ 340.578] (II) SAVAGE(0): initializing int10
[ 340.584] (II) SAVAGE(0): Primary V_BIOS segment is: 0xc000
[ 340.585] (II) SAVAGE(0): VESA BIOS detected
[ 340.585] (II) SAVAGE(0): VESA VBE Version 2.0
[ 340.585] (II) SAVAGE(0): VESA VBE Total Mem: 8192 kB
[ 340.585] (II) SAVAGE(0): VESA VBE OEM: S3 Incorporated. M7 BIOS
[ 340.585] (II) SAVAGE(0): VESA VBE OEM Software Rev: 1.0
[ 340.586] (II) SAVAGE(0): VESA VBE OEM Vendor: S3 Incorporated.
[ 340.586] (II) SAVAGE(0): VESA VBE OEM Product: VBE 2.0
[ 340.586] (II) SAVAGE(0): VESA VBE OEM Product Rev: Rev 1.1
[ 340.586] (--) SAVAGE(0): Chip: id 8c12, "Savage/IX-MV"
[ 340.586] (--) SAVAGE(0): Engine: "MobileSavage"
[ 340.586] (--) SAVAGE(0): AGP card detected
[ 340.586] (==) SAVAGE(0): Using BusType PCI by default
[ 340.587] (==) SAVAGE(0): Using PCI DMA
[ 340.587] (II) SAVAGE(0): Savage3D/MX/IX does not support command DMA.
[ 340.587] (==) SAVAGE(0): Will try only vertex DMA mode
[ 340.625] (==) SAVAGE(0): Using gamma correction (1.0, 1.0, 1.0)
[ 340.625] (--) SAVAGE(0): probed videoram: 8192k
[ 341.586] (--) SAVAGE(0): No DDC signal
[ 341.587] (II) SAVAGE(0): I2C bus "I2C bus" initialized.
[ 341.587] (II) SAVAGE(0): I2C device "I2C bus:ddc2" registered at address 0xA0.
[ 341.593] (--) SAVAGE(0): Detected current MCLK value of 83.045 MHz
[ 341.593] (--) SAVAGE(0): 1024x768 TFT LCD panel detected and active
[ 341.593] (--) SAVAGE(0): - Limiting video mode to 1024x768
[ 341.653] (--) SAVAGE(0): Found 13 modes at this depth:
[ 341.656] (II) SAVAGE(0): Monitor0: Using hsync range of 31.50-47.82 kHz
[ 341.656] (II) SAVAGE(0): Monitor0: Using vrefresh range of 56.00-59.92 Hz
[ 341.656] (II) SAVAGE(0): Monitor0: Using maximum pixel clock of 63.50 MHz
[ 341.656] (II) SAVAGE(0): Estimated virtual size for aspect ratio 1.3333 is 1024x768
[ 341.656] (II) SAVAGE(0): Clock range: 10.00 to 250.00 MHz
[ 341.666] (--) SAVAGE(0): Virtual size is 1024x768 (pitch 1024)
[ 341.666] (**) SAVAGE(0): *Driver mode "1024x768": 56.0 MHz, 47.3 kHz, 59.9 Hz
[ 341.666] (II) SAVAGE(0): Modeline "1024x768"x59.9 56.00 1024 1072 1104 1184 768 771 775 790 +hsync -vsync (47.3 kHz)
[ 341.666] (**) SAVAGE(0): *Default mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz
[ 341.667] (II) SAVAGE(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz)
[ 341.667] (**) SAVAGE(0): *Default mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz
[ 341.667] (II) SAVAGE(0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz)
[ 341.667] (**) SAVAGE(0): *Default mode "640x480": 25.2 MHz, 31.5 kHz, 59.9 Hz
[ 341.667] (II) SAVAGE(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz)
[ 341.667] (**) SAVAGE(0): *Default mode "400x300": 20.0 MHz, 37.9 kHz, 60.3 Hz (D)
[ 341.667] (II) SAVAGE(0): Modeline "400x300"x60.3 20.00 400 420 484 528 300 300 302 314 doublescan +hsync +vsync (37.9 kHz)
[ 341.667] (**) SAVAGE(0): *Default mode "400x300": 18.0 MHz, 35.2 kHz, 56.3 Hz (D)
[ 341.667] (II) SAVAGE(0): Modeline "400x300"x56.3 18.00 400 412 448 512 300 300 301 312 doublescan +hsync +vsync (35.2 kHz)
[ 341.667] (**) SAVAGE(0): *Default mode "320x240": 12.6 MHz, 31.5 kHz, 60.1 Hz (D)
[ 341.667] (II) SAVAGE(0): Modeline "320x240"x60.1 12.59 320 328 376 400 240 245 246 262 doublescan -hsync -vsync (31.5 kHz)
[ 341.667] (==) SAVAGE(0): DPI set to (96, 96)
[ 341.674] (II) SAVAGE(0): initializing int10
[ 341.675] (II) SAVAGE(0): Primary V_BIOS segment is: 0xc000
[ 341.676] (II) SAVAGE(0): VESA BIOS detected
[ 341.677] (II) SAVAGE(0): VESA VBE Version 2.0
[ 341.677] (II) SAVAGE(0): VESA VBE Total Mem: 8192 kB
[ 341.677] (II) SAVAGE(0): VESA VBE OEM: S3 Incorporated. M7 BIOS
[ 341.677] (II) SAVAGE(0): VESA VBE OEM Software Rev: 1.0
[ 341.677] (II) SAVAGE(0): VESA VBE OEM Vendor: S3 Incorporated.
[ 341.677] (II) SAVAGE(0): VESA VBE OEM Product: VBE 2.0
[ 341.677] (II) SAVAGE(0): VESA VBE OEM Product Rev: Rev 1.1
[ 341.784] (II) SAVAGE(0): 4740 kB of Videoram needed for 3D; 8192 kB of Videoram available
[ 341.784] (II) SAVAGE(0): Sufficient Videoram available for 3D
[ 341.784] (II) SAVAGE(0): [drm] bpp: 16 depth: 16
[ 341.784] (II) SAVAGE(0): [drm] Sarea 2200+284: 2484
[ 342.869] (II) SAVAGE(0): [drm] Using the DRM lock SAREA also for drawables.
[ 342.869] (II) SAVAGE(0): [drm] framebuffer handle = 0xf0000000
[ 342.869] (II) SAVAGE(0): [drm] added 1 reserved context for kernel
[ 342.869] (II) SAVAGE(0): X context handle = 0x1
[ 342.869] (II) SAVAGE(0): [drm] installed DRM signal handler
[ 342.869] (II) SAVAGE(0): [drm] aperture handle = 0xf2000000
[ 342.869] (II) SAVAGE(0): [drm] Enabling ShadowStatus for DRI.
[ 342.869] (II) SAVAGE(0): [drm] Status handle = 0x0b388000
[ 342.869] (II) SAVAGE(0): [drm] Status page mapped at 0xb77c7000
[ 342.894] (II) SAVAGE(0): [drm] Added 32 65536 byte DMA buffers
[ 342.895] (II) SAVAGE(0): [dri] visual configs initialized
[ 342.895] (**) SAVAGE(0): DRI is enabled
[ 343.670] (II) SAVAGE(0): virtualX:1024,virtualY:768
[ 343.670] (II) SAVAGE(0): bpp:16,tiledwidthBytes:2048,tiledBufferSize:1572864
[ 343.670] (II) SAVAGE(0): bpp:16,widthBytes:2048,BufferSize:1572864
[ 343.671] (II) SAVAGE(0): videoRambytes:0x00800000
[ 343.671] (II) SAVAGE(0): textureSize:0x0015f000
[ 343.671] (II) SAVAGE(0): textureSize:0x0015f000
[ 343.671] (II) SAVAGE(0): textureOffset:0x00680000
[ 343.671] (II) SAVAGE(0): depthOffset:0x00500000,depthPitch:2048
[ 343.671] (II) SAVAGE(0): backOffset:0x00380000,backPitch:2048
[ 343.671] (II) SAVAGE(0): Reserved back buffer at offset 0x380000
[ 343.671] (II) SAVAGE(0): Reserved depth buffer at offset 0x500000
[ 343.671] (II) SAVAGE(0): Reserved 1404 kb for textures at offset 0x680000
[ 343.671] (II) SAVAGE(0): Using 1023 lines for offscreen memory.
[ 343.671] (II) SAVAGE(0): Using XFree86 Acceleration Architecture (XAA)
[ 343.672] (==) SAVAGE(0): Backing store disabled
[ 343.672] (**) SAVAGE(0): DPMS enabled
[ 343.673] (II) SAVAGE(0): [DRI] installation complete
[ 343.676] (II) SAVAGE(0): Direct rendering enabled
从日志来看,一切似乎都已正确初始化。但我仍然有软件渲染而不是硬件加速。当然,启动glxgears
确认软件渲染正在完成,即我在全屏模式下获得 0.68 FPS。
所以我的问题是:这些芯片上对硬件加速的支持是否被Mesa完全抛弃了?或者我在某个地方配置错误?
答案1
是的,旧的 GPU 无法用于现代 Mesa 版本的 OpenGL。自 2012 年以来,他们的支持已被放弃。以下是相关的 mesa-dev 线程。
第一个没有遗留驱动程序的 Mesa 版本是梅萨8.0。