Fullscreen sync problem on a DEll G15 laptop

I’m running a Winn11 Pro VM (Debian 12 host) on a Dell G15 laptop. Looking Glass runs fine in windowed mode. However I’m having severe sync problems in full screen mode, the display flashes rapidly. It tried with a real monitor attached and the virtual monitor driver, I got the same results. Any clues on how to solve this issue are more than welcome.

Post the LG client log please (terminal output)

Here is my LG .log:

[I]     69091747              main.c:1785 | main                           | Looking Glass (B6)
[I]     69091763              main.c:1786 | main                           | Locking Method: Atomic
[I]     69091930           cpuinfo.c:37   | lgDebugCPU                     | CPU Model: 12th Gen Intel(R) Core(TM) i7-12700H
[I]     69091933           cpuinfo.c:38   | lgDebugCPU                     | CPU: 1 sockets, 14 cores, 20 threads
[I]     69104273              main.c:1162 | lg_run                         | Using font: /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
[I]     69104597           ivshmem.c:128  | ivshmemOpenDev                 | KVMFR Device     : /dev/shm/looking-glass
[W][00069.101527] pw.conf      | [          conf.c:  939 try_load_conf()] can't load config client-rt.conf: No such file or directory
[W][00069.101563] pw.conf      | [          conf.c:  939 try_load_conf()] can't load config client.conf: No such file or directory
[E][00069.101568] pw.conf      | [          conf.c:  963 pw_conf_load_conf_for_context()] can't load default config client.conf: No such file or directory
[E]     69105189          pipewire.c:147  | pipewire_init                  | Failed to create a context
[I]     69106307        pulseaudio.c:88   | pulseaudio_ctx_state_change_cb | Connected to PulseAudio server
[I]     69106358             audio.c:159  | audio_init                     | Using AudioDev: PulseAudio
[I]     69106387                ps.c:245  | purespice_connect              | Connecting to socket 127.0.0.1:5900
[I]     69124775               rsa.c:178  | rsa_encryptPassword            | Using Nettle
[I]     69125392                ps.c:268  | purespice_connect              | Connected
[I]     69125521      channel_main.c:167  | onMessage_mainName             | Guest name: Win11-GPU
[I]     69125539      channel_main.c:183  | onMessage_mainUUID             | Guest UUID: 586cc4a0-5fc1-4ba9-87e1-77dbf3e4223e
[I]     69145700                ps.c:644  | ps_connectChannel              | PLAYBACK channel connected
[I]     69168021                ps.c:644  | ps_connectChannel              | INPUTS channel connected
[I]     69168073           channel.c:312  | onMessage_notify               | [notify] keyboard channel is insecure
[I]     69168123               egl.c:267  | egl_initialize                 | Double buffering is off
[I]     69168142              main.c:1116 | tryRenderer                    | Using Renderer: EGL
[I]     69170413               x11.c:230  | x11CheckEWMHSupport            | EWMH-complient window manager detected: KWin
[I]     69170575               x11.c:463  | x11Init                        | X11 XInput 2.0 in use
[I]     69179287               x11.c:1433 | x11GetEGLDisplay               | Using eglGetPlatformDisplayEXT
[I]     69228491               egl.c:745  | egl_renderStartup              | Multisampling enabled, max samples: 4
[I]     69229229               egl.c:828  | egl_renderStartup              | Single buffer mode
[I]     69233097               egl.c:855  | egl_renderStartup              | EGL     : 1.5
[I]     69233123               egl.c:856  | egl_renderStartup              | Vendor  : Intel
[I]     69233137               egl.c:857  | egl_renderStartup              | Renderer: Mesa Intel(R) Graphics (ADL GT2)
[I]     69233148               egl.c:858  | egl_renderStartup              | Version : OpenGL ES 3.2 Mesa 22.3.6
[I]     69233162               egl.c:859  | egl_renderStartup              | EGL APIs: OpenGL OpenGL_ES 
[I]     69233194               egl.c:930  | egl_renderStartup              | Debug messages disabled, enable with egl:debug=true
[I]     69271843           eglutil.c:35   | swapWithDamageInit             | Using EGL_KHR_swap_buffers_with_damage
[I]     69466621              main.c:1467 | lg_run                         | ================================================================================
[I]     69466642              main.c:1468 | lg_run                         | The host application seems to not be running
[I]     69466651              main.c:1469 | lg_run                         | Waiting for the host application to start...
[I]     72364316             agent.c:103  | agent_connect                  | Connected to the spice guest agent
[I]     72467094              main.c:1566 | lg_run                         | Guest Information:
[I]     72467120              main.c:1567 | lg_run                         | Version  : B6
[I]     72467132              main.c:1588 | lg_run                         | UUID     : 586cc4a0-5fc1-4ba9-87e1-77dbf3e4223e
[I]     72467165              main.c:1597 | lg_run                         | CPU Model: 12th Gen Intel(R) Core(TM) i7-12700H
[I]     72467180              main.c:1598 | lg_run                         | CPU      : 1 sockets, 6 cores, 12 threads
[I]     72467201              main.c:1600 | lg_run                         | Using    : DXGI Direct3D 11
[I]     72467216              main.c:1636 | lg_run                         | OS       : Windows
[I]     72467234              main.c:1638 | lg_run                         | OS Name  : Windows 10 Pro (Build: 22631) 
[I]     72467251              main.c:1660 | lg_run                         | Starting session
[I]     72665424              main.c:698  | main_frameThread               | Format: FRAME_TYPE_BGRA 1920x1080 stride:1920 pitch:7680 rotation:0
[I]     78358261              main.c:698  | main_frameThread               | Format: FRAME_TYPE_BGRA 1920x1080 stride:1920 pitch:7680 rotation:0
[I]     82079339              main.c:1678 | lg_run                         | Waiting for the host to restart...
[I]     86085009              main.c:1566 | lg_run                         | Guest Information:
[I]     86085031              main.c:1567 | lg_run                         | Version  : B6
[I]     86085041              main.c:1588 | lg_run                         | UUID     : 586cc4a0-5fc1-4ba9-87e1-77dbf3e4223e
[I]     86085061              main.c:1597 | lg_run                         | CPU Model: 12th Gen Intel(R) Core(TM) i7-12700H
[I]     86085070              main.c:1598 | lg_run                         | CPU      : 1 sockets, 6 cores, 12 threads
[I]     86085081              main.c:1600 | lg_run                         | Using    : DXGI Direct3D 11
[I]     86085090              main.c:1636 | lg_run                         | OS       : Windows
[I]     86085100              main.c:1638 | lg_run                         | OS Name  : Windows 10 Pro (Build: 22631) 
[I]     86085110              main.c:1660 | lg_run                         | Starting session
[I]     86324016              main.c:698  | main_frameThread               | Format: FRAME_TYPE_BGRA 1920x1080 stride:1920 pitch:7680 rotation:0

You have several things here that need fixing.

  1. You have given your guest all your performance cores (6), you need to leave atleast two for your host.
  2. You are on a laptop using an iGPU, you should be using the KVMFR kernel module for DMA transfers.
  3. You’re using an Intel Iris on X11, which suffers poor performance. You can work around this by running LG like so:
    MESA_LOADER_DRIVER_OVERRIDE=zink ./looking-glass-client

Please follow the LG installation for B7-rc1, including the setup of the kernel module for IVSHMEM:

https://looking-glass.io/docs/B7-rc1/install/

Thanks for your help.

I’m now passing only 4 cores to the VM and installed LG B7=rc1 with the kernel module for IVSHMEM. I believe that everything is correctly installed.

I started LG with MESA_LOADER_DRIVER_OVERRIDE=zink ./looking-glass-client.

I got the same behavior, OK in windowed mode but flashing display in full screen. I found that as soon as I start the full screen mode I get thousands error messages in dmesg( 203.184270] i915 0000:00:02.0: [drm] ERROR Fault errors on pipe A: 0x00000080
) . I also included the LG log at the end.

I hope you can help me with this.

[   30.980704] virbr0: port 1(vnet0) entered blocking state
[   30.980707] virbr0: port 1(vnet0) entered disabled state
[   30.980739] device vnet0 entered promiscuous mode
[   30.980835] virbr0: port 1(vnet0) entered blocking state
[   30.980837] virbr0: port 1(vnet0) entered listening state
[   31.069704] audit: type=1400 audit(1711040314.388:44): apparmor="STATUS" operation="profile_replace" profile="unconfined" name="libvirt-586cc4a0-5fc1-4ba9-87e1-77dbf3e4223e" pid=3734 comm="apparmor_parser"
[   32.998417] virbr0: port 1(vnet0) entered learning state
[   33.334649] vfio-pci 0000:01:00.0: enabling device (0002 -> 0003)
[   33.442750] vfio-pci 0000:01:00.0: vfio_ecap_init: hiding ecap 0x1e@0x258
[   33.442788] vfio-pci 0000:01:00.0: vfio_ecap_init: hiding ecap 0x19@0x900
[   33.442803] vfio-pci 0000:01:00.0: vfio_ecap_init: hiding ecap 0x26@0xc1c
[   33.442809] vfio-pci 0000:01:00.0: vfio_ecap_init: hiding ecap 0x27@0xd00
[   33.442813] vfio-pci 0000:01:00.0: vfio_ecap_init: hiding ecap 0x25@0xe00
[   33.470546] vfio-pci 0000:01:00.1: enabling device (0000 -> 0002)
[   33.470994] vfio-pci 0000:01:00.1: vfio_ecap_init: hiding ecap 0x25@0x160
[   34.229185] x86/split lock detection: #AC: CPU 1/KVM/3794 took a split_lock trap at address: 0x7ef9e050
[   34.229306] x86/split lock detection: #AC: CPU 5/KVM/3798 took a split_lock trap at address: 0x7ef9e050
[   34.229305] x86/split lock detection: #AC: CPU 2/KVM/3795 took a split_lock trap at address: 0x7ef9e050
[   34.229321] x86/split lock detection: #AC: CPU 7/KVM/3800 took a split_lock trap at address: 0x7ef9e050
[   34.350345] audit: type=1400 audit(1711040317.668:45): apparmor="DENIED" operation="open" profile="libvirt-586cc4a0-5fc1-4ba9-87e1-77dbf3e4223e" name="/etc/ssl/openssl.cnf" pid=3721 comm="swtpm" requested_mask="r" denied_mask="r" fsuid=100 ouid=0
[   35.014511] virbr0: port 1(vnet0) entered forwarding state
[   35.014524] virbr0: topology change detected, propagating
[   53.617264] x86/split lock detection: #AC: CPU 0/KVM/3793 took a split_lock trap at address: 0x73d60f59
[   76.217148] audit: type=1400 audit(1711040359.739:46): apparmor="DENIED" operation="open" profile="libvirt-586cc4a0-5fc1-4ba9-87e1-77dbf3e4223e" name="/etc/ssl/openssl.cnf" pid=3772 comm="qemu-system-x86" requested_mask="r" denied_mask="r" fsuid=64055 ouid=0
[   76.814926] nvidia-nvlink: Nvlink Core is being initialized, major device number 234
[   76.814931] NVRM: The NVIDIA probe routine was not called for 1 device(s).
[   76.815778] NVRM: This can occur when a driver such as: 
               NVRM: nouveau, rivafb, nvidiafb or rivatv 
               NVRM: was loaded and obtained ownership of the NVIDIA device(s).
[   76.815779] NVRM: Try unloading the conflicting kernel module (and/or
               NVRM: reconfigure your kernel without the conflicting
               NVRM: driver(s)), then try loading the NVIDIA kernel module
               NVRM: again.
[   76.815780] NVRM: No NVIDIA devices probed.
[   76.815929] nvidia-nvlink: Unregistered Nvlink Core, major device number 234
[  203.184270] i915 0000:00:02.0: [drm] *ERROR* Fault errors on pipe A: 0x00000080
[  203.184272] i915 0000:00:02.0: [drm] *ERROR* Fault errors on pipe A: 0x00000080
[  203.184275] i915 0000:00:02.0: [drm] *ERROR* Fault errors on pipe A: 0x00000080
[  203.184410] i915 0000:00:02.0: [drm] *ERROR* Fault errors on pipe A: 0x00000080
[  203.184417] i915 0000:00:02.0: [drm] *ERROR* Fault errors on pipe A: 0x00000080
MESA_LOADER_DRIVER_OVERRIDE=zink looking-glass-client -m 78
00:00:00.000 [I]              main.c:1859 | main                           | Looking Glass (B7-rc1)
00:00:00.000 [I]              main.c:1860 | main                           | Locking Method: Atomic
00:00:00.000 [I]           cpuinfo.c:38   | cpuInfo_log                    | CPU Model: 12th Gen Intel(R) Core(TM) i7-12700H
00:00:00.000 [I]           cpuinfo.c:39   | cpuInfo_log                    | CPU: 1 sockets, 14 cores, 20 threads
00:00:00.014 [I]              main.c:1185 | lg_run                         | Using font: /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf
00:00:00.014 [I]           ivshmem.c:128  | ivshmemOpenDev                 | KVMFR Device     : /dev/shm/looking-glass
[W][00076.174577] pw.conf      | [          conf.c:  939 try_load_conf()] can't load config client-rt.conf: No such file or directory
[W][00076.174609] pw.conf      | [          conf.c:  939 try_load_conf()] can't load config client.conf: No such file or directory
[E][00076.174613] pw.conf      | [          conf.c:  963 pw_conf_load_conf_for_context()] can't load default config client.conf: No such file or directory
00:00:00.015 [E]          pipewire.c:181  | pipewire_init                  | Failed to create a context
00:00:00.016 [I]        pulseaudio.c:88   | pulseaudio_ctx_state_change_cb | Connected to PulseAudio server
00:00:00.016 [I]             audio.c:159  | audio_init                     | Using AudioDev: PulseAudio
00:00:00.016 [I]                ps.c:245  | purespice_connect              | Connecting to socket 127.0.0.1:5900
00:00:00.032 [I]               rsa.c:178  | rsa_encryptPassword            | Using Nettle
00:00:00.033 [I]                ps.c:268  | purespice_connect              | Connected
00:00:00.033 [I]             agent.c:103  | agent_connect                  | Connected to the spice guest agent
00:00:00.033 [I]      channel_main.c:167  | onMessage_mainName             | Guest name: Win11-GPU
00:00:00.033 [I]      channel_main.c:183  | onMessage_mainUUID             | Guest UUID: 586cc4a0-5fc1-4ba9-87e1-77dbf3e4223e
00:00:00.053 [I]                ps.c:644  | ps_connectChannel              | PLAYBACK channel connected
00:00:00.074 [I]                ps.c:644  | ps_connectChannel              | INPUTS channel connected
00:00:00.074 [I]           channel.c:323  | onMessage_notify               | [notify] keyboard channel is insecure
00:00:00.074 [I]               egl.c:289  | egl_initialize                 | Double buffering is off
00:00:00.074 [I]              main.c:1139 | tryRenderer                    | Using Renderer: EGL
00:00:00.076 [I]               x11.c:232  | x11CheckEWMHSupport            | EWMH-compliant window manager detected: KWin
00:00:00.076 [I]               x11.c:497  | x11Init                        | X11 XInput 2.0 in use
00:00:00.084 [I]               x11.c:1496 | x11GetEGLDisplay               | Using eglGetPlatformDisplayEXT
00:00:00.778 [I]               egl.c:773  | egl_renderStartup              | Multisampling enabled, max samples: 4
00:00:00.780 [I]               egl.c:856  | egl_renderStartup              | Single buffer mode
00:00:00.782 [I]               egl.c:883  | egl_renderStartup              | EGL     : 1.5
00:00:00.782 [I]               egl.c:884  | egl_renderStartup              | Vendor  : Collabora Ltd
00:00:00.782 [I]               egl.c:885  | egl_renderStartup              | Renderer: zink (Intel(R) Graphics (ADL GT2))
00:00:00.782 [I]               egl.c:886  | egl_renderStartup              | Version : OpenGL ES 3.2 Mesa 22.3.6
00:00:00.782 [I]               egl.c:887  | egl_renderStartup              | EGL APIs: OpenGL OpenGL_ES 
00:00:00.782 [I]               egl.c:958  | egl_renderStartup              | Debug messages disabled, enable with egl:debug=true
00:00:00.804 [I]           eglutil.c:35   | swapWithDamageInit             | Using EGL_KHR_swap_buffers_with_damage
00:00:01.000 [I]              main.c:1590 | lg_run                         | Guest Information:
00:00:01.000 [I]              main.c:1591 | lg_run                         | Version  : B7-rc1
00:00:01.001 [I]              main.c:1612 | lg_run                         | UUID     : 586cc4a0-5fc1-4ba9-87e1-77dbf3e4223e
00:00:01.001 [I]              main.c:1621 | lg_run                         | CPU Model: 12th Gen Intel(R) Core(TM) i7-12700H
00:00:01.001 [I]              main.c:1622 | lg_run                         | CPU      : 1 sockets, 4 cores, 8 threads
00:00:01.001 [I]              main.c:1624 | lg_run                         | Using    : D12
00:00:01.002 [I]              main.c:1710 | lg_run                         | OS       : Windows
00:00:01.002 [I]              main.c:1712 | lg_run                         | OS Name  : Windows 10 Pro (Build: 22631) 
00:00:01.002 [I]              main.c:1734 | lg_run                         | Starting session
00:00:01.328 [I]              main.c:710  | main_frameThread               | Format: FRAME_TYPE_BGRA 1920x1080 (1920x1080) stride:1920 pitch:7680 rotation:0 hdr:0 pq:0

No, if it was correctly configured you would be using /dev/kvmfr0. Please carefully follow the documentation on how to configure this properly. This is 90% of the reason why you are getting poor performance.

This is a driver or hardware problem unrelated to Looking Glass, I am sorry but I can not advise further on this.

Edit: Please surround your plain text posts with three backticks ```like this``` in future.

Thanks, I will do my home work :face_with_raised_eyebrow:

I did my home work. LG is now using /dev/kvmfr0 but it did not help. The error of the Intel driver ([drm] ERROR Fault errors on pipe A: 0x00000080) only occurs with LG in full screen mode and not with any other applications. LG must be doing something the Intel driver does not like. I will wait and see if someone reports something similar.

LG is just a simple OpenGL EGL renderer, it doesn’t do anything complex or special. Your typical game makes the GPU work far harder.