X Window没有在linux内核实现的原因

Window ARM64笔记本交叉编译Linux内核,gcc-11 以下就是我在arm64架构下成功编译Linux内核的流程和经验,如果你跟我的条件一样应该能帮到你 阅读详情

在 linux 内核中没有实现 X Window ,在 linux 里面没有相应的 X 驱动,这里面我想有两个原因,其中一个是最重要的。先谈谈那个不那么重要的,众所周知 linux 内核只提供了机制而不提供策略, X 这种东西对于内核来说太策略了,它涉及显式驱动程序等等,关于显式的东西是人机交互中最重要的东西,这也就是为何人们普遍对显卡有要求而对声卡没有要求的原因,显式相关的东西和别的比如打印机驱动相比具有自己的独特的特点,那就是复杂,高度策略化,它几乎是人的玩具而不是硬件的特质,于是 linux 内核当然为了不引入过多的策略也就对此类驱动敬而远之了,相反在用户空间实现 x 驱动而对显卡的控制逻辑。我想到的第二个原因也就是最重要的原因就是 linux 的开源模式,因为它是开源的,没有固定的开发周期和市场调研,那么就决定了它不一定是跟着市场走的,而在某种程度上是由别的原因决定的,开源的模式也决定了开源软件只能很好的提供机制而不提供策略,它们只能在点上做文章而不能像 Microsoft 那样一下子就做一条产品线,开源的软件只是解决一个问题而不能满足一类用户的永久需求,比如 vsftpd 能解决远程文件传输并且它是一个服务器需要自己配备客户端,而 windows 下自带的 ftp 却只是一个 IIS 中的模块罢了,开源模式下开发的软件在点上的力量很大却不能形成自己的产品线,相反商业的软件却可以一下子提供一整套解决方案,加之开源软件的开发者的报酬是不定的,因此多数情况下只能凭兴趣和激情去做事而不能靠别的。明白了以上原因以后,我们看一下为何在 linux 内核中没有实现 x 和很多显式控制逻辑,显式控制逻辑是和市场有很大关系的,某种程度上,它关系到当前流行的游戏,流行的电影以及王牌厂商的规范,比如 Microsoft 的 DirectX10 就是一个例子,既然和商业联系在了一起,那么它在一些信念上就是和开源相悖的,故而就不能为了在内核中实现显式驱动而和商业和策略搅合在一起了。

     视觉冲击永远是新事物对人们的第一冲击,难怪厂商纷纷要抢占人们的眼睛,谁控制了显式规范谁就控制了 PC ,游戏已经成了推动 PC 发展的第一推动力, linux 如果无心在桌面市场和众强角逐,那么它就没有必要去在内核实现内置的显式驱动,当然它是没有必要的啦, linux 关注的是服务器领域,如今虽然 linux 开始进军桌面,但是我不希望它跑偏。开源模式的点上功夫就好比 unix 的伟大哲学 -- 每次只做并且做好一件事。和对人们视觉冲击不同,听觉冲击往往对人们影响不是很大,人们天天都在谈环绕立体声,杜比等等但是没有几个人真的去关注,而且声音规范变化的没有显式规范快,因此声音规范显得更加稳定,那么 linux 的内核就可以实现声音驱动,可以实现各种声音规范,而且还真的有人去做这件事,比如最新的 ALSA 驱动就包含了很多声音规范, Intel 最新的 HD 声音规范代替了 AC97 ,当然也可以说是 AC97 的升级在 linux 的各个声卡驱动里面也得到了实现。我的一个亲身经历就是去年的时候我接到一个工作,就是驱动我们公司自己研发的一块板子的声音芯片和显式芯片,当然芯片都是标准的,接口也是标准的,不同的就是总线不同,于是我的工作就是到驱动总线为止,以后的用规范的做,这一切看起来很是简单,但是做起来却不是我想的那么简单,几个夜晚我没有合眼,不是声卡驱动写不好,而是显卡驱动太复杂,其实声卡驱动我一周就完成了,就是驱动一下总线然后按照声卡芯片的规范驱动声卡就可以了,一切很顺利,但是显卡就不是这样了,我也按照同样的步骤做,但是就是无法正常驱动显卡,后来我查了资料,发现显卡规范太复杂了,我在实现的时候漏掉了很多关键的东西,这个过程耗了我将近一个半月时间 ... 我想 linux 内核的设计者和实现者也是这么认为的吧,难怪 x 没有在内核实现呢,不过这也好,这可以让 x 可以成为一个自成体系的系统。

     在最新的 2.6.29 内核中,内核实现了内核中的显式控制逻辑,叫做 kernel-mode-setting ,我不知道这到底是好是坏,如果从兼容和用户角度来讲这当然好了,但是却完全不符合 unix 的哲学,在这个世界上符合哲学到底能得到什么好处呢?我想哲学也仅仅是人们心灵的一个避风港吧,风大浪急还要面对,说不定要翻船,不过这就是真实 ...

 

在Ultralytics YOLO中添加/更换模块详细指南 使用参数继承 my_module_args: &my_args [64, 3, 0.5] # 定义参数模板 backbone: - [-1, 1, MyModule, *my_args] # 引用参数。 阅读详情

相关推荐

windows10家庭版输入loadrunner注册码时报“License security violation. Operation isnot allowed”的解决办法

有可能出现2个错误第一个可能是第二个可能是“License security violation. Operation isnot allowed”ok,在此我在百度找了很多方法,大部分的方法都是删除注册表,但我根本就找不到这个注册表,而后又是管理中心找本地用户和组,但我依旧找不到这个玩意,然后可能是windows10家庭版本来就没有这个。再然后又以管理员身份去运行填写,好的,依旧报错,依旧未解决...

qq_30990097的博客 2558

linux 内核丢失,Linux误删所有内核,恢复内核的解决办法

前言我用df -h命令查看磁盘使用情况的时候发现,系统根目录空间已经比较小了,于是我就使用clean命令对系统内核进行清理,一不小心,就把所有的内核删除了,你很有可能也是我的这种经历,非常的崩溃.好了,我就不再废话了,让我们来看一下究竟如何修复.修复方法使用u盘做一个ubuntu(你当前的系统发行版本)启动盘参照:https://www.linuxidc.com/Linux/2016-04/130...

weixin_32487647的博客 592

Unity 调用安卓内部安装apk

一、申请权限 应用内安装其他应用的权限属于特殊权限,需要在特殊申请。 Uri packageURI = Uri.parse("package:" + mContext.getPackageName()); Intent intent = new Intent(Settings.ACTION_MANAGE_UNKNOWN_APP_SOURCES, packageURI); startA...

BDDNH的博客 1238

嵌入式Linux上没有x-window系统环境运行qt程序的方法

在linux上运行应用程序需要x-window桌面环境的支持,一般在最小linux内核里是不具备这个东西的,但是QT的特性是跨平台,只需要加上“qws”参数就可以了 如: ./app -qws app为您的程序,qws是qt自己开发的一套Linux C/S桌面环境,在编译程序时会附加进去。 ...

17岁boy的博客 2647

opencv读取海康威视摄像头相关配置

1、开发环境 海康威视的网络摄像头使用: 开发工具:vs2015 C++ 海康SDK 2、相关操作 下载海康威视SDK:网址:http://www.hikvision.com/cn/download_61.html • 1:对照自己的开发平台可以下载设备网络SDK_Win32设备网络SDK_Win64,解压到本地文件下: • 2:VS配置 、Opencv配置。参考址 http://blog.youkuaiyun.com/poem_qianmo/article/details/19809337 (建议自己创

HMJ115的博客 984

国产操作系统应用迁移与适配

了解国产操作系统的背景及意义

2301_77609559的博客 2678

X Window系统

X Window系统 一种以位图方式显示的软件窗口系统。诞生于1984,比Microsoft Windows要早。是一套独立于内核的软件 Linux上的X Window系统 X Window系统由三个基本元素组成:X Server、X Client和二者通信的通道。 X Server:是控制输出及输入设备并维护相关资源的程序,它接收输入设备的信息,并将其传给X Client,而将X Client传来的信息输出到屏幕上(在屏幕上构造方块(窗口),然后画出里面的元素 )。 X Client:是应用程序的

weixin_44560620的博客 2061

【即插即用模块】Transformer篇 | TCSVT 2025 | DAFM:双注意力聚合+反向跨模态筛选,特征精准捕捉并融合!

本文提出了一种双模态注意力融合模块(DAFM),用于增强多模态图像融合任务中的特征交互。该模块通过双注意力聚合机制,结合自注意力与跨模态注意力,有效提升特征融合效果。DAFM采用可学习平衡因子动态调整注意力权重,并运用深度卷积降低计算复杂度。实验结果表明,该模块能显著提升多模态图像融合质量,适用于RGB-红外等双模态视觉任务。模块代码实现简洁,可直接集成到现有网络中作为特征融合层使用。

主要更新底层视觉(去噪、超分等)相关的科研内容,形式为【论文精读】+【论文复现】 175

关于X Window的一些理解

什么是X Window? X Window即X Window图形用户接口,是一种计算机软件系统和网络协议,提供了一个基础的图形用户界面(GUI)和丰富的输入设备能力联网计算机。其中软件编写使用广义的命令集,它创建了一个硬件抽象层,允许设备独立性和重用方案的任何计算机上实现。 ------来自百度百科 与windows有何区别? windows是一个完整的操作系统,包括了从内核到

爱你の大表哥的博客 1178

在ARM平台上使用Anbox和LXC进行ARM开发调试

在ARM平台上使用Anbox和LXC进行ARM开发调试是一种强大的工具组合。通过安装和配置Anbox和LXC,以及在LXC容器中运行ARM应用程序,开发人员可以方便地进行ARM开发和调试。LXC(Linux容器)是一种轻量级虚拟化技术,它提供了一种在单个主机上运行多个独立的Linux容器的方法。我们将讨论安装和配置Anbox和LXC,以及如何在容器中运行ARM应用程序。通过上述步骤,你现在可以在LXC容器中运行ARM应用程序,并使用Anbox在ARM平台上进行开发和调试。步骤2:启动LXC容器。

KwmGroovy的博客 735

自适应滤波-----LMS(Least Mean Square)算法

自适应滤波的意义所在 自适应滤波器解决非平稳的过程,因为实际信号的统计特性可能是非平稳的或者是未知的。 自适应滤波器的特点: 1.没有关于待提取信息的先验统计知识 2.直接利用观测数据依据某种判据在观测过程中不断递归更新 3.最优化 自适应滤波分类: 处理器的结构划分:横向结构、格型结构 重复一次计算自适应需要的数据划分:成批处理法、递归处理法 按调节算法...

heda3的博客 10万+

x window

linux服务之X windows gnome display manager  :gdm   window manager  :metacity x-server x-client [root@localhost gdm]# xlsclientslocalhost.localdomain gnome-sessionlocalhost.localdomain gnome-...

weixin_30741653的博客 137

Python爬虫实战:微信小程序内容采集的全面指南

在移动互联网时代,微信小程序已成为企业和个人提供服务的重要渠道。小程序中包含了大量有价值的信息,但微信官方并未提供便捷的数据获取接口。本文将详细介绍如何使用Python爬虫技术采集微信小程序内容,包括最新技术方案、完整代码实现以及应对各种反爬机制的策略。小程序运行在微信封闭环境中,无法直接访问数据通信主要通过HTTPS加密传输内容动态加载,依赖JavaScript渲染微信有严格的反爬机制。

2201_76125261的博客 3116

X、X Window、X Server | 为什么xmanager,xshell,xftp 都以X开头

一切的由来 – X Window 维基百科:X窗口系统 = X Window X窗口系统(X Window System,也常称为X11或X)是一种以位图方式显示的软件窗口系统。最初是1984年麻省理工学院的研究,之后变成UNIX、类UNIX、以及OpenVMS等操作系统所一致适用的标准化软件工具包及显示架构的运作协议。X窗口系统通过软件工具及架构协议来创建操作系统所用的图形用户界面,此后...

无数_Mirage的博客 3968

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

X Window 有关的几个问题

一 基本概念1 “linux”是一个内核名称,本身没有图形界面,现在的图形界面都是由linux下的应用程序实现的。2 X和XFree86是什么关系?    X是一个协议,而不是具体的某个软件;    XFree86是实现这个协议的一个软件;    实现X协议的软件也并不只有XFree86,只不过在LINUX上最常用的是XFree86。苹果电脑的图形界面也是用X协议,而且被认为是做的最好的X协议

farsky16的专栏 2206

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

记录:linux桌面管理基础-X11协议(X window system)

X11是X协议,版本号为11。X协议是专门被设计为linux桌面管理服务的,而linux桌面环境不像windows那样作为系统内核的一部分,作为一个普通程序运行在用户态上。该协议的设计初衷是为了linux的图形界面满足跨平台、跨网络、与具体硬件剥离、同时被多个用户使用的需求,因此该协议被设计成客户端-服务器的模式,即由xserver和xclient组成,xserver和xclient通过网络架构来进行图形接口的通信和执行绘制

Hunter_pcx的博客 6731

CentOS用yum安装X Window

当时安装了最小化的CentOS 6.5 系统,我没有先装任何组件,现在用X Window,所以需要再安装X Window,就可以启动图形界面了,但是默认的图形界面是很简陋的界面。这是linux的一个大好处需要什么装什么,我们甚至可以装一个最简单的内核系统然后根据需要慢慢的把他完善起来,对机器性能有要求的人这是一大福音。我们还可以安装一下拓展,如可以根据需要再安装GNOME或KDE桌面环境。

MachiealFactory的博客 5491

Linux上 Can't connect to X11 window server 错误解决方法

 Exception in thread "main" java.lang.InternalError: Cant connect to X11 window server using localhost:11.0 as the value of the DISPLAY variable. at sun.awt.X11GraphicsEnvironment.initDisplay(Nat

龙的天空 1万+

突破虚拟机性能瓶颈:Linux内核KVM退出原因深度解析与优化指南

你是否曾遭遇过虚拟机性能波动的困扰?当业务系统运行在KVM虚拟化环境中,即使硬件资源充足,仍可能出现间歇性卡顿。这很可能与KVM退出(VM Exit)密切相关。本文将基于Linux内核源码,深入剖析KVM退出原因统计机制,帮助你定位并解决虚拟化性能瓶颈。 读完本文,你将能够: - 理解KVM退出的基本原理与常见原因 - 掌握Linux内核中KVM退出统计的实现方式 - 学会分析KVM退出日志并进...

gitblog_00457的博客 1238

Linux 图形系统之 —— X Window

Linux图形系统实在太复杂: X widnow 是个图形窗口框架协议,也可以叫X,X11是X 协议的version 11X协议是个CS结构,有sever, 通信协议,clientXfree86 / XORG是两种X server 的实现,现在XORG几乎是Linux中标配X 图形系统没有在Linux 内核中,他是Linux的一个App有了X server,并且熟悉通信协议的

锄禾日当午 1516

iso linux 内核版本号_1.1基础篇:Linux的组成与版本

原本今天是打算给大家分享Linux的安装,但是在安装前在给大家分享一下Linux的组成与版本Linux的组成部分 Linux操作系统的构成独立维护和发布的Linux内核 各种Linux的发行版本Linux的内核采用模块化的结构,主要包含:• CPU和进程管理• 内存管理 • 文件管理 ...

weixin_33431149的博客 1440
上一篇: 再谈RPC--长长的手,抓住了离去的你
下一篇: X window的思想和终端的重大意义
linuxcode_turing
博客等级 码龄17年 0粉丝 32原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值