Vidix

Last updated
VIDIX
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.sourceforge.net

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.

Contents

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

See also

Related Research Articles

<span class="mw-page-title-main">Graphics card</span> Expansion card which generates a feed of output images to a display device

A graphics card is a computer expansion card that generates a feed of graphics output to a display device such as a monitor. Graphics cards are sometimes called discrete or dedicated graphics cards to emphasize their distinction to integrated graphics processor on the motherboard or the CPU. A graphics processing unit (GPU) that performs the necessary computations is the main component in a graphics card, but the acronym "GPU" is sometimes also used to erroneously refer to the graphics card as a whole.

<span class="mw-page-title-main">ATI Technologies</span> Canadian technology corporation

ATI Technologies Inc., commonly called ATI, was a Canadian semiconductor technology corporation based in Markham, Ontario, that specialized in the development of graphics processing units and chipsets. Founded in 1985, the company listed publicly in 1993 and was acquired by AMD in 2006. As a major fabrication-less or fabless semiconductor company, ATI conducted research and development in-house and outsourced the manufacturing and assembly of its products. With the decline and eventual bankruptcy of 3dfx in 2000, ATI and its chief rival Nvidia emerged as the two dominant players in the graphics processors industry, eventually forcing other manufacturers into niche roles.

<span class="mw-page-title-main">3Dlabs</span> Fabless semiconductor company

3Dlabs was a fabless semiconductor company. It was founded by Yavuz Ahıska and Osman Kent in 1994 with headquarters in San Jose, California. It originally developed the GLINT and PERMEDIA high-end graphics chip technology that was used on many of the world's leading computer graphics cards in the CAD and DCC markets, including its own Wildcat and Oxygen cards.

The Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user-space programs can use to send commands and data to the GPU and perform operations such as configuring the mode setting of the display. DRM was first developed as the kernel-space component of the X Server Direct Rendering Infrastructure, but since then it has been used by other graphic stack alternatives such as Wayland and standalone applications and libraries such as SDL2 and Kodi.

<span class="mw-page-title-main">S3 Savage</span> Line of PC graphics chipsets by S3

Savage was a product-line of PC graphics chipsets designed by S3.

<span class="mw-page-title-main">Radeon R200 series</span> Series of video cards

The R200 is the second generation of GPUs used in Radeon graphics cards and developed by ATI Technologies. This GPU features 3D acceleration based upon Microsoft Direct3D 8.1 and OpenGL 1.3, a major improvement in features and performance compared to the preceding Radeon R100 design. The GPU also includes 2D GUI acceleration, video acceleration, and multiple display outputs. "R200" refers to the development codename of the initially released GPU of the generation. It is the basis for a variety of other succeeding products.

<span class="mw-page-title-main">Diamond Multimedia</span> American company

Diamond Multimedia is an American company that specializes in many forms of multimedia technology. They have produced graphics cards, motherboards, modems, sound cards and MP3 players; however, the company began with the production of the TrackStar, a PC add-on card which emulated Apple II computers. They were one of the major players in the 2D and early 3D graphics card competition throughout the 1990s and early 2000s.

<span class="mw-page-title-main">Free and open-source graphics device driver</span> Software that controls computer-graphics hardware

A free and open-source graphics device driver is a software stack which controls computer-graphics hardware and supports graphics-rendering application programming interfaces (APIs) and is released under a free and open-source software license. Graphics device drivers are written for specific hardware to work within a specific operating system kernel and to support a range of APIs used by applications to access the graphics hardware. They may also control output to the display if the display driver is part of the graphics hardware. Most free and open-source graphics device drivers are developed by the Mesa project. The driver is made up of a compiler, a rendering API, and software which manages access to the graphics hardware.

X-Video Motion Compensation (XvMC), is an extension of the X video extension (Xv) for the X Window System. The XvMC API allows video programs to offload portions of the video decoding process to the GPU video-hardware. In theory this process should also reduce bus bandwidth requirements. Currently, the supported portions to be offloaded by XvMC onto the GPU are motion compensation and inverse discrete cosine transform (iDCT) for MPEG-2 video. XvMC also supports offloading decoding of mo comp, iDCT, and VLD for not only MPEG-2 but also MPEG-4 ASP video on VIA Unichrome hardware.

<span class="mw-page-title-main">Radeon R100 series</span> Series of video cards

The Radeon R100 is the first generation of Radeon graphics chips from ATI Technologies. The line features 3D acceleration based upon Direct3D 7.0 and OpenGL 1.3, and all but the entry-level versions offloading host geometry calculations to a hardware transform and lighting (T&L) engine, a major improvement in features and performance compared to the preceding Rage design. The processors also include 2D GUI acceleration, video acceleration, and multiple display outputs. "R100" refers to the development codename of the initially released GPU of the generation. It is the basis for a variety of other succeeding products.

<span class="mw-page-title-main">Matrox Parhelia</span> GPU by Matrox

The Matrox Parhelia-512 is a graphics processing unit (GPU) released by Matrox in 2002. It has full support for DirectX 8.1 and incorporates several DirectX 9.0 features. At the time of its release, it was best known for its ability to drive three monitors and its Coral Reef tech demo.

The G400 is a video card made by Matrox, released in September 1999. The graphics processor contains a 2D GUI, video, and Direct3D 6.0 3D accelerator. Codenamed "Toucan", it was a more powerful and refined version of its predecessor, the G200.

<span class="mw-page-title-main">Voodoo3</span> Series of gaming video cards

Voodoo3 was a series of computer gaming video cards manufactured and designed by 3dfx Interactive. It was the successor to the company's high-end Voodoo2 line and was based heavily upon the older Voodoo Banshee product. Voodoo3 was announced at COMDEX '98 and arrived on store shelves in early 1999. The Voodoo3 line was the first product manufactured by the combined STB Systems and 3dfx.

Unified Video Decoder is the name given to AMD's dedicated video decoding ASIC. There are multiple versions implementing a multitude of video codecs, such as H.264 and VC-1.

AMD PowerPlay is the brand name for a set of technologies for the reduction of the energy consumption implemented in several of AMD's graphics processing units and APUs supported by their proprietary graphics device driver "Catalyst". AMD PowerPlay is also implemented into ATI/AMD chipsets which integrated graphics and into AMD's Imageon handheld chipset, that was sold to Qualcomm in 2008.

<span class="mw-page-title-main">Radeon HD 6000 series</span> Series of video cards

The Northern Islands series is a family of GPUs developed by Advanced Micro Devices (AMD) forming part of its Radeon-brand, based on the 40 nm process. Some models are based on TeraScale 2 (VLIW5), some on the new TeraScale 3 (VLIW4) introduced with them.

The graphics processing unit (GPU) codenamed Radeon R600 is the foundation of the Radeon HD 2000 series and the FireGL 2007 series video cards developed by ATI Technologies. The HD 2000 cards competed with nVidia's GeForce 8 series.

The Radeon X700 (RV410) series replaced the X600 in September 2004. X700 Pro is clocked at 425 MHz core, and produced on a 0.11 micrometre process. RV410 used a layout consisting of 8 pixel pipelines connected to 4 ROPs while maintaining the 6 vertex shaders of X800. The 110 nm process was a cost-cutting process, designed not for high clock speeds but for reducing die size while maintaining high yields. An X700 XT was planned for production, and reviewed by various hardware web sites, but was never released. It was believed that X700 XT set too high of a clock ceiling for ATI to profitably produce. X700 XT was also not adequately competitive with nVidia's impressive GeForce 6600GT. ATI would go on produce a card in the X800 series to compete instead.

<span class="mw-page-title-main">Radeon 9000 series</span> Series of video cards

The R300 GPU, introduced in August 2002 and developed by ATI Technologies, is its third generation of GPU used in Radeon graphics cards. This GPU features 3D acceleration based upon Direct3D 9.0 and OpenGL 2.0, a major improvement in features and performance compared to the preceding R200 design. R300 was the first fully Direct3D 9-capable consumer graphics chip. The processors also include 2D GUI acceleration, video acceleration, and multiple display outputs.

The R200 is the second generation of GPUs used in Radeon graphics cards and developed by ATI Technologies. This GPU features 3D acceleration based upon Microsoft Direct3D 8.1 and OpenGL 1.3, a major improvement in features and performance compared to the preceding Radeon R100 design. The GPU also includes 2D GUI acceleration, video acceleration, and multiple display outputs. "R200" refers to the development codename of the initially released GPU of the generation. It is the basis for a variety of other succeeding products.

References

  1. 1 2 Kurshev, Nick (2007-04-05), VIDIX - VIDeo Interface for *niX, File vidix/vidix.txt, retrieved 2010-10-29
  2. 1 2 Dergachev, Vladimir (2001-10-25). "[RFC] alternative kernel multimedia API". video4linux (Mailing list). Retrieved 2010-10-29.
  3. Kurshev, Nick (2010). "MplayerXP-mplayer with extra performance". SourceForge. Geeknet. Retrieved 2010-10-29.
  4. Kurshev, Nick (2010). "VIDeo Interface of *niX". SourceForge. Geeknet. Retrieved 2010-10-29.
  5. Robinson, Alastair (2002), Driver for CyberBlade/i1 - Version 0.1.4 , retrieved 2010-10-29
  6. Kurshev, Nick (2002), VIDIX based video driver for Mach64 and 3DRage chips , retrieved 2010-10-29
  7. Kurshev, Nick (2002), VIDIX based video driver for Radeon and Rage128 chips , retrieved 2010-10-29
  8. Beregszaszi, Alex, Matrox MGA driver , retrieved 2010-10-29
  9. Sommer, Sascha (2004), VIDIX based video driver for NVIDIA chips , retrieved 2010-10-29
  10. Rullgârd, Mâns (2002), Driver for 3DLabs Permedia 2 , retrieved 2010-10-29
  11. Rullgârd, Mâns (2003), Driver for 3DLabs GLINT R3 and Permedia3 chips , retrieved 2010-10-29
  12. Jelveh, Reza (2004), Driver for S3 Savage Series , retrieved 2010-10-29
  13. Page, Jake (2003), VIDIX driver for SiS 300 and 310/325 series chips , retrieved 2010-10-29
  14. Lee, Timothy (2004), Driver for VIA CLE266 Unichrome - Version 0.1.0 , retrieved 2010-10-29