
Вчера я установил Arch на свой ноутбук и с тех пор не могу открыть i3. Я установил xorg, i3-gaps и изменил файл ~/.xinitrc следующим образом:
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --auto
exec i3
Однако я не могу открыть i3. Всякий раз, когда я пытаюсь сделать startx, он выдает мне ошибку, говорящую о том, что произошла фатальная ошибка сервера и что экраны не найдены. Иногда он говорит следующее:
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error
Но иногда он этого не говорит и просто зависает, сообщая, что экраны не найдены.
Вот журнал ошибок в /var/log/Xorg.0.log
[ 1425.899] (WW) Failed to open protocol names file lib/xorg/protocol.txt
[ 1425.900]
X.Org X Server 1.20.5
X Protocol Version 11, Revision 0
[ 1425.904] Build Operating System: Linux Arch Linux
[ 1425.905] Current Operating System: Linux mohammed-laptop 5.1.14-arch1-1-ARCH #1 SMP PREEMPT Sat Jun 22 16:28:48 UTC 2019 x86_64
[ 1425.905] Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=6557ebc3-02f1-4d88-a79d-1afb43df18c7 rw quiet
[ 1425.906] Build Date: 30 May 2019 06:44:40PM
[ 1425.907]
[ 1425.908] Current version of pixman: 0.38.4
[ 1425.909] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 1425.909] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 1425.912] (==) Log file: "/var/log/Xorg.0.log", Time: Mon Jun 24 16:48:41 2019
[ 1425.913] (==) Using config file: "/etc/X11/xorg.conf"
[ 1425.914] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 1425.914] (==) ServerLayout "Layout0"
[ 1425.914] (**) |-->Screen "Screen0" (0)
[ 1425.914] (**) | |-->Monitor "Monitor0"
[ 1425.914] (**) | |-->Device "Device0"
[ 1425.914] (**) |-->Input Device "Keyboard0"
[ 1425.914] (**) |-->Input Device "Mouse0"
[ 1425.914] (==) Automatically adding devices
[ 1425.914] (==) Automatically enabling devices
[ 1425.914] (==) Automatically adding GPU devices
[ 1425.914] (==) Automatically binding GPU devices
[ 1425.914] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 1425.914] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/misc".
[ 1425.914] Entry deleted from font path.
[ 1425.914] (Run 'mkfontdir' on "/usr/share/fonts/misc").
[ 1425.914] (WW) The directory "/usr/share/fonts/TTF" does not exist.
[ 1425.914] Entry deleted from font path.
[ 1425.914] (WW) The directory "/usr/share/fonts/OTF" does not exist.
[ 1425.914] Entry deleted from font path.
[ 1425.914] (WW) The directory "/usr/share/fonts/Type1" does not exist.
[ 1425.914] Entry deleted from font path.
[ 1425.914] (==) FontPath set to:
/usr/share/fonts/100dpi,
/usr/share/fonts/75dpi
[ 1425.914] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 1425.914] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 1425.914] (WW) Disabling Keyboard0
[ 1425.914] (WW) Disabling Mouse0
[ 1425.914] (II) Module ABI versions:
[ 1425.914] X.Org ANSI C Emulation: 0.4
[ 1425.914] X.Org Video Driver: 24.0
[ 1425.914] X.Org XInput driver : 24.1
[ 1425.914] X.Org Server Extension : 10.0
[ 1425.914] (++) using VT number 1
[ 1425.915] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_31
[ 1425.916] (II) xfree86: Adding drm device (/dev/dri/card1)
[ 1425.916] (II) systemd-logind: got fd for /dev/dri/card1 226:1 fd 10 paused 0
[ 1425.917] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 1425.917] (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 11 paused 0
[ 1425.919] (--) PCI:*(0@0:2:0) 8086:0416:17aa:221e rev 6, Mem @ 0xb1400000/4194304, 0xa0000000/268435456, I/O @ 0x00005000/64, BIOS @ 0x????????/131072
[ 1425.919] (--) PCI: (1@0:0:0) 10de:11fc:17aa:221e rev 161, Mem @ 0xb0000000/16777216, 0x80000000/268435456, 0x90000000/33554432, I/O @ 0x00004000/128, BIOS @ 0x????????/524288
[ 1425.919] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[ 1425.919] (II) LoadModule: "glx"
[ 1425.919] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 1425.920] (II) Module glx: vendor="X.Org Foundation"
[ 1425.920] compiled for 1.20.5, module version = 1.0.0
[ 1425.920] ABI class: X.Org Server Extension, version 10.0
[ 1425.920] (II) LoadModule: "nvidia"
[ 1425.920] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[ 1425.920] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 1425.920] compiled for 1.6.99.901, module version = 1.0.0
[ 1425.920] Module class: X.Org Video Driver
[ 1425.920] (II) NVIDIA dlloader X Driver 430.26 Tue Jun 4 17:52:10 CDT 2019
[ 1425.920] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 1425.920] (II) systemd-logind: releasing fd for 226:1
[ 1425.921] (II) Loading sub module "fb"
[ 1425.921] (II) LoadModule: "fb"
[ 1425.921] (II) Loading /usr/lib/xorg/modules/libfb.so
[ 1425.921] (II) Module fb: vendor="X.Org Foundation"
[ 1425.921] compiled for 1.20.5, module version = 1.0.0
[ 1425.921] ABI class: X.Org ANSI C Emulation, version 0.4
[ 1425.921] (II) Loading sub module "wfb"
[ 1425.921] (II) LoadModule: "wfb"
[ 1425.921] (II) Loading /usr/lib/xorg/modules/libwfb.so
[ 1425.921] (II) Module wfb: vendor="X.Org Foundation"
[ 1425.921] compiled for 1.20.5, module version = 1.0.0
[ 1425.921] ABI class: X.Org ANSI C Emulation, version 0.4
[ 1425.921] (II) Loading sub module "ramdac"
[ 1425.921] (II) LoadModule: "ramdac"
[ 1425.921] (II) Module "ramdac" already built-in
[ 1425.921] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[ 1425.921] (==) NVIDIA(0): RGB weight 888
[ 1425.921] (==) NVIDIA(0): Default visual is TrueColor
[ 1425.921] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 1425.921] (**) NVIDIA(0): Enabling 2D acceleration
[ 1425.921] (II) Loading sub module "glxserver_nvidia"
[ 1425.921] (II) LoadModule: "glxserver_nvidia"
[ 1425.921] (WW) Warning, couldn't open module glxserver_nvidia
[ 1425.921] (EE) NVIDIA: Failed to load module "glxserver_nvidia" (module does not exist, 0)
[ 1425.921] (EE) NVIDIA(0): Failed to initialize the GLX module; please check in your X
[ 1425.921] (EE) NVIDIA(0): log file that the GLX module has been loaded in your X
[ 1425.921] (EE) NVIDIA(0): server, and that the module is the NVIDIA GLX module. If
[ 1425.921] (EE) NVIDIA(0): you continue to encounter problems, Please try
[ 1425.921] (EE) NVIDIA(0): reinstalling the NVIDIA driver.
[ 1426.074] (--) NVIDIA(0): Valid display device(s) on GPU-0 at PCI:1:0:0
[ 1426.074] (--) NVIDIA(0): DFP-0
[ 1426.074] (--) NVIDIA(0): DFP-1
[ 1426.075] (II) NVIDIA(0): NVIDIA GPU Quadro K2100M (GK106GL) at PCI:1:0:0 (GPU-0)
[ 1426.075] (--) NVIDIA(0): Memory: 2097152 kBytes
[ 1426.075] (--) NVIDIA(0): VideoBIOS: 80.06.63.00.1a
[ 1426.075] (II) NVIDIA(0): Detected PCI Express Link width: 16X
[ 1426.075] (--) NVIDIA(GPU-0): DFP-0: disconnected
[ 1426.075] (--) NVIDIA(GPU-0): DFP-0: Internal TMDS
[ 1426.075] (--) NVIDIA(GPU-0): DFP-0: 165.0 MHz maximum pixel clock
[ 1426.075] (--) NVIDIA(GPU-0):
[ 1426.075] (--) NVIDIA(GPU-0): DFP-1: disconnected
[ 1426.075] (--) NVIDIA(GPU-0): DFP-1: Internal DisplayPort
[ 1426.075] (--) NVIDIA(GPU-0): DFP-1: 960.0 MHz maximum pixel clock
[ 1426.075] (--) NVIDIA(GPU-0):
[ 1426.075] (EE) NVIDIA(0): Failed to assign any connected display devices to X screen 0.
[ 1426.075] (EE) NVIDIA(0): Set AllowEmptyInitialConfiguration if you want the server
[ 1426.075] (EE) NVIDIA(0): to start anyway
[ 1426.075] (EE) NVIDIA(0): Failing initialization of X screen
[ 1426.107] (II) UnloadModule: "nvidia"
[ 1426.107] (II) UnloadSubModule: "wfb"
[ 1426.107] (II) UnloadSubModule: "fb"
[ 1426.107] (EE) Screen(s) found, but none have a usable configuration.
[ 1426.107] (EE)
Fatal server error:
[ 1426.107] (EE) no screens found(EE)
[ 1426.107] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 1426.107] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 1426.107] (EE)
[ 1426.117] (EE) Server terminated with error (1). Closing log file.
Я запустил xrandr, но он сказал мне, что не может открыть дисплей. Я предположил, что это может быть из-за того, что xorg не был настроен автоматически, поэтому я переустановил его, но это все равно не сработало. Поэтому я добавил:
Section "Device"
Identifier "Screen0"
Driver "nouveau"
BusID "PCI:0:12:0"
EndSection
Section "Monitor"
Identifier "dummy_monitor"
HorizSync 28.0-80.0
VertRefresh 60.0
Modeline "1920x1080" 172.80 1920 2040 2248 2576 1080 1081 1084 1118
EndSection
Затем мне выдали другую ошибку, которая гласила "не удалось установить IOPL для ввода-вывода (операция не разрешена)", а затем ту же ошибку о том, что экраны не найдены, а файл журнала находится в другом месте. На этот раз там было написано следующее:
[ 240.358] (WW) Failed to open protocol names file lib/xorg/protocol.txt
[ 240.358]
X.Org X Server 1.20.5
X Protocol Version 11, Revision 0
[ 240.359] Build Operating System: Linux Arch Linux
[ 240.360] Current Operating System: Linux mohammed-laptop 5.1.14-arch1-1-ARCH #1 SMP PREEMPT Sat Jun 22 16:28:48 UTC 2019 x86_64
[ 240.360] Kernel command line: BOOT_IMAGE=/vmlinuz-linux root=UUID=6557ebc3-02f1-4d88-a79d-1afb43df18c7 rw quiet
[ 240.361] Build Date: 30 May 2019 06:44:40PM
[ 240.361]
[ 240.362] Current version of pixman: 0.38.4
[ 240.363] Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
[ 240.363] Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 240.365] (==) Log file: "/home/mohammed/.local/share/xorg/Xorg.0.log", Time: Mon Jun 24 19:08:52 2019
[ 240.366] (==) Using config file: "/etc/X11/xorg.conf"
[ 240.367] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 240.367] (==) ServerLayout "Layout0"
[ 240.367] (**) |-->Screen "Screen0" (0)
[ 240.367] (**) | |-->Monitor "Monitor0"
[ 240.367] (**) | |-->Device "Device0"
[ 240.367] (**) | |-->GPUDevice "Device0"
[ 240.367] (**) |-->Input Device "Keyboard0"
[ 240.367] (**) |-->Input Device "Mouse0"
[ 240.367] (==) Automatically adding devices
[ 240.367] (==) Automatically enabling devices
[ 240.367] (==) Automatically adding GPU devices
[ 240.367] (==) Automatically binding GPU devices
[ 240.367] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 240.367] (WW) `fonts.dir' not found (or not valid) in "/usr/share/fonts/misc".
[ 240.367] Entry deleted from font path.
[ 240.367] (Run 'mkfontdir' on "/usr/share/fonts/misc").
[ 240.367] (WW) The directory "/usr/share/fonts/TTF" does not exist.
[ 240.367] Entry deleted from font path.
[ 240.367] (WW) The directory "/usr/share/fonts/OTF" does not exist.
[ 240.367] Entry deleted from font path.
[ 240.367] (WW) The directory "/usr/share/fonts/Type1" does not exist.
[ 240.367] Entry deleted from font path.
[ 240.367] (==) FontPath set to:
/usr/share/fonts/100dpi,
/usr/share/fonts/75dpi
[ 240.367] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 240.367] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 240.367] (WW) Disabling Keyboard0
[ 240.367] (WW) Disabling Mouse0
[ 240.367] (II) Module ABI versions:
[ 240.367] X.Org ANSI C Emulation: 0.4
[ 240.367] X.Org Video Driver: 24.0
[ 240.367] X.Org XInput driver : 24.1
[ 240.367] X.Org Server Extension : 10.0
[ 240.368] (++) using VT number 1
[ 240.369] (II) systemd-logind: took control of session /org/freedesktop/login1/session/_31
[ 240.370] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 240.371] (II) systemd-logind: got fd for /dev/dri/card0 226:0 fd 10 paused 0
[ 240.372] (--) PCI:*(0@0:2:0) 8086:0416:17aa:221e rev 6, Mem @ 0xb1400000/4194304, 0xa0000000/268435456, I/O @ 0x00005000/64, BIOS @ 0x????????/131072
[ 240.372] (--) PCI: (1@0:0:0) 10de:11fc:17aa:221e rev 161, Mem @ 0xb0000000/16777216, 0x80000000/268435456, 0x90000000/33554432, I/O @ 0x00004000/128, BIOS @ 0x????????/524288
[ 240.372] (WW) Open ACPI failed (/var/run/acpid.socket) (No such file or directory)
[ 240.372] (II) LoadModule: "glx"
[ 240.372] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 240.373] (II) Module glx: vendor="X.Org Foundation"
[ 240.373] compiled for 1.20.5, module version = 1.0.0
[ 240.373] ABI class: X.Org Server Extension, version 10.0
[ 240.373] (II) LoadModule: "nvidia"
[ 240.373] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[ 240.374] (II) Module nvidia: vendor="NVIDIA Corporation"
[ 240.374] compiled for 1.6.99.901, module version = 1.0.0
[ 240.374] Module class: X.Org Video Driver
[ 240.374] (II) NVIDIA dlloader X Driver 430.26 Tue Jun 4 17:52:10 CDT 2019
[ 240.374] (II) NVIDIA Unified Driver for all Supported NVIDIA GPUs
[ 240.374] xf86EnableIOPorts: failed to set IOPL for I/O (Operation not permitted)
[ 240.374] (EE) No devices detected.
[ 240.374] (EE)
Fatal server error:
[ 240.374] (EE) no screens found(EE)
[ 240.374] (EE)
Please consult the The X.Org Foundation support
at http://wiki.x.org
for help.
[ 240.374] (EE) Please also check the log file at "/home/mohammed/.local/share/xorg/Xorg.0.log" for additional information.
[ 240.374] (EE)
[ 240.397] (EE) Server terminated with error (1). Closing log file.
Что я должен делать?
решение1
Проблема, с которой вы столкнулись, связана с тем, что X
идентифицируетдвакарты в (очевидно) 2 разных слотах. Причина, по которой вы, по-видимому, получаете разные результаты, заключается в том, что X
зонд(ы) выбирают одну или другую карту.
Есть несколько направлений, по которым вы можете пойти;
- удалите (закомментируйте) выбранный вами слот и посмотрите,
X
выберет ли [1] карту, проверенную с активным портом (подключенную к вашему монитору) - прокомментируйте слот, который у вас есть в конфигурации, и объявите другой
Это запись из вашего журнала, которая указывает на то, о чем я говорю.
[ 1425.919] (--) PCI:*(0@0:2:0) 8086:0416:17aa:221e rev 6, Mem @ 0xb1400000/4194304, 0xa0000000/268435456, I/O @ 0x00005000/64, BIOS @ 0x????????/131072
[ 1425.919] (--) PCI: (1@0:0:0) 10de:11fc:17aa:221e rev 161, Mem @ 0xb0000000/16777216, 0x80000000/268435456, 0x90000000/33554432, I/O @ 0x00004000/128, BIOS @ 0x????????/524288
Наконец, вы должны попытаться внести как можно меньше в ваш файл conf. As X
стал довольно хорош в принятии правильных решений.
IOW Вносите дополнения только тогда, когда результаты не соответствуют желаемым. :)
1) до
BusID "PCI:0:12:0"
после
# BusID "PCI:0:12:0"
решение2
Вы настроили Xorg на использованиемодерн, но ваши журналы запуска показывают, что он пытается использовать фирменную версиюnvidiaДрайвер. Нельзя смешивать эти два понятия.
Удалитьnvidiaдрайвер полностью, удалите всю конфигурацию Xorg, затем повторите попытку. (Если вы используете nvidia, он предоставит свою собственную конфигурацию. Если вы используете nouveau, Xorg автоматически обнаружит устройства без какой-либо ручной настройки.)