理论知识:Qt 的 linuxFB KMS XCB Wayland

linuxFB

  • 直接往FrameBuffer写数据
  • 只支持软件渲染(software-rendered),所以没有gpu的片子选这个
  • 某些配置会使显示性能受到抑制
  • 命令行可使用命令QT_QPA_PLATFORM=linuxfb:fb=/dev/fb1-platform linuxfb使qt程序运行在该plugin上
  • 另外指定fb用fb=/dev/fbN,分配显示区大小size=<width>x<height>,物理大小mmSize=<width>x<height>,设定便宜offset=<width>x<height>,有关于屏幕消影(blinking cursor)和闪烁光标(screen blanking)的控制nographicsmodeswitch

KMS

一个试验性的平台plugin,利用内核的 modesetting 和 drm(Direct Rendering Manager)机制。依赖内核的配置和 drm


XCB
  • 用于平常的桌面linux平台
  • 一些嵌入式平台使用该plugin需要提供一些必要的开发文件
  • 在x桌面下,有些设备不支持egl和 opengl因为EGL的实现不适配Xlib,这种情况下编译出来的XCB plugin将不支持EGL,也意味着 Qt Quick 2 和其他以 OpenGL 为基础的应用程序将不能在该这个平台上成功运行(这就是我们的程序为什么没有在imx6ul的xcb平台下运行成功的原因)。此时,他能支持那些以软件渲染(software-rendered)的程序运行,例如 QWidget。
  • 作为一个通用的规则,XCB是不建议在嵌入式平台上使用的,eglfs能更好的展现较高的性能和支持硬件加速能力

Wayland
  • 轻量级的视窗系统
  • 一个关于client可以与显示server连通的协议
  • Qt 提供了Wayland的相关插件使得Qt 应用程序与wayland显示进行连通

说明:看到这里,会发现缺了个关键plugin的介绍:eglfs,这个之前有个介绍,这里就不一一说明。记住嵌入式linux平台开发,特别是带GPU的soc,用这个最好,至于实际的使用中的功能点以后慢慢补齐,有了方向,其他需要的是汗水。

### 配置信息含义 #### 1. `Using CATALINA_BASE` `CATALINA_BASE` 指向 Tomcat 的实例基础目录。一个服务器上可以有多个 Tomcat 实例,每个实例都有自己独立的配置、日志和工作目录等。这里 `/home/kms/apache-tomcat-8.5.60` 是该 Tomcat 实例的基础目录,实例特定的配置文件(如 `server.xml`、`web.xml` 等)、日志文件等都会存储在这个目录下的相应子目录中。 #### 2. `Using CATALINA_HOME` `CATALINA_HOME` 指向 Tomcat 的安装目录。这个目录包含了 Tomcat 的核心文件,如二进制文件、库文件等。在大多数情况下,当只有一个 Tomcat 实例时,`CATALINA_BASE` 和 `CATALINA_HOME` 是相同的路径,就像这里都指向 `/home/kms/apache-tomcat-8.5.60`。 #### 3. `Using CATALINA_TMPDIR` `CATALINA_TMPDIR` 是 Tomcat 用于临时文件存储的目录。在 Tomcat 运行过程中,会产生一些临时文件,如编译 JSP 文件时生成的临时文件等,这些文件都会存放在 `/home/kms/apache-tomcat-8.5.60/temp` 目录下。 #### 4. `Using JRE_HOME` `JRE_HOME` 指向 Java 运行时环境(JRE)的安装目录。Tomcat 是一个基于 Java 的应用服务器,需要 Java 环境来运行,这里 `/home/kms/java/jdk1.8.0_144/jre` 就是 Tomcat 所使用的 JRE 目录。 #### 5. `Using CLASSPATH` `CLASSPATH` 是 Java 虚拟机(JVM)在运行时查找类文件的路径。这里 `/home/kms/apache-tomcat-8.5.60/bin/bootstrap.jar:/home/kms/apache-tomcat-8.5.60/bin/tomcat-juli.jar` 表示 JVM 会在这两个 JAR 文件中查找所需的类。`bootstrap.jar` 是 Tomcat 的启动引导类库,`tomcat-juli.jar` 是 Tomcat 的日志实现类库。 #### 6. `Using CATALINA_OPTS` `CATALINA_OPTS` 用于设置 Tomcat 启动时的额外 JVM 选项。这里为空,表示没有设置额外的 JVM 选项。可以通过设置这个环境变量来调整 Tomcat 的内存分配、垃圾回收策略等。例如: ```bash export CATALINA_OPTS="-Xms512m -Xmx1024m" ``` 这会将 Tomcat 的初始堆内存设置为 512MB,最大堆内存设置为 1024MB。 ### 相关问题及解决办法 #### 1. Tomcat 无法启动 - **问题原因**:可能是 JRE 路径配置错误、端口被占用等。 - **解决办法**: - 检查 `JRE_HOME` 路径是否正确,可以通过 `java -version` 命令验证 Java 环境是否可用。 - 使用 `netstat -tlnp | grep 8080` 命令检查 8080 端口是否被占用,如果被占用,可以修改 `server.xml` 文件中的端口配置。 #### 2. 临时文件占用大量磁盘空间 - **问题原因**:`CATALINA_TMPDIR` 目录下的临时文件没有及时清理。 - **解决办法**:定期清理 `/home/kms/apache-tomcat-8.5.60/temp` 目录下的文件,或者在 Tomcat 停止时自动清理。 #### 3. 类加载问题 - **问题原因**:`CLASSPATH` 配置错误,或者所需的类库缺失。 - **解决办法**:检查 `CLASSPATH` 中的 JAR 文件是否存在,确保所需的类库都已经正确添加到 `CLASSPATH` 中。 #### 4. 内存不足问题 - **问题原因**:`CATALINA_OPTS` 没有正确设置,导致 Tomcat 内存不足。 - **解决办法**:根据服务器的实际情况,调整 `CATALINA_OPTS` 中的内存分配参数,如 `-Xms` 和 `-Xmx`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值