Debian

如何使用 Nvidia 專有驅動程序添加虛擬顯示器

  • February 21, 2022

如何使用 Nvidia 專有驅動程序添加虛擬顯示器?以前我在這個解決方案中使用了一張 Intel 卡,效果很好:Add VIRTUAL output to Xorg

現在我想切換到沒有英特爾卡的新硬體。VNC-Server中提到的作為擴展螢幕的虛擬 X11 監視器的解決方案在我的情況下不起作用。當我想將模式添加到輸出時,xrandr會引發錯誤。

xrandr --newmode test 173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
xrandr --addmode "DP-1" test
X Error of failed request:  BadMatch (invalid parameter attributes)
 Major opcode of failed request:  140 (RANDR)
 Minor opcode of failed request:  18 (RRAddOutputMode)
 Serial number of failed request:  41
 Current serial number in output stream:  42

基本數據:

  • 硬體:HP ZBook 15 G3,配置獨立顯卡(Optimus 不工作!)
  • 軟體:Debian 10.0.2;核心:4.19.0,Nvidia-Driver-Module:xser​​ver-xorg-video-nvidia-legacy-390xx

如果你問,我為什麼要這樣做:我使用一個軟體通過乙太網將虛擬螢幕傳輸到另一台機器,以實現兩個筆記本的雙顯示器。( https://github.com/B-LechCode/sooScreenShare )

更新:現在有一個建議的解決方案適用於我的機器,但它無法添加像 1920x1200 這樣的新模式。也許有人有想法?

我有一個適合我的解決方案,儘管它缺少選擇完全任意解析度的能力。需要明確的是,這僅適用於專有的 nvidia 驅動程序;開源 nouveau 驅動程序的工作方式與其他顯卡驅動程序不同。

簡短的版本是:使用ConnectedMonitornvidia xorg.conf Screen 選項來啟動除主監視器之外的額外輸出。

這是長版本:

執行xrandr --query以獲取您的主要輸出的名稱以及您計劃用於虛擬螢幕的未連接輸出的名稱。例如,我得到以下輸出:

LVDS-0 連接初級 1440x900+0+0(正常左倒右x軸y軸)331mm x 207mm
[省略了各種監視器模式]
DP-0斷開(正常左倒右x軸y軸)
DP-1斷開(正常左倒右x軸y軸)
DP-2斷開(正常左倒右x軸y軸)
DP-3斷開(正常左倒右x軸y軸)
DP-4斷開(正常左倒右x軸y軸)
DP-5斷開(正常左倒右x軸y軸)

所以就我而言,筆記型電腦的螢幕是LVDS-0可用DP-0DP-5。和你一樣,我會選擇DP-1虛擬螢幕。

您將需要添加一個 xorg.conf 螢幕配置,以及一個供螢幕使用的設備部分。這可以是 xorg 可以找到的任何地方。我把我的放進去/etc/X11/xorg.conf.d/30-virtscreen.conf。在該文件中,最小設置是:

“設備”部分
標識符“nvidiagpu”
驅動程序“英偉達”
端部

“螢幕”部分
標識符“nvidiascreen”
設備“nvidiagpu”
選項“ConnectedMonitor”“LVDS-0,DP-1”
端部

這告訴驅動程序使用DP-1輸出,即使它沒有檢測到連接到它的監視器。請注意,如果您想使用它,您還必須列出您的筆記型電腦顯示器(或真實的物理顯示器)!如果您只列出虛擬輸出,驅動程序將不會啟動任何其他輸出,即使它檢測到連接到它們的監視器。

現在重新啟動 X。您應該會看到兩個活動監視器xrandr以及其他顯示查詢程序。

在我的系統上,新啟動的虛擬輸出有多種可用的解析度。我可以選擇其中任何一個(例如 via xrandr --output DP-1 --mode 1600x900),虛擬輸出將自行調整大小。但是,我不能添加新模式(例如,如果我想要 1920x1080 解析度)。那仍然給我“無效的參數屬性”錯誤。幸運的是,我可以接受可用的模式。運氣好的話,你也會有一些有用的預設。

引用自:https://unix.stackexchange.com/questions/559918