AMD 探索新的 Linux 开源驱动开发模式

AMD在游戏开发者大会上透露了它正在开发的新Linux驱动模式, 以在Steam主机时代到来前改进Linux驱动支持:AMD的Linux驱动仍然会分为开源驱动(Gallium3D)和闭源驱动(催化剂),但 Linux版的催化剂驱动将会很小,AMD开发者试图将闭源驱动和开源驱动分离开来,闭源的催化剂只是驱动的一部分,将会孤立在用户空间,而位于内核主支 的开源驱动将会被催化剂使用。开发者希望这一模式将会减少重复代码,消除不同Linux内核的碎片化以及兼容性问题。最终, Mesa/Gallium3D和催化剂驱动将只有一个共用的Linux内核驱动。

文章转载自 开源中国社区 [http://www.oschina.net]

时间: 2024-09-13 21:19:27

AMD 探索新的 Linux 开源驱动开发模式的相关文章

《Linux 设备驱动开发详解(第2版)》——导读

前言 本书第1版在2008年初出版以后,受到广大读者的支持和厚爱,累计销售1.6万册,从几年的市场和读者反馈看,在第1版中还存在一些不足,主要是以下几方面. 没有现成的开发环境,读者需要从头到尾构建,而构建需要花费很长的时间,许多时候会不成功,加之配套光盘中的实例没有Makefile,更加大了操作的难度. 没有配套的开发板,大量的基于S3C2410的实例读者身边如果没有可以直接运行的平台,就无法亲身体验这些驱动. 个别内容实用性不强或过于陈旧,也有个别知识点的讲解语言晦涩,读者不易理解,如pla

《Linux 设备驱动开发详解(第2版)》——1.6 设备驱动Hello World:LED驱动

1.6 设备驱动Hello World:LED驱动 Linux 设备驱动开发详解(第2版)1.6.1 无操作系统时的LED驱动 在嵌入式系统的设计中,LED一般直接由CPU的GPIO(通用可编程I/O口)控制.GPIO一般由两组寄存器控制,即一组控制寄存器和一组数据寄存器.控制寄存器可设置GPIO口的工作方式为输入或是输出.当引脚被设置为输出时,向数据寄存器的对应位写入1和0会分别在引脚上产生高电平和低电平:当引脚设置为输入时,读取数据寄存器的对应位可获得引脚上的电平为高或低. 在本例子中,我们

《Linux 设备驱动开发详解(第2版)》——1.4 Linux设备驱动

1.4 Linux设备驱动 Linux 设备驱动开发详解(第2版)1.4.1 设备的分类及特点 计算机系统的硬件主要由CPU.存储器和外设组成.随着IC制作工艺的发展,目前,芯片的集成度越来越高,往往在CPU内部就集成了存储器和外设适配器.譬如,相当多的ARM.PowerPC.MIPS等处理器都集成了UART.I2C控制器.USB控制器.SDRAM控制器等,有的处理器还集成了片内RAM和Flash. 驱动针对的对象是存储器和外设(包括CPU内部集成的存储器和外设),而不是针对CPU核.Linux

《Linux 设备驱动开发详解(第2版)》——1.3 有操作系统时的设备驱动

1.3 有操作系统时的设备驱动 Linux 设备驱动开发详解(第2版)1.2节中我们看到一个干净利落的设备驱动,它直接运行在硬件之上,不与任何操作系统关联.当系统中包含操作系统后,设备驱动会变得怎样? 首先,无操作系统时设备驱动的硬件操作工作仍然是必不可少的,没有这一部分,驱动不可能与硬件打交道. 其次,我们还需要将驱动融入内核.为了实现这种融合,必须在所有设备的驱动中设计面向操作系统内核的接口,这样的接口由操作系统规定,对一类设备而言结构一致,独立于具体的设备. 由此可见,当系统中存在操作系统

《Linux设备驱动开发详解 A》一一第1章 Linux设备驱动概述及开发环境构建

第1章 Linux设备驱动概述及开发环境构建本章导读本章将介绍Linux设备驱动开发的基本概念,并对本书所基于的平台和开发环境进行讲解.1.1节阐明设备驱动的概念和作用.1.2节和1.3节分别讲解在无操作系统情况下和有操作系统情况下设备驱动的设计,通过对设计差异的分析,讲解设备驱动与硬件和操作系统的关系.1.4节对Linux操作系统的设备驱动进行了概要性的介绍,给出设备驱动与整个软硬件系统的关系,分析Linux设备驱动的重点.难点和学习方法.1.5节对本书所基于的QEMU模拟的vexpress

《Linux 设备驱动开发详解(第2版)》——1.2 无操作系统时的设备驱动

1.2 无操作系统时的设备驱动 Linux 设备驱动开发详解(第2版)并不是任何一个计算机系统都一定要运行操作系统,在许多情况下,操作系统都不必存在.对于功能比较单一.控制并不复杂的系统,譬如ASIC内部.公交车的刷卡机.电冰箱.微波炉.简单的手机和小灵通等,并不需要多任务调度.文件系统.内存管理等复杂功能,用单任务架构完全可以良好地支持它们的工作.一个无限循环中夹杂对设备中断的检测或者对设备的轮询是这种系统中软件的典型架构,如代码清单1.1. 代码清单1.1 单任务软件典型架构 1 int m

Linux系统驱动开发调试技术指南

  一.使用printk 这是驱动开发中最朴实无华,同时也是最常用和有效的手段.scull驱动的main.c第338行如下,就是使用printk进行调试的例子,这样的例子相信大家在阅读驱动源码时随处可见. printk(KERN_ALERT "wakeup by signal in process %dn", current->;pid); printk的功能与我们经常在应用程序中使用的printf是一样的,不同之处在于printk可以在打印字符串前面加上内核定义的宏,例如上面例

《Linux设备驱动开发详解 A》一一3.1 Linux内核的发展与演变

3.1 Linux内核的发展与演变 Linux操作系统是UNIX操作系统的一种克隆系统,是一种类UNIX操作系统,诞生于1991年10月5日(第一次正式向外公布的时间),起初的作者是Linus Torvalds.Linux操作系统的诞生.发展和成长过程依赖着5个重要支柱:UNIX操作系统.Minix操作系统.GNU计划.POSIX标准和Internet. 1.?UNIX操作系统 UNIX 操作系统是美国贝尔实验室的Ken. Thompson和Dennis Ritchie于1969年夏在DEC P

《Linux设备驱动开发详解 A》一一1.5 Linux设备驱动的开发环境构建

1.5 Linux设备驱动的开发环境构建 1.5.1 PC上的Linux环境 本书配套资源提供了一个Ubuntu的VirtualBox虚拟机映像,该虚拟机上安装了本书涉及的所有源代码.工具链和各种开发工具,读者无须再安装和配置任何环境.该虚拟机可运行于Windows.Ubuntu等操作系统中,运行方法如下. 1)安装VirtualBox. 如果主机为Windows系统,请安装VirtualBox WIN版本: VirtualBox-4.3.20-96997-Win.exe 如果主机为Ubuntu