저는 X.org가 설치된 Debian 10 시스템, 디스플레이 관리자로 LightDM, 데스크톱 환경으로 GNOME을 사용하고 있습니다. LightDM을 시작하면 하나의 물리적 모니터만 시작됩니다. 저는 통합 Intel 그래픽으로 구동되는 내부 모니터와 별도의 NVIDIA 그래픽으로 구동되는 외부 HDMI 등 두 개의 모니터를 가지고 있습니다. 저는 Bumblebee/Primus를 사용하여 NVIDIA Optimus를 설정했습니다. 그래서 통합 Intel 그래픽을 사용하여 개별 카드에서 응용 프로그램을 실행하는 동안 모니터를 구동할 수 있습니다. LightDM을 시작하면 X 서버는 내부 화면만 사용하고 모니터는 대기 상태로 유지됩니다. Xorg 프로필을 사용해야 합니다. 하지만 권장되지는 않습니다. 그렇지 않으면 Xorg가 외부 모니터를 감지할 수 없기 때문입니다.
/etc/X11/xorg.conf:
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "built-ins"
EndSection
Section "Module"
Load "glx"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
#Option "Accel" # [<bool>]
#Option "AccelMethod" # <str>
#Option "Backlight" # <str>
#Option "CustomEDID" # <str>
#Option "DRI" # <str>
#Option "Present" # [<bool>]
#Option "ColorKey" # <i>
#Option "VideoKey" # <i>
#Option "Tiling" # [<bool>]
#Option "LinearFramebuffer" # [<bool>]
#Option "HWRotation" # [<bool>]
#Option "VSync" # [<bool>]
#Option "PageFlip" # [<bool>]
#Option "SwapbuffersWait" # [<bool>]
#Option "TripleBuffer" # [<bool>]
#Option "XvPreferOverlay" # [<bool>]
#Option "HotPlug" # [<bool>]
#Option "ReprobeOutputs" # [<bool>]
#Option "XvMC" # [<bool>]
#Option "ZaphodHeads" # <str>
#Option "VirtualHeads" # <i>
#Option "TearFree" # [<bool>]
#Option "PerCrtcPixmaps" # [<bool>]
#Option "FallbackDebug" # [<bool>]
#Option "DebugFlushBatches" # [<bool>]
#Option "DebugFlushCaches" # [<bool>]
#Option "DebugWait" # [<bool>]
#Option "BufferCache" # [<bool>]
Identifier "Card0"
Driver "intel"
BusID "PCI:0:2:0"
EndSection
Section "Device"
### Available Driver options are:-
### Values: <i>: integer, <f>: float, <bool>: "True"/"False"ss,
### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
### <percent>: "<f>%"
### [arg]: arg optional
#Option "SWcursor" # [<bool>]
#Option "HWcursor" # [<bool>]
#Option "NoAccel" # [<bool>]
#Option "ShadowFB" # [<bool>]
#Option "VideoKey" # <i>
#Option "WrappedFB" # [<bool>]
#Option "GLXVBlank" # [<bool>]
#Option "ZaphodHeads" # <str>
#Option "PageFlip" # [<bool>]
#Option "SwapLimit" # <i>
#Option "AsyncUTSDFS" # [<bool>]
#Option "AccelMethod" # <str>
#Option "DRI" # <i>
Identifier "Card1"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Section "Screen"
Identifier "Screen1"
Device "Card1"
Monitor "Monitor1"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
LSPCI | grep NVIDIA를 사용하여 내 그래픽 카드가 감지되었음을 표시합니다.
01:00.0 VGA compatible controller: NVIDIA Corporation Device 1f99 (rev a1)
lsmod | grep nvidia를 사용하여 nvidia 드라이버가 로드되었음을 표시합니다.
nvidia_modeset 1232896 1
nvidia 34164736 18 nvidia_modeset
내 LightDM 구성 파일에는 xserver-config 필드가 설정되어 있지 않으므로 /etc/X11/xorg.conf를 사용합니다.
문자가 너무 많아서 X.org 로그 전체를 게시할 수 없습니다. 가장 주목할만한 세 줄은 다음과 같습니다.
[ 9581.561] (II) LoadModule: "nvidia"
[ 9581.562] (WW) Warning, couldn't open module nvidia
[ 9581.562] (EE) Failed to load module "nvidia" (module does not exist, 0)
두 가지 질문이 있습니다.
- lspci가 내 그래픽 카드를 감지하고 lsmod가 드라이버를 감지하지만 Xorg가 드라이버가 존재하지 않는다고 말하는 이유는 무엇입니까?
- X.org가 드라이버를 감지하도록 하려면 어떻게 해야 합니까?
추신: nouveau 드라이버는 로드되지 않으며 Xorg 구성에 언급되지 않으므로 문제가 되지 않습니다.
답변1
Debian Rolling Release(unstable/sid)로 업그레이드했는데 이제 작동합니다. 문제가 무엇인지 잘 모르겠습니다. Bumblebee/Primus에 관한 것 같습니다. 업그레이드 후 이제 Xorg 1.20.11이 있으므로 기본적으로 NVIDIA Optimus를 사용할 수 있습니다. 하나의 드라이버를 다시 설치하고 나중에 제거했는데 훌륭하게 작동했습니다.