Vidix
VIDIX (video interface for *nix) is a portable programming interface for Unix-like operating systems that allows video card drivers running in user space to directly access the framebuffer through Direct Graphics Access extension to the X Window System.
Developer(s) | Nick Kurshev,[1] Alex Beregszaszi (dhahelper) |
---|---|
Stable release | 1.0.0
/ April 7, 2007 |
Operating system | Unix-like |
Type | Device driver |
License | GNU General Public License |
Website | vidix |
History
Nick Kurshev, the author of VIDIX, writes[1] that his motivation in creating the interface was to resolve the issue reported by Vladimir Dergachev in his RFC for an alternative kernel multimedia API:
v4l, v4l2 and Xv are all suffering from the same problem: attempt to fit existing multimedia devices into a fixed scheme.
— Vladimir Dergachev, video4linux mailing list[2]
Dergachev noted that existing multimedia interfaces were hard-coded for each device, and suggested that driver developers would have more flexibility with a layer of abstraction.[2]
VIDIX was born as an alternative to the Linux kernel-based drivers from the MPlayer project. For a long time, VIDIX lived within the MPlayer project; later, it lived within the MPlayerXP project, a fork of MPlayer by Kurshev.[3] During that time, Linux and many other Unix-like operating systems lacked quality drivers for the video subsystems. Almost all of the technical documentation for video hardware was under non-disclosure agreements at the time, and many programmers had to code their drivers blindly. Other developers became interested in using VIDIX for their own players, and they asked Kurshev to separate it from the MPlayer project.
VIDIX became an alternative set of device drivers, based on the idea of direct hardware access (similar to Microsoft's DirectX). These drivers mapped accelerated video memory to avoid colour-space conversion and software scaling from the side of the players.
The X Window System now includes the Direct Rendering Infrastructure, which provides similar functionality with broad hardware support. Kurshev continued to develop VIDIX through 2007, when version 1.0.0 of the software was released.[4]
Supported hardware
- Trident Microsystems Cyberblade/i1[5]
- Hauppage PVR350
- ATI Technologies Mach64 and 3DRage chips[6]
- ATI Technologies Radeon and Rage128 chips:[7]
- Radeon R100 chip series
- Radeon R200 chip series
- Radeon R300 chip series
- Radeon R420 chip series
- Radeon R520 chip series
- Matrox MGA G200/G4x0/G5x0 chips[8]
- Nvidia chips:[9]
- 3Dlabs Permedia2, Permedia3, and GLINT R3[10][11]
- S3 Savage[12]
- Silicon Integrated Systems (SiS) 300 and 310/325 series chips[13]
- VIA Technologies CLE266 Unichrome[14]
See also
References
- Kurshev, Nick (2007-04-05), VIDIX - VIDeo Interface for *niX, File vidix/vidix.txt, retrieved 2010-10-29
- Dergachev, Vladimir (2001-10-25). "[RFC] alternative kernel multimedia API". video4linux (Mailing list). Retrieved 2010-10-29.
- Kurshev, Nick (2010). "MplayerXP-mplayer with extra performance". SourceForge. Geeknet. Retrieved 2010-10-29.
- Kurshev, Nick (2010). "VIDeo Interface of *niX". SourceForge. Geeknet. Retrieved 2010-10-29.
- Robinson, Alastair (2002), Driver for CyberBlade/i1 - Version 0.1.4, retrieved 2010-10-29
- Kurshev, Nick (2002), VIDIX based video driver for Mach64 and 3DRage chips, retrieved 2010-10-29
- Kurshev, Nick (2002), VIDIX based video driver for Radeon and Rage128 chips, retrieved 2010-10-29
- Beregszaszi, Alex, Matrox MGA driver, retrieved 2010-10-29
- Sommer, Sascha (2004), VIDIX based video driver for NVIDIA chips, retrieved 2010-10-29
- Rullgârd, Mâns (2002), Driver for 3DLabs Permedia 2, retrieved 2010-10-29
- Rullgârd, Mâns (2003), Driver for 3DLabs GLINT R3 and Permedia3 chips, retrieved 2010-10-29
- Jelveh, Reza (2004), Driver for S3 Savage Series, retrieved 2010-10-29
- Page, Jake (2003), VIDIX driver for SiS 300 and 310/325 series chips, retrieved 2010-10-29
- Lee, Timothy (2004), Driver for VIA CLE266 Unichrome - Version 0.1.0, retrieved 2010-10-29