# $Id: Cards+ 269992 2010-06-11 14:42:13Z anssi $
# This is the database of card definitions used by XFdrake
#

# Each definition should have a NAME entry, a DRIVER
#
# A reference to another definition is made with SEE (already defined
# entries are not overridden).
#
# Optional entries are:
#
# NOCLOCKPROBE: advises never to probe clocks
# UNSUPPORTED: indicates card that is not yet properly supported by XFree4
# LINE: adds a line of text to be included in the Device section (can include options or comments).
#
# DRI_GLX: 3D acceleration configuration for XFree 4 using DRI.
# DRI_GLX_EXPERIMENTAL: DRI, but EXPERIMENTAL and may freeze the machine.
#
# BAD_FB_RESTORE: for bad cards not restoring cleanly framebuffer (XFree 4)
#
# MULTI_HEAD 2: for DualHead cards (think Matrox G450)
# MULTI_HEAD n: for n Head cards (eg: "MULTI_HEAD 4" for QuadHead)
# FB_TVOUT: the card displays to a plugged TV when in framebuffer
#
#


######################################################################
# Generic drivers
NAME VESA driver (generic)
CHIPSET VESA VBE 2.0
DRIVER vesa

NAME FrameBuffer (generic)
DRIVER fbdev


#Chips & Technologies

NAME Chips & Technologies-based cards
DRIVER chips
LINE # Device section for C&T cards.
LINE # Option "suspend_hack"
LINE # Option "STN"
LINE # Option "no_stretch"
LINE # Option "no_center"
LINE # Option "use_modeline"
LINE # Option "fix_panel_size"
LINE # videoram 512

# Cirrus Logic

NAME Cirrus Logic GD542x-based cards
DRIVER vesa
LINE # Device section for Cirrus Logic GD5420/2/4/6/8/9-based cards.
LINE     #MemBase 0x00e00000
LINE     #MemBase 0x04e00000
LINE     #Option "linear"

# use modesetting instead of cirrus (#10263)
NAME Cirrus Logic GD54xx-based cards
DRIVER modesetting

# S3

NAME S3 8xx / 9xx / Trio / Aurora64V+-based cards
#DRIVER s3
DRIVER fbdev
NEEDVIDEORAM

NAME S3 ViRGE-based cards
DRIVER s3virge
NEEDVIDEORAM

NAME S3 Trio3D-based cards
DRIVER s3virge
LINE Option "sw_cursor"

NAME S3 Savage-based cards
DRIVER savage
NEEDVIDEORAM

# S3 UniChrome (via)

# Some cards do not have 3D support, or 3D support is not safe: see
# http://wiki.openchrome.org/tikiwiki/tiki-index.php?page=HardwareCaveats
# According to pcpa, hardware cursor causes display corruption on some
# models as of 2007/08/21

NAME S3 UniChrome-based cards with 3D support
DRIVER openchrome
# 3D needs a DRM driver in kernel:
DRI_GLX
LINE Option	"SWcursor"

# Same as UniChrome, but no 3D support yet

NAME VIA Chrome9-based cards
DRIVER openchrome
LINE Option	"SWcursor"

# Tseng

# All potential driver options, and non-PCI-based cards, dropped (2007/03/08) on 
# advice of current Tseng maintainer, Luc Verhaegen. Non-PCI cards are no longer 
# supported, and no options should be necessary for remaining supported cards.

NAME Tseng ET4000W32p / ET6x00-based cards
DRIVER tseng
NEEDVIDEORAM

# AMD
NAME AMD Geode GX/LX
DRIVER geode

# ATI

NAME ATI Mach 64-based cards
DRIVER mach64
DRI_GLX

# The first 128 definition is only used in pcitable, and the second only
# in pcitable.x86_64. This way, 3D is enabled for these cards on i586 but
# disabled on x86-64 (apparently it locks hard on x86-64).

NAME ATI Rage 128-based cards
DRIVER r128
DRI_GLX

NAME ATI Rage 128-based cards (3D disabled on x86-64)
DRIVER r128

NAME ATI Mach 64-based cards (no 3D acceleration)
DRIVER mach64

NAME ATI Rage 128 TV-out
SEE ATI Rage 128-based cards
FB_TVOUT

# Radeon cards not supported by proprietary driver, but supported by ati
# update name as support changes
NAME ATI Radeon HD 4870 and earlier
DRIVER ati
FIRMWARE radeon-firmware
DRI_GLX

# FireGL cards not supported by proprietary driver, but supported by ati
# update name as support changes
NAME ATI r300/r400/r500 based FireGL
SEE ATI Radeon HD 4870 and earlier

# FirePro card not supported by proprietary driver, but supported by ati
NAME ATI FirePro M5750
SEE ATI Radeon HD 4870 and earlier

# Radeon cards supported by proprietary driver and free 'radeon'
# driver: update name as support changes
# PALM and older - firmware not mandatory (mga #3466)
NAME ATI Radeon HD 5000 to HD 6300 (radeon)
DRIVER ati
FIRMWARE radeon-firmware
DRI_GLX

# FireGL cards supported by proprietary driver and free 'radeon'
# driver: update name as support changes
NAME ATI r600 based FireGL
SEE ATI Radeon HD 5000 to HD 6300 (radeon)

# FirePro cards as above:
NAME ATI FirePro (radeon)
SEE ATI Radeon HD 5000 to HD 6300 (radeon)

# Radeon cards supported by proprietary driver and free 'radeon'
# driver: update name as support changes
# SUMO and later - firmware mandatory for 'ati' (mga #3466)
# TODO: s/ATI/AMD/, but update Xconfig/card.pm to still show it among
# the other ATI entries, maybe under 'AMD / ATI' header or something
NAME ATI Radeon HD 6400 and later (radeon)
DRIVER ati
FIRMWARE radeon-firmware
DRIVER_NO_FIRMWARE vesa
DRI_GLX

# Radeon cards supported by proprietary driver and free 'amdgpu'
# TODO: s/ATI/AMD/, but update Xconfig/card.pm to still show it among
# the other ATI entries, maybe under 'AMD / ATI' header or something
NAME ATI Volcanic Islands and later (amdgpu)
DRIVER amdgpu
FIRMWARE radeon-firmware
DRIVER_NO_FIRMWARE modesetting
DRI_GLX

# used for AMD SI and CIK cards with the switch from radeon to amdgpu
NAME AMD Southern Islands and later (amdgpu)
DRIVER amdgpu
FIRMWARE radeon-firmware
DRIVER_NO_FIRMWARE modesetting
DRI_GLX

# Radeon cards supported by proprietary driver but not by free driver
NAME ATI Radeon HD 5000 and later without free driver (vesa)
DRIVER vesa

# ARK Logic

NAME Ark Logic ARKx000-based cards
DRIVER ark

# Trident

NAME Trident-based cards
DRIVER trident

# SiS

NAME SiS USB video adapter
DRIVER sisusb

NAME SiS old series-based cards
DRIVER sis

NAME SiS 300 series-based cards
DRIVER sis
DRI_GLX

NAME SiS SiS / XGI 315 / 330 / 340 series-based cards
DRIVER sis

NAME SiS SiS 670 / 671-based cards
DRIVER sisimedia

# Cyrix

NAME MediaGX
DRIVER geode

# Number 9 I128

NAME Number Nine I-128-based cards
DRIVER i128

# Matrox
# use modesetting instead of mga (#15568)

NAME Matrox Millennium / II / Productiva G100
DRIVER modesetting
BAD_FB_RESTORE

NAME Matrox Millennium G series (single head)
DRIVER modesetting
DRI_GLX
BAD_FB_RESTORE

NAME Matrox Millennium G series (dual head)
SEE Matrox Millennium G series (single head)
MULTI_HEAD 2

NAME Matrox Millennium G200 (quad head)
SEE Matrox Millennium G series (single head)
MULTI_HEAD 4

# NVIDIA

NAME NVIDIA RIVA 128
DRIVER nv
BAD_FB_RESTORE

NAME NVIDIA RIVA TNT to GeForce 2
DRIVER nouveau

NAME NVIDIA GeForce 2 MX to GeForce 4
DRIVER nouveau

NAME NVIDIA GeForce FX series
DRIVER nouveau

NAME NVIDIA GeForce 6100 to GeForce 7950
DRIVER nouveau
#DRIVER2 nvidia304
#DRIVER2_NEEDS_SSE

NAME NVIDIA GeForce 8100 to GeForce 415
DRIVER modesetting
#DRIVER2 nvidia340
#DRIVER2_NEEDS_SSE

# nvidia390 supports some GeForce 410 cards as well,
# but does not support some 415 cards. The higher bound
# is used in the name, since this way both auto-selection
# and manual user selection by model number always result in a
# working driver for 410/415, since all of those are also
# supported by nvidia340.
NAME NVIDIA GeForce 420 to GeForce 630
DRIVER modesetting
#DRIVER2 nvidia390
#DRIVER2_NEEDS_SSE

# nvidia470 supports some drivers also supported by nvidia390
# but that one is eol by 12/2022
NAME NVIDIA GeForce 635 to GeForce 920
DRIVER modesetting
DRIVER2 nvidia470
DRIVER2_NEEDS_SSE

# nvidia-current from version 410.xx is 64bit only
# also supports some gpus that are supported by nvidia470
NAME NVIDIA GeForce 745 series and later
DRIVER modesetting
DRIVER2 nvidia-current
DRIVER2_NEEDS_SSE

# NVidia Fermi cards and beyond
NAME NVIDIA Architecture (2010): Fermi
DRIVER modesetting
DRIVER2 nvidia470
DRIVER2_NEEDS_SSE

# NVidia Kepler cards and beyond
NAME NVIDIA Architecture (2012): Kepler
DRIVER modesetting
DRIVER2 nvidia470
DRIVER2_NEEDS_SSE

# NVidia Maxwell cards and beyond
NAME NVIDIA Architecture (2014): Maxwell
DRIVER modesetting
DRIVER2 nvidia-current
DRIVER2_NEEDS_SSE

# NVidia Pascal cards and beyond
NAME NVIDIA Architecture (2016): Pascal
DRIVER modesetting
DRIVER2 nvidia-current
DRIVER2_NEEDS_SSE

# NVidia Volta cards and beyond
NAME NVIDIA Architecture (2017): Volta
DRIVER modesetting
DRIVER2 nvidia-current
DRIVER2_NEEDS_SSE

# NVidia Turing cards and beyond
NAME NVIDIA Architecture (2018): Turing
DRIVER modesetting
DRIVER2 nvidia-current
DRIVER2_NEEDS_SSE

# NVidia Turing cards and beyond (OpenGPU kernel modules)
NAME NVIDIA Architecture (2018): Turing (OpenGPU)
DRIVER modesetting
DRIVER2 nvidia-current-wopengpu
DRIVER2_NEEDS_SSE

# NVidia Ampere cards and beyond
NAME NVIDIA Architecture (2020): Ampere
DRIVER modesetting
DRIVER2 nvidia-current
DRIVER2_NEEDS_SSE

# NVidia Ampere cards and beyond (OpenGPU kernel modules)
NAME NVIDIA Architecture (2020): Ampere (OpenGPU)
DRIVER modesetting
DRIVER2 nvidia-current-wopengpu
DRIVER2_NEEDS_SSE

# NVidia Hopper cards and beyond
NAME NVIDIA Architecture (2022): Hopper
DRIVER modesetting
DRIVER2 nvidia-current
DRIVER2_NEEDS_SSE

# NVidia Hopper cards and beyond (OpenGPU kernel modules)
NAME NVIDIA Architecture (2022): Hopper (OpenGPU)
DRIVER modesetting
DRIVER2 nvidia-current-wopengpu
DRIVER2_NEEDS_SSE

# NVidia Ada Lovelace cards and beyond
NAME NVIDIA Architecture (2022): Ada Lovelace
DRIVER modesetting
DRIVER2 nvidia-current
DRIVER2_NEEDS_SSE

# NVidia Ada Lovelace cards and beyond (OpenGPU kernel modules)
NAME NVIDIA Architecture (2022): Ada Lovelace (OpenGPU)
DRIVER modesetting
DRIVER2 nvidia-current-wopengpu
DRIVER2_NEEDS_SSE

# NVidia Blackwell cards and beyond (OpenGPU kernel modules)
NAME NVIDIA Architecture (2024): Blackwell (OpenGPU)
DRIVER modesetting
DRIVER2 nvidia-current-wopengpu
DRIVER2_NEEDS_SSE

# NVidia Rubin cards and beyond (codename from roadmap)
NAME NVIDIA Architecture (2026): Rubin (OpenGPU)
DRIVER modesetting
DRIVER2 nvidia-current-wopengpu
DRIVER2_NEEDS_SSE

# NVidia Rubin Ultra cards and beyond (codename from roadmap)
NAME NVIDIA Architecture (2027): Rubin Ultra (OpenGPU)
DRIVER modesetting
DRIVER2 nvidia-current-wopengpu
DRIVER2_NEEDS_SSE

# NVidia Feynman cards and beyond (codename from roadmap)
NAME NVIDIA Architecture (2028): Feynman (OpenGPU)
DRIVER modesetting
DRIVER2 nvidia-current-wopengpu
DRIVER2_NEEDS_SSE

# latest driver (as shown in https://forums.developer.nvidia.com/t/current-graphics-driver-releases/28500/)
# nvidia-newfeature branch
NAME NVIDIA Driver: New Feature Branch
DRIVER modesetting
DRIVER2 nvidia-newfeature
DRIVER2_NEEDS_SSE

# latest driver (as shown in https://forums.developer.nvidia.com/t/current-graphics-driver-releases/28500/)
# nvidia-newfeature branch
NAME NVIDIA Driver: New Feature Branch (OpenGPU)
DRIVER modesetting
DRIVER2 nvidia-newfeature-wopengpu
DRIVER2_NEEDS_SSE

# duplicate nvidia470 entry for straight configuration (already in GeForce 635 to GeForce 920)
NAME NVIDIA Driver: Latest Legacy (alias of GeForce 635 to 920)
DRIVER modesetting
DRIVER2 nvidia470
DRIVER2_NEEDS_SSE

# duplicate nvidia-current entry (already in GeForce 745 and later)
NAME NVIDIA Driver: Production Branch
DRIVER modesetting
DRIVER2 nvidia-current
DRIVER2_NEEDS_SSE

# duplicate nvidia-current entry (already in GeForce 745 and later)
NAME NVIDIA Driver: Production Branch (OpenGPU)
DRIVER modesetting
DRIVER2 nvidia-current-wopengpu
DRIVER2_NEEDS_SSE

NAME NVIDIA GeForce3 (xbox)
DRIVER nvxbox
LINE Option "UseFBDev" "1"
LINE Option "HWCursor" "0"

# duplicate modesetting as aid for NVidia cards (to be choosen manually instead of nouveau)
NAME NVIDIA Kernel Mode setting (Xorg modesetting)
DRIVER modesetting

# duplicate nouveau as aid for NVidia cards (to be choosen straightly)
NAME NVIDIA Nouveau (alias of Xorg free nouveau driver)
DRIVER nouveau

NAME IMS TwinTurbo-based cards
DRIVER vesa

# 3DLabs

NAME 3Dlabs Glint / Permedia-based cards
#DRIVER glint
DRIVER fbdev

NAME 3Dlabs Glint / Permedia-based cards (software cursor)
LINE Option	"SWcursor"
#DRIVER glint
DRIVER fbdev

NAME Diamond Fire GL 3000
LINE Option     "SWcursor"
#DRIVER glint
DRIVER fbdev
LINE Option "FireGL3000" "true"

# Alliance Semiconductor

NAME Alliance ProMotion-based cards
DRIVER apm

# NeoMagic

NAME NeoMagic MagicGraph (laptop/notebook)
DRIVER neomagic
LINE	  Option     "overrideValidateMode"
LINE #    Chipset    "NM2160"
LINE #    IOBase     0xfea00000
LINE #    MemBase    0xfd000000
LINE #    VideoRam   2048
LINE #    DacSpeed   90
LINE #    Option     "linear"
LINE #    Option     "nolinear"
LINE #    Option     "sw_cursor"
LINE #    Option     "hw_cursor"
LINE #    Option     "no_accel"
LINE #    Option     "intern_disp"
LINE #    Option     "extern_disp"
LINE #    Option     "mmio"
LINE #    Option     "no_mmio"
LINE #    Option     "lcd_center"
LINE #    Option     "no_stretch"

NAME NeoMagic 128XD
SEE NeoMagic MagicGraph (laptop/notebook)
LINE     Option "XaaNoScanlineImageWriteRect"
LINE     Option "XaaNoScanlineCPUToScreenColorExpandFill"

NAME NeoMagic MagicMedia (laptop/notebook)
DRIVER neomagic

NAME NeoMagic MagicMedia 256XL+
SEE NeoMagic MagicMedia (laptop/notebook)
LINE Option "sw_cursor"


# Digital

NAME Digital 8-plane TGA (Generic)
CHIPSET TGA
#DRIVER tga
DRIVER fbdev

NAME Digital 8-plane TGA (Bt485-based)
CHIPSET TGA
#DRIVER tga
DRIVER fbdev
LINE     Ramdac "Bt485"

NAME Digital 24-plane TGA
CHIPSET TGA
#DRIVER tga
DRIVER fbdev
LINE     Ramdac "Bt463"

# Rendition

NAME Rendition Verite-based cards
DRIVER rendition
LINE # Option "sw_cursor"

# Intel

NAME Intel 740-based cards
DRIVER i740
LINE     #Option     "no_accel"
LINE     #Option     "sw_cursor"
LINE     #Option     "hw_cursor"
LINE     #Option     "sgram"
LINE     #Option     "sdram"

NAME Intel 810 and later
DRIVER intel
DRI_GLX

NAME Intel 810 and later (soft3D)
DRIVER intel
DRI_GLX
LINE	Option "NoAccel" "true"

NAME Intel Kernel Mode setting (Xorg modesetting)
DRIVER modesetting

NAME Intel Kernel Mode setting (Xorg modesetting soft3D)
DRIVER modesetting
LINE	Option "AccelMethod" "none"

NAME Intel Vermilion-based cards
DRIVER vesa

NAME Intel Poulsbo US15W (GMA500)
#DRIVER psb
#DRI_GLX
DRIVER modesetting

# 3DFX

NAME 3DFX Voodoo / Voodoo II
DRIVER voodoo

NAME 3DFX Voodoo 3 - 5 / Banshee / Rush
DRIVER tdfx
DRI_GLX

# Silicon Motion, Inc.

NAME Silicon Motion Lynx-based cards
DRIVER siliconmotion

# Sun

NAME Sun Monochrome (bwtwo)
DRIVER sunbw2
 
NAME Sun Color3 (cgthree)
DRIVER suncg3

NAME Sun GX-based cards
DRIVER suncg6
 
NAME Sun SX-based cards
# broken
DRIVER suncg14

NAME Sun ZX-based cards
DRIVER sunleo

NAME Sun TCX-based cards
DRIVER suntcx

NAME Sun Elite3D- / FFB-based cards
DRIVER sunffb

# QXL virtual video card
NAME QXL virtual video card
DRIVER qxl

# VMware virtual video cards

NAME VMware virtual video card
DRIVER modesetting

# Virtio virtual video cards

NAME Virtio virtual video card
DRIVER modesetting

# VirtualBox virtual video cards

NAME VirtualBox virtual video card
DRIVER modesetting

# Misc

END
