You are not logged in.
Hi all,
Few days ago I’ve switched to a new laptop and installed Arch (with Cinnamon as a DE), laptop is AMD based (Ryzen 3500u and Vega 8 iGPU). The problem is that I can’t connect an external monitor to HDMI, it doesn’t work. The laptop's screen starts flickering regularly and that’s it. The external monitor doesn’t react at all (it's recognized though). I’m at odds on what to do, read a lot of topics but can’t seem to find a solution as most are related to hybrid laptops which mine is not. It's AMD CPU and GPU (integrated), without dedicated graphics.
BTW, the problem is not with a port as I've tried the monitor on Windows and it works perfectly well.
I've tried switching kernels but that didn't help either.
Here's some more info:
System:
Kernel: 5.11.2-arch1-1 x86_64 bits: 64 compiler: gcc v: 10.2.1
parameters: BOOT_IMAGE=/boot/vmlinuz-linux
root=UUID=bd2151ad-717b-4cf5-9444-9f2d78f5a0cd rw quiet loglevel=3
Desktop: Cinnamon 4.8.6 tk: GTK 3.24.26 dm: LightDM 1.30.0
Distro: Arch Linux
Machine:
Type: Laptop System: HP product: HP 255 G7 Notebook PC
v: Type1ProductConfigId serial: <filter> Chassis: type: 10
serial: <filter>
Mobo: HP model: 85EA v: 51.24 serial: <filter> UEFI: Insyde v: F.33
date: 08/17/2020
Battery:
ID-1: BAT1 charge: 41.5 Wh condition: 41.5/40.9 Wh (101%) volts: 12.8/11.3
model: Hewlett-Packard PABAS0241231 type: Li-ion serial: <filter>
status: Full
CPU:
Info: Quad Core model: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx
bits: 64 type: MT MCP arch: Zen/Zen+ note: check family: 17 (23)
model-id: 18 (24) stepping: 1 microcode: 8108102 L2 cache: 2 MiB
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
bogomips: 33548
Speed: 1223 MHz min/max: 1400/2100 MHz boost: enabled Core speeds (MHz):
1: 1223 2: 1225 3: 1225 4: 1223 5: 1351 6: 1292 7: 1224 8: 1224
Vulnerabilities: Type: itlb_multihit status: Not affected
Type: l1tf status: Not affected
Type: mds status: Not affected
Type: meltdown status: Not affected
Type: spec_store_bypass
mitigation: Speculative Store Bypass disabled via prctl and seccomp
Type: spectre_v1
mitigation: usercopy/swapgs barriers and __user pointer sanitization
Type: spectre_v2 mitigation: Full AMD retpoline, IBPB: conditional, STIBP:
disabled, RSB filling
Type: srbds status: Not affected
Type: tsx_async_abort status: Not affected
Graphics:
Device-1: AMD Picasso vendor: Hewlett-Packard driver: amdgpu v: kernel
bus ID: 04:00.0 chip ID: 1002:15d8 class ID: 0300
Device-2: Cheng Uei Precision Industry (Foxlink) HP Webcam type: USB
driver: uvcvideo bus ID: 3-2.1:3 chip ID: 05c8:0238 class ID: 0e02
serial: <filter>
Display: x11 server: X.Org 1.20.10 driver: loaded: amdgpu
unloaded: fbdev,modesetting,vesa alternate: ati display ID: :0 screens: 1
Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x286mm (20.0x11.3")
s-diag: 583mm (23")
Monitor-1: eDP res: 1920x1080 hz: 60 dpi: 142 size: 344x193mm (13.5x7.6")
diag: 394mm (15.5")
OpenGL: renderer: AMD Radeon Vega 8 Graphics (RAVEN DRM 3.40.0
5.11.2-arch1-1 LLVM 11.1.0)
v: 4.6 Mesa 20.3.4 direct render: Yes
Audio:
Device-1: AMD Raven/Raven2/Fenghuang HDMI/DP Audio vendor: Hewlett-Packard
driver: snd_hda_intel v: kernel bus ID: 04:00.1 chip ID: 1002:15de
class ID: 0403
Device-2: AMD Raven/Raven2/FireFlight/Renoir Audio Processor
vendor: Hewlett-Packard driver: snd_pci_acp3x v: kernel
alternate: snd_rn_pci_acp3x bus ID: 04:00.5 chip ID: 1022:15e2
class ID: 0480
Device-3: AMD Family 17h HD Audio vendor: Hewlett-Packard
driver: snd_hda_intel v: kernel bus ID: 04:00.6 chip ID: 1022:15e3
class ID: 0403
Sound Server: ALSA v: k5.11.2-arch1-1
Network:
Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
vendor: Hewlett-Packard driver: r8169 v: kernel port: 3000 bus ID: 01:00.0
chip ID: 10ec:8168 class ID: 0200
IF: eno1 state: down mac: <filter>
Device-2: Realtek RTL8821CE 802.11ac PCIe Wireless Network Adapter
vendor: Hewlett-Packard driver: rtl8821ce v: N/A
modules: rtw88_8821ce,wl,8821ce port: 2000 bus ID: 02:00.0
chip ID: 10ec:c821 class ID: 0280
IF: wlan0 state: up mac: <filter>
Bluetooth:
Device-1: Realtek Realtek Bluetooth 4.2 Adapter type: USB driver: btusb
v: 0.8 bus ID: 3-2.3:4 chip ID: 0bda:b00a class ID: e001 serial: <filter>
Message: Required tool hciconfig not installed. Check --recommends
Drives:
Local Storage: total: 238.47 GiB used: 6.45 GiB (2.7%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: SK Hynix
model: BC511 HFM256GDJTNI-82A0A size: 238.47 GiB block size:
physical: 512 B logical: 512 B speed: 31.6 Gb/s lanes: 4 rotation: SSD
serial: <filter> rev: HPS0 temp: 25.9 C scheme: GPT
Partition:
ID-1: / raw size: 238.17 GiB size: 233.38 GiB (97.99%)
used: 6.45 GiB (2.8%) fs: ext4 dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw size: 300 MiB size: 299.4 MiB (99.80%)
used: 432 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
Alert: No Swap data was found.
Sensors:
System Temperatures: cpu: 44.2 C mobo: 20.0 C gpu: amdgpu temp: 44.0 C
Fan Speeds (RPM): N/A
Info:
Processes: 310 Uptime: 1h 38m wakeups: 5 Memory: 5.81 GiB
used: 3.02 GiB (52.0%) Init: systemd v: 247 Compilers: gcc: 10.2.0
Packages: pacman: 959 lib: 220 flatpak: 0 Shell: Bash v: 5.1.4
Thank you in advance. Hope someone might be able to help me out as I'm totally clueless on how to resolve the issue.
Last edited by blueleaf (2021-03-12 13:51:17)
Offline
This is the xrandr output when the external screen is connected and showing nothing and my laptop's screen is flickering at regular intervals. The laptop becomes barely usable when connected to HDMI because of this flickering and cursor changing positions. However, the miracle happened yesterday and I was able to use the external monitor for about 10 mins. (until I restarted the system).
Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 16384 x 16384
eDP connected primary 1920x1080+1920+0 (normal left inverted right x axis y axis) 344mm x 193mm
1920x1080 60.01*+ 39.27
1680x1050 60.01
1280x1024 60.01
1440x900 60.01
1280x800 60.01
1280x720 60.01
1024x768 60.01
800x600 60.01
640x480 60.01
HDMI-A-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 476mm x 268mm
1920x1080 60.00*+ 50.00 59.94
1680x1050 59.88
1600x900 60.00
1280x1024 75.02 60.02
1440x900 60.00
1280x800 59.91
1152x864 75.00
1280x720 60.00 50.00 59.94
1024x768 75.03 60.00
832x624 74.55
800x600 75.00 60.32
720x576 50.00
720x480 60.00 59.94
640x480 75.00 60.00 59.94
720x400 70.08
Last edited by blueleaf (2021-03-07 09:42:39)
Offline
Full journacltl -b | grep -v audit (run as root) and xorg log please .
Is xf86-video-amdgpu installed ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
Hi, thank you for your response.
Here's the journal log:
https://pastebin.com/M09SzDLV
And the xorg log:
https://pastebin.com/jJfRntR1
xf86-video-amdgpu is installed and running.
Last edited by blueleaf (2021-03-07 16:27:29)
Offline
Herer's a short video of what happens when I connect the external monitor. As you can see, it's properly recognized by the system but that's about it.
https://youtu.be/T9G7BGHTFvY
Last edited by blueleaf (2021-03-08 10:38:58)
Offline
The xorg log is weird and way to short, you also have kvm disabled in firmware which usually is a bad idea on amd processors.
Those things can wait however as the core dumps indicate there's a bigger problem : a race condition .
Mar 07 15:28:49 blueleaf systemd[1]: Reached target Graphical Interface.
Mar 07 15:28:49 blueleaf kernel: Generic FE-GE Realtek PHY r8169-100:00: attached PHY driver (mii_bus:phy_addr=r8169-100:00, irq=IGNORE)
Mar 07 15:28:49 blueleaf kernel: usb 3-2.3: New USB device found, idVendor=0bda, idProduct=b00a, bcdDevice= 1.10
Mar 07 15:28:49 blueleaf kernel: usb 3-2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Mar 07 15:28:49 blueleaf kernel: usb 3-2.3: Product: Bluetooth Radio
Mar 07 15:28:49 blueleaf kernel: usb 3-2.3: Manufacturer: Realtek
Mar 07 15:28:49 blueleaf kernel: usb 3-2.3: SerialNumber: 00e04c000001
Mar 07 15:28:49 blueleaf kernel: EDAC amd64: F17h_M10h detected (node 0).
Mar 07 15:28:49 blueleaf kernel: EDAC amd64: Node 0: DRAM ECC disabled.
Mar 07 15:28:49 blueleaf kernel: intel_rapl_common: Found RAPL domain package
Mar 07 15:28:49 blueleaf kernel: intel_rapl_common: Found RAPL domain core
Mar 07 15:28:49 blueleaf kernel: kvm: disabled by bios
Mar 07 15:28:49 blueleaf mtp-probe[390]: checking bus 3, device 3: "/sys/devices/pci0000:00/0000:00:08.1/0000:04:00.4/usb3/3-2/3-2.1"
Mar 07 15:28:49 blueleaf mtp-probe[390]: bus: 3, device: 3 was not an MTP device
Mar 07 15:28:50 blueleaf kernel: input: HP WMI hotkeys as /devices/virtual/input/input9
Mar 07 15:28:50 blueleaf kernel: EDAC amd64: F17h_M10h detected (node 0).
Mar 07 15:28:50 blueleaf kernel: EDAC amd64: Node 0: DRAM ECC disabled.
Mar 07 15:28:50 blueleaf kernel: snd_hda_intel 0000:04:00.1: Handle vga_switcheroo audio client
Mar 07 15:28:50 blueleaf kernel: [drm] amdgpu kernel modesetting enabled.
The first line shows when systemd thinks your system is ready to do graphical stuff .
Last line of that block shows when your videocard starts initialising .
Basically applications want to use the full capabilities fo the videocard before it has finished starting up and this causes many problems.
Configure your system to use https://wiki.archlinux.org/index.php/Ke … _KMS_start .
Last edited by Lone_Wolf (2021-03-08 12:05:05)
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
The xorg log is weird and way to short, you also have kvm disabled in firmware which usually is a bad idea on amd processors.
Those things can wait however as the core dumps indicate there's a bigger problem : a race condition .
Mar 07 15:28:49 blueleaf systemd[1]: Reached target Graphical Interface. Mar 07 15:28:49 blueleaf kernel: Generic FE-GE Realtek PHY r8169-100:00: attached PHY driver (mii_bus:phy_addr=r8169-100:00, irq=IGNORE) Mar 07 15:28:49 blueleaf kernel: usb 3-2.3: New USB device found, idVendor=0bda, idProduct=b00a, bcdDevice= 1.10 Mar 07 15:28:49 blueleaf kernel: usb 3-2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 Mar 07 15:28:49 blueleaf kernel: usb 3-2.3: Product: Bluetooth Radio Mar 07 15:28:49 blueleaf kernel: usb 3-2.3: Manufacturer: Realtek Mar 07 15:28:49 blueleaf kernel: usb 3-2.3: SerialNumber: 00e04c000001 Mar 07 15:28:49 blueleaf kernel: EDAC amd64: F17h_M10h detected (node 0). Mar 07 15:28:49 blueleaf kernel: EDAC amd64: Node 0: DRAM ECC disabled. Mar 07 15:28:49 blueleaf kernel: intel_rapl_common: Found RAPL domain package Mar 07 15:28:49 blueleaf kernel: intel_rapl_common: Found RAPL domain core Mar 07 15:28:49 blueleaf kernel: kvm: disabled by bios Mar 07 15:28:49 blueleaf mtp-probe[390]: checking bus 3, device 3: "/sys/devices/pci0000:00/0000:00:08.1/0000:04:00.4/usb3/3-2/3-2.1" Mar 07 15:28:49 blueleaf mtp-probe[390]: bus: 3, device: 3 was not an MTP device Mar 07 15:28:50 blueleaf kernel: input: HP WMI hotkeys as /devices/virtual/input/input9 Mar 07 15:28:50 blueleaf kernel: EDAC amd64: F17h_M10h detected (node 0). Mar 07 15:28:50 blueleaf kernel: EDAC amd64: Node 0: DRAM ECC disabled. Mar 07 15:28:50 blueleaf kernel: snd_hda_intel 0000:04:00.1: Handle vga_switcheroo audio client Mar 07 15:28:50 blueleaf kernel: [drm] amdgpu kernel modesetting enabled.
The first line shows when systemd thinks your system is ready to do graphical stuff .
Last line of that block shows when your videocard starts initialising .
Basically applications want to use the full capabilities fo the videocard before it has finished starting up and this causes many problems.Configure your system to use https://wiki.archlinux.org/index.php/Ke … _KMS_start .
Thanks for your help!
I've enabled virtualization in BIOS and then ran
LC_ALL=C lscpu | grep Virtualization
which outputs "AMD-V". Does this mean it's OK now?
Regarding the xorg log, I'd actually looked in the wrong folder, so here's the full log (up until this moment): https://paste.ofcode.org/33bPjN7uuDvvR9dXZUTEKvJ
As per your link, I've also added "amdgpu" to the kernel MODULES line, saved mkinitcpio.conf and updated it through terminal. This actually changed few things: the weird-looking login screen disappeared and I'm no longer requested to enter the password to log in to the system. Another thing is that it solved the problem with screen brightness and the system now remembers the parameters used before shutting down. By the way, I got the following warnings while updating modules:
==> WARNING: Possibly missing firmware for module: wd719x
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: xhci_pci
Could this be related to my problem? I've no idea what these are but will look into it.
Anyway, the problem with HDMI persists. I was actually able to use the external monitor (for the second time now!) but it only lasted until I put my laptop to sleep. Upon wakening up, the same old blinking began. I then tried to re-insert the cable several times but it didn't work.
The xorg log recorded the following AMDGPU error:
drmmode_do_crtc_dpms cannot get last vblank counter
.
This error actually seems to be related to external monitor problems. Performed a quick search but so far haven't found any solution. Will keep searching...
Last edited by blueleaf (2021-03-08 14:10:06)
Offline
lscpu shows what the cpu can do, but not what is actually in use.
Try (as root)
# dmesg | grep iommu
The missing firmware only matters if you have specific hardware.
wd719xx & aic94xx are (expensive) hardware raid controllers that are uncommon even in enterprise server hardware.
The xhci_pci kernel module requires special firmware if you have certain renesas usb devices.
[ 5.212] (II) AMDGPU(0): EDID vendor "BOE", prod id 1671
[ 5.212] (II) AMDGPU(0): Printing DDC gathered Modelines:
[ 5.212] (II) AMDGPU(0): Modeline "1920x1080"x0.0 152.60 1920 1968 2000 2192 1080 1083 1089 1160 +hsync -vsync (69.6 kHz eP)
[ 5.279] (II) AMDGPU(0): EDID vendor "BOE", prod id 1671
[ 5.279] (II) AMDGPU(0): Printing DDC gathered Modelines:
[ 5.279] (II) AMDGPU(0): Modeline "1920x1080"x0.0 152.60 1920 1968 2000 2192 1080 1083 1089 1160 +hsync -vsync (69.6 kHz eP)
[ 5.501] (II) AMDGPU(0): EDID vendor "BOE", prod id 1671
[ 5.501] (II) AMDGPU(0): Printing DDC gathered Modelines:
[ 5.501] (II) AMDGPU(0): Modeline "1920x1080"x0.0 152.60 1920 1968 2000 2192 1080 1083 1089 1160 +hsync -vsync (69.6 kHz eP)
[ 5.514] (II) AMDGPU(0): EDID vendor "BOE", prod id 1671
[ 5.514] (II) AMDGPU(0): Printing DDC gathered Modelines:
[ 5.514] (II) AMDGPU(0): Modeline "1920x1080"x0.0 152.60 1920 1968 2000 2192 1080 1083 1089 1160 +hsync -vsync (69.6 kHz eP)
[ 5.528] (II) AMDGPU(0): Allocate new frame buffer 3840x1080
[ 5.530] (II) AMDGPU(0): => pitch 15360 bytes
[ 5.741] (II) AMDGPU(0): EDID vendor "BOE", prod id 1671
[ 5.741] (II) AMDGPU(0): Printing DDC gathered Modelines:
[ 5.741] (II) AMDGPU(0): Modeline "1920x1080"x0.0 152.60 1920 1968 2000 2192 1080 1083 1089 1160 +hsync -vsync (69.6 kHz eP)
[ 6.084] (II) AMDGPU(0): EDID vendor "BOE", prod id 1671
[ 6.084] (II) AMDGPU(0): Printing DDC gathered Modelines:
[ 6.084] (II) AMDGPU(0): Modeline "1920x1080"x0.0 152.60 1920 1968 2000 2192 1080 1083 1089 1160 +hsync -vsync (69.6 kHz eP)
[ 6.171] (II) AMDGPU(0): EDID vendor "BOE", prod id 1671
[ 6.171] (II) AMDGPU(0): Printing DDC gathered Modelines:
[ 6.171] (II) AMDGPU(0): Modeline "1920x1080"x0.0 152.60 1920 1968 2000 2192 1080 1083 1089 1160 +hsync -vsync (69.6 kHz eP)
[ 6.280] (EE) AMDGPU(0): drmmode_do_crtc_dpms cannot get last vblank counter
[ 6.302] (EE) AMDGPU(0): drmmode_do_crtc_dpms cannot get last vblank counter
[ 6.302] (II) AMDGPU(0): Allocate new frame buffer 1920x1080
[ 6.303] (II) AMDGPU(0): => pitch 7680 bytes
I'm guessing BOE is your HDMI screen ?
What HDMI version do the monitor and cable support ?
Can you try with a different hdmi cable ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
This is what I get with that command:
dmesg | grep iommu
[ 0.374346] iommu: Default domain type: Translated
[ 0.661555] pci 0000:00:01.0: Adding to iommu group 0
[ 0.661565] pci 0000:00:01.2: Adding to iommu group 1
[ 0.661574] pci 0000:00:01.3: Adding to iommu group 2
[ 0.661586] pci 0000:00:01.5: Adding to iommu group 3
[ 0.661602] pci 0000:00:08.0: Adding to iommu group 4
[ 0.661611] pci 0000:00:08.1: Adding to iommu group 5
[ 0.661625] pci 0000:00:14.0: Adding to iommu group 6
[ 0.661634] pci 0000:00:14.3: Adding to iommu group 6
[ 0.661663] pci 0000:00:18.0: Adding to iommu group 7
[ 0.661670] pci 0000:00:18.1: Adding to iommu group 7
[ 0.661677] pci 0000:00:18.2: Adding to iommu group 7
[ 0.661684] pci 0000:00:18.3: Adding to iommu group 7
[ 0.661691] pci 0000:00:18.4: Adding to iommu group 7
[ 0.661698] pci 0000:00:18.5: Adding to iommu group 7
[ 0.661706] pci 0000:00:18.6: Adding to iommu group 7
[ 0.661713] pci 0000:00:18.7: Adding to iommu group 7
[ 0.661722] pci 0000:01:00.0: Adding to iommu group 8
[ 0.661731] pci 0000:02:00.0: Adding to iommu group 9
[ 0.661743] pci 0000:03:00.0: Adding to iommu group 10
[ 0.661770] pci 0000:04:00.0: Adding to iommu group 11
[ 0.661799] pci 0000:04:00.1: Adding to iommu group 12
[ 0.661816] pci 0000:04:00.2: Adding to iommu group 12
[ 0.661827] pci 0000:04:00.3: Adding to iommu group 12
[ 0.661840] pci 0000:04:00.4: Adding to iommu group 12
[ 0.661853] pci 0000:04:00.5: Adding to iommu group 12
[ 0.661867] pci 0000:04:00.6: Adding to iommu group 12
[ 0.661878] pci 0000:04:00.7: Adding to iommu group 12
I suppose BOE is my BENQ GW2283 monitor which supports HDMI v.1.4 (confirmed: tried once again to connect it unsuccessfully and the same error showed up right away). The cable I have is v 1.4 as well. I have a replacement cable (the same one) which I've tried but the result is the same. BTW, I use this monitor with the same cable with my old intel Fujitsu laptop on a daily basis (for work, also runs Arch) without any issues whatsoever. It's also a bit strange that sometimes the monitor actually works with this new laptop. I'm at odds on what to do now...
Last edited by blueleaf (2021-03-08 14:45:33)
Offline
I managed to find a workaround, it's not perfect but it works. It didn't work this way earlier (it might have something to do with the module thing pointed out by Lone_Wolf).
When I connect the cable and the screen starts flashing/flickering, the solution is to suspend the system and wake it up. As simple as that. I get some ugly artifacts upon waking it, however, they disappear soon enough and the external monitor starts working. That's a lot better than nothing, I can live with that I guess. I have to turn on the wifi everytime I wake up the laptop though (only when connected to HDMI)...
Here's the video of how does it look like: https://youtu.be/tr5GNNIhm8Y
Last edited by blueleaf (2021-03-08 17:19:13)
Offline
Unfortunately, this is a shitty workaround... It's unreliable at best. I had to repeat the suspend-wake cycle for 5 or 6 times until the external monitor started working. Sometimes it works right away, sometimes not. Not sure why is it so. Any further help would be highly appreciated.
Last edited by blueleaf (2021-03-08 17:36:37)
Offline
So monitor and cable are not the cause.
Remove xf86-video-amdgpu, then restart Xorg(or reboot) so X has to use the modesetting driver.
The result of that should help to narrow down where the error originates.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
(A works at time B) && (time C > time B ) ≠ (A works at time C)
Offline
So monitor and cable are not the cause.
Remove xf86-video-amdgpu, then restart Xorg(or reboot) so X has to use the modesetting driver.
The result of that should help to narrow down where the error originates.
Hi, sorry for the delay in response!
Thanks for your help. I'm happy to say that the problem was solved after installing recent kernel updates (or was it another update that fixed it? Not entirely sure).
Last edited by blueleaf (2021-03-12 13:50:21)
Offline