You are not logged in.
I'm trying to setup a second monitor over HDMI but no matter what I try, it is never detected. But it works perfectly fine on Windows.
Considering my system doesn't detect it at all, I'm not sure anymore what's the next thing I should try so your help is welcome.
Here's my current setup:
neofetch
OS: Arch Linux x86_64
Host: GS66 Stealth 10UG REV:1.0
Kernel: 6.5.8-arch1-1
Shell: fish 3.6.1
Resolution: 1920x1080
WM: sway
Terminal: alacritty
CPU: Intel i7-10750H (12) @ 5.000GHz
GPU: Intel CometLake-H GT2 [UHD Graphics]
GPU: NVIDIA GeForce RTX 3070 Mobile / Max-Q
Memory: 2084MiB / 31914MiBUEFI Settings
Fast boot: disabled
Secure boot: disabledswaymsg -t get_outputs
Output eDP-1 'AU Optronics 0x328E Unknown' (focused)
Current mode: 1920x1080 @ 60.036 Hz
Position: 0,0
Scale factor: 1.000000
Scale filter: nearest
Subpixel hinting: unknown
Transform: normal
Workspace: 1
Max render time: off
Adaptive sync: disabled
Available modes:
1920x1080 @ 60.036 Hz
1920x1080 @ 300.185 Hzxrandr --listmonitors (just in case)
Monitors: 1
0: +eDP-1 1920/340x1080/190+0+0 eDP-1lspci | rg VGA
00:02.0 VGA compatible controller: Intel Corporation CometLake-H GT2 [UHD Graphics] (rev 05)
01:00.0 VGA compatible controller: NVIDIA Corporation GA104M [GeForce RTX 3070 Mobile / Max-Q] (rev a1)glxinfo | rg 'OpenGL renderer'
OpenGL renderer string: Mesa Intel(R) UHD Graphics (CML GT2)prime-run glxinfo | rg "OpenGL renderer"
OpenGL renderer string: NVIDIA GeForce RTX 3070 Laptop GPU/PCIe/SSE2nvidia-smi
Fri Nov 3 01:06:06 2023
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.113.01 Driver Version: 535.113.01 CUDA Version: 12.2 |
|-----------------------------------------+----------------------+----------------------+
| GPU Name Persistence-M | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|=========================================+======================+======================|
| 0 NVIDIA GeForce RTX 3070 ... On | 00000000:01:00.0 Off | N/A |
| N/A 36C P0 N/A / 80W | 5MiB / 8192MiB | 0% Default |
| | | N/A |
+-----------------------------------------+----------------------+----------------------+
+---------------------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=======================================================================================|
| No running processes found |
+---------------------------------------------------------------------------------------+dmesg | grep -E '(drm|dp|i915)'
[ 0.541079] ACPI: bus type drm_connector registered
[ 0.541512] [drm] Initialized simpledrm 1.0.0 20200625 for simple-framebuffer.0 on minor 0
[ 0.549064] simple-framebuffer simple-framebuffer.0: [drm] fb0: simpledrmdrmfb frame buffer device
[ 0.965683] [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
[ 0.965685] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 1
[ 1.556387] systemd[1]: Created slice Slice /system/modprobe.
[ 1.563056] systemd[1]: Starting Load Kernel Module drm...
[ 1.572586] systemd[1]: Starting Coldplug All udev Devices...
[ 2.899465] i915 0000:00:02.0: [drm] VT-d active for gfx access
[ 2.997973] i915 0000:00:02.0: vgaarb: deactivate vga console
[ 2.998028] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[ 2.999758] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=io+mem
[ 3.000134] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
[ 3.001513] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
[ 3.048542] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 2
[ 3.085677] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[ 3.088241] fbcon: i915drmfb (fb0) is primary device
[ 4.218875] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[ 4.557972] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input36
[ 4.636483] logitech-hidpp-device 0003:046D:4085.000A: input,hidraw8: USB HID v1.11 Keyboard [Logitech G604 ] on usb-0000:00:14.0-2/input2:1
[ 148.203525] logitech-hidpp-device 0003:046D:4085.000A: HID++ 4.2 device connected.cat /etc/mkinitcpio.conf
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run. Advanced users may wish to specify all system modules
# in this array. For instance:
# MODULES=(usbhid xhci_hcd)
MODULES=(usbhid xhci_hcd nvidia nvidia_modeset nvidia_uvm nvidia_drm)
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image. This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way. This is useful for config files.
FILES=()
# HOOKS
HOOKS=(base udev autodetect modconf keyboard keymap consolefont block filesystems fsck)
# COMPRESSION
# Use this to compress the initramfs image. By default, zstd compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="zstd"
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
# MODULES_DECOMPRESS
# Decompress kernel modules during initramfs creation.
# Enable to speedup boot process, disable to save RAM
# during early userspace. Switch (yes/no).
#MODULES_DECOMPRESS="yes"cat /lib/modprobe.d/nvidia-open.conf (that's my only modprobe config)
options nvidia NVreg_OpenRmEnableUnsupportedGpus=1cat /etc/environment
JDK_HOME=/home/ian/.asdf/installs/java/adoptopenjdk-18.0.2+9
_JAVA_AWT_WM_NONREPARENTING=1If I forgot to share something useful, let me know.
Thanks for your help
Last edited by letian (2023-11-06 02:09:14)
Offline
The output is gonna be wired to the nvidia chip (that's common)
https://wiki.archlinux.org/title/Sway#Installation - do you run sway w/ --unsupported-gpu ?
xrandr and glxinfo have only very limited meaning in a wayland context, https://wiki.archlinux.org/title/Sway#Xwayland
Offline
The output is gonna be wired to the nvidia chip (that's common)
https://wiki.archlinux.org/title/Sway#Installation - do you run sway w/ --unsupported-gpu ?
Makes sense. That's what I was starting to understand about the output being wired to the nvidia chip.
And yes, I am running Sway with the `unsupported-gpu` flag. Here's how I start sway:
cat .config/fish/conf.d/sway.fish
set TTY1 (tty)
[ "$TTY1" = "/dev/tty1" ] && exec sway --unsupported-gpuOffline
https://github.com/swaywm/sway/issues/6246 ?
export WLR_DRM_NO_MODIFIERS=1Edit: the simpledrm device is in the dmesg, what means you also don't have https://wiki.archlinux.org/title/NVIDIA … de_setting !
Last edited by seth (2023-11-03 14:19:57)
Offline
the simpledrm device is in the dmesg, what means you also don't have https://wiki.archlinux.org/title/NVIDIA … de_setting !
Omg how could I miss this... By disabling simpledrm it is now working but only over USB-C (there's actually a flickering issue, but that's another story).
When I plug the monitor in HDMI, it's still completely unrecognized. Nothing appears no matter what command I use to display output info.
Thanks, at least I have a workaround now (USB-C).
Offline
I suspect that's semi unrelated and the USB/DP output is actually wired to the intel chip.
Run and post the output of
for OUT in /sys/class/drm/card0*; do echo $OUT; edid-decode $OUT/edid; echo "================="; doneThen plug it into the HDMI and run and post again.
You'll need https://aur.archlinux.org/packages/edid-decode-git
Offline
So I replaced the `wlroots` package by the patched one for nvidia (`wlroots-nvidia`) to fix the flickering issues. After a reboot, I tried to plug it first in HDMI and turns out my second monitor is now working properly even using HDMI.
The only issue left is that I don't have a mouse cursor anymore when moving to the second screen. But that's again another issue. Edit: WLR_NO_HARDWARE_CURSORS=1 fixed the cursor issue.
Anyway, thanks a lot for you help! I'll mark my post as solved ![]()
Note: as the HDMI output is working now, I guess the edid-decode command is producing what you expected for the HDMI one. So I won't share the result for nothing.
Note 2: Setting WLR_DRM_NO_MODIFIERS=1 prevented my monitor to work. It was detected but marked as inactive and no matter what it wouldn't enable it. So I had to make sure this wasn't set.
Last edited by letian (2023-11-06 03:10:10)
Offline