Knowledge (XXG)

Linux framebuffer

Source đź“ť

1935: 495: 1947: 168: 66: 283: 25: 1921: 363:
provide both DRM and fbdev APIs for backwards compatibility with software that has not been updated to use the DRM system, and there are still fbdev drivers for older (mostly embedded) hardware that does not have a DRM driver.
384:(useful when that mode is unavailable, or to overcome its restrictions on glyph size, number of code points etc.). One popular aspect of this is the ability to have console show the 1497: 460:
There was also a windowing system called FramebufferUI (fbui) implemented in kernel-space that provided a basic 2D windowing experience with very little memory use.
786: 1586: 1581: 1983: 1973: 711: 1939: 500: 185: 38: 1318: 1086: 269: 251: 149: 52: 87: 80: 232: 130: 816: 508: 204: 102: 1428: 189: 756: 1978: 1862: 211: 109: 1743: 791: 650: 1145: 544: 1844: 1658: 776: 704: 218: 116: 178: 76: 1849: 1491: 827: 1412: 1397: 1313: 1101: 906: 435: 356: 200: 98: 1755: 1554: 1190: 1078: 1033: 983: 967: 944: 766: 1900: 1877: 1872: 1707: 1673: 1663: 1535: 1480: 1357: 896: 431: 403: 44: 1951: 1854: 697: 457:
is another project aimed at providing a framework for hardware acceleration of the Linux framebuffer.
1884: 1486: 1048: 746: 1988: 1680: 1159: 1018: 952: 513: 471:
It was originally implemented to allow the kernel to emulate a text console on systems such as the
1834: 1668: 1254: 1154: 1091: 1013: 1008: 796: 225: 123: 1805: 1453: 1418: 1269: 924: 886: 532: 480: 302: 1559: 1121: 842: 832: 741: 595:
HiGFXback (History of graphics backends) project with the Linux Framebuffer graphics backend
306: 594: 1795: 1463: 1244: 472: 447: 407: 1825: 1730: 1641: 1518: 1513: 1508: 1503: 1286: 1111: 1106: 751: 446:, which can all use the framebuffer directly. This use case is particularly popular in 392: 310: 610: 1967: 1760: 1576: 1382: 1372: 1131: 1003: 881: 443: 396: 377: 360: 1925: 1646: 1564: 1458: 1402: 761: 720: 385: 337: 329: 1651: 1544: 1126: 1023: 679: 675: 341: 333: 325: 167: 65: 1738: 1713: 1700: 1605: 1593: 1523: 1433: 919: 822: 781: 490: 349: 321: 282: 684: 1600: 1569: 1438: 1274: 1063: 934: 891: 658: 476: 381: 572: 1718: 1539: 1528: 1448: 1392: 1387: 1333: 1281: 1170: 1096: 454: 16:
Abstraction layer for Linux kernel to show graphics on the system console
1800: 1785: 1695: 1685: 1625: 1549: 1443: 1367: 1308: 1222: 1185: 1116: 1058: 1053: 957: 914: 583: 423: 415: 345: 286: 1790: 1775: 1765: 1620: 1615: 1377: 1328: 1301: 1264: 1234: 1201: 1180: 929: 876: 771: 637: 598: 561: 419: 557: 468:
Linux has had generic framebuffer support since the 2.1.109 kernel.
1920: 1610: 1473: 1407: 1362: 1323: 1291: 1259: 1217: 1212: 1175: 1043: 1038: 998: 993: 281: 414:
Examples of the third application include Linux programs such as
1690: 1468: 1296: 1227: 871: 545:"Developer Steps up Wanting to Maintain Linux's FBDEV Subsystem" 693: 689: 1770: 1748: 439: 427: 317: 161: 59: 18: 633: 355:
In most applications, fbdev has been superseded by the Linux
372:
There are three applications of the Linux framebuffer:
344:
system interface, avoiding the need for libraries like
634:
Framebuffer UI (fbui) in-kernel Linux windowing system
1893: 1833: 1824: 1729: 1634: 1350: 1243: 1153: 1144: 1077: 982: 975: 966: 943: 905: 864: 857: 805: 734: 727: 533:
The Frame Buffer Device, Linux Kernel Documentation
192:. Unsourced material may be challenged and removed. 661:on 10 December 2023 – via Internet Archive. 348:which effectively implemented video drivers in 430:, fbff, fbida, and fim, and libraries such as 705: 8: 53:Learn how and when to remove these messages 1830: 1726: 1150: 979: 972: 861: 731: 712: 698: 690: 316:It was designed as a hardware-independent 270:Learn how and when to remove this message 252:Learn how and when to remove this message 150:Learn how and when to remove this message 1940:Free and open-source software portal 1498:Earliest eligible virtual deadline first 584:FIM (Fbi IMproved) image viewer homepage 525: 86:Please improve this article by adding 7: 501:Free and open-source software portal 301:) is a linux subsystem used to show 190:adding citations to reliable sources 611:"DirectFB Is Back To Being Dormant" 359:subsystem, but as of 2022, several 14: 34:This article has multiple issues. 1946: 1945: 1933: 1919: 787:Supported computer architectures 493: 479:, and was later expanded to the 340:'s own basic facilities and its 166: 64: 23: 817:The Linux Programming Interface 573:fbi/fbida image viewer homepage 509:Direct Rendering Infrastructure 177:needs additional citations for 42:or discuss these issues on the 1984:Interfaces of the Linux kernel 402:Graphic programs avoiding the 391:A graphic output method for a 1: 1974:Free software programmed in C 649:Buell, Alex (5 August 2010). 88:secondary or tertiary sources 558:fbff media player repository 2005: 1659:High-performance computing 1481:Process and I/O schedulers 380:that doesn't use hardware 376:An implementation of text 328:(the part of a computer's 289:booting on the framebuffer 1913: 1492:Completely Fair Scheduler 757:Tanenbaum–Torvalds debate 399:hardware and its drivers. 1413:Kernel same-page merging 357:Direct Rendering Manager 1756:OS-level virtualization 324:software access to the 1901:List of Linux adopters 843:Linux User Group (LUG) 290: 75:relies excessively on 332:containing a current 285: 1979:Free system software 1487:Brain Fuck Scheduler 747:Linux Mark Institute 186:improve this article 1681:Real-time computing 953:Linux Standard Base 651:"Framebuffer HOWTO" 514:Kernel mode setting 475:that do not have a 309:, typically on the 201:"Linux framebuffer" 99:"Linux framebuffer" 1669:Compute Node Linux 1255:C standard library 291: 1961: 1960: 1909: 1908: 1820: 1819: 1816: 1815: 1454:Network scheduler 1346: 1345: 1342: 1341: 1140: 1139: 887:Linux kernel oops 853: 852: 833:Linux conferences 676:Linux framebuffer 481:IBM PC compatible 477:text-mode display 395:, independent of 336:) using only the 295:Linux framebuffer 280: 279: 272: 262: 261: 254: 236: 160: 159: 152: 134: 57: 1996: 1949: 1948: 1938: 1937: 1936: 1926:Linux portal 1924: 1923: 1831: 1727: 1536:Security Modules 1151: 980: 973: 862: 742:Linux Foundation 732: 714: 707: 700: 691: 663: 662: 657:. Archived from 646: 640: 631: 625: 624: 622: 621: 615:www.phoronix.com 607: 601: 592: 586: 581: 575: 570: 564: 555: 549: 548: 541: 535: 530: 503: 498: 497: 496: 453:The now defunct 448:embedded systems 388:logo at boot up. 307:computer monitor 275: 268: 257: 250: 246: 243: 237: 235: 194: 170: 162: 155: 148: 144: 141: 135: 133: 92: 68: 60: 49: 27: 26: 19: 2004: 2003: 1999: 1998: 1997: 1995: 1994: 1993: 1964: 1963: 1962: 1957: 1934: 1932: 1918: 1905: 1889: 1836: 1812: 1796:User-mode Linux 1725: 1630: 1338: 1246: 1239: 1158: 1136: 1073: 985: 962: 939: 901: 849: 801: 792:Version history 723: 718: 672: 667: 666: 648: 647: 643: 632: 628: 619: 617: 609: 608: 604: 593: 589: 582: 578: 571: 567: 556: 552: 543: 542: 538: 531: 527: 522: 499: 494: 492: 489: 473:Apple Macintosh 466: 438:(version 1.2), 408:X Window System 370: 276: 265: 264: 263: 258: 247: 241: 238: 195: 193: 183: 171: 156: 145: 139: 136: 93: 91: 85: 81:primary sources 69: 28: 24: 17: 12: 11: 5: 2002: 2000: 1992: 1991: 1986: 1981: 1976: 1966: 1965: 1959: 1958: 1956: 1955: 1943: 1929: 1914: 1911: 1910: 1907: 1906: 1904: 1903: 1897: 1895: 1891: 1890: 1888: 1887: 1882: 1881: 1880: 1875: 1867: 1866: 1865: 1857: 1852: 1847: 1841: 1839: 1828: 1822: 1821: 1818: 1817: 1814: 1813: 1811: 1810: 1809: 1808: 1803: 1798: 1793: 1788: 1780: 1779: 1778: 1773: 1768: 1763: 1753: 1752: 1751: 1746: 1735: 1733: 1731:Virtualization 1724: 1723: 1722: 1721: 1716: 1705: 1704: 1703: 1698: 1693: 1688: 1678: 1677: 1676: 1671: 1666: 1656: 1655: 1654: 1649: 1638: 1636: 1632: 1631: 1629: 1628: 1623: 1618: 1613: 1608: 1603: 1597: 1596: 1591: 1590: 1589: 1584: 1577:Device drivers 1573: 1572: 1567: 1562: 1557: 1552: 1547: 1542: 1532: 1531: 1526: 1521: 1519:SCHED_DEADLINE 1516: 1514:O(1) scheduler 1511: 1509:O(n) scheduler 1506: 1504:Noop scheduler 1501: 1495: 1489: 1484: 1477: 1476: 1471: 1466: 1461: 1456: 1451: 1446: 1441: 1436: 1431: 1426: 1421: 1416: 1410: 1405: 1400: 1395: 1390: 1385: 1380: 1375: 1370: 1365: 1360: 1358:Kernel modules 1354: 1352: 1348: 1347: 1344: 1343: 1340: 1339: 1337: 1336: 1331: 1326: 1321: 1316: 1311: 1306: 1305: 1304: 1299: 1294: 1289: 1284: 1279: 1278: 1277: 1267: 1262: 1251: 1249: 1241: 1240: 1238: 1237: 1232: 1231: 1230: 1220: 1215: 1210: 1207: 1204: 1199: 1196: 1193: 1188: 1183: 1178: 1173: 1168: 1164: 1162: 1148: 1142: 1141: 1138: 1137: 1135: 1134: 1129: 1124: 1119: 1114: 1112:Memory barrier 1109: 1104: 1099: 1094: 1089: 1083: 1081: 1075: 1074: 1072: 1071: 1070: 1069: 1066: 1061: 1056: 1051: 1046: 1041: 1031: 1030: 1029: 1026: 1021: 1016: 1011: 1006: 1001: 990: 988: 977: 970: 964: 963: 961: 960: 955: 949: 947: 941: 940: 938: 937: 932: 927: 922: 917: 911: 909: 903: 902: 900: 899: 894: 889: 884: 879: 874: 868: 866: 859: 855: 854: 851: 850: 848: 847: 846: 845: 837: 836: 835: 830: 825: 820: 809: 807: 803: 802: 800: 799: 794: 789: 784: 779: 774: 769: 764: 759: 754: 749: 744: 738: 736: 729: 725: 724: 719: 717: 716: 709: 702: 694: 688: 687: 682: 671: 670:External links 668: 665: 664: 641: 626: 602: 587: 576: 565: 550: 536: 524: 523: 521: 518: 517: 516: 511: 505: 504: 488: 485: 465: 462: 412: 411: 400: 393:display server 389: 369: 366: 311:system console 278: 277: 260: 259: 174: 172: 165: 158: 157: 72: 70: 63: 58: 32: 31: 29: 22: 15: 13: 10: 9: 6: 4: 3: 2: 2001: 1990: 1987: 1985: 1982: 1980: 1977: 1975: 1972: 1971: 1969: 1954: 1953: 1944: 1942: 1941: 1930: 1928: 1927: 1922: 1916: 1915: 1912: 1902: 1899: 1898: 1896: 1892: 1886: 1883: 1879: 1876: 1874: 1871: 1870: 1868: 1864: 1861: 1860: 1859:Thin client: 1858: 1856: 1853: 1851: 1848: 1846: 1843: 1842: 1840: 1838: 1832: 1829: 1827: 1823: 1807: 1804: 1802: 1799: 1797: 1794: 1792: 1789: 1787: 1784: 1783: 1781: 1777: 1774: 1772: 1769: 1767: 1764: 1762: 1761:Linux-VServer 1759: 1758: 1757: 1754: 1750: 1747: 1745: 1742: 1741: 1740: 1737: 1736: 1734: 1732: 1728: 1720: 1717: 1715: 1712: 1711: 1709: 1706: 1702: 1699: 1697: 1694: 1692: 1689: 1687: 1684: 1683: 1682: 1679: 1675: 1672: 1670: 1667: 1665: 1662: 1661: 1660: 1657: 1653: 1650: 1648: 1645: 1644: 1643: 1640: 1639: 1637: 1633: 1627: 1624: 1622: 1619: 1617: 1614: 1612: 1609: 1607: 1604: 1602: 1599: 1598: 1595: 1592: 1588: 1585: 1583: 1580: 1579: 1578: 1575: 1574: 1571: 1568: 1566: 1563: 1561: 1558: 1556: 1553: 1551: 1548: 1546: 1543: 1541: 1537: 1534: 1533: 1530: 1527: 1525: 1522: 1520: 1517: 1515: 1512: 1510: 1507: 1505: 1502: 1499: 1496: 1493: 1490: 1488: 1485: 1482: 1479: 1478: 1475: 1472: 1470: 1467: 1465: 1462: 1460: 1457: 1455: 1452: 1450: 1447: 1445: 1442: 1440: 1437: 1435: 1432: 1430: 1427: 1425: 1422: 1420: 1417: 1414: 1411: 1409: 1406: 1404: 1401: 1399: 1396: 1394: 1391: 1389: 1386: 1384: 1383:Device mapper 1381: 1379: 1376: 1374: 1371: 1369: 1366: 1364: 1361: 1359: 1356: 1355: 1353: 1349: 1335: 1332: 1330: 1327: 1325: 1322: 1320: 1317: 1315: 1312: 1310: 1307: 1303: 1300: 1298: 1295: 1293: 1290: 1288: 1285: 1283: 1280: 1276: 1273: 1272: 1271: 1268: 1266: 1263: 1261: 1258: 1257: 1256: 1253: 1252: 1250: 1248: 1242: 1236: 1233: 1229: 1226: 1225: 1224: 1221: 1219: 1216: 1214: 1211: 1208: 1205: 1203: 1200: 1197: 1194: 1192: 1189: 1187: 1184: 1182: 1179: 1177: 1174: 1172: 1169: 1166: 1165: 1163: 1161: 1156: 1152: 1149: 1147: 1143: 1133: 1130: 1128: 1125: 1123: 1120: 1118: 1115: 1113: 1110: 1108: 1105: 1103: 1100: 1098: 1095: 1093: 1090: 1088: 1085: 1084: 1082: 1080: 1076: 1067: 1065: 1062: 1060: 1057: 1055: 1052: 1050: 1047: 1045: 1042: 1040: 1037: 1036: 1035: 1032: 1027: 1025: 1022: 1020: 1017: 1015: 1012: 1010: 1007: 1005: 1002: 1000: 997: 996: 995: 992: 991: 989: 987: 981: 978: 974: 971: 969: 965: 959: 956: 954: 951: 950: 948: 946: 942: 936: 933: 931: 928: 926: 923: 921: 918: 916: 913: 912: 910: 908: 904: 898: 895: 893: 890: 888: 885: 883: 880: 878: 875: 873: 870: 869: 867: 863: 860: 856: 844: 841: 840: 838: 834: 831: 829: 826: 824: 821: 819: 818: 814: 813: 811: 810: 808: 804: 798: 795: 793: 790: 788: 785: 783: 780: 778: 775: 773: 770: 768: 765: 763: 760: 758: 755: 753: 750: 748: 745: 743: 740: 739: 737: 733: 730: 726: 722: 715: 710: 708: 703: 701: 696: 695: 692: 686: 683: 681: 677: 674: 673: 669: 660: 656: 652: 645: 642: 639: 635: 630: 627: 616: 612: 606: 603: 600: 596: 591: 588: 585: 580: 577: 574: 569: 566: 563: 559: 554: 551: 546: 540: 537: 534: 529: 526: 519: 515: 512: 510: 507: 506: 502: 491: 486: 484: 482: 478: 474: 469: 463: 461: 458: 456: 451: 449: 445: 441: 437: 433: 429: 425: 421: 417: 409: 405: 401: 398: 397:video adapter 394: 390: 387: 383: 379: 378:Linux console 375: 374: 373: 367: 365: 362: 358: 353: 351: 347: 343: 339: 335: 331: 327: 323: 319: 314: 312: 308: 304: 300: 296: 288: 284: 274: 271: 256: 253: 245: 234: 231: 227: 224: 220: 217: 213: 210: 206: 203: â€“  202: 198: 197:Find sources: 191: 187: 181: 180: 175:This article 173: 169: 164: 163: 154: 151: 143: 132: 129: 125: 122: 118: 115: 111: 108: 104: 101: â€“  100: 96: 95:Find sources: 89: 83: 82: 78: 73:This article 71: 67: 62: 61: 56: 54: 47: 46: 41: 40: 35: 30: 21: 20: 1950: 1931: 1917: 1647:Linux kernel 1565:Tomoyo Linux 1423: 1160:File systems 815: 767:SCO disputes 728:Organization 721:Linux kernel 659:the original 654: 644: 629: 618:. Retrieved 614: 605: 590: 579: 568: 553: 539: 528: 470: 467: 459: 452: 413: 371: 368:Applications 354: 338:Linux kernel 330:video memory 315: 298: 294: 292: 266: 248: 239: 229: 222: 215: 208: 196: 184:Please help 179:verification 176: 146: 137: 127: 120: 113: 106: 94: 74: 50: 43: 37: 36:Please help 33: 1652:Linux-libre 1545:Exec Shield 1424:Framebuffer 1127:Video4Linux 984:System Call 812:Developers 752:Linus's law 685:XFree86 doc 680:SourceForge 342:device file 334:video frame 326:framebuffer 1989:Linux APIs 1968:Categories 1739:Hypervisor 1701:PREEMPT_RT 1606:KernelCare 1594:Raw device 1524:SCHED_FIFO 1434:KMS driver 1351:Components 1206:securityfs 1092:Crypto API 1034:Linux-only 920:System.map 823:kernel.org 782:menuconfig 777:GNU GPL v2 620:2024-01-01 520:References 483:platform. 350:user space 322:user space 242:March 2010 212:newspapers 140:March 2011 110:newspapers 77:references 39:improve it 1878:LYME-LYCE 1601:initramfs 1570:Linux PAM 1439:Netfilter 1309:libcgroup 1275:libhybris 1247:libraries 1195:hugetlbfs 1146:Userspace 1079:In-kernel 1064:readahead 986:Interface 935:initramfs 892:SystemTap 865:Debugging 858:Technical 797:Criticism 382:text mode 45:talk page 1952:Category 1894:Adopters 1869:Server: 1850:Embedded 1826:Adoption 1719:PSXLinux 1642:Mainline 1635:Variants 1587:graphics 1540:AppArmor 1529:SCHED_RR 1449:nftables 1393:dm-crypt 1388:dm-cache 1334:liburing 1324:libevdev 1282:dietlibc 1171:configfs 1097:io uring 655:tldp.org 487:See also 455:DirectFB 404:overhead 320:to give 303:graphics 1885:Devices 1845:Desktop 1806:coLinux 1801:MkLinux 1786:L4Linux 1714:ÎĽClinux 1696:Xenomai 1686:RTLinux 1626:Ksplice 1555:SELinux 1550:seccomp 1500:(EEVDF) 1444:Netlink 1373:Console 1368:cgroups 1319:libalsa 1245:Wrapper 1223:systemd 1186:debugfs 1155:Daemons 1117:New API 1059:inotify 1054:dnotify 958:x32 ABI 915:vmlinux 907:Startup 806:Support 464:History 424:NetSurf 416:MPlayer 406:of the 361:drivers 346:SVGAlib 287:Knoppix 226:scholar 124:scholar 1855:Gaming 1837:of use 1791:ELinOS 1782:Other 1776:OpenVZ 1766:Lguest 1710:-less 1621:kpatch 1616:kGraft 1582:802.11 1378:bcache 1329:libusb 1314:libdrm 1302:Newlib 1287:EGLIBC 1270:Bionic 1265:uClibc 1235:Kmscon 1209:sockfs 1202:procfs 1198:pipefs 1181:devpts 1107:kernfs 1049:splice 1004:select 976:Kernel 930:initrd 925:dracut 877:ftrace 839:Users 772:Linaro 735:Kernel 638:GitHub 599:GitHub 562:GitHub 442:, and 420:links2 228:  221:  214:  207:  199:  126:  119:  112:  105:  97:  1835:Range 1674:SLURM 1611:kexec 1560:Smack 1494:(CFS) 1474:zswap 1415:(KSM) 1408:evdev 1363:BlueZ 1292:klibc 1260:glibc 1218:tmpfs 1213:sysfs 1176:devfs 1167:bpffs 1044:epoll 1039:futex 1019:close 999:ioctl 994:POSIX 882:kdump 305:on a 299:fbdev 233:JSTOR 219:books 131:JSTOR 117:books 1873:LAMP 1863:LTSP 1691:RTAI 1469:zram 1464:SLUB 1459:perf 1403:EDAC 1297:musl 1228:udev 1191:FUSE 1087:ALSA 1024:sync 1014:read 1009:open 968:APIs 945:ABIs 872:CRIU 828:LKML 432:GLUT 293:The 205:news 103:news 1771:LXC 1749:Xen 1744:KVM 1708:MMU 1664:INK 1429:LVM 1419:LIO 1398:DRM 1132:IIO 1122:RCU 1102:DRM 897:BPF 762:Tux 678:on 440:GTK 436:SDL 428:w3m 386:Tux 318:API 188:by 79:to 1970:: 1538:: 653:. 636:, 613:. 597:, 560:, 450:. 444:Qt 434:, 426:, 422:, 418:, 352:. 313:. 90:. 48:. 1483:: 1157:, 1068:… 1028:… 713:e 706:t 699:v 623:. 547:. 410:. 297:( 273:) 267:( 255:) 249:( 244:) 240:( 230:· 223:· 216:· 209:· 182:. 153:) 147:( 142:) 138:( 128:· 121:· 114:· 107:· 84:. 55:) 51:(

Index

improve it
talk page
Learn how and when to remove these messages

references
primary sources
secondary or tertiary sources
"Linux framebuffer"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message

verification
improve this article
adding citations to reliable sources
"Linux framebuffer"
news
newspapers
books
scholar
JSTOR
Learn how and when to remove this message
Learn how and when to remove this message

Knoppix
graphics
computer monitor

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑