Linux kernel interfaces: Difference between revisions

Content deleted Content added
No edit summary
Tags: references removed Visual edit Mobile edit Mobile web edit
No edit summary
Tags: Visual edit Mobile edit Mobile web edit
Line 73:
 
== Abstraction APIs ==
[[File:Linux kernel and OpenGL video games.svg|thumb|OpenGL is indeed an abstraction API to make use of diverse GPUs of multiple vendors without the need to program for each one specifically.]]
[[File:Division of labor cpu and gpu.svg|thumb|But the implementation of the OpenGL-specification is executed on the CPU in the context of the running operating system. One design goal of [[Vulkan (API)|Vulkan]] was to make the "graphics driver", i.e. the implementation of the graphics API, do less.]]
For several use cases the Linux API is considered too low-level and higher abstraction APIs are used. Such of course still need to work on top of the low-level Linux APIs. Examples:
 
* implementation of the [[OpenGL]] and [[Vulkan (API)|Vulkan]] specifications in proprietary Linux graphics drivers and the free and open-source implementation in [[Mesa (computer graphics)|Mesa]]
* implementation of the [[OpenAL]] specification
* [[Simple DirectMedia Layer]]: abstraction API for input/sound/etc. available for many operating systems
* [[Simple and Fast Multimedia Library]]: like above
 
== See also ==