![Xserver detecta mis monitores externos pero no el monitor integrado de mi computadora portátil](https://rvso.com/image/1072172/Xserver%20detecta%20mis%20monitores%20externos%20pero%20no%20el%20monitor%20integrado%20de%20mi%20computadora%20port%C3%A1til.png)
Tengo una lenovo legion 5 con ubuntu 22.04 (tuve el mismo problema con Ubuntu 20.04 y esperaba que la actualización a 22.04 solucionara el problema, pero no fue así). 2 monitores externos y la pantalla del portátil.
Con gnomo.
Cuando inicio mi computadora, los monitores externos están inactivos hasta que el inicio alcanza el inicio de sesión de gnome (es decir, hasta el servidor X), luego el monitor de la computadora portátil permanece bloqueado mientras la pantalla de inicio de sesión dice "Presione Ctrl+c para cancelar todas las comprobaciones del sistema de archivos en curso" y los monitores externos se detectan y muestran gnome.
Si presiono ctrl+alt+F3 para obtener un terminal, aparece en la pantalla de mi computadora portátil, y cuando vuelvo al servidor X con ctrl+alt+F1, aparecen en monitores externos.
Tengo una tarjeta gráfica/gpu amd y nvida:
sudo lshw -C display
da
*-display
description: VGA compatible controller
product: GA106M [GeForce RTX 3060 Mobile / Max-Q]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: iomemory:fa0-f9f iomemory:fc0-fbf irq:93 memory:d0000000-d0ffffff memory:fa00000000-fbffffffff memory:fc00000000-fc01ffffff ioport:3000(size=128) memory:d1080000-d10fffff
*-display UNCLAIMED
description: VGA compatible controller
product: Cezanne
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:05:00.0
version: c6
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi msix vga_controller bus_master cap_list
configuration: latency=0
resources: iomemory:fc0-fbf iomemory:fc0-fbf memory:fc10000000-fc1fffffff memory:fc20000000-fc201fffff ioport:1000(size=256) memory:d1500000-d157ffff
*-graphics
product: EFI VGA
physical id: 2
logical name: /dev/fb0
capabilities: fb
configuration: depth=32 resolution=1920,1080
Curiosamente, cuando lo hago sudo X -configure
obtengo
X.Org X Server 1.21.1.3
X Protocol Version 11, Revision 0
Current Operating System: Linux ntb048 5.15.0-37-generic #39-Ubuntu SMP Wed Jun 1 19:16:45 UTC 2022 x86_64
Kernel command line: BOOT_IMAGE=/vmlinuz-5.15.0-37-generic root=/dev/mapper/vgubuntu-root ro quiet splash vt.handoff=7
xorg-server 2:21.1.3-2ubuntu2 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.40.0
Before reporting problems, check http://wiki.x.org
to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
(++) from command line, (!!) notice, (II) informational,
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Jun 10 18:32:04 2022
List of video drivers:
amdgpu
ati
intel
nouveau
qxl
radeon
vmware
modesetting
fbdev
vesa
(++) Using config file: "/root/xorg.conf.new"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(II) AMDGPU(0): [KMS] Kernel modesetting enabled.
Number of created screens does not match number of detected devices.
Configuration failed.
(EE) Server terminated with error (2). Closing log file.
No tengo un /etc/X11/xorg.conf
archivo. Curiosamente si creo un /etc/X11/xorg.conf
archivo con el siguiente contenido:
Section "ServerLayout"
Identifier "Layout0"
Option "AutoAddGPU" "false"
Screen 0 "IntelScreen"
EndSection
Section "Device"
Identifier "IntelDevice"
BusID "PCI:0:2:0"
Driver "intel" # or maybe "modesetting"?
EndSection
Section "Screen"
Identifier "IntelScreen"
Device "IntelDevice"
EndSection
Entonces los monitores externos ya no se detectan, pero la pantalla del portátil funciona y el xserver la detecta.
De alguna manera tengo la sensación de que los monitores externos necesitan el controlador nvidia para funcionar y la pantalla del portátil necesita un controlador que no sea nvidia para funcionar, pero no sé cómo hacer que eso suceda.
También puede ser útil el contenido /root/xorg.conf.new
de
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 "SWcursor" # [<bool>]
#Option "EnablePageFlip" # [<bool>]
#Option "SubPixelOrder" # [<str>]
#Option "ZaphodHeads" # <str>
#Option "AccelMethod" # <str>
#Option "DRI3" # [<bool>]
#Option "DRI" # <i>
#Option "ShadowPrimary" # [<bool>]
#Option "TearFree" # [<bool>]
#Option "DeleteUnusedDP12Displays" # [<bool>]
#Option "VariableRefresh" # [<bool>]
#Option "AsyncFlipSecondaries" # [<bool>]
Identifier "Card0"
Driver "amdgpu"
BusID "PCI:5:0:0"
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 "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 "nouveau"
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
Además, cuando lo hago, sudo xrandr
parece que solo detecta 2 pantallas:
Screen 0: minimum 8 x 8, current 4000 x 2560, maximum 32767 x 32767
DP-0 connected primary 1440x2560+2560+0 left (normal left inverted right x axis y axis) 597mm x 336mm
2560x1440 59.95*+
2048x1080 60.00 24.00
1920x1080 60.00 59.94 50.00
1600x1200 60.00
1280x1024 75.02 60.02
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00
720x480 59.94
640x480 75.00 59.94 59.93
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
HDMI-0 connected 2560x1440+0+0 (normal left inverted right x axis y axis) 597mm x 336mm
2560x1440 59.95*+
2048x1080 60.00 24.00
1920x1080 60.00 59.94 50.00
1600x1200 60.00
1280x1024 75.02 60.02
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00
720x480 59.94
640x480 75.00 59.94 59.93
DP-4 disconnected (normal left inverted right x axis y axis)
Toda ayuda es muy apreciada.
Respuesta1
De acuerdo. Entonces parecía que mis monitores externos Dell solo funcionan con la tarjeta gráfica NVIDIA, pero el monitor de mi computadora portátil incorporado solo funciona SIN la tarjeta gráfica NVIDIA.
No estoy seguro de qué resolvió el problema. Pero hice las siguientes tres cosas y ahora el problema está resuelto.
Primero, parecía que mis amdgpu
controladores estaban en la lista negra, por lo que necesitaba quitarlos de la lista negra de la siguiente manera
sudo rm /etc/modprobe.d/blacklist-amdgpu.conf
Luego necesitaba asegurarme de que estaba usando la tarjeta NVIDIA:
sudo prime-select on-demand
Luego también instalé el kit de herramientas nvidia cuda:
sudo apt install nvidia-cuda-toolkit
(No sé por qué y no sé si era necesario).
/root/xorg.conf.new
parece sin cambios, pero la salida de ya sudo lshw -C display
no tiene UNCLAIMED
:
*-display
description: VGA compatible controller
product: GA106M [GeForce RTX 3060 Mobile / Max-Q]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
logical name: /dev/fb0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom fb
configuration: depth=32 driver=nvidia latency=0 mode=1920x1080 visual=truecolor xres=1920 yres=1080
resources: iomemory:fa0-f9f iomemory:fc0-fbf irq:77 memory:d0000000-d0ffffff memory:fa00000000-fbffffffff memory:fc00000000-fc01ffffff ioport:3000(size=128) memory:d1080000-d10fffff
*-display
description: VGA compatible controller
product: Cezanne
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci@0000:05:00.0
logical name: /dev/fb0
version: c6
width: 64 bits
clock: 33MHz
capabilities: pm pciexpress msi msix vga_controller bus_master cap_list fb
configuration: depth=32 driver=amdgpu latency=0 resolution=1920,1080
resources: iomemory:fc0-fbf iomemory:fc0-fbf irq:49 memory:fc10000000-fc1fffffff memory:fc20000000-fc201fffff ioport:1000(size=256) memory:d1500000-d157ffff
Otras cosas que podrían haber sido necesarias incluyen:
- haciendo lo siguiente aproximadamente medio millón de veces:
sudo apt purge 'nvidia*'
sudo ubuntu-drivers autoinstall
Editar /lib/modprobe.d/nvidia-kms.conf
para ser options nvidia-drm modeset=0
(en lugar de 1
) después de hacerlosudo prime-select nvidia/intel/on-demand
3)
Instalar los controladores amdgpu y agregarlos /etc/modules
como uno
echo radeon > /etc/modules
o
echo amdgpu > /etc/modules
Asuntos relacionados:
Ubuntu 20.04 no reconoce el segundo monitor
https://www.reddit.com/r/Dell/comments/o6ivru/problem_with_dell_g15_ryzen_edition_when_running/