首页
学习
活动
专区
圈层
工具
发布

干得漂亮,Ubuntu 终于干掉了 X11

在《从 X11 到 Wayland,迈出这一步为何如此艰难?》一文中,我们分析过从 X11 过渡到 Wayland 所面临的诸多挑战。...随着数年改进,Wayland 支持日益成熟,Ubuntu 21.04 再次将 Wayland 会话设置为默认,但在检测到 NVIDIA 专有驱动时仍会自动退回 Xorg。...从 X11 迁移到 Wayland,也会出现一些问题: 某些依赖 X11 特性的应用(快捷键、工具、窗口管理扩展或插件)在 Wayland 上可能表现不同; 远程桌面/显示转发(如 X11 转发、xrdp...尽管如此,Wayland 替代 X11 是不可逆的趋势。Wayland 提供更现代的安全模型,对输入和窗口隔离更严格,有助于减少潜在安全漏洞。...对大多数普通用户而言,这意味着日常使用不会受到影响,因为常见应用可通过 XWayland 兼容运行;但对于高度依赖 X11 行为的用户或特定工作流程,短期内可能仍需适应或寻找替代方案。

1.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    编写 Wayland 客户端(一)

    当然如果是使用 Qt、GTK 等 GUI 框架应用,没有直接使用 X11 API,就可以自动适应,不需要修改应用程序。但是在应用开发过程中,不可避免的会使用 X11 API。...比如我之前开发的 AiOffice 应用,为了处理按键消息,就跳过了 Qt,直接使用 X11 的按键处理 API。...此外,还有些应用,并不会使用 Qt、GTK 之类的重量级框架,比如 Wine,为了高效模拟 Windows API,就直接使用了 X11 的 API。...什么是 Wayland? Wayland 是一种用于在屏幕上显示图形的现代协议。它的设计目的是弥补前任 X11 的不足。例如,它速度更快、安全性更高,并且支持完善的触控、HiDPI 和多显示器。...完整的图形渲染教程 本指南会介绍基础的绘图和渲染方法,但不会作为 OpenGL、Vulkan 或 EGL 的全面教程。 本指南适合谁阅读?

    30710

    我们用Windows官方跑了跑Linux GUI应用程序,不愧是“胶水操作系统”

    梦晨 萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 现在,Windows不仅是最好的Linux发行版,还是最好的Linux桌面了。 怎么回事?...使用体验 要使用WSLg,首先要加入Windows预览体验计划,并选择Dev渠道。 ? 接下来将系统升级到最新预览版。 ? 如果已经安装过WSL直接运行“wsl —update”就可以了。...拖动窗口和拖拽选取的时候还是能明显感觉到有一点掉帧(Surface Book 2)。 接下来安装VS Code的WSL插件。 ?...具体到显示服务上,WSLg同时支持X11和Wayland两种协议,能通过微软内置的远程桌面进行连接。 据微软表示,相比之前的第三方实现,WSLg更加稳定方便。...(毕竟是官方钦定) WSLg基本上是以Wayland为基础开发的一个Linux桌面,并通过托管XWayland服务器,来支持X11应用程序。 ?

    2.2K40

    怎么选择 Embedded Linux 的图形框架

    X11 X11的基础构架,建议先谷歌一下,太庞大,历史遗留比较多,到现在我也没弄清楚一些调用流程。 下面主要讲讲dri2。...2017.5.21 在debian看到一些比较慢的现象,要注意不是x11的问题,而是debian的程序编译选项一般没带上gles。...这样做确实可以发挥视频播放的极限,主要的问题就是没办法和gui系统融合,没办法叠加控件,如果使用的场景都是fullscreen,可以试试这做。...wayland暂时没有研究,理论上原生支持overlay的wayland是最好的,但是我觉得应该也就类似rkximageisnk的那种效果,不能和正常的窗口兼容。...一段在内存里的texture,要让gpu去使用,必须先用cpu把数据从这段内存拷到gpu能用的buf(dma-buf)里。

    6.8K30

    VMware 17 中 安装 Ubuntu 系统,系统中安装todesk与向日葵。其他设备无法通过todesk和向日葵远控问题

    没有适配最新的Wayland协议,所以我们需要把窗口系统调整为X11才可以。...解决方法:修改配置文件,关闭wayland sudo vim /etc/gdm3/custom.conf 把#WaylandEnable=false前的#号删掉 重启系统 reboot 重启完成后,todesk...桌面环境(Gnome、KDE、Xfce、MATE等)使用了底层的显示服务器 因为X系列协议(X11表示X协议11代版本)已经存在很久了,有一些历史设计包袱。所以Linux为了更安全合理。...Ubuntu 21.04之后,现在默认启用Wayland协议了。但是也正因为X11协议已经在市场上存续了很多年,所以很多软件还是基于X11实现的,这就导致了一些不兼容的问题。...在未来或许还是Wayland协议的天下。 下班~

    52210

    万字长文详解 Wayland 协议、架构

    年初写过一篇文章《从 X11 到 Wayland,迈出这一步为何如此艰难?》,分析了从 X11 演进到 Wayland 所面临的困难。直到今天,Wayland 替代 X11 仍不容乐观。...当一个 GTK 应用启动时,工具包会检测到 Wayland 环境,并自动使用其 Wayland 后端来创建窗口(wl_surface)、处理输入等。...一般情况下,应用程序不需要修改就能运行在 X11 或 Wayland 环境下,但凡是都有例外,比如在代码中直接使用了 X11 的 API。为了获得底层的消息和事件,很多应用程序都这么干。...这种方法确保了客户端和合成器之间的类型安全通信,同时保持了协议版本控制和可扩展性。...Wayland 的设计哲学是:协议规范(XML 文件)应该能被机器读取并自动生成代码。它摒弃了像 X11 那样复杂的、可扩展的文本协议,转而使用一种紧凑、高效的二进制协议。

    3.7K33

    todesk连接ubuntu显示当前系统并无桌面环境,或无显示器,无法显示远程桌面,您需要自行安装X11桌面环境,或者使用终端文件功能

    ToDesk远程遇到的问题如上图,换向日葵直接黑屏; 问题原因 截止发文时间,Todesk只支持X11协议,没有适配最新的Wayland协议,所以我们需要把窗口系统调整为X11才可以。...解决方法 修改配置文件,关闭wayland sudo vim /etc/gdm3/custom.conf 1.把#WaylandEnable=false前的#号删掉 重启 reboot 重启完成后...桌面环境(Gnome、KDE、Xfce、MATE等)使用了底层的显示服务器 因为X系列协议(X11表示X协议11代版本)已经存在很久了,有一些历史设计包袱。所以Linux为了更安全合理。...Ubuntu 21.04之后,现在默认启用Wayland协议了。但是也正因为X11协议已经在市场上存续了很多年,所以很多软件还是基于X11实现的,这就导致了一些不兼容的问题。...在未来或许还是Wayland协议的天下。

    3.8K00

    记一次Fcitx5的安装

    以上是github上记录的fcitx5的仅有的寥寥几笔,想看到更多的内容请查看老K的文章 这篇帖子是记录我安装Fcitx5的经历,反正是折腾了很久才配置成功的,也看了很多其他人的配置,记录成功安装方法以留作以后参考...Fcitx5的时候吃了大亏,所以要仔细看清楚配置步骤,首先需要确定你的图形管理是X11的还是Wayland的,确定的方法可以在控制台输入 loginctl show-session 2 -p Type...或者 loginctl show-session "$XDG_SESSION_ID" -p Type 如果有输出x11的字样就是X11的,否则为Wayland的。...由此,会有两种配置方法,两者由自己的情况自己选择其中的一种 X11 X11需要配置的文件有~/.xprofile和~/.xinitrc 在~/.xprofile中添加 export GTK_IM_MODULE...主题不好看 如果觉得下载的主题配置不好看,KDE下可以直接在某个面板中添加小部件输入法面板即可自动使用当前的KDE主题风格,而且可以覆盖设置字体大小和候选字显示方向,很舒服 具体可以看我的效果哈哈哈。

    5.8K40

    教程 | 如何使用Docker、TensorFlow目标检测API和OpenCV实现实时目标检测和视频处理

    /)中介绍的方法提高每秒帧数(frames per second,FPS)。...此外,我还在项目中添加了视频后处理功能,这一功能也使用了多进程,以减少视频处理的时间(如果使用原始的 TensorFlow 目标检测 API 处理视频,会需要非常非常长的时间)。...在我的个人电脑上可以同时进行高性能的实时目标检测和视频后处理工作,该过程仅使用了 8GB 的 CPU。...以下是我安装 TensorFlow 目标检测的方法(按照官方安装指南进行): # Install tensorFlow RUN pip install -U tensorflow # Install tensorflow...我对使用第一个 Python 脚本初始化 X11 系统的解决方法并不十分满意,但是我尚未发现其他可以解决这一问题的办法。

    3.5K60

    基于 TensorFlow 、OpenCV 和 Docker 的实时视频目标检测

    以下是我安装配置 Tensorflow 目标检测的方法(按照官方安装指南): # Install tensorFlow RUN pip install -U tensorflow # Install...在 Dat Tran 的文章中有这部分的详细描述。难点在于将网络摄像头流发送到 docker 容器并恢复输出流以使用 X11 服务器显示它。...我找到了一些使用 Docker 图形界面的资料,here。特别是介绍了将容器连接到主机的 X 服务以显示内容 你必须开启 xhost,以便容器可以通过读写 X11 unix 套接字来正常的显示内容。...我对使用第一个python 脚本去初始化X11系统的结果不是很满意,但是目前我还没有找到解决这个问题的方法。...后来补充:我最终(在偶然间)发现这个问题的解决方法,通过使用OpenCV (3.4.1) 这个稳定版本替代本地克隆的git库。

    3K20

    在AI技术唾手可得的时代,挖掘用户真实需求成为制胜关键——某知名系统工具需求探索

    a.内容描述核心功能定位:该项目是一个跨平台桌面水印工具,将某知名操作系统的激活水印功能移植到其他操作系统环境,使用C语言和Cairo图形库实现,可在桌面角落显示自定义文本水印。...b.功能特性多平台支持:支持Linux、Windows、macOS等多个操作系统平台图形后端兼容:支持X11和Wayland两种图形协议后端国际化支持:提供多语言本地化功能,支持中文、英文、法文等多种语言自定义配置...:支持水印文本、颜色、位置、字体大小等参数自定义预设功能:内置多种预设文本模板,包括调侃某知名软件厂商的内容构建系统灵活:支持make和xmake两种构建系统d.使用说明安装方式:支持多种包管理器安装,...包括Ubuntu PPA、Arch Linux AUR、Gentoo ebuild、Nix flake等依赖管理:需要安装Cairo图形库、X11相关开发库或Wayland相关开发库构建流程:使用make...(3)需求3:用户希望增加全屏应用自动隐藏水印的功能(4)需求4:用户希望提供便携式应用程序打包格式(5)需求5:用户希望改进语言检测机制,支持基于语言代码前缀的智能回退(6)需求6:用户希望增加对更多

    20110

    Wine 中 GDI 绘制的实现原理分析与架构解读

    但别忘了,Windows 的核心竞争力之一是: 20 年前的程序,今天还能跑。 GDI 是 Win32 API 最稳定、最早被广泛使用的一部分之一。...在 Wine 中,GDI 的绘制流程并不是直接对 X11 / Wayland / Vulkan 发命令,而是先经过一层物理设备抽象(physical device),这就是 gdi_physdev。...下的 physdev 是如何实现的 前面在列举 gdi_physdev 实现时,我们会发现在 Wayland 下并没有类似于 X11 下 X11DRV_PDEVICE 或 xrender_physdev...通过物理设备驱动栈(gdi_physdev)的设计,Wine 成功地将 Windows GDI API 适配到多种不同的图形后端,包括 X11、Wayland 等。...在 Wayland 环境下,通过 DIB 驱动完成软件渲染,再结合 wayland_window_surface 的缓冲区管理,实现了与 Wayland 合成器的有效交互。

    26010

    IDEA 2026.1发布:全面拥抱 AI,这次终于可以放心升了

    它超越了传统的代码补全,不仅能补全当前光标位置,还能智能地跨整个文件应用相关更改——比如,你修改了一个方法签名,它会自动帮你更新所有调用处。...你可以在运行的代码中: 检测错误的Bean注入:查看注入到Spring组件中的确切Bean类 测试受保护的端点:直接通过HTTP客户端查看每个Spring MVC端点的安全配置 检查应用程序配置:查看运行时...四、平台体验革新:从Wayland到回收站 4.1 Wayland原生支持默认启用 自2024.2版本提供Wayland预览以来,经过18个月的社区反馈与迭代,JetBrains宣布2026.1起Wayland...VS Code、Sublime Text都默认走系统回收站——它解决的是最常见的IDE事故:误删文件。...有时候,最好的创新不是添加新功能,而是修正一个长期存在的错误决策。

    73410

    ARM64国产Linux环境下 RTSPRTMP播放器开发实践

    现实情况却是:难题说明国内常见业务协议 RTSP/RTMP 在 ARM64 适配度不均衡各厂硬件能力差异巨大国产 OS 图形栈 X11/Wayland 并存,兼容性挑战大渲染路径稳定性为核心难点专网设备数量庞大...解码路径要尽量减少内存读写 ✔ Codecs 实现需针对国产指令集深度优化2️⃣ 图形渲染体系不统一:X11 vs Wayland vs FB国产 OS 图形栈呈现多轨共存:图形系统生态差异对播放器的影响...X11商业支持最成熟多实例并发渲染性能受限Wayland新技术趋势行业适配仍在推进Framebuffer(直显)工控专用场景UI/渲染需定制路径播放器必须 容忍环境差异,并做到:✔ 不挑发行版 ✔ 不绑...3)面向专网业务的网络稳定性 支持 RTSP / RTMP 两大行业常用协议 网络异常时支持自动恢复 可调缓冲时长提高弱网环境容忍度 追帧策略可增强画面连续性 ➡ 专网设备中可有效降低播放中断风险...展示了我们在以下层面的成熟度: 多线程调度 & 多路渲染能力稳定 X11 图形栈环境适配良好 RTSP/RTMP 常规工程功能可靠 延迟表现可保持在行业可接受水平 为国产 OS 在实际行业环境落地提供了可直接使用的基础能力

    33710

    在 RK3399 上运行开源的 mali GPU 驱动

    面对这种状况,很多人为了能够利用 GPU 加速,就只能使用 SOC 原厂提供的内核,和他们定制的系统,这种内核和系统一般都比较老。...安装 weston weston 是负责对各种应用绘制的图层进行合成的软件框架,它是按照 Wayland 标准实现的,目标是替代在 Linux PC 端存在了很久的 X11,如果对 Android 图形系统比较了解的话...= root quiet_success 其实到这里,我们已经可以在 RK3399 上使用 Debian 桌面系统了,但是你会发现并没有那么流畅,因为 GPU 还没有真正的使用起来,通过以下方法可以快速判断...编译安装 mesa mesa 中实现了 Panfrost GPU 驱动的 userspace 部分,它向下操作内核中的 GPU 驱动,向上提供标准的 opengl 接口供各种绘图应用使用。.../waf configure --with-flavors=drm-gl,drm-glesv2,wayland-gl,wayland-glesv2 ./waf .

    24.5K97

    FLTK基于cmake编译以及使用(Windows、macOS以及Linux)

    ,cmake中"外部构建"方式) # 执行该命令前,请先阅读下面的cmake前置条件 cmake .. # Windows下建议使用PowerShell,上述的命令基本没有差别。...cmake配置前置条件 Windows 无 macOS 无 Linux 在Linux下,使用cmake进行项目生成前,务必确保一些基础库的安装: # 安装gcc/g++等核心开发构建工具和库(必备) sudo...调用对应平台工具链完成FLTK编译 cmake进行项目构建完成后,在我们当前的build目录中,对于macOS/Linux类操作系统,CMake会为我们生成了对应的makefile文件,所以我们直接使用...# 在build目录下,默认就是release版 make 在Windows操作系统,请直接使用vs打开build中的解决方案FLTK.sln,打开后对项目ALL_BUILD进行Release模式编译。...Linux 对于Linux操作系统,由于桌面窗体程序是基于X11进行的,所以实际运行的过程中是依赖X11库的。所以,我们还需要将X11的动态库也链接到咱们程序。

    1.9K30

    IntelliJ IDEA 2026.1 EAP 2 发布:Claude code体验优化!

    自2024.2版本提供Wayland预览以来,经过18个月的社区反馈与迭代,JetBrains宣布2026.1EAP起Wayland成为Linux默认显示协议。...这一决策顺应了Ubuntu24.04LTS、Fedora40+等主流发行版全面转向Wayland的生态趋势。...技术实现:展开代码语言:BashAI代码解释#启动器自动检测逻辑(伪代码)ifwl_display_connect()succeeds:toolkit=WLToolkit#原生Wayland模式else...集成修复Gradle在WSL中扫描整个C盘Windows+WSL2混合开发离线模式修复"Disableofflinemode"快速修复失效网络不稳定环境配置验证:展开代码语言:BashAI代码解释#查看当前使用的...,新版提示冲突}}六、性能与稳定性:幕后优化6.1JavaPSI模型修复修复通配符泛型导致的CPU飙升问题[[7]]:展开代码语言:JavaAI代码解释//旧版:打开含以下方法的类会导致CPU占用>80%

    1.8K10
    领券