@pevik @alfonsosanchezbeato @nteodosio can one of you take a look into fixing this ?
@jwrdegoede I'm sorry I was not involved much in freetype plugin, I'll ask our maintainer Cliff Zhao.
I guess the problem would be also on our original patch (!91 (closed), originally written by Fabian Vogt https://bugs.freedesktop.org/show_bug.cgi?id=93808), the only difference I see in negative left bearing (variables positiveBearingX
, extraAdvance;
, which weren't in our current approach (not sure if it's related at all):
I'm also not sure if our plymouth-screen-twice-scale-on-160DPI-higher.patch
for src/libply/ply-utils.c
is somehow related (asking Cliff):
https://build.opensuse.org/package/view_file/Base:System/plymouth/plymouth-screen-twice-scale-on-160DPI-higher.patch?expand=1
Slightly related issue (the same HW): xf86-video-intel#225
Proprietary application teamviewer version (version for openSUSE Tumbleweed teamviewer-suse_15.41.7.x86_64.rpm [1]) shows garbage on new Thinkpad P16 with 2 GPU Intel Corporation Alder Lake-HX GT1 [UHD Graphics 770] and NVIDIA Corporation GA107GLM [RTX A1000 Laptop GPU]. But I removed nouveau driver before running xorg, thus only i915 driver is active.
To show garbage it's enough just to move cursor (NOTE: I removed with white color login - below "Vaše ID" and password - below "Heslo").
Fortunately I experienced problems just with this application. The issue is on the same hardware as xf86-video-nouveau#564, where there is a garbage on nouveau with any application.
Some logs (anything else you need to know)?
$ lspci |grep VGA
00:02.0 VGA compatible controller: Intel Corporation Alder Lake-HX GT1 [UHD Graphics 770] (rev 0c)
01:00.0 VGA compatible controller: NVIDIA Corporation GA107GLM [RTX A1000 Laptop GPU] (rev a1)
$ uname -a
Linux p16 6.3.1-1.g4fd5b5c-default #1 SMP PREEMPT_DYNAMIC Mon May 1 04:40:52 UTC 2023 (4fd5b5c) x86_64 x86_64 x86_64 GNU/Linux
$ head /var/log/Xorg.0.log
...
X.Org X Server 1.21.1.8
X Protocol Version 11, Revision 0
[ 60913.415] Current Operating System: Linux p16 6.3.1-1.g4fd5b5c-default #1 SMP PREEMPT_DYNAMIC Mon May 1 04:40:52 UTC 2023 (4fd5b5c) x86_64
[ 60913.415] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.3.1-1.g4fd5b5c-default root=/dev/mapper/system-root splash=silent resume=/dev/system/swap mitigations=auto quiet security=apparmor nvidia.modeset=0 i915.modeset=1 modprobe.blacklist=nvidia blacklist.nouveau nouveau.modeset=0
[ 60913.415]
[ 60913.415] Current version of pixman: 0.42.2
$ grep '(EE)' /var/log/Xorg.0.log
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 60913.447] (EE) open /dev/dri/card0: No such file or directory
[ 60913.452] (EE) AIGLX error: dlopen of /usr/lib64/dri/i965_dri.so failed (/usr/lib64/dri/i965_dri.so: cannot open shared object file: No such file or directory)
[ 60913.452] (EE) AIGLX error: unable to load driver i965
[ 60913.469] (EE) intel(0): Failed to submit rendering commands (Invalid argument), disabling acceleration.
[ 61019.080] (EE) event0 - AT Translated Set 2 keyboard: client bug: event processing lagging behind by 26ms, your system is too slow
[ 61034.351] (EE) intel(0): Failed to submit rendering commands (Invalid argument), disabling acceleration.
$ dmesg |grep -i -e nouveau -e i915
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.3.1-1.g4fd5b5c-default root=/dev/mapper/system-root splash=silent resume=/dev/system/swap mitigations=auto quiet security=apparmor nvidia.modeset=0 i915.modeset=1 modprobe.blacklist=nvidia blacklist.nouveau nouveau.modeset=0
[ 0.004000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.3.1-1.g4fd5b5c-default root=/dev/mapper/system-root splash=silent resume=/dev/system/swap mitigations=auto quiet security=apparmor nvidia.modeset=0 i915.modeset=1 modprobe.blacklist=nvidia blacklist.nouveau nouveau.modeset=0
[ 3.475524] i915 0000:00:02.0: enabling device (0006 -> 0007)
[ 3.476658] i915 0000:00:02.0: [drm] VT-d active for gfx access
[ 3.529249] i915 0000:00:02.0: vgaarb: deactivate vga console
[ 3.529986] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[ 3.533612] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=mem
[ 3.535109] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adls_dmc_ver2_01.bin (v2.1)
[ 3.569007] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.5.1
[ 3.569010] i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
[ 3.584270] i915 0000:00:02.0: [drm] HuC authenticated
[ 3.584279] i915 0000:00:02.0: [drm] GT0: GuC submission disabled
[ 3.584284] i915 0000:00:02.0: [drm] GT0: GuC SLPC disabled
[ 3.585065] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[ 5.156899] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
[ 5.167121] fbcon: i915drmfb (fb0) is primary device
[ 5.189132] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
[ 9.454486] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[ 9.459244] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[ 9.586933] sof-audio-pci-intel-tgl 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[87744.107599] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.5.1
[87744.107606] i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
[87744.113134] i915 0000:00:02.0: [drm] HuC authenticated
[87744.113139] i915 0000:00:02.0: [drm] GT0: GuC submission disabled
[87744.113142] i915 0000:00:02.0: [drm] GT0: GuC SLPC disabled
[87745.077121] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[87745.081007] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[292127.486181] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.bin version 70.5.1
[292127.486186] i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
[292127.491723] i915 0000:00:02.0: [drm] HuC authenticated
[292127.491725] i915 0000:00:02.0: [drm] GT0: GuC submission disabled
[292127.491726] i915 0000:00:02.0: [drm] GT0: GuC SLPC disabled
[292128.447655] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[292128.451452] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
$ rpm -qa |grep xf86-video
xf86-video-nouveau-1.0.17-4.4.x86_64
xf86-video-vesa-2.6.0-1.2.x86_64
xf86-video-fbdev-0.5.0-3.4.x86_64
xf86-video-intel-2.99.917.916_g31486f40-3.4.x86_64
[1] https://download.teamviewer.com/download/linux/teamviewer-suse.x86_64.rpm
BTW I had also some issues with dual GPU and i915 + nvidia, therefore I tested various setups with live DVD, including KDE and GNOME. If I remember correctly I saw white screen on KDE with kernel 6.1, which was saved with kernel 6.2 (maybe fixed by commits which added Ampere acceleration support: https://kernelnewbies.org/Linux_6.2#Graphics).
I see problems only if I move cursor or when I type into terminal emulator. I haven't tested moving windows, but likely it will cause problems. I.e. doing nothing is ok (but people do interact with the window system :)).
Thank you. I'm not able to help with fixing the issue, but feel free to ping me for testing.
Also, hovering over various gtk3 based applications (Chromium, Firefox, gnome-terminal) cursor gets much bigger. But on other apps not using gtk3 (rxvt-unicode, virt-manager, pavucontrol, gitk, git gui) cursor is normal.
But the garbage is on most of the apps (problematic a lot on terminal - text is not readable). Playing video is somehow slower (audio is obviously ok).
@karolherbst Sure, I'll post tomorrow also dmesg. I already attached Xorg.0.log. Anything else to post?
Thx for info. I also had some issues on x11: xorg/driver/xf86-video-nouveau#564.
New Thinkpad P16 has 2 GPU Intel Corporation Alder Lake-HX GT1 [UHD Graphics 770] and NVIDIA Corporation GA107GLM [RTX A1000 Laptop GPU]. Nvidia GA107GLM is the only one used for external screens.
Nvidia GA107GLM is quite new, external screens showed only black and cursor on 6.1.
I experience this on openSUSE Tumbleweed with kernel: 6.2.9, x11: 21.1.8-1.1, xf86-video-nouveau: 1.0.17-4.4, WM: fluxbox.
Nothing obvious in xorg log (mostly i915 related errors), just (EE) Unknown chipset: NV177
(from https://gitlab.freedesktop.org/xorg/driver/xf86-video-nouveau/-/blob/master/src/nv_driver.c#L401):
$ grep '(EE)' /var/log/Xorg.0.log
(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 16.974] (EE) Failed to load module "nvidia" (module does not exist, 0)
[ 16.976] (EE) Failed to load module "nv" (module does not exist, 0)
[ 16.982] (EE) Unknown chipset: NV177
[ 17.839] (EE) AIGLX error: dlopen of /usr/lib64/dri/i965_dri.so failed (/usr/lib64/dri/i965_dri.so: cannot open shared object file: No such file or directory)
[ 17.839] (EE) AIGLX error: unable to load driver i965
[ 18.062] (EE) intel(0): Failed to submit rendering commands (Invalid argument), disabling acceleration.
[ 3042.145] (EE) intel(0): Failed to submit rendering commands (Invalid argument), disabling acceleration.
Full log: Xorg.0.log.
I don't see anything obvious in kernel log:
$ dmesg |grep -i nouveau
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.2.9-1-default root=/dev/mapper/system-root nvidia.modeset=0 i915.modeset=1 nouveau.modeset=1 modprobe.blacklist=nvidia splash=silent resume=/dev/system/swap mitigations=auto quiet security=apparmor
[ 0.024161] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.2.9-1-default root=/dev/mapper/system-root nvidia.modeset=0 i915.modeset=1 nouveau.modeset=1 modprobe.blacklist=nvidia splash=silent resume=/dev/system/swap mitigations=auto quiet security=apparmor
[ 3.349379] nouveau: detected PR support, will not use DSM
[ 3.349400] nouveau 0000:01:00.0: enabling device (0000 -> 0003)
[ 3.594841] nouveau 0000:01:00.0: NVIDIA GA107 (b77000a1)
[ 3.727503] nouveau 0000:01:00.0: bios: version 94.07.62.00.ee
[ 3.737025] nouveau 0000:01:00.0: fb: 4096 MiB GDDR6
[ 3.768477] nouveau 0000:01:00.0: DRM: VRAM: 4096 MiB
[ 3.768478] nouveau 0000:01:00.0: DRM: GART: 536870912 MiB
[ 3.768479] nouveau 0000:01:00.0: DRM: BIT table 'A' not found
[ 3.768480] nouveau 0000:01:00.0: DRM: BIT table 'L' not found
[ 3.768481] nouveau 0000:01:00.0: DRM: TMDS table version 2.0
[ 3.768481] nouveau 0000:01:00.0: DRM: DCB version 4.1
[ 3.768482] nouveau 0000:01:00.0: DRM: DCB outp 00: 02800f66 04610020
[ 3.768484] nouveau 0000:01:00.0: DRM: DCB outp 01: 01011f36 04600010
[ 3.768484] nouveau 0000:01:00.0: DRM: DCB outp 02: 01011f32 00020010
[ 3.768485] nouveau 0000:01:00.0: DRM: DCB outp 03: 01022f46 04600020
[ 3.768486] nouveau 0000:01:00.0: DRM: DCB outp 04: 01022f42 00020020
[ 3.768486] nouveau 0000:01:00.0: DRM: DCB outp 05: 02033f52 00020010
[ 3.768487] nouveau 0000:01:00.0: DRM: DCB outp 06: 04044f76 04600010
[ 3.768488] nouveau 0000:01:00.0: DRM: DCB outp 07: 04044f72 00020010
[ 3.768488] nouveau 0000:01:00.0: DRM: DCB conn 00: 00020047
[ 3.768489] nouveau 0000:01:00.0: DRM: DCB conn 01: 00001148
[ 3.768489] nouveau 0000:01:00.0: DRM: DCB conn 02: 00002248
[ 3.768490] nouveau 0000:01:00.0: DRM: DCB conn 03: 00010361
[ 3.768490] nouveau 0000:01:00.0: DRM: DCB conn 04: 01000448
[ 3.769006] nouveau 0000:01:00.0: DRM: MM: using COPY for buffer copies
[ 3.773075] [drm] Initialized nouveau 1.3.1 20120801 for 0000:01:00.0 on minor 0
[ 3.909995] nouveau 0000:01:00.0: [drm] Cannot find any crtc or sizes
[ 5.619491] nouveau 0000:01:00.0: [drm] fb0: nouveaudrmfb frame buffer device
[ 9.071960] snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops nv50_audio_component_bind_ops [nouveau])
Is it caused due GA107GLM not being supported? Or is there used some 2D graphics, which is buggy? Which logs do you need me to get?
Does anybody work on NVIDIA GA107 support? What needs to be done to be working. nouveau already has some basic support for it.
Motivation for me is to use the card on wlroots (GNOME's mutter over wayland and KDE's kwin over x11 are working due custom patches, it'd be great to allow the rest to be working) wlroots/wlroots#3541 wlroots/wlroots#1347
@emersion Any plan to implement this?
BTW I have similar problem with i915/nouveau on Intel Corporation Alder Lake-HX GT1 [UHD Graphics 770] and NVIDIA Corporation GA107GLM [RTX A1000 Laptop GPU]. I suppose there is no need to create separate issue for it.
I haven't find a time to work on this. Although it'd be great to finish this effort, atm we still use out-of-tree patch which is easily integrated into our packaging: https://build.opensuse.org/package/view_file/Base:System/plymouth/0001-Add-label-ft-plugin.patch?expand=1
Feel free to close this, I can always reopen it (or create new MR) if I find enough time to work on it.