Есть винтажный ноут IBM ThinkPad 600 с видеочипом Neomagic MagicGraph 128XD (NM2160) c Debian Jessie.
Понимаю, что от этого чипа не следует ждать 3D-ускорения, но на данный момент он работает вовсе как видеозамедлитель - любое анимирананное 2d рендерится с фризами, в doom fps ~1.
glxgears показывает около 6 fps, в Wheeze было максимум 1,5 fps, в то время как в Squeeze доходило хотя-бы до 17 (с software rasterizer).
При этом ни в одном дистре я так и не увидел задействованного драйвера neomagic.
На данный момент имеем-с:
1. Xorg.0.log - какой драйвер активен (neomagic,fb,etc)?
# cat /var/log/Xorg.0.log
X.Org X Server 1.16.4
[ 36.808] (II) Loader magic: 0xb770f700
[ 36.808] (II) Module ABI versions:
[ 36.808] X.Org ANSI C Emulation: 0.4
[ 36.808] X.Org Video Driver: 18.0
[ 36.808] X.Org XInput driver : 21.0
[ 36.808] X.Org Server Extension : 8.0
[ 36.814] (--) PCI:*(0:0:3:0) 10c8:0004:10c8:0004 rev 1, Mem @ 0xe0000000/16777216, 0x20000000/2097152, 0x20200000/1048576
[ 36.920] (II) LoadModule: "glx"
[ 37.135] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 37.822] (II) Module glx: vendor="X.Org Foundation"
[ 37.822] compiled for 1.16.4, module version = 1.0.0
[ 37.822] ABI class: X.Org Server Extension, version 8.0
[ 37.822] (==) AIGLX enabled
[ 37.823] (==) Matched neomagic as autoconfigured driver 0
[ 37.823] (==) Matched modesetting as autoconfigured driver 1
[ 37.823] (==) Matched fbdev as autoconfigured driver 2
[ 37.823] (==) Matched vesa as autoconfigured driver 3
[ 37.823] (==) Assigned the driver to the xf86ConfigLayout
[ 37.823] (II) LoadModule: "neomagic"
[ 37.824] (II) Loading /usr/lib/xorg/modules/drivers/neomagic_drv.so
[ 37.898] (II) Module neomagic: vendor="X.Org Foundation"
[ 37.898] compiled for 1.15.99.904, module version = 1.2.8
[ 37.898] Module class: X.Org Video Driver
[ 37.899] ABI class: X.Org Video Driver, version 18.0
[ 37.899] (II) LoadModule: "modesetting"
[ 37.900] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 37.996] (II) Module modesetting: vendor="X.Org Foundation"
[ 37.996] compiled for 1.15.99.904, module version = 0.9.0
[ 37.996] Module class: X.Org Video Driver
[ 37.996] ABI class: X.Org Video Driver, version 18.0
[ 37.996] (II) LoadModule: "fbdev"
[ 37.997] (II) Loading /usr/lib/xorg/modules/drivers/fbdev_drv.so
[ 38.076] (II) Module fbdev: vendor="X.Org Foundation"
[ 38.076] compiled for 1.15.99.904, module version = 0.4.4
[ 38.076] Module class: X.Org Video Driver
[ 38.076] ABI class: X.Org Video Driver, version 18.0
[ 38.076] (II) LoadModule: "vesa"
[ 38.077] (II) Loading /usr/lib/xorg/modules/drivers/vesa_drv.so
[ 38.143] (II) Module vesa: vendor="X.Org Foundation"
[ 38.143] compiled for 1.15.99.904, module version = 2.3.3
[ 38.143] Module class: X.Org Video Driver
[ 38.143] ABI class: X.Org Video Driver, version 18.0
[ 38.143] (II) NEOMAGIC: Driver for Neomagic chipsets: neo2070, neo2090, neo2093,
neo2097, neo2160, neo2200, neo2230, neo2360, neo2380
[ 38.143] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 38.144] (II) FBDEV: driver for framebuffer: fbdev
[ 38.144] (II) VESA: driver for VESA chipsets: vesa
[ 38.144] (++) using VT number 7
[ 38.158] (WW) Falling back to old probe method for neomagic
[ 38.158] (--) Assigning device section with no busID to primary device
[ 38.158] (--) Chipset neo2160 found
[ 38.158] (WW) Falling back to old probe method for modesetting
[ 38.158] (EE) open /dev/dri/card0: No such file or directory
[ 38.159] (WW) Falling back to old probe method for fbdev
[ 38.159] (II) Loading sub module "fbdevhw"
[ 38.159] (II) LoadModule: "fbdevhw"
[ 38.242] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 38.305] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 38.305] compiled for 1.16.4, module version = 0.0.2
[ 38.305] ABI class: X.Org Video Driver, version 18.0
[ 38.306] (EE) open /dev/fb0: No such file or directory
[ 38.306] (WW) Falling back to old probe method for vesa
[ 38.308] (II) Loading sub module "vgahw"
[ 38.309] (II) LoadModule: "vgahw"
[ 38.333] (II) Loading /usr/lib/xorg/modules/libvgahw.so
[ 38.397] (II) Module vgahw: vendor="X.Org Foundation"
[ 38.397] compiled for 1.16.4, module version = 0.1.0
[ 38.397] ABI class: X.Org Video Driver, version 18.0
[ 38.398] (II) NEOMAGIC(0): Chipset is a MagicGraph 128XD (NM2160)
[ 38.398] (II) NEOMAGIC(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0
[ 38.398] (--) NEOMAGIC(0): Panel is a 1024x768 color TFT display
[ 38.398] (II) Loading sub module "ddc"
[ 38.398] (II) LoadModule: "ddc"
[ 38.398] (II) Module "ddc" already built-in
[ 38.399] (II) Loading sub module "vbe"
[ 38.399] (II) LoadModule: "vbe"
[ 38.400] (II) Loading /usr/lib/xorg/modules/libvbe.so
[ 38.457] (II) Module vbe: vendor="X.Org Foundation"
[ 38.457] compiled for 1.16.4, module version = 1.1.0
[ 38.457] ABI class: X.Org Video Driver, version 18.0
[ 38.457] (II) Loading sub module "int10"
[ 38.458] (II) LoadModule: "int10"
[ 38.459] (II) Loading /usr/lib/xorg/modules/libint10.so
[ 38.471] (II) Module int10: vendor="X.Org Foundation"
[ 38.471] compiled for 1.16.4, module version = 1.0.0
[ 38.471] ABI class: X.Org Video Driver, version 18.0
[ 38.471] (II) NEOMAGIC(0): initializing int10
[ 38.480] (II) NEOMAGIC(0): Primary V_BIOS segment is: 0xc000
[ 38.482] (II) NEOMAGIC(0): VESA BIOS detected
[ 38.482] (II) NEOMAGIC(0): VESA VBE Version 2.0
[ 38.482] (II) NEOMAGIC(0): VESA VBE Total Mem: 1984 kB
[ 38.482] (II) NEOMAGIC(0): VESA VBE OEM: MagicGraph 128XD 40K SVGA BIOS
[ 38.482] (II) NEOMAGIC(0): VESA VBE OEM Software Rev: 1.28
[ 38.483] (II) NEOMAGIC(0): VESA VBE OEM Vendor: NeoMagic
[ 38.483] (II) NEOMAGIC(0): VESA VBE OEM Product: MagicGraph 128XV
[ 38.483] (II) NEOMAGIC(0): VESA VBE OEM Product Rev: 01.0
[ 38.612] (II) NEOMAGIC(0): VESA VBE DDC supported
[ 38.613] (II) NEOMAGIC(0): VESA VBE DDC Level none
[ 38.613] (II) NEOMAGIC(0): VESA VBE DDC transfer in appr. 0 sec.
[ 38.914] (II) NEOMAGIC(0): VESA VBE DDC read failed
[ 38.915] (II) Loading sub module "i2c"
[ 38.915] (II) LoadModule: "i2c"
[ 38.915] (II) Module "i2c" already built-in
[ 38.927] (II) NEOMAGIC(0): I2C bus "I2C bus" initialized.
[ 38.927] (II) NEOMAGIC(0): I2C device "I2C bus:ddc2" registered at address 0xA0.
[ 40.777] (--) NEOMAGIC(0): No DDC signal
[ 40.777] (II) NEOMAGIC(0): Creating default Display subsection in Screen section
"Default Screen Section" for depth/fbbpp 16/16
[ 40.777] (==) NEOMAGIC(0): Depth 16, (--) framebuffer bpp 16
[ 40.777] (==) NEOMAGIC(0): RGB weight 565
[ 40.778] (==) NEOMAGIC(0): Default visual is TrueColor
[ 40.778] (==) NEOMAGIC(0): Using gamma correction (1.0, 1.0, 1.0)
[ 40.778] (--) NEOMAGIC(0): Internal LCD only display mode
[ 40.778] (**) NEOMAGIC(0): using PCI Burst mode
[ 40.778] (**) NEOMAGIC(0): Option StrangeLockups set: disabling some acceleration
[ 40.778] (II) Loading sub module "xaa"
[ 40.778] (II) LoadModule: "xaa"
[ 40.803] (WW) Warning, couldn't open module xaa
[ 40.803] (II) UnloadModule: "xaa"
[ 40.803] (II) Unloading xaa
[ 40.803] (EE) NEOMAGIC: Failed to load module "xaa" (module does not exist, 0)
[ 40.803] (II) NEOMAGIC(0): Falling back to shadow
[ 40.803] (II) Loading sub module "shadow"
[ 40.803] (II) LoadModule: "shadow"
[ 40.805] (II) Loading /usr/lib/xorg/modules/libshadow.so
[ 40.836] (II) Module shadow: vendor="X.Org Foundation"
[ 40.836] compiled for 1.16.4, module version = 1.1.0
[ 40.836] ABI class: X.Org ANSI C Emulation, version 0.4
[ 40.836] (**) NEOMAGIC(0): Using "Shadow Framebuffer" - acceleration disabled
[ 40.836] (--) NEOMAGIC(0): FB base address is set at 0xE0000000.
[ 40.836] (--) NEOMAGIC(0): MMIO base address is set at 0x20000000.
[ 40.836] (--) NEOMAGIC(0): MMIO base address2 is set at 0x20200000.
[ 40.837] (--) NEOMAGIC(0): VideoRAM: 2048 kByte
[ 40.837] (--) NEOMAGIC(0): Max Clock: 90000 kHz
[ 40.837] (--) NEOMAGIC(0): Using hsync range matching panel size: 28.00-49.31 kHz
[ 40.837] (--) NEOMAGIC(0): Using vsync range for panel: 55.00-65.00 kHz
[ 40.837] (II) NEOMAGIC(0): <default monitor>: Using hsync range of 28.00-49.31 kHz
[ 40.837] (II) NEOMAGIC(0): <default monitor>: Using vrefresh range of 55.00-65.00 Hz
[ 40.837] (WW) NEOMAGIC(0): Unable to estimate virtual size
[ 40.837] (II) NEOMAGIC(0): Clock range: 11.00 to 90.00 MHz
"1024x768" (bad mode clock/interlace/doublescan)
[ 40.852] (--) NEOMAGIC(0): Virtual size is 1024x768 (pitch 1024)
[ 40.852] (**) NEOMAGIC(0): *Default mode "1024x768": 65.0 MHz, 48.4 kHz, 60.0 Hz
[ 40.852] (II) NEOMAGIC(0): Modeline "1024x768"x60.0 65.00 1024 1048 1184 1344 768 771 777 806 -hsync -vsync (48.4 kHz zd)
[ 40.852] (**) NEOMAGIC(0): *Default mode "800x600": 40.0 MHz, 37.9 kHz, 60.3 Hz
[ 40.852] (II) NEOMAGIC(0): Modeline "800x600"x60.3 40.00 800 840 968 1056 600 601 605 628 +hsync +vsync (37.9 kHz zd)
[ 40.852] (**) NEOMAGIC(0): *Default mode "800x600": 36.0 MHz, 35.2 kHz, 56.2 Hz
[ 40.853] (II) NEOMAGIC(0): Modeline "800x600"x56.2 36.00 800 824 896 1024 600 601 603 625 +hsync +vsync (35.2 kHz zd)
[ 40.853] (**) NEOMAGIC(0): *Default mode "640x480": 25.2 MHz, 31.5 kHz, 59.9 Hz
[ 40.853] (II) NEOMAGIC(0): Modeline "640x480"x59.9 25.18 640 656 752 800 480 490 492 525 -hsync -vsync (31.5 kHz zd)
[ 40.853] (**) NEOMAGIC(0): *Default mode "320x240": 12.6 MHz, 31.5 kHz, 60.1 Hz (D)
[ 40.853] (II) NEOMAGIC(0): Modeline "320x240"x60.1 12.59 320 328 376 400 240 245 246 262 doublescan -hsync -vsync (31.5 kHz zd)
[ 40.853] (==) NEOMAGIC(0): DPI set to (96, 96)
[ 40.853] (II) Loading sub module "fb"
[ 40.853] (II) LoadModule: "fb"
[ 40.855] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 40.860] (II) Module fb: vendor="X.Org Foundation"
[ 40.861] compiled for 1.16.4, module version = 1.0.0
[ 40.861] ABI class: X.Org ANSI C Emulation, version 0.4
[ 40.861] (II) Loading sub module "ramdac"
[ 40.861] (II) LoadModule: "ramdac"
[ 40.861] (II) Module "ramdac" already built-in
[ 40.861] (II) UnloadModule: "modesetting"
[ 40.861] (II) Unloading modesetting
[ 40.862] (II) UnloadModule: "fbdev"
[ 40.862] (II) Unloading fbdev
[ 40.862] (II) UnloadSubModule: "fbdevhw"
[ 40.862] (II) Unloading fbdevhw
[ 40.863] (II) UnloadModule: "vesa"
[ 40.863] (II) Unloading vesa
[ 40.999] (II) NEOMAGIC(0): Stretching disabled
[ 41.443] (II) NEOMAGIC(0): Using linear framebuffer at: 0xE0000000
[ 41.443] (--) NEOMAGIC(0): 524288 bytes off-screen memory available
[ 41.443] (II) NEOMAGIC(0): Using H/W Cursor.
[ 41.443] (II) NEOMAGIC(0): Using 255 scanlines of offscreen memory
[ 41.443] (==) NEOMAGIC(0): Backing store enabled
[ 41.444] (==) NEOMAGIC(0): Silken mouse enabled
[ 41.451] (==) NEOMAGIC(0): DPMS enabled
[ 41.452] (==) RandR enabled
[ 41.562] (II) SELinux: Disabled on system
[ 41.578] (II) AIGLX: Screen 0 is not DRI2 capable
[ 41.578] (EE) AIGLX: reverting to software rendering
[ 42.829] (II) AIGLX: Loaded and initialized swrast
[ 42.829] (II) GLX: Initialized DRISWRAST GL provider for screen 0
[ 44.038] (II) config/udev: Adding input device Power Button (/dev/input/event3)
[ 44.038] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[ 44.038] (II) LoadModule: "evdev"
[ 44.040] (II) Loading /usr/lib/xorg/modules/input/evdev_drv.so
[ 44.124] (II) Module evdev: vendor="X.Org Foundation"
[ 44.124] compiled for 1.16.0, module version = 2.9.0
[ 44.124] Module class: X.Org XInput Driver
[ 44.124] ABI class: X.Org XInput driver, version 21.0
[ 44.124] (II) Using input driver 'evdev' for 'Power Button'
[ 44.125] (**) Power Button: always reports core events
[ 44.125] (**) evdev: Power Button: Device: "/dev/input/event3"
[ 44.126] (--) evdev: Power Button: Vendor 0 Product 0x1
[ 44.126] (--) evdev: Power Button: Found keys
[ 44.126] (II) evdev: Power Button: Configuring as keyboard
[ 44.127] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXPWRBN:00/input/input4/event3"
[ 44.127] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 6)
[ 44.127] (**) Option "xkb_rules" "evdev"
[ 44.127] (**) Option "xkb_model" "pc105"
[ 44.127] (**) Option "xkb_layout" "us,ru"
[ 44.127] (**) Option "xkb_variant" ","
[ 44.127] (**) Option "xkb_options" "grp:alt_shift_toggle,grp_led:scroll"
[ 44.472] (II) config/udev: Adding input device Video Bus (/dev/input/event4)
[ 44.473] (**) Video Bus: Applying InputClass "evdev keyboard catchall"
[ 44.473] (II) Using input driver 'evdev' for 'Video Bus'
[ 44.473] (**) Video Bus: always reports core events
[ 44.473] (**) evdev: Video Bus: Device: "/dev/input/event4"
[ 44.474] (--) evdev: Video Bus: Vendor 0 Product 0x6
[ 44.474] (--) evdev: Video Bus: Found keys
[ 44.474] (II) evdev: Video Bus: Configuring as keyboard
[ 44.474] (**) Option "config_info" "udev:/sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A03:00/LNXVIDEO:00/input/input5/event4"
2. glxinfo - здесь, как понимаю, значится базовый драйвер с программным рендерингом?
# glxinfo | grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 3.5, 128 bits)
OpenGL version string: 3.0 Mesa 10.3.2
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
3. lscpi, VGA-драйвер не указан. В дистре ConnochaetOS значился neofb. А здесь:
# lspci -kv
00:03.0 VGA compatible controller: Neomagic Corporation NM2160 [MagicGraph 128XD] (rev 01) (prog-if 00 [VGA controller])
Subsystem: Neomagic Corporation MagicGraph 128XD
Flags: bus master, medium devsel, latency 128, IRQ 11
Memory at e0000000 (32-bit, prefetchable) [size=16M]
Memory at 20000000 (32-bit, non-prefetchable) [size=2M]
Memory at 20200000 (32-bit, non-prefetchable) [size=1M]
Expansion ROM at <unassigned> [disabled]
Подозреваю у себя путаницу в понимании теории и прошу помощи разобраться что к чему, как активировать то, что зовётся xserver-xorg-video-neomagic'ом и нужно ли конфигурировать иксы с созданием xorg.conf?
PS: прошу прощения за грубое оформление, моментами не осилил. Как укоротить вывод шелла, загнав его в скролл?