https://bugs.kde.org/show_bug.cgi?id=511852

--- Comment #7 from Evert Vorster <[email protected]> ---
This problem just got way, way worse. 
After the latest updates to my system, I get this error on _every_ frame update
now:
```
Mar 14 05:37:55 Evert.Scar kwin_wayland[1947]: 0x500: GL_INVALID_ENUM error
generated. Invalid <face>.
Mar 14 05:37:55 Evert.Scar kwin_wayland[1947]: Invalid framebuffer status: 
"GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"
```

With a 144Hz refresh rate, this makes for some pretty big logs. 
The only reliable way to work around this is to run the system in AsusMuxDgpu
mode when an external monitor is connected. 

# Investigation Summary

Over the course of debugging this issue, several possible causes were
systematically tested and ruled out.

## Display configuration factors ruled out

The issue is **not caused by display configuration settings**. The following
changes had **no effect on the error occurring**:

* Refresh rate changes (240 Hz → 60 Hz)
* Resolution changes (4K → 1080p)
* HDR enabled or disabled
* Wide color gamut enabled or disabled
* ICC color profiles enabled or disabled
* DDC/CI brightness control enabled or disabled
* Adaptive sync / VRR settings
* KDE fractional scaling adjustments

The error continues to occur regardless of these settings.

---

## Connector / cable / port ruled out

The problem occurs across **multiple physical output paths**, ruling out a
connector-specific issue:

* HDMI output
* USB-C → DisplayPort adapter

The error occurs on both, indicating it is **not tied to HDMI FRL training,
cables, or a specific connector**.

---

## Monitor-specific issue ruled out

The error is **not specific to a particular resolution or bandwidth
requirement**.

Even with lower resolution modes (e.g. 1080p60), the error still occurs when
the external monitor is active.

---

## External monitor dependency

A critical observation:

* When the **external monitor is disabled**, the error **stops immediately**.
* When an **external monitor is enabled**, the error appears and repeats
continuously.

This indicates the problem is specifically related to **external-output
handling in KWin**.

---

## Multi-GPU pipeline identified

The system is a hybrid GPU laptop:

* AMD iGPU (Radeon 610M)
* NVIDIA dGPU (RTX 4090 Laptop)

In **Hybrid mode**:

* KWin reports **AMD as the OpenGL renderer**
* External connectors are exposed on the **NVIDIA DRM device**

This results in the following rendering path:

```
KWin rendering on AMD GPU
    ↓
DMA-BUF export
    ↓
Import on NVIDIA GPU
    ↓
Scanout to external display
```

This cross-GPU handoff appears to be involved in the issue.

---

## AsusMuxDgpu mode behavior

Switching the system to **AsusMuxDgpu mode** (NVIDIA-only display pipeline):

* eliminates the log spam entirely
* confirms the issue is related to the **Hybrid multi-GPU display path**

In this configuration:

```
KWin rendering on NVIDIA
    ↓
Direct scanout on NVIDIA
```

No cross-GPU transfer occurs.

---

## Error characteristics

The errors originate from `kwin_wayland` and repeat at a rate proportional to
the compositor repaint rate.

Typical messages:

```
GL_INVALID_ENUM error generated. Invalid <face>.
Invalid framebuffer status: "GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT"
```

When refresh rates were high, the log rate reached **~9000 entries per
minute**, strongly suggesting the compositor is repeatedly attempting to use an
**invalid framebuffer configuration** for the external output.

---

## Timing / regression information

The issue was previously observed **rarely**, but after recent updates it
became **continuous**.

Relevant recent package updates include:

* `kwin` 6.6.1 → 6.6.2
* `plasma-workspace` 6.6.1 → 6.6.2
* `mesa` 26.0.1 → 26.0.2
* `nvidia` 590 → 595
* kernel 6.19 updates

The regression likely appeared within this update window.

---

## Current workaround

Running the system in **AsusMuxDgpu mode** avoids the issue completely by
eliminating the cross-GPU rendering pipeline.

However this is only a workaround because suspend currently fails in this mode.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to