KMS für Radeon; Treiber für X-Fi, neue Intel-GPUs, Webcams und TV-Hardware
Linux 2.6.31 wird Kernel-Based Mode-Setting bei Radeon-Grafikkarten bis hin zur X1950 unterstützen. Neu dabei sind Treiber für X-Fi-Soundkarten von Creative und Intels "Next-Generation Graphics Device". Zahlreiche Verbesserungen gab es auch bei den Treibern für Webcams und TV-Hardware.Trotz Hochsommer auf der Nordhalbkugel geht die Kernel-Entwicklung ohne Unterbrechung weiter. Die Entwicklung von Linux 2.6.31 ist mittlerweile bei der fünften Vorabversion angekommen. Bei ihr schlich sich noch der Webcam-Treiber gspca/sn9c20x ein, obowhl das Merge Window schon lange vorbei war. Er ist aber nur eine von vielen Neuerungen im Audio- und Video-Bereich von Linux 2.6.31.
Flackerfreier X-Start für Radeon-Grafikchips
Nachdem bei Linux 2.6.28 der Intel-spezifische GEM (Graphics Execution Manager) zum Kernel stieß und mit 2.6.29 die darauf aufbauende Unterstützung für Kernel-Based Mode-Setting (KMS) folgte, nahmen die Entwickler nun KMS-Code für Radeon-Grafikchips von AMD/ATI auf. Damit man die Vorteile von KMS – die zentrale Verwaltung der Grafik an einer Stelle, besser funktionierender Suspend und weniger komplexe Grafiktreiber – nutzen kann und der X-Server mit KMS arbeitet, müssen die Treiber für X.org, die Libdrm sowie Mesa3D aktualisiert werden. Das ist ein erheblicher Einrichtungs- und Abstimmungsaufwand, den man am besten dem Linux-Distributor seiner Wahl überlässt.
Der aufgenommene und maßgeblich von den Programmierern des X.org-Treibers "radeon" entwickelte KMS-Code unterstützt Radeon-GPUs bis hin zur R5XX-Serie – also alle Radeon-Modelle bis einschließlich der X1950. KMS-Unterstützung für die R6xx- und R7xx-GPUs der Radeon-HD-Serien 2000, 3000 und 4000 ist noch in Arbeit. Doch auch der für 2.6.31 integrierte Radeon-KMS-Code ist noch nicht ganz ausgereift; die Entwickler haben ihn daher vorerst als Staging-Treiber gekennzeichnet.
Zur Speicherverwaltung und Koordination des Zugriffs auf die Recheneinheiten dient dem Radeon-KMS-Code nicht GEM, sondern der ebenfalls neue TTM GPU Memory Manager. Ursprünglich hatte der Intel-KMS-Treiber diesen auch nutzen sollen, die Intel-Entwickler waren damit allerdings nicht ganz glücklich und starteten GEM als Alternative. Der TTM-Code wurde aber zwischenzeitlich überarbeitet und lässt sich auch über ein GEM-API nutzen.
Treiber für Intel-GPUs der nächsten GenerationDen Intel-KMS-Treiber erweiterten die Entwickler um Unterstützung für die Monitoransteuerung via DisplayPort (DP). Zahlreiche Korrekturen verbessern zudem den bisherigen KMS- und GEM-Code – der kürzlich freigegebene X.org-Treiber 2.8 solle daher am besten mit Linux 2.6.31 arbeiten.
Die Intel-Crew hat ferner KMS-Code und andere Patches zur Unterstützung einer als IGDNG bezeichneten Grafikchipreihe beigesteuert. Das Kürzel steht vermutlich für "Intel Graphics Device Next-Generation" und dürfte für die Grafikkerne der Anfang nächsten Jahres erwarteten Prozessoren stehen.
Informationen zu diesen und anderen Änderungen rund um die Grafikunterstützung des Kernels finden sich am Ende des Artikels sowie in einigen der Git-Pull-Request von Dave Airlie (1, 2, 3, 4).
Audio-Treiber für X-FiÜber die Alsa-Entwickler fand der für verschiedene Creative-Soundkarten der X-Fi-Serie geeignete und maßgeblich von Creative-Mitarbeitern entwickelte Treiber snd-ctxfi den Weg in den Kernel. Damit findet eine Treiber-Odyssee nun ein Ende, denn einige zumeist allenfalls halb-fertige Versionen verschiedener quelloffener oder proprietärer Treiber hatten in den vergangenen Jahren immer wieder eine unerfüllt gebliebene Hoffnung auf einen halbwegs ordentlichen Linux-Treiber für X-Fi-Sound-Chips aufkommen lassen. Ausgereift ist der jetzt in Kernel aufgenommene Treiber aber noch nicht; so fehlt etwa die Unterstützung für externe I/O-Module.
Neu dabei ist auch der Audio-Treiber lx6464es für verschiedene LX6464ES-Modelle von Digigram. Dazugestoßen ist ferner die Unterstützung für die ESI Maya44 und zahlreiche PCs und Notebooks – darunter das MacBook 5.1 (Aluminium). Wie mit jeder neuen Kernel-Version haben die Entwickler zudem die Whitelists für die automatische Anwendung Hardware-spezifischer Sonderbehandlungen ("Quirks") erheblich erweitert – die wichtigsten Commits aus diesen Bereichen finden sich in der Liste am Ende dieses Artikels. Einer der Verwalter des Audio-Subsystems hat die herausragendsten Neuerungen von 2.6.31 einer Mail zusammengefasst.
VideoIm DVB/V4L-Subsystem gab es wie üblich hunderte Änderungen. Neu dabei ist der Treiber stv090x, der die unter anderem auf der TechnoTrend TT-budget S2-1600 verbauten DVB-S/S2/DSS-Chips von Intersil anspricht. Dazugestoßen ist auch der Treiber gspca-sn9c20x für die in Webcams verschiedener Hersteller eingesetzten USB-Chips sn9c201 und sn9c202. Verbesserte Unterstützung gibt es für einige Webcams der Logitech-Serie QuickCam Messenger; der Gspca-Treiber ov519 arbeitet nun auch mit den Chips ov511 und ov518 zusammen. Weitere Hintergründe zu den an Webcam- und TV-Treibern von Linux 2.6.31 vorgenommenen Änderungen liefern die Git-Pull-Request von Mauro Carvalho Chehab, dem Verwalter des V4L/DVB-Subsystems (1, 2, 3).
Die kleineren PerlenDie englischen Überschriften von zahlreichen weiteren nicht ganz so wichtigen, aber keineswegs unbedeutenden Änderungen finden sich in der folgenden Liste. Die Einträge verlinken genau wie viele der Verweise im vorangegangenen Text auf den jeweiligen Commit im Webfrontend des Hauptentwicklungszweigs von Linux. Dort liefern der Commit-Kommentar und der Patch selbst zahlreiche weitere Informationen zu der jeweiligen Änderungen.
Audio: * ALSA: Add missing description of lx6464es to ALSA-Configuration.txt
* ALSA: bt87x - Add a quirk entry for Askey Computer Corp. MagicTView'99
* ALSA: ctxfi - Add depends on X86
* ALSA: ctxfi - Add PM support
* ALSA: ctxfi - Allow unknown PCI SSIDs
* ALSA: ctxfi - Fix endian-dependent codes
* ALSA: ctxfi - Remove PAGE_SIZE limitation
* ALSA: hda - Acer Aspire 8930G support
* ALSA: hda - Acer Inspire 6530G model for Realtek ALC888
* ALSA: hda - Add 7.1 support for MSI GX620
* ALSA: hda - Add a quirk entry for Macbook Pro 5,1
* ALSA: hda - Add Creative CA0110-IBG support
* ALSA: hda - Add digital-mic support to ALC262 auto model
* ALSA: hda - Add GPIO1 control at muting with HP laptops
* ALSA: hda - Addition for HP dv4-1222nr laptop support
* ALSA: hda - Add missing initializations for ALC268 and ALC269
* ALSA: hda - Add missing models for Realtek codecs
* ALSA: hda - Add model=6530g option
* ALSA: hda - Add pci-quirk for MSI MS-7350 motherboard.
* ALSA: hda - Add pin-sense trigger when needed for Realtek codecs
* ALSA: hda - Add quirk for Acer Aspire 6935G
* ALSA: hda - Add quirk for Dell Studio 1555
* ALSA: hda - Add quirk for Gateway T6834c laptop
* ALSA: hda - Add quirk for HP 6930p
* ALSA: hda - Add quirk for Sony VAIO Z21MN
* ALSA: hda - add quirk for STAC92xx (SigmaTel STAC9205)
* ALSA: hda - Add support of Samsung NC10 mini notebook
* ALSA: hda - Avoid conflicts with snd-ctxfi driver
* ALSA: hda - Clean up Realtek auto-mute unsol routines
* ALSA: hda: Correct EAPD for Dell Inspiron 1525
* ALSA: hda - Fix acer-aspire-6530g model quirk
* ALSA: hda - Fix pin-setup for Sony VAIO with STAC9872 codecs
* ALSA: hda - Fix quirk for Toshiba Satellite A135-S4527
* ALSA: hda - Fix secondary SPDIF on VT1708S and VT1702 codecs
* ALSA: hda - Fix support for Samsung P50 with AD1986A codec
* ALSA: hda - Generalize the pin-detect quirk for Lenovo N100
* ALSA: hda - Get back Input Source for ALC262 toshiba-s06 model
* ALSA: hda - Improve ASUS eeePC 1000 mixer
* ALSA: hda - Improved MacBook 3,1 support
* ALSA: hda - Line In for Acer Inspire 6530G model
* ALSA: hda - Macbook[Pro 5 6ch support]
* ALSA: hda - Make jack-plug notification selectable
* ALSA: hda - More Aspire 8930G fixes
* ALSA: hda - Support NVIDIA 8 channel HDMI audio
* ALSA: hda - Use model=acer-aspire-6530g for Acer Aspire 6930G
* ALSA: hdsp - Add a comment about external firmwares for hdsp
* ALSA: hdsp: allow firmware loading from inside the kernel
* ALSA: lx6464es - support standard alsa module parameters
* ALSA: pcm - Add logging of hwptr updates and interrupt updates
* ALSA: sc6000: add support for SC-6600 and SC-7000
* ALSA: support Sony Vaio TT
* ALSA: usb - Add boot quirk for C-Media 6206 USB Audio
* ALSA: usb-audio - Add quirk for Roland/Edirol M-16DX
* ALSA: usb-audio - quirk for USB Aureon cards
* ALSA: usb-audio - Volume control quirk for QuickCam E 3500
* ALSA: via82xx: add option to disable 500ms delay in snd_via82xx_codec_wait
* sound: virtuoso: add another DX PCI ID
* sound: virtuoso: add Xonar Essence ST support
* sound: virtuoso: enable HDAV S/PDIF input
* sound: virtuoso: fix Xonar D1/DX silence after resume
Audio - Asoc: * ASoC: AC97 driver for mpc5200
* ASoC: Add driver for s6000 I2S interface
* ASoC: Added OMAP3 EVM support in ASoC.
* ASoC: Add TXx9 AC link controller driver (v3)
* ASoC: Add WM8960 CODEC driver
* ASoC: Add WM8988 CODEC driver
* ASoC: AFEB9260 driver
* ASoC: em-x270: make the driver support also eXeda and CM-X300 machines
* ASoC: IMote2 ASoC Support
* ASoC: remove BROKEN from Efika and pcm030 fabric drivers
* ASoC: s6105 IP camera machine specific ASoC code
* ASoC: Support for AC97 on Phytec pmc030 base board.
* ASoC: WM8940 Driver
* ASoC: WM9081 mono DAC with integrated 2.6W class AB/D amplifier driver
Graphics: * agp/intel: Add support for new chipsets
* agp: switch AGP to use page array instead of unsigned long array
* drm/i915: Add chipset/feature defines for for new chipsets
* drm/i915: Add Display Port register defines
* drm/i915: add FIFO watermark support
* drm/i915: Add HDMI support on IGDNG
* drm/i915: Add LVDS support for IGDNG
* drm/i915: Add new chipset register definitions
* drm/i915: add per-output hotplug callback for KMS
* drm/i915: enable error detection Commit: 63eeaf38251183ec2b1caee11e4a2c040cb5ce6c state collection
* drm/i915: enable GEM on PAE.
* drm/i915: Save/restore cursor state on suspend/resume.
* drm/radeon: add rv740 drm support.
* drm/radeon: add some missing pci ids
* drm/radeon: add some new r7xx pci ids
* drm/radeon: add support for RV790.
* drm/radeon: command stream checker for r3xx-r5xx hardware
* drm/radeon: fix mobility flags on new PCI IDs.
* drm/radeon/kms: add initial colortiling support.
* drm: Remove memory debugging infrastructure.
* fbdev: do not allow VESA modes without compiled-in drivers
* fb/intelfb: conflict with DRM_I915 and hide by default
* MAINTAINERS: fbdev is orphaned
* ps3av: Set 16:9 aspect ratio for 720p video modes
* s3c-fb: CPUFREQ frequency scaling support
V4L/DVB: * V4L/DVB (11239): sdio: add cards ids for sms (Siano Mobile Silicon) MDTV receivers
* V4L/DVB (11394): cx88: Add support for stereo and sap detection for A2
* V4L/DVB (11442): saa7134: BZ#7524: Add AVerTV Studio 507UA support
* V4L/DVB (11483): gspca - mr97310a: Webcam 093a:010f added.
* V4L/DVB (11486): em28xx: Add EmpireTV board support
* V4L/DVB (11491): af9015: support for AverMedia AVerTV Volar GPS 805 (A805)
* V4L/DVB (11492): af9015: support for Conceptronic USB2.0 DVB-T CTVDIGRCU V3.0
* V4L/DVB (11535): gspca - m5602-po1030: Add experimental QVGA support
* V4L/DVB (11544): gspca - m5602-mt9m111: Add experimental QVGA support
* V4L/DVB (11559): Siano: add support for infra-red (IR) controllers
* V4L/DVB (11567): saa7134: Added support for AVerMedia Cardbus Plus
* V4L/DVB (11571): Add Elgato EyeTV DTT deluxe to dibcom driver
* V4L/DVB (11665): cx88: Add support for the Hauppauge IROnly board.
* V4L/DVB (11682): STV0900/STV0903: Add support for Silicon cut >= 3
* V4L/DVB (11684): gspca - m5602-s5k4aa: Add experimental SXGA support
* V4L/DVB (11691): gspca - m5602-ov9650: Add ASUS A6K vflip quirk
* V4L/DVB (11717): gspca - sonixj: Webcams with bridge sn9c128 added
* V4L/DVB (11720): gspca - sonixj: Webcam 06f8:3008 added
* V4L/DVB (11730): af9015: support for KWorld MC810
* V4L/DVB (11735): Enables the Winfast TV2000 XP Global TV IR
* V4L/DVB (11742): TI THS7303 video amplifier driver code
* V4L/DVB (11743): Analog Devices ADV7343 video encoder driver
* V4L/DVB (11767): cx23885: Add preliminary support for the HVR1270
* V4L/DVB (11768): cx23885: add ATSC/QAM tuning support for Hauppauge WinTV-HVR1270
* V4L/DVB (11769): cx23885: add ATSC/QAM tuning support for Hauppauge WinTV-HVR1275
* V4L/DVB (11770): cx23885: add ATSC/QAM tuning support for Hauppauge WinTV-HVR1255
* V4L/DVB (11771): cx23885: add DVB-T tuning support for Hauppauge WinTV-HVR1210
* V4L/DVB (11775): tuner: add support Philips MK5 tuner
* V4L/DVB (11798): xc5000: add "no_poweroff" module option
* V4L/DVB (11800): tuner-xc2028: show the proper module description for no_poweroff option
* V4L/DVB (11803): xc5000: add support for DVB-T tuning
* V4L/DVB (11825): em28xx: add Terratec Grabby
* V4L/DVB (11827): Add support for Terratec Grabster AV350
* V4L/DVB (11830): dib0700: add support for Leadtek WinFast DTV Dongle H
* V4L/DVB (11831): dib0700: added USB IDs for Terratec T3 and T5
* V4L/DVB (11838): uvcvideo: Add Lenovo Thinkpad SL400 to device list comments
* V4L/DVB (11861): saa7134: enable digital tv support for Hauppauge WinTV-HVR1110r3
* V4L/DVB (11864): cx18: Complete support for Sliced and Raw VBI for 625 line systems
* V4L/DVB (11879): Adds support for Leadtek WinFast DTV-1800H
* V4L/DVB (11880): cx23885: support for card Mygica X8506 DMB-TH
* V4L/DVB (11883): Siano: cards - add two additional (USB) devices
* V4L/DVB (11915): af9015: support for Genius TVGo DVB-T03
* V4L/DVB (11925): em28xx: Add support for the K-World 2800d
* V4L/DVB (11933): tuner-simple, tveeprom: Add Philips FQ1216LME MK3 analog tuner
* V4L/DVB (11940): gspca - m5602-s5k4aa: Add vflip quirk for the Lenovo Y300
* V4L/DVB (11941): gspca - m5602-ov9650: Add vflip quirk for the ASUS A6VA
* V4L/DVB (11942): gspca - m5602-ov9650: Reorder quirk list and add A7V quirk
* V4L/DVB (11946): uvcvideo: Add support for Aveo Technology webcams
* V4L/DVB (11947): uvcvideo: Add support for FSC V30S webcams
* V4L/DVB (11950): cx18: Split LeadTek PVR2100 and DVR3100 H into 2 separate card entries
* V4L/DVB (11951): cx18: Add DVB-T support for the Leadtek WinFast DVR3100 H
* V4L/DVB (11971): gspca - doc: Add the 05a9:a518 webcam to the Documentation.
* V4L/DVB (11977): em28xx: Add Kworld 315 entry
* V4L/DVB (11982): Add keymaps for TeVii and TBS USB DVB-S/S2 cards
* V4L/DVB (11983): Add support for DVBWorld DVB-C USB Cable card.
* V4L/DVB (11984): Add support for yet another SDMC DM1105 based DVB-S card.
* V4L/DVB (11996): saa7134: add support for AVerMedia M103 (f736)
* V4L/DVB (12010): cx88: Properly support Leadtek TV2000 XP Global
* V4L/DVB (12074): gspca_ov519: Add 320x240 and 160x120 support for cif sensor cams
* V4L/DVB (12084): ov511: mark as deprecated
* V4L/DVB (12087): gspca_sonixj: enable support for 0c45:613e camera
* V4L/DVB (12088): Mark the v4l1 uvcvideo quickcam messenger driver as deprecated
* V4L/DVB (12091): gspca_sonixj: Add light frequency control
* V4L/DVB (12101): em28xx: add support for EVGA inDtube
* V4L/DVB (12102): em28xx: add Remote control support for EVGA inDtube
* V4L/DVB (12128): v4l2: update framework documentation.
* V4L/DVB (12135): Add a driver for mt9v011 sensor
* V4L/DVB (12138): em28xx: add support for Silvercrest Webcam
* V4L/DVB (12139): em28xx: add other video formats
* V4L/DVB (12172): em28xx: Add autodetection code for Silvercrest 1.3 mpix
* V4L/DVB (12181): get_dvb_firmware: Add Yuan MPC718 MT352 DVB-T "firmware" extraction
* V4L/DVB (12182): cx18: Add DVB-T support for Yuan MPC-718 cards with an MT352 or ZL10353
* V4L/DVB (12206): get_dvb_firmware: Correct errors in MPC718 firmware extraction logic
* V4L/DVB (12245): em28xx: add support for mt9m001 webcams
* V4L/DVB (12260): em28xx: make support work for the Pinnacle Hybrid Pro (eb1a:2881)
* V4L/DVB (12263): em28xx: set demod profile for Pinnacle Hybrid Pro 320e
Quelle und Links :
http://www.heise.de/open/Kernel-Log-Was-2-6-31-bringt-2-Grafik-Audio-und-Video--/artikel/143127