背景
最近用windows的【远程桌面连接】登录ubuntu后(xrdp协议),发现gl环境是集显的,但是本地登录ubuntu桌面后是独显(英伟达),想要在远程桌面上也用独显渲染环境。
一、查看是独显还是集显环境
bash
glxinfo | grep "OpenGL version"
如果是有 NVIDIA字眼的说明是独显,如果是Mesa字眼的说明是集显。
二、给远程桌面开放独显渲染权限
1、本地登录ubuntu桌面 或者 远程ssh应该也行
第一步:启动桌面时设置独立显卡插位
bash
cd /etc/X11
nvidia-xconfig -a --virtual=1920x1080 --allow-empty-initial-configuration --no-use-display-device --enable-all-gpus --busid "PCI:0:7:0" -o xorg.conf
注:这里 --busid "PCI:0:7:0"参数表示显卡插位,可以通过如下命令查询:
bash
lsipc | grep VGA
第二步:重启dbus
bash
/etc/init.d/dbus start
如果遇到失败,则重启系统也行。
第三步:启动Xorg服务
bash
cd /etc/X11
Xorg -dpi 96 -noreset -nolisten tcp +extension GLX +extension RANDR +extension RENDER +extension DOUBLE-BUFFER -logfile xorg-10.log -config xorg.conf -verbose :10 &
2、远程桌面配置(如果还是集显环境的话)
我这里是因为DISPLAY环境变量不为10,把它设为10就可以了:
bash
export DISPLAY=:10