現在の位置に応じて2つの異なるモニターに接続する設定があります。いずれかのモニターで許可されていないモードを使用したいのですが、別のモニターを接続してもロードされません。
より具体的には、自宅の外部モニターを120 Hzでオーバークロックしたいのですが、職場で同じHDMIポートに接続されている他のモニターをオーバークロックしたくありません。 NVIDIAの使用は可能ですか?デフォルトでは、EDID設定の使用中にxrandrを使用してEDIDをオーバーライドできないようです。
答え1
ドライバーの EDID オーバーライド機能を使用するには、nvidia
出力 ID で EDID をオーバーライドするモニターを指定する必要があるようです。
xorg.conf
Xサーバーを起動する前に、何らかの方法で「現在の場所」を検出し、ファイルを準備された2つの選択肢のいずれかに切り替えるか、それに応じてフラグメントを追加/削除する必要がありますxorg.conf.d
。
アイデアについては、このページをご覧ください。https://kodi.wiki/view/Creating_and_using_edid.bin_via_xorg.conf
read-edid
パッケージを使用して、Xサーバーが起動する前にedid-decode
実際のEDIDを読み取り、それをデコードしてモニターを識別し、それに応じてXプロファイルを切り替えてXサーバーの起動に進むことができます。あるいは、Xが起動する前に簡単に検出できるネットワークパラメータまたは他のパラメータを使用して、どの設定を使用する必要があるかを判断できます。
使用しているLinuxディストリビューションを指定していないため、システム起動順序の正しい場所にカスタムスクリプトを挿入する正確なプロセスを提案することはできませんが、確実に実行できます。
答え2
さて、nvidiaを使用している場合は、EDIDでモニターを参照できます。ここに私の99-nvidia.confの例があります(ここで使用する参照は)
Section "Module"
Load "modesetting"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
#this is the important part!!!
Option "CustomEDID" "DPY-EDID-d2ee947f-cde6-694c-4099-2f7aa520eb75: /home/myName/Documents/monitors/edid-120.bin"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
#Option "DPI" "96 x 96" #adjust this value as needed to fix scaling
Option "AllowEmptyInitialConfiguration"
EndSection
Section "Extensions"
Option "Composite" "Enable"
EndSection