- 博客(567)
- 资源 (3)
- 收藏
- 关注
原创 程序员,请对自己好一点
下图是我种的三角梅、栀子花、金边兰,还有几株不知名的绿植,都是在网上买的,几块、十几块一盆,非常便宜。不想跑也没关系,饭后下楼走一走,周末和朋友爬爬山、打打球,哪怕只是在家跟着视频做十分钟瑜伽,只要能打破久坐不动的状态,都是在善待身体。即便反复标记,这类内容还是阴魂不散,仿佛在耳边不断提醒:快看,你也差不多了,要猝死了,要被优化了,别再装鸵鸟了。这些不起眼的小绿植,不需要花费太多精力,却能在钢筋水泥的办公空间里,为我们留下一块属于自然的小角落,让紧绷的神经有处安放,也让枯燥的敲代码时光,多一点柔软与生机。
2026-01-24 23:08:35
223
原创 deepin 25.0.10 发布啦!这些实用更新普通用户直接受益~
这次更新没搞复杂操作,全是围绕日常使用优化——让系统更流畅、文件操作更省心、新增不少实用小功能,还修复了之前大家反馈的小问题,普通用户上手就能感受到变化~新电脑装系统,或者想重新安装时,会明确提醒“是否格式化数据”,还能选择保留之前的账户、设置和文件,不用重装后再重新配置,省大事儿!用的时候遇到问题,或者有想加的功能:可以去deepin社区论坛,或者官方微信公众号反馈,反馈得越详细,问题解决得越快~平时系统没毛病的话,直接打开「控制中心→系统更新」,点一下就能升级,不用下载整个镜像,超方便~
2026-01-20 21:53:28
245
原创 一份持续更新的 Wayland 客户端开发指南(附源码)
尽管如此,Writing Wayland Clients 这份教程在结构设计上依然非常出色:脉络清晰、语言直观,并配有示例代码,十分适合作为 Wayland 客户端开发的入门材料。但当问题复杂到一定程度,例如 Wine 的 Wayland 移植,涉及窗口管理、输入法、事件模型等深层机制时,如果对 Wayland 协议本身缺乏系统性理解,几乎无法真正定位和解决问题。但需要指出的是,Wayland 要彻底取代 X 系统,并不仅仅是操作系统或硬件厂商的事情,应用软件同样必须完成相应的演进。
2026-01-19 22:13:38
413
转载 Wine 11 重磅发布了
补充一下,如下新特性是相对于上一个大版本 Wine 10 的,在后续的 10.x 版本中陆陆续续增加了新的特性,所以 Wine 11 并不是横空出世,也是在 Wine 10.x 基础上逐步完善的。支持以下附加语言环境:bqi-IR、bua-RU、cop-EG、ht-HT、kek-GT、lzz-TR、mww-Hmnp-US、oka-CA、pi-Latn-GB、pms-IT、sgs-LT、suz-Deva-NP 和 suz-Sunu-NP。加载器,根据执行的二进制文件自动选择正确的模式。
2026-01-14 22:45:59
209
原创 以史为鉴,参照互联网的发展历程,AI 发展到哪个阶段了?
刚上大学时,用的是 8086/8088 芯片的 IBM PC,只有软驱,没有硬盘,更谈不上联网。有人常说,70 后是最幸运的一代,既赶上了互联网的兴起,也亲历了中国经济高速发展的年代。这也是为什么,当前最热的 AI 相关公司,很多并不直接做应用,而是做芯片、算力平台和底层系统。最终成长为超级平台的,并不是提供带宽的企业,也不是制造设备的厂商,而是那些掌握用户入口、持续占据用户时间的应用型公司。模型很多,方向很多,应用形态也在探索,但大多数项目仍然处在“证明潜力”的阶段,而不是“稳定赚钱”的阶段。
2026-01-06 23:08:49
239
原创 求而不得才是最上头的快乐
但我和大多数跑者一样,其实并没有那么深的执念,要额外付出代价,才不愿意呢。恰恰是那些需要奋力冲刺的目标、偶尔落空的遗憾,才让这场名为“人生”的奔跑,充满了独一无二的乐趣。其实全国范围内马拉松赛事非常多,就拿湖北省来说,2026年一共有23场赛事,除了在武汉举办的汉马和光马需要抽签,其它的赛事基本都是求着大家报名。所以说,求而不得,是人主动选择的结果,也是人生常态。比如今年,有45万人报名,全马和半马的中签率分别是7.53%和5.75%,非常低。有的朋友戏称,本来在纠结都中秋了该跑哪一个,结果一个都没中。
2026-01-05 20:12:24
157
转载 从 Windows 转向国产操作系统,需要转变这些观念
Windows,还是按照Windows的操作系统使用国产系统,比如:双击我的电脑、右键刷新习惯、依赖exe安装包。国产系统的核心逻辑不是单个系统夺冠,而是。国产系统正在迭代进化,而我们作为使用者,转变观念、主动适配,正是推动这场技术变革的重要力量。适应国产系统,也是一次技术认知的升级:了解Linux系统操作的基本逻辑,掌握应用商店、文件操作的使用技巧——这些技能在数字化转型浪潮中早已成为刚需。当有一天,我们不再拿它和Windows对比,而是自然地用它处理工作、创造价值,国产操作系统的真正成熟,才算是到来。
2026-01-04 20:53:50
42
原创 跑得最快的女护士辞职跑马拉松,这个世界永远不缺有勇气的人
需要注意的是,她的称号是“跑得最快的女护士”,而不是“跑得最快的女人”。我关注的几位跑步博主,比如大正、友发、小房、小赵,成绩并非顶尖,但关注度很高,粉丝很多。这绝不是一个轻松的选择,尤其是在当下,年轻人普遍热衷于“考公上岸”的大环境里,我们凭什么劝别人辞掉一份稳定工作,去专心跑步?林丹个人赞助的“天王杯”,赛事总奖金高达 300 万元,冠军奖金 120 万元,即便止步八强,也能拿到 15 万元。这样的比赛,真的存在。我关注的几个跑步博主都参加了,我也看了他们的 vlog,那种寒冷,隔着屏幕都能感受到。
2026-01-03 20:11:07
322
原创 一家被反复质疑,却最终被 Meta 看中的公司
后来,有一次听了播客《对 Manus 创始人肖弘的 3 小时访谈:世界不是线性外推,做博弈中的重要变量》,才知道 Monica 正是 Manus 公司开发的产品,而创始人还是我的校友,江湖人称小红,一个略显女性化的名字。然而,好不容易得到邀请码的用户发现,Manus 在实际使用中的表现与官方演示存在明显差距,部分复杂任务仍然需要人工介入,舆论迅速发生转向。有人质疑这是饥饿营销,有人认为公司并没有真正的技术实力——底层依赖的是第三方大模型,还有人干脆给它贴上了套壳公司的标签。出海,几乎成了唯一现实的选择。
2026-01-02 20:49:03
244
原创 用一场跑步告别2025
最后,当再次回到梨园,又往前跑了两公里,看着运动记录上的距离数字定格,那一刻的疲惫反而变成了一种踏实的满足。今早醒来,发现外面并没有下雨,再一查天气预报,上午、下午都显示无雨,真的是天助我也。人真的是社会性动物,一个人跑跑短距离还行,但是跑长距离,有些乏味,有伴一起边跑边聊,时间会悄悄溜过去。在2026年,我会继续坚持跑步,参加马拉松,另外准备健身,加入一些力量训练,现在体型有些胖,需要更有针对性地去调整。今天的气温非常合适跑步,不是特别冷,还出了一点太阳,但太阳又不大,就是有点雾霾,对此我也比较习惯。
2025-12-31 21:25:04
329
原创 在不那么酷的技术角落里,我找到了安全感
前年,在我工作了十几年的公司关闭武汉分部之后,奔五的我也很快找到了新的工作,虽然不是大厂,但并没有走到需要转行去开滴滴、送外卖的地步。它不一定对应某一个明确的时间点,但大多数技术从业者心里都明白:随着年龄增长,体力、精力和反应速度都会逐渐发生变化,而行业对年轻、快、便宜的偏好,并不会因此放缓。硬要进入这样的赛道,很可能既没有速度优势,也缺乏真正可持续的积累。在这个被反复讨论的 35 岁节点上,我越来越认同一个并不激进的结论:与其不断追逐最新的方向,不如在一个自己真正理解的领域里,把事情尽量做扎实。
2025-12-30 22:44:13
487
原创 快来许个愿吧!
随着兼容引擎的不断完善,它不仅支持在 deepin 和统信 UOS 系统上直接双击运行 Windows 应用,还支持将本地 Windows 应用通过简单配置打包成 deb 包,方便分享给其他用户使用。当然,兼容引擎本质上仍然是对 Windows 系统调用的模拟,要让所有 Windows 应用都做到百分之百完美运行,本身就不现实。如果为此还要切换系统,更是比较麻烦,况且我在公司,根本就没有安装双系统。这次更新不仅带来了功能上的改进,更重要的是,让用户真正参与到了 Windows 应用兼容生态的建设中来。
2025-12-29 21:35:25
338
原创 GNOME 正式告别 X11:Wayland 时代来了,你准备好了吗?
它为 Linux 桌面奠定了基础,也支撑了无数应用生态,但同时也背负了沉重的历史包袱。这意味着,从 GNOME 50(预计 2026 年 3 月发布)开始,GNOME 桌面将不再存在 X11 会话这一选项。Wayland 与 X11 的并存期还会持续相当长一段时间,大多数日常应用的使用体验,短期内并不会受到明显影响。如果你正在使用国产系统,或者在 Wayland 迁移过程中踩过坑,欢迎在留言区分享你的真实体验。GNOME 不再运行在 X11 上,但仍然可以运行 X11 应用。
2025-12-28 20:08:09
394
原创 第一次公开演讲
我就在想,如果多练几次,哪怕达不到他们的水准,至少把一次演讲完整、流利地讲完,应该还是可以做到的吧?听他们长时间侃侃而谈,真的让人羡慕:一方面是羡慕他们的人生经历如此丰富,另一方面则是羡慕那种“想说什么,就能顺畅地说出来”的表达能力。但至少,这一次,我没有因为害怕,就选择不开始。可能真的是年纪渐长的缘故,总觉得剩下的日子越来越少,反而更珍惜时间,觉得想做、想体验的事情还有很多。小时候因为成绩还算不错,也曾在班级甚至学校范围内发言过,但那样的“发言”,基本只是照着稿子念,很难称得上真正的表达。
2025-12-27 21:10:23
319
原创 AI 都这么强大了,还需要去阅读理解源码吗?
在上篇文章中,我介绍了一款谷歌出品的辅助阅读开源代码的 AI 工具。可能很多人会想:AI 都这么厉害了,还有必要去读源码吗?直接让 AI 去理解、修 BUG,不就行了吗?听起来很美好,但现实可没那么简单。我们团队在今年做了一次尝试,使用AI扫描Wine项目的源码,试图借助AI找出程序中隐藏的bug。AI倒是挺卖力,找出了很多“bug”。问题是扫描出的“bug”大多数是C语言中一些不安全的写法,比如要用snprintf替代不安全的sprintf。
2025-12-25 23:14:38
457
原创 谷歌出品,必属精品,又一源码阅读利器来了
幸运的是,AI代码阅读工具的出现,为我们提供了全新的解决方案。如果仅仅是静态的分析代码,还不算什么,更妙的是,你还可以针对本源码库,向 AI 提问。Code Wiki 基于 Google 的 Gemini 大模型,能深入分析代码逻辑、函数作用、类之间的关系和设计模式,生成精准的文档和解释,即使代码中没有注释也能完成。它是一个出色的AI代码阅读平台,扫描并分析了GitHub上的大量开源代码,进行了深度的理解与解析。更令人印象深刻的是,它自动生成的架构图质量极高,使复杂的依赖关系一目了然。
2025-12-24 22:31:52
700
原创 winewayland.drv 的初始化过程
确保在调用 roundtrip 之前发出的所有 request,都已经被 compositor 处理,并且相关 event 已经进入指定的 event queue。Wine 为 Wayland 驱动单独维护了一条 event queue,从而避免与其他模块产生事件处理上的干扰。内部具体完成了哪些初始化工作,以及 Wine 是如何建立起与 Wayland 合成器之间的基础通信环境的。需要注意的是,Wayland 中的“注册表”与 Windows 下的注册表并非同一概念。
2025-12-23 08:20:59
673
原创 Wine 中 GDI 绘制的实现原理分析与架构解读
在 Wayland 环境下,通过 DIB 驱动完成软件渲染,再结合 wayland_window_surface 的缓冲区管理,实现了与 Wayland 合成器的有效交互。wayland_buffer_queue 负责维护一组 wayland_shm_buffer 对象的链表,而每一个 wayland_shm_buffer 内部都包含一个实际的 wl_buffer。前面分析过,Wine 的 GDI 系统采用了一种分层的驱动栈架构:多个 GDI 驱动按照优先级被压入同一个链表中,并在绘制时按顺序分发调用。
2025-12-22 08:25:44
730
原创 Android 的下一个战场:Windows 应用与游戏?
Steam Deck 是 Valve 推出的一款掌上式 PC 游戏设备,本质上是一台以游戏为核心设计的 Linux 电脑,而不是传统意义上的游戏主机。类似的思路,也在国产操作系统中得到过验证。当 Android 真正具备稳定的桌面形态,当窗口系统、输入模型、图形栈逐步收敛,Wine 这样成熟的兼容层,很可能会成为连接两大生态的关键桥梁。Windows 应用与游戏,或许不会因为 Android 和 Linux 系统的崛起而消失,但它们运行在 Windows 之上的必然性,正在被一点点削弱。
2025-12-21 11:21:26
558
原创 Wine 是如何加载图形驱动的?
有兴趣的读者不妨进一步深入分析这一机制,在理解其实现细节的过程中,往往会由衷感叹这些开发者在设计上的巧思与工程智慧。在 Wine 语境下,graphics driver(图形驱动)与 Windows 内核态的显卡驱动,或 Linux DRM / KMS / Mesa 这一整套图形栈中的硬件驱动,不是同一个层级的概念。然后就会尝试加载 x11drv。从图形驱动的选择,到回调加载,再到 Wayland 驱动的初始化过程,可以看到 Wine 在不同系统语义之间搭建了一套高度模块化、可替换的适配层。
2025-12-20 20:31:53
427
原创 从 X11 的角度理解 Wayland
但是,在 Wayland 中没有“事件结构体”,事件不会以返回值的形式交给应用,而是在 dispatch() 内部被直接分发,具体来说,就是调用对应对象上注册的 listener 回调。但本文要对比的,并不是“有没有合成器”,而是 X Server 与 Wayland Compositor 在系统中的架构地位和职责边界。,而是通过 Qt、GTK 等成熟的 GUI 框架完成开发,既不需要理解 X11,也无需关心 Wayland 的内部机制。Wayland 的设计目标之一,就是彻底削减中心节点的复杂度。
2025-12-19 18:57:27
630
原创 默默耕耘二十年,这个不起眼的领域完成了国产替代
正是靠着这种“捆绑销售”的手段,外资品牌靠着利润丰厚的原装耗材生意,过上了相当“滋润”的日子。作为 deepin 生态的年度盛会,本届大会聚焦国产操作系统的技术创新、行业应用与生态拓展三大核心议题,不仅邀请到了来自政企、科研机构、上下游产业链的专家学者,还吸引了众多深耕开源领域的技术爱好者与社区贡献者。不同于硬件赛道的市场角逐,操作系统的发展更依赖开源社区的生态共建,而 deepin 从诞生之初,就以开放协作的姿态,汇聚起全球开发者与用户的力量,在技术迭代与应用适配的道路上稳步前行。
2025-12-18 23:42:58
517
原创 Rust 语言开发的 Linux 桌面来了
这个名为Cosmic Desktop的桌面系统,由 System76 公司支持的开源项目,目标直指 Linux 桌面体验的痛点。在 Rust 的安全保证下,他们试图构建一个既稳定又现代的桌面系统,从根本上解决多年来困扰 Linux 桌面的内存泄漏、界面卡顿和崩溃问题。COSMIC 能否吸引足够多的用户和开发者,形成活跃的社区,将决定其进化的速度和方向。传统上,C 和 C++ 统治了操作系统、浏览器、数据库等底层领域,它们提供了无与伦比的性能和控制力,但也带来了巨大的代价——内存安全问题。
2025-12-14 23:27:39
253
原创 绿联 NAS(DH4300 Plus)上部署私有 Git 仓库
对于个人用户而言,这类托管平台通常都会对仓库容量设定上限,常见的限制是 1G,github 比较大气一些,也不超过 10 GB。而我目前基于 Chromium 进行浏览器产品开发,即便不导入完整的 Chromium Git 历史,仅保留源码本身,加上构建所需的一系列二进制工具,整体体积也早已超过 10 GB。绿联 NAS 提供的内网穿透服务,本质上只支持浏览器访问,并且需要经过登录认证。NAS 远不只是一个“存照片和电影的盒子”,围绕开发和基础设施还有不少值得折腾的玩法,后续如果有新的实践,也会继续记录。
2025-12-13 23:14:36
795
原创 第一个 Wine 11.0 RC 版本发布:进入代码冻结阶段,正式版已在不远处
rc1 会被提交多少回归问题还有待观察,但我希望能在 11.0 正式发布时,让未解决的回归问题数量低于之前的稳定版。CLDR 数据的刷新进一步强化了 Wine 在国际化和多语言环境下的表现,特别是日期、货币、语言习惯等方面的细节更为准确。Wine 集成了更新后的 Mono 引擎,这将提升 .NET 应用在 Wine 环境下的运行能力,并改善兼容性体验。照惯例,在最终的 11.0 发布之前,我们将每周发布一次 -rc 版本,预计正式版本会在 1 月中旬左右发布。这将改善部分玩家在游戏中的体验。
2025-12-12 18:56:48
665
原创 使用 Weston 调试 Wine 的 Wayland 实现
但 treeland 作为新实现,在日常开发中仍会遇到各种不稳定因素,问题来源难以判断:究竟是 treeland 合成器本身的实现缺陷,还是应用对 Wayland 的支持存在不足?这正是我需要的:在 deepin 的 X11 桌面中启动 Weston,从而获得一个干净的 Wayland 合成环境,专门用于调试 Wine 的 Wayland 驱动行为,而无需依赖 treeland。然而,要调试 Wine 的 Wayland 驱动,又必须在 Wayland 环境中运行,这便形成了矛盾。
2025-12-11 22:04:10
1053
原创 老登的新玩具:NAS
不管了,早买早享受。儿子出生的时候,还是功能机为主的年代,手机摄像头也刚刚兴起,素质很差,所以一直到小学阶段,都是用数码相机拍的照片。这是 NAS 的核心用途,在手机上设置了自动备份后,每拍一张照片就会自动上传到 NAS 上,将手机上的照片及时删掉,避免手机存储空间不足。不过对于我这样的懒人,懒得整理、懒得分类,一股脑都传到NAS,让NAS自动分类,自动删除重复照片,加上智能搜索,够用就好。对于一些重要照片,建议建一个精选集相册,然后设置网盘同步,在网盘上也备份一份,避免NAS硬盘损坏,导致珍贵资料丢失。
2025-11-18 23:50:11
363
2
原创 探索纯正的 Wine-Wayland:让 Windows 应用真正运行在纯 Wayland 桌面环境中
目前,大多数 Linux 版本已经将 Wayland 设为默认,经过了这几年的检验,终于可以向 X11 说声再见。或许,要等 Wayland 像 X System 一样迭代到“第 11 版”,Wayland 才能迎来真正的稳定。客户端支持了 unstable 版本后,协议演变到正式版本后,应用程序要不要保留 unstable 版本的支持,是否需要降级处理,服务器端也面临同样的抉择;本文将带你一起探索 Wine 项目在纯 Wayland 环境下的表现,看看它如今的 Wayland 支持究竟到了什么程度。
2025-11-09 18:08:19
967
原创 华为发布新款麒麟9000X处理器的商用PC,为什么没有搭载鸿蒙操作系统?
商用场景中,外设并非简单的打印机、鼠标,而是涵盖了身份证读卡器、高拍仪、指纹识别仪、工业扫描仪、专用加密狗等一系列行业定制设备,这些设备往往与特定业务流程深度绑定,且大多仅提供Windows环境下的驱动程序与SDK开发包,缺乏对Linux内核或ARM架构的适配支持,更别说针对鸿蒙系统。在金融行业,统信软件建立统一外设管理服务,按照分层模式管理柜面外设如柜外清、柜内清、打印机等驱动,分离柜面业务程序与外设驱动,完成了与主流柜面业务外设厂商升腾、南天、长城、实达、国光等多款产品的适配,使驱动管理更便捷。
2025-11-06 12:35:03
1261
原创 我的轻出差装备
当然也有缺点,迷你主机加上显示屏,重量赶上一台游戏本了,另外迷你主机没有电池供电,移动性还是差点。主机净重量 750 克,比轻薄笔记本都轻,加上电源、便携屏、便携键盘,重量也有限,背负起来也不会吃力。迷你主机当然得配一台显示器,现场找一台显示器,运气好的话没问题,但我们总要做最坏的打算,何况现场状况复杂,能够安心的开发就是老天保佑了。这台便携屏显示效果一般,没有 IPS 屏幕那么亮,看在只是出差时轻度使用,加上便宜的价格,忍了。鼠标也是无线的,就使用平常开发使用的型号,没有另外购买,
2025-11-05 19:10:45
487
原创 第三个黄冈半程马拉松:享受超慢跑
再一路前行,经过兰亭公园、顺着豹溪而下,再穿过高新大道,来到光谷标志性建筑-未来城马蹄莲,一圈四到六公里,轻松自在。赛道补给也够贴心,我这种慢跑选手吃得很爽:每个补给站都停一下,能量胶、香蕉、小番茄、水,能量补充得妥妥的。受政策影响,今年只有半程马拉松一项比赛,没有欢乐跑和健康跑,参赛人数比往年少很多,但现场依然热闹,市民围观也很热情。年初给自己定了个“跑完全马”的目标,可到了年底,我只能望马兴叹——全马这个目标,今年是不可能实现了。最后,收获了一个大大的“金”牌,金灿灿的,拿起来也沉甸甸的。
2025-11-03 20:46:49
435
原创 信创系统支持 USB HID 设备的两种方案
HID(Human Interface Device,人机接口设备)是一种标准化的设备类别,用于统一人机交互类设备(如鼠标、键盘、游戏手柄、触控板、扫描枪、笔输入设备等)的通信方式。展望未来,随着行业系统信创化的推进,更多专业外设(如税控机、医疗设备、工业控制仪器等)将逐步标准化为 HID 或统一接口模式,UOS 等信创系统在外设支持上的覆盖面将进一步扩大。借助于 hidapi 这样的库,应用中支持 HID 设备并不难,不过需要注意的是,如果应用程序需要访问 HID 设备,需要获取 root 权限。
2025-10-31 19:28:00
495
原创 如何开启 NTSync?开启 NTSync 能带来怎样的性能提升?
在上一篇文章中,我们简单介绍了 NTSync 的工作原理——它是针对 Windows 的同步原语(如事件、信号量、互斥量)在 Linux 下实现的一种更高效机制,旨在取代早期的 esync 和 fsync 补丁。它不仅能显著降低线程同步的延迟,还能减少 Wine 与内核之间的切换开销,使复杂的 Windows 程序和 3D 游戏在 Linux 上的运行更加流畅。这两者并不矛盾——Linux 内核对新特性的合入通常比较谨慎,新功能往往会先在多个版本中以可选模块的形式存在,经过充分测试后才正式进入主线代码。
2025-10-21 21:46:08
395
原创 Wine 10.16 发布:NTSync 让 Windows 应用运行更丝滑了,但还得等等
目前连 Ubuntu 对于新特性支持比较激进的版本,都没有启用,那估计还需要再等一段时间,毕竟,每次的内核更新,都需要经过很长时间的测试。如果系统不支持 NTSync,Wine 会自动回退到传统的 wineserver 同步机制,因此仍可运行,只是性能提升无法体现。当然,这个应该不会太久,等未来主流发行版的内核全面启用 NTSync 后,Linux 上的 Windows 应用将更加流畅。最后,wine 10.16 的贡献者名单上已经有我的名字,虽然只是一个小小的提交,争取以后能够贡献更多的代码。
2025-10-16 20:27:40
501
原创 成为一名开源贡献者
不过,如果只是把源码上传到 GitHub,就像许多个人开发者那样,这其实只是“托管源码”,而非“参与开源”。作为一名软件开发者,这些年来我使用过无数开源软件,也曾多次修改过其中的源码,但真正向上游社区提交代码的经历却屈指可数。经过几个来回,也许 master 代码已经有新的提交,而你之前基于 master 创建的修改分支已经落后 master 分支,这时需要 rebase 后再进行修改。也许第一次提交会让你焦虑,但当你的名字出现在项目的贡献者列表中,那种成就感,足以让一切努力都值得。
2025-10-06 11:39:47
466
原创 编写 Wayland 客户端(三)
除此之外,它的行为应该和普通窗口一样,例如,它应该会出现在应用程序切换器中,比如 GNOME Shell 的概览界面,或者通过按 Alt-Tab 调出的切换器中。另一种理解是:surface 和 xdg_surface 是两个不同的对象,但它们相互关联:surface 负责内容显示(像素缓冲、绘制等),而 xdg_surface 负责窗口管理(位置、尺寸、关闭、全屏、最小化等)。如果我们现在要渲染一些东西,只需要往 data 指针指向的内存中写入内容,因为在我们的例子里,缓冲区就从池子的开头开始。
2025-09-29 20:14:50
1170
原创 编写 Wayland 客户端(二)
像 Arch、Fedora(自 25 版起)、Ubuntu(自 17.10 起)这样的主流发行版,默认都提供了基于 Wayland 的 GNOME,所以如果你使用这些发行版,一切应该开箱即用。为了解决这个问题,在 Wayland 中是客户端生成并传递新对象的 ID,作为创建请求的参数交给服务器。如果选择后者,请确保从合成器内运行的终端模拟器中启动你的程序,以便它能正确获取所需的环境变量(或者你也可以手动设置它们)。正如我之前提到的,Wayland 是面向对象的,这意味着它的核心就是对象。
2025-09-28 20:43:23
1130
原创 编写 Wayland 客户端(一)
在学习本指南的过程中,你将了解 Wayland 的基础知识,并创建几个客户端:从最简单的客户端(一个黑色方块),到一个玩具级的工具包库,它将处理许多高级功能,比如更换光标、处理鼠标点击以及渲染客户端窗口装饰。这里以 Writing Wayland clients 这份教程为基础,通过翻译大部分章节,补充缺失的章节,根据最新 Wayland 协议添加一些实例,希望给大家呈现一个比较完整的 Wayland 客户端开发教程。前面的教程托管在 gitbook 上,但很可惜的是,部分章节无法访问。
2025-09-27 12:55:34
363
原创 干得漂亮,Ubuntu 终于干掉了 X11
这个过程可谓漫长而曲折。早在 Ubuntu 17.10,系统就尝试将 GNOME on Wayland 设为默认会话,但当时 Wayland 的兼容性尚不成熟,尤其在 NVIDIA 专有驱动和远程桌面场景下问题频出。经过社区和 NVIDIA 的努力,自 515 版本起,NVIDIA 驱动对 Wayland 的支持明显改善,从 Ubuntu 22.04.2 开始,Wayland 会话才真正成为默认选项。通过 XWayland,这些应用仍可在 Wayland 会话中运行,也就是说大多数旧应用不会立刻失效。
2025-09-22 20:05:49
1152
原创 deepin Linux v25 龙芯版,软件生态是个大问题
反正总体使用下来,只能做一些简单的上网、办公,由于龙芯架构适配的应用本来很少,又整了一个新旧世界的差异,搞得开发者也很分裂。其实通过 CPU 架构来区分新旧世界不太合理,因为对于 deb 包来说,是按照架构打包的,这也意味着软件开发商比如针对新旧世界的龙芯系统打两个包,即使通过兼容层,能做到一个包就能做到龙芯新旧世界通用。这台迷你主机最开始安装的是 UOS V20 系统,然后安装的是 deepin v23,deepin v25 系统出来后,忙其他的事情,没有升级体验,所以直到今天才装上了新的系统。
2025-09-17 23:06:16
1134
Blink in JavaScript
2019-01-10
blink oilpan项目设计文档
2015-11-04
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅