__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Frame Buffer device internals — The Linux Kernel documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
<link rel="stylesheet" type="text/css" href="../_static/alabaster.css?v=3918102e" />
<script src="../_static/documentation_options.js?v=5929fcd5"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="modedb default video mode support" href="modedb.html" />
<link rel="prev" title="The Frame Buffer Device" href="framebuffer.html" />
<link rel="stylesheet" href="../_static/custom.css" type="text/css" />
</head><body>
<div class="document">
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/logo.svg" alt="Logo of The Linux Kernel"/>
</a></p>
<h1 class="logo"><a href="../index.html">The Linux Kernel</a></h1>
<p class="blurb">6.18.50</p>
<search id="searchbox" style="display: none" role="search">
<h3 id="searchlabel">Quick search</h3>
<div class="searchformwrapper">
<form class="search" action="../search.html" method="get">
<input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
<input type="submit" value="Go" />
</form>
</div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>
<p>
<h3 class="kernel-toc-contents">Contents</h3>
<input type="checkbox" class="kernel-toc-toggle" id = "kernel-toc-toggle" checked>
<label class="kernel-toc-title" for="kernel-toc-toggle"></label>
<div class="kerneltoc" id="kerneltoc">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../process/development-process.html">Development process</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process/submitting-patches.html">Submitting patches</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process/code-of-conduct.html">Code of conduct</a></li>
<li class="toctree-l1"><a class="reference internal" href="../maintainer/index.html">Maintainer handbook</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process/index.html">All development-process docs</a></li>
</ul>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../core-api/index.html">Core API</a></li>
<li class="toctree-l1"><a class="reference internal" href="../driver-api/index.html">Driver APIs</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../subsystem-apis.html">Subsystems</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#core-subsystems">Core subsystems</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../subsystem-apis.html#human-interfaces">Human interfaces</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../input/index.html">Input Documentation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../hid/index.html">Human Interface Devices (HID)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../sound/index.html">Sound Subsystem Documentation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../gpu/index.html">GPU Driver Developer’s Guide</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="index.html">Frame Buffer</a></li>
<li class="toctree-l3"><a class="reference internal" href="../leds/index.html">LEDs</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#networking-interfaces">Networking interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#storage-interfaces">Storage interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#other-subsystems">Other subsystems</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../locking/index.html">Locking</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../process/license-rules.html">Licensing rules</a></li>
<li class="toctree-l1"><a class="reference internal" href="../doc-guide/index.html">Writing documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../dev-tools/index.html">Development tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../dev-tools/testing-overview.html">Testing guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../kernel-hacking/index.html">Hacking guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../trace/index.html">Tracing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../fault-injection/index.html">Fault injection</a></li>
<li class="toctree-l1"><a class="reference internal" href="../livepatch/index.html">Livepatching</a></li>
<li class="toctree-l1"><a class="reference internal" href="../rust/index.html">Rust</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../admin-guide/index.html">Administration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../kbuild/index.html">Build system</a></li>
<li class="toctree-l1"><a class="reference internal" href="../admin-guide/reporting-issues.html">Reporting issues</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Userspace tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../userspace-api/index.html">Userspace API</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../firmware-guide/index.html">Firmware</a></li>
<li class="toctree-l1"><a class="reference internal" href="../devicetree/index.html">Firmware and Devicetree</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../arch/index.html">CPU architectures</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../staging/index.html">Unsorted documentation</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../translations/index.html">Translations</a></li>
</ul>
</div>
<script type="text/javascript"> <!--
var sbar = document.getElementsByClassName("sphinxsidebar")[0];
let currents = document.getElementsByClassName("current")
if (currents.length) {
sbar.scrollTop = currents[currents.length - 1].offsetTop;
}
--> </script>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/fb/internals.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
</div>
</div>
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="frame-buffer-device-internals">
<h1>Frame Buffer device internals<a class="headerlink" href="#frame-buffer-device-internals" title="Link to this heading">¶</a></h1>
<p>This is a first start for some documentation about frame buffer device
internals.</p>
<p>Authors:</p>
<ul class="simple">
<li><p>Geert Uytterhoeven <<a class="reference external" href="mailto:geert%40linux-m68k.org">geert<span>@</span>linux-m68k<span>.</span>org</a>>, 21 July 1998</p></li>
<li><p>James Simmons <<a class="reference external" href="mailto:jsimmons%40user.sf.net">jsimmons<span>@</span>user<span>.</span>sf<span>.</span>net</a>>, Nov 26 2002</p></li>
</ul>
<hr class="docutils" />
<section id="structures-used-by-the-frame-buffer-device-api">
<h2>Structures used by the frame buffer device API<a class="headerlink" href="#structures-used-by-the-frame-buffer-device-api" title="Link to this heading">¶</a></h2>
<p>The following structures play a role in the game of frame buffer devices. They
are defined in <linux/fb.h>.</p>
<ol class="arabic simple">
<li><p>Outside the kernel (user space)</p></li>
</ol>
<blockquote>
<div><ul>
<li><p><code class="xref c c-struct broken_xref docutils literal notranslate"><span class="pre">struct</span> <span class="pre">fb_fix_screeninfo</span></code></p>
<p>Device independent unchangeable information about a frame buffer device and
a specific video mode. This can be obtained using the FBIOGET_FSCREENINFO
ioctl.</p>
</li>
<li><p><code class="xref c c-struct broken_xref docutils literal notranslate"><span class="pre">struct</span> <span class="pre">fb_var_screeninfo</span></code></p>
<p>Device independent changeable information about a frame buffer device and a
specific video mode. This can be obtained using the FBIOGET_VSCREENINFO
ioctl, and updated with the FBIOPUT_VSCREENINFO ioctl. If you want to pan
the screen only, you can use the FBIOPAN_DISPLAY ioctl.</p>
</li>
<li><p><code class="xref c c-struct broken_xref docutils literal notranslate"><span class="pre">struct</span> <span class="pre">fb_cmap</span></code></p>
<p>Device independent colormap information. You can get and set the colormap
using the FBIOGETCMAP and FBIOPUTCMAP ioctls.</p>
</li>
</ul>
</div></blockquote>
<ol class="arabic simple" start="2">
<li><p>Inside the kernel</p></li>
</ol>
<blockquote>
<div><ul>
<li><p><code class="xref c c-struct broken_xref docutils literal notranslate"><span class="pre">struct</span> <span class="pre">fb_info</span></code></p>
<p>Generic information, API and low level information about a specific frame
buffer device instance (slot number, board address, ...).</p>
</li>
<li><p>struct <cite>par</cite></p>
<p>Device dependent information that uniquely defines the video mode for this
particular piece of hardware.</p>
</li>
</ul>
</div></blockquote>
</section>
<section id="visuals-used-by-the-frame-buffer-device-api">
<h2>Visuals used by the frame buffer device API<a class="headerlink" href="#visuals-used-by-the-frame-buffer-device-api" title="Link to this heading">¶</a></h2>
<section id="monochrome-fb-visual-mono01-and-fb-visual-mono10">
<h3>Monochrome (FB_VISUAL_MONO01 and FB_VISUAL_MONO10)<a class="headerlink" href="#monochrome-fb-visual-mono01-and-fb-visual-mono10" title="Link to this heading">¶</a></h3>
<p>Each pixel is either black or white.</p>
</section>
<section id="pseudo-color-fb-visual-pseudocolor-and-fb-visual-static-pseudocolor">
<h3>Pseudo color (FB_VISUAL_PSEUDOCOLOR and FB_VISUAL_STATIC_PSEUDOCOLOR)<a class="headerlink" href="#pseudo-color-fb-visual-pseudocolor-and-fb-visual-static-pseudocolor" title="Link to this heading">¶</a></h3>
<p>The whole pixel value is fed through a programmable lookup table that has one
color (including red, green, and blue intensities) for each possible pixel
value, and that color is displayed.</p>
</section>
<section id="true-color-fb-visual-truecolor">
<h3>True color (FB_VISUAL_TRUECOLOR)<a class="headerlink" href="#true-color-fb-visual-truecolor" title="Link to this heading">¶</a></h3>
<p>The pixel value is broken up into red, green, and blue fields.</p>
</section>
<section id="direct-color-fb-visual-directcolor">
<h3>Direct color (FB_VISUAL_DIRECTCOLOR)<a class="headerlink" href="#direct-color-fb-visual-directcolor" title="Link to this heading">¶</a></h3>
<p>The pixel value is broken up into red, green, and blue fields, each of which
are looked up in separate red, green, and blue lookup tables.</p>
</section>
<section id="grayscale-displays">
<h3>Grayscale displays<a class="headerlink" href="#grayscale-displays" title="Link to this heading">¶</a></h3>
<p>Grayscale and static grayscale are special variants of pseudo color and static
pseudo color, where the red, green and blue components are always equal to
each other.</p>
</section>
</section>
</section>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="footer">
©The kernel development community.
|
Powered by <a href="https://www.sphinx-doc.org/">Sphinx 8.1.3</a>
& <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
|
<a href="../_sources/fb/internals.rst.txt"
rel="nofollow">Page source</a>
</div>
</body>
</html>| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| api.html | File | 23.01 KB | 0644 |
|
| arkfb.html | File | 11.06 KB | 0644 |
|
| aty128fb.html | File | 11.54 KB | 0644 |
|
| cirrusfb.html | File | 11.75 KB | 0644 |
|
| cmap_xfbdev.html | File | 10.27 KB | 0644 |
|
| deferred_io.html | File | 11.92 KB | 0644 |
|
| efifb.html | File | 10.86 KB | 0644 |
|
| ep93xx-fb.html | File | 14.3 KB | 0644 |
|
| fbcon.html | File | 24.11 KB | 0644 |
|
| framebuffer.html | File | 26.03 KB | 0644 |
|
| gxfb.html | File | 10.27 KB | 0644 |
|
| index.html | File | 12.15 KB | 0644 |
|
| intel810.html | File | 19.89 KB | 0644 |
|
| internals.html | File | 12.56 KB | 0644 |
|
| lxfb.html | File | 10.28 KB | 0644 |
|
| matroxfb.html | File | 34.66 KB | 0644 |
|
| metronomefb.html | File | 10.01 KB | 0644 |
|
| modedb.html | File | 17.81 KB | 0644 |
|
| pvr2fb.html | File | 11.46 KB | 0644 |
|
| pxafb.html | File | 14.45 KB | 0644 |
|
| s3fb.html | File | 11.75 KB | 0644 |
|
| sa1100fb.html | File | 10.28 KB | 0644 |
|
| sh7760fb.html | File | 13.23 KB | 0644 |
|
| sisfb.html | File | 16.42 KB | 0644 |
|
| sm501.html | File | 8.39 KB | 0644 |
|
| sm712fb.html | File | 9.67 KB | 0644 |
|
| sstfb.html | File | 17.81 KB | 0644 |
|
| tgafb.html | File | 11.03 KB | 0644 |
|
| tridentfb.html | File | 11.78 KB | 0644 |
|
| udlfb.html | File | 16.75 KB | 0644 |
|
| uvesafb.html | File | 17.17 KB | 0644 |
|
| vesafb.html | File | 17.54 KB | 0644 |
|
| viafb.html | File | 52.91 KB | 0644 |
|
| vt8623fb.html | File | 10.81 KB | 0644 |
|