TLDR: xorg.conf에 의해 NVIDIA 드라이버가 초기화되면 화면을 찾을 수 없다는 오류와 함께 Startx 명령이 실패합니다.
안녕하세요, 저는 가상화된 아치 Linux 설치에 디스플레이 관리자를 설치하려고 하며 2070m를 전달합니다. xorg.conf 없이 x를 시작하거나 모드 설정 드라이버를 사용하도록 xorg.conf를 설정하면 모든 것이 괜찮지만 모드 설정이 내 GPU를 사용하지 않기 때문에 성능이 저하됩니다. nvidia 드라이버를 지정하면 Xorg가 멈추고 아래 오류 로그가 생성됩니다.
[ 57268.256] (WW) Failed to open protocol names file lib/xorg/protocol.txt
[ 57268.257]
X.Org X Server 1.20.9
X Protocol Version 11, Revision 0
[ 57268.258] Build Operating System: Linux Arch Linux
[ 57268.259] Current Operating System: Linux arch24c 5.8.5-arch1-1 #1 SMP PREEMPT Thu, 27 Aug 2020 18:53:02 +0000 x86_64
[ 57268.259] Kernel command line: initrd=\intel-ucode.img initrd=\initramfs-linux.img root=UUID=920c25ae-966a-43fc-ba98-247321da1401 rw
[ 57268.260] Build Date: 02 September 2020 06:17:44AM
[ 57268.260]
[ 57268.261] Current version of pixman: 0.40.0
[ 57268.261] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 57268.262] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 57268.263] (==) Log file: "/home/arch21/.local/share/xorg/Xorg.0.log", Time: Tue Sep 8 18:22:59 2020
[ 57268.264] (==) Using config file: "/etc/X11/xorg.conf"
[ 57268.264] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 57268.264] (==) ServerLayout "Layout0"
[ 57268.264] (**) |-->Screen "Screen0" (0)
[ 57268.264] (**) | |-->Monitor "Monitor0"
[ 57268.264] (**) | |-->Device "Device0"
[ 57268.264] (**) |-->Input Device "Keyboard0"
[ 57268.264] (**) |-->Input Device "Mouse0"
[ 57268.264] (==) Automatically adding devices
[ 57268.264] (==) Automatically enabling devices
[ 57268.264] (==) Automatically adding GPU devices
[ 57268.264] (==) Automatically binding GPU devices
[ 57268.264] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 57268.264] (WW) The directory "/usr/share/fonts/misc" does not exist.
[ 57268.264] Entry deleted from font path.
[ 57268.264] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/TTF".
[ 57268.264] Entry deleted from font path.
[ 57268.264] (Run 'mkfontdir' on "/usr/share/fonts/TTF").
[ 57268.264] (WW) The directory "/usr/share/fonts/OTF" does not exist.
[ 57268.264] Entry deleted from font path.
[ 57268.264] (WW) The directory "/usr/share/fonts/Type1" does not exist.
[ 57268.264] Entry deleted from font path.
[ 57268.264] (WW) The directory "/usr/share/fonts/100dpi" does not exist.
[ 57268.264] Entry deleted from font path.
[ 57268.264] (WW) The directory "/usr/share/fonts/75dpi" does not exist.
[ 57268.264] Entry deleted from font path.
[ 57268.264] (==) FontPath set to:
[ 57268.264] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 57268.264] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 57268.264] (WW) Disabling Keyboard0
[ 57268.265] (WW) Disabling Mouse0
[ 57268.265] (II) Module ABI versions:
[ 57268.265] X.Org ANSI C Emulation: 0.4
[ 57268.265] X.Org Video Driver: 24.1
[ 57268.265] X.Org XInput driver : 24.1
[ 57268.265] X.Org Server Extension : 10.0
[ 57268.265] (++) using VT number 1
[ 57268.266] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_31
[ 57268.267] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 57268.267] (II) Platform probe for /sys/devices/pci0000:00/0000:00:01.0/drm/card0
[ 57268.267] (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 10 paused 0
[ 57268.270] (--) PCI:*(0@0:1:0) 1b36:0100:1af4:1100 rev 5, Mem @ 0xc4000000/67108864, 0xc0000000/67108864, 0xca384000/8192, I/O @ 0x00002040/32, BIOS @ 0x????????/131072
[ 57268.270] (--) PCI: (5@0:0:0) 10de:1f10:1a58:2005 rev 161, Mem @ 0xc8000000/16777216, 0x800000000/268435456, 0x810000000/33554432, I/O @ 0x0000c000/128
[ 57268.270] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[ 57268.270] (II) LoadModule: "glx"
[ 57268.270] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 57268.271] (II) Module glx: vendor="X.Org Foundation"
[ 57268.271] compiled for 1.20.9, module version = 1.0.0
[ 57268.271] ABI class: X.Org Server Extension, version 10.0
[ 57268.271] (II) LoadModule: "nvidia"
[ 57268.271] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[ 57268.271] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 57268.271] compiled for 1.6.99.901, module version = 1.0.0
[ 57268.271] Module class: X.Org Video Driver
[ 57268.271] (II) NVIDIA dlloader X Driver 450.66 Wed Aug 12 19:44:12 UTC 2020
[ 57268.271] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 57268.272] xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
[ 57268.272] (EE) No devices detected.
[ 57268.272] (EE)
Fatal server error:
[ 57268.272] (EE) no screens found(EE)
[ 57268.272] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 57268.272] (EE) Please also check the log file at "/home/arch21/.local/share/xorg/Xorg.0.log" for additional information.
[ 57268.272] (EE)
[ 57268.309] (EE) Server terminated with error (1). Closing log file.
흥미로운 부분은 2가지 다른 오류를 생성합니다.
[ 57268.272] xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
첫 번째 오류는 필요한 그룹 권한이 없는 xinit 바이너리로 인해 발생한 권한 에스컬레이션 오류인 것 같습니다. 이 문제를 해결하려고 시도했습니다.sudo chmod u+s /usr/bin/xinit모든 사용자가 바이너리를 실행 가능하게 만듭니다. 그러나 이것은 오류를 해결하지 못했고 루트로 부팅해도 동일한 (작업 허용 오류)이 지속되었으므로 개인 오류일 가능성을 제거했습니다.
[ 57268.272] (EE) No devices detected.
[ 57268.272] (EE)
Fatal server error:
[ 57268.272] (EE) no screens found(EE)
이 오류가 가장 큰 문제인 것 같습니다. 디스플레이 변수를 설정했는데도 작동하지 않습니다. 가능한 많은 솔루션을 시도했지만 그 중 어느 것도 작동하지 않으며 여전히 동일한 오류가 발생합니다. 테스트하려고 시도한 다른 모든 드라이버가 작동하기 때문에 이것이 랩탑의 디스플레이 멀티플렉싱에 문제가 있거나 nvidia 드라이버 자체에 문제가 있는 것 같습니다.
내 거xorg.conf다음과 같습니다.
Section "Device"
Identifier "nvidia"
Driver "nvidia"
EndSection
그리고 내.xinitrc파일은 다음을 보여줍니다:
xrandr --auto
picom -f &
exec dwm
이것PCIE 장치통해 보여주다lspci전시하다:
07:00:0 VGA compatible controller: NVIDIA Corporation TU106M [GeForce RTX 2070 Mobile] (rev a1)
08:00:0 Audio device: NVIDIA Corporation TU106 High Definition Audio Controller (rev a1)
09:00:0 USB controller: NVIDIA Corporation TU106 USB 3.1 Host Controller (rev a1)
0a:00:0 Serial bus controller [0c80]: NVIDIA Corporation TU106 USB Type-C UCSI Controller (rev a1)
이것엔비디아그리고Nvidia 유틸리티패키지도 설치됩니다.
이 문제에 대한 모든 생각을 환영합니다.