[Openchrome-users] HW acceleration for CX700 (VT3157)?
Michael Wang
mwang
Sat Nov 24 09:00:59 PST 2007
01.
I have CX700 (VT3157, in VM-7700V box,
Processor : Onboard VIA C7 1 GHz, VIA Eden ULV 1.5 GHz
Memory : 1 x DDR2 533 MHz SO-DIMM supporting up to 1GB
Graphics : VIA UniChrome Pro II AGP graphics with MPEG-2 / 4,
WMV9 decoding accelerator
My goal is to get HW acceleration to work, so that it can play video
smoothly. I tried openchrome driver (experimental brach), it works
but I got this message:
(WW) VIA(0): [XvMC] Not supported on this chipset.
Does this mean XvMC support for CX700 is available in the driver?
Is there a plan to add XvMC support for CX700 in openchrome driver
so that I can use HW acceleration?
02.
What are the options to get HW accelaration for CX700 (VT3157)?
I have tried both VeXP and VeMP with via driver and VIA Technologies
recommended kernel and module patces (details are listed below), but I
could not get none of them to use HW acceleration, although VeXP release
note does say it support HW acceleration for MPEG2/MPEG4 by UniChrome
Graphics on CX700(M/M2).
The only HW acceleration I can get to work is by VeXP produced binary
"viaexpfb" which uses the frame buffer driver "viafb", but the HW
acceleration works only for MPEG-2 but NOT MPEG-4. Also, the frame buffer
driver causes freezes, and screen messups.
Has anyone got HW accelaration for CX700 work in any other way?
The kernel patches:
what: AGP patch
file: cle266cn400cn-cx700cn800xorg40072-kernel-src_20061226c(20070604103608).zip
URL : http://www.viaarena.com/default.aspx?PageID=420&OSID=25&CatID=2580&SubCatID=184
what: Enabling PIDE DMA mode with VIA South Bridge chips
file: Enable PATA/IDE DMA Mode in VIA South Bridge Chips HOWTO
URL : http://www.viaarena.com/default.aspx?PageID=22&DSCat=187&DCatType=3
note: "The only different thing is to modify the ID from 0x5324 to 0x0581
due to the DeviceID of IDE controller in PX board is 0x0581".
URL : http://forums.viaarena.com/messageview.aspx?catid=28&threadid=77966&STARTPAGE=2&FTVAR_FORUMVIEWTMP=Linear
The new kernel seem to work because dmesg shows:
# dmesg | grep agp
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected VIA CX700 chipset
agpgart: AGP aperture is 512M @ 0x80000000
agpgart: Found an AGP 3.5 compliant device at 0000:00:00.0.
agpgart: X tried to set rate=x12. Setting to AGP3 x8 mode.
agpgart: Putting AGP V3 device at 0000:00:00.0 into 8x mode
agpgart: Putting AGP V3 device at 0000:01:00.0 into 8x mode
agpgart: Found an AGP 3.5 compliant device at 0000:00:00.0.
agpgart: X tried to set rate=x12. Setting to AGP3 x8 mode.
agpgart: Putting AGP V3 device at 0000:00:00.0 into 8x mode
agpgart: Putting AGP V3 device at 0000:01:00.0 into 8x mode
# dmesg | grep IDE
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
VP_IDE: IDE controller at PCI slot 0000:00:0f.0
VP_IDE: chipset revision 0
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA cx700 (rev 00) IDE UDMA133 controller on pci0000:00:0f.0
Probing IDE interface ide1...
Probing IDE interface ide0...
All the modules are installed using:
file: cle266cn400cn-cx700cn800xorg40072-kernel-src_20061226c(20070604103608).zip
URL : http://www.viaarena.com/default.aspx?PageID=420&OSID=25&CatID=2580&SubCatID=184
namely:
libddmpeg.so via.ko via_dri.so via_drv.so via_v4l_drv.ko
(libddmeg.so is not a module, it is a library).
# dmesg | grep drm
[drm] Initialized drm 1.0.1 20051102
[drm] Initialized via 2.6.3 20050523 on minor 0
# lsmod | grep via
via_v4l_drv 456852 0
via 40544 3 via_v4l_drv
drm 72852 3 via
videodev 27136 1 via_v4l_drv
via_velocity 37284 0
crc_ccitt 6400 1 via_velocity
The X is started using the via driver. Lines in Xorg.0.log shows:
211 (II) Loading extension XVideo-MotionCompensation
239 (II) LoadModule: "via"
240 (II) Loading /usr/lib/xorg/modules/drivers/via_drv.so
256 (II) via: driver for VIA chipsets: CLE266, KM400/KN400, K8M800/K8N800,
257 PM800/PM880/CN400, P4M800PRO, CX700, K8M890, P4M890, CN750, P4M9
260 (--) Chipset CX700 found
337 (--) VIA(0): Chipset: "CX700"
338 (--) VIA(0): Chipset Rev.: 0
687 (**) VIA(0): Display dimensions: (330, 240) mm
688 (**) VIA(0): DPI set to (78, 81)
690 (II) Loading sub module "fb"
691 (II) LoadModule: "fb"
692 (II) Loading /usr/lib/xorg/modules/libfb.so
693 (II) Module fb: vendor="X.Org Foundation"
694 compiled for 7.1.1, module version = 1.0.0
695 ABI class: X.Org ANSI C Emulation, version 0.3
696 (II) Loading sub module "xaa"
697 (II) LoadModule: "xaa"
698 (II) Loading /usr/lib/xorg/modules/libxaa.so
699 (II) Module xaa: vendor="X.Org Foundation"
700 compiled for 7.1.1, module version = 1.2.0
701 ABI class: X.Org Video Driver, version 1.0
758 (II) VIA(0): vgaHWGetIOBase: hwp->IOBase is 0x03d0, hwp->PIOOffset is 0x 0000
759 (II) VIA(0): VIAScreenInit : V4L Enabled : fd2 = 10
763 drmOpenDevice: node name is /dev/dri/card0
764 drmOpenDevice: open result is 11, (OK)
765 drmOpenDevice: node name is /dev/dri/card0
766 drmOpenDevice: open result is 11, (OK)
767 drmOpenByBusid: Searching for BusID PCI:1:0:0
768 drmOpenDevice: node name is /dev/dri/card0
769 drmOpenDevice: open result is 11, (OK)
770 drmOpenByBusid: drmOpenMinor returns 11
771 drmOpenByBusid: drmGetBusid reports pci:0000:01:00.0
772 (II) VIA(0): [drm] DRM interface version 1.2
773 (II) VIA(0): [drm] created "via" driver at busid "PCI:1:0:0"
774 (II) VIA(0): [drm] added 8192 byte SAREA at 0xe0ae0000
775 (II) VIA(0): [drm] mapped SAREA 0xe0ae0000 to 0xb7ff3000
776 (II) VIA(0): [drm] framebuffer handle = 0xa0000000
777 (II) VIA(0): [drm] added 1 reserved context for kernel
778 (II) VIA(0): [drm] drmAgpEnabled succeeded
779 (II) VIA(0): [drm] agpAddr = 0x80000000
780 (II) VIA(0): [drm] agpBase = 0x00000000
781 (II) VIA(0): [drm] agpAddr = 0x80000000
782 (II) VIA(0): [drm] agpSize = 0x02000000
783 (II) VIA(0): [drm] agp physical addr = 0x00000000
784 (II) VIA(0): [dri] use agp.
785 (II) VIA(0): [dri] frame buffer initialized.
786 (II) VIA(0): [dri] visual configs initialized.
787 (II) VIA(0): [drm] register handle = 0xdd000000
788 (II) VIA(0): [drm] mmio Registers = 0xdd000000
789 (II) VIA(0): [dri] mmio maped.
790 (II) VIA(0): VIAInternalScreenInit
791 (II) VIA(0): Frame Buffer From (0,0) To (1024,1280)
792 (II) VIA(0): Using 1280 lines for offscreen memory.
793 (II) VIA(0): Using XFree86 Acceleration Architecture (XAA)
--
Michael Wang, http://www.unixlabplus.com/, /* for future expansion */
Email=$(echo 37wxloc at ibmude.au | sed "s:\(.\)\(.\)\(.\)\(.\):\4\3\2\1:g")
Technical writings: http://www.unixlabplus.com/unix-prog/Publication.txt
More information about the Openchrome-users
mailing list