IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> RHEL配置TurboVNC+VirtualGL -> 正文阅读

[系统运维]RHEL配置TurboVNC+VirtualGL

Linux常使用VNC协议进行远程桌面连接,但是VNC无法充分利用服务器上的显卡资源,因为VNC的画面是由CPU模拟的显卡提供的,所以VNC的3D性能较弱,在使用blender等3D软件时画面卡顿。VirtualGL就是为解决这个问题而开发的,它将远程Linux主机的显卡渲染好的画面通过网络传输到客户端,可以充分利用远程主机的显卡资源。本文将介绍TurboVNC+VirtualGL这两个软件的配置过程。

1.下载与安装

通过VirtualGL官网TurboVNC官网跳转到SourceForge网站下载rpm包,直接下载对应的rpm包即可。

?安装之前需要先安装一个依赖包

[root@coco ~]# dnf install mesa-libGLU-9.0.0-15.el8.x86_64

之后通过包管理器安装

[root@coco ~]# rpm -ivh VirtualGL-2.6.5.x86_64.rpm turbovnc-2.2.6.x86_64.rpm
warning: VirtualGL-2.6.5.x86_64.rpm: Header V4 RSA/SHA1 Signature, key ID 6e7fe9a1: NOKEY
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:turbovnc-2.2.6-20210221          ################################# [ 50%]
   2:VirtualGL-2.6.5-20201117         ################################# [100%]

VirtualGL安装目录在/opt/VirtualGL/,TurboVNC的安装目录在/opt/TurboVNC/

2.配置VirtualGL

在配置之前先检查Linux主机的桌面环境和显卡驱动程序是否安装正常。

执行如下命令:

[root@coco ~]# lspci | grep -i vga
00:0f.0 VGA compatible controller: VMware SVGA II Adapter

?在虚拟机环境下显示为VMware,实体机应显示为对应的显卡型号。

配置VirtualGL需要关闭桌面环境。

1). 关闭桌面环境

在终端输入

[root@dell ~]# init 3

或者按下Ctrl+Alt+F3进入命令行模式,使用命令终止服务

[root@dell ~]# systemctl stop gdm.service

?2). 配置

[root@coco ~]# /opt/VirtualGL/bin/vglserver_config

1) Configure server for use with VirtualGL
2) Unconfigure server for use with VirtualGL
X) Exit

Choose:
1

WARNING: Configuring this server for use with VirtualGL will disable the
ability to log in locally with a Wayland session.

Continue?
[Y/n]
Y

Restrict 3D X server access to vglusers group (recommended)?
[Y/n]
Y

Restrict framebuffer device access to vglusers group (recommended)?
[Y/n]
Y

Disable XTEST extension (recommended)?
[Y/n]
Y

本配置创建了一个新的用户组vglusers,在这个组里的成员才可使用VirtualGL,编辑/etc/group文件添加用户

[root@coco ~]$ tail -1 /etc/group
vglusers:x:1003:root,coco

3). 重启桌面环境

[root@coco ~]$ init 5

此步骤也可重启实现

?4). 完整性检查

依次输入以下三个命令

[root@coco ~]$ xauth merge /etc/opt/VirtualGL/vgl_xauth_key
[root@coco ~]$ xdpyinfo -display :0
[root@coco ~]$ /opt/VirtualGL/bin/glxinfo -display :0 -c

其中第三步命令检查OpenGL渲染器,在这里看到是VMware?

[root@coco ~]$ /opt/VirtualGL/bin/glxinfo -display :0 -c | grep OpenGL
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: SVGA3D; build: RELEASE;  LLVM;
OpenGL core profile version string: 4.1 (Core Profile) Mesa 21.1.5
OpenGL core profile shading language version string: 4.10
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.1 (Compatibility Profile) Mesa 21.1.5
OpenGL shading language version string: 4.10
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 2.0 Mesa 21.1.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 1.0.16
OpenGL ES profile extensions:

检查图形性能,运行这个命令会出现一个收缩的球,通过帧数判断配置是否正确,如果只有20几帧或者 CPU使用率明显提高 或者 显示OpenGL Renderer: llvmpipe之类的信息则配置不正确。

[root@coco ~]# /opt/VirtualGL/bin/vglrun -d :0 /opt/VirtualGL/bin/glxspheres64 
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
GLX FB config ID of window: 0xc7 (8/8/8/0)
Visual ID of window: 0x21
Context is Direct
OpenGL Renderer: SVGA3D; build: RELEASE;  LLVM;
154.391926 frames/sec - 172.301390 Mpixels/sec
173.700126 frames/sec - 193.849341 Mpixels/sec
181.486453 frames/sec - 202.538882 Mpixels/sec

3. 配置TurboVNC

TurboVNC的配置与一般的VNC软件相似,配置文件所在路径为/etc/turbovncserver.conf?,修改$useVGL的值为1,并取消注释

 $wm = startxfce4;
 $useVGL = 1;
 $autokill = 1;

其他位置根据需要修改。与其他VNC软件一样,需要开放防火墙端口或者添加通行规则。

[root@coco ~]# firewall-cmd --permanent --zone=public --add-service=vnc-server
[root@coco ~]# firewall-cmd --reload

4.启动TurboVNC

使用普通账户创建密码并启动一个桌面实例

1). 设置密码

[coco@coco ~]$ mkdir .vnc
[coco@coco ~]$ /opt/TurboVNC/bin/vncpasswd
Password:
Verify:
Would you like to enter a view-only password (y/n)? n

2) .启动实例

[coco@coco ~]$ /opt/TurboVNC/bin/vncserver :1

启动后会在家目录的.vnc目录下创建一个xstartup.turbovnc的文件,修改此文件的内容后重新启动vnc实例

#!/bin/sh

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
#export VGL_DISPLAY=:1
#export DISPLAY=:1
/opt/VirtualGL/bin/vglrun -d :0 /usr/bin/startxfce4

此时在VNC中运行3D程序即可正常显示。?

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-20 15:29:39  更:2021-08-20 15:31:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 10:02:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码