Flickering white video glitches when trying to play Baldur's Gate 3

video recording of the problem here:

please help!

I am using a brand new framework 13 laptop (received in Nov 2023) with the following specs:

Hardware information:
Model: Framework Laptop 13 AMD Ryzen 7040Series
Processor: AMD Ryzen 5 7640U with Radeon 760M Graphics x 12
Memory: 32GB
Disk Capacity: 1TB

Software information:
Firmware Version: 3.03
OS Name: Fedora Linux 39 (Workstation Edition)
OS Type: 64-bit
GNOME Version: 45.2
Windowing System: Wayland
Kernel Version: Linux 6.6.3-200.fc39.x86_64

Description of glitch: flickering white artifacts, sometimes obeying the shape of graphics elements in the game, other times filling the entire screen. They will disappear if I click the + or - volume buttons, or the + or - screen brightness buttons, or if I enter the “activities overview.” You can see the volume and screen brightness overlays pop up at the bottom of the screen, and suddenly the game is displaying normally. This shows me that the video is probably rendering fine at some level, but is getting messed up in the final display.

History of my own attempts to troubleshoot:
Before BG3 patch 5 on November 30: Installed fedora 39, without running “sudo dnf update” in terminal to ensure all packages and drivers are up to date. The game was working. I suspect patch 5 may have had something to do with the video glitches.

Since I started having this problem: I tried a clean install of fedora 39, without running “sudo dnf update” to ensure all drivers and packages are up to date, continued to have the same glitches.

Then I did another clean install of Fedora 39, ran “sudo dnf update” in terminal to ensure all drivers and packages are up to date. Installed steam and BG3. Still having the same glitches.

Attempting to play using “vulkan” instead of “directX 11” causes pretty immediate crash.

I also tried running the game with different desktop environments, I tried all 4 options available: GNOME, GNOME Classic, GNOME Classic on Xorg, and GNOME on Xorg. All four have the same problem. Though interestingly, the first time I used GNOME Classic on Xorg it ran just fine until I closed the game app, after which the entire screen went white and I had to hard reset my laptop.

You are using stream? Where from?

Please provide (as preformatted text using the </> button on the toolbar) the output of inxi -Fzxx so we may see the config.

As asked above, Are you using steam and if so from where was it obtained?

In addition to which steam you are using, for the emulation what are you selecting? I’ve only had the game for a week, but I’m running it fine using the Steam flatpak on an AMD 7900XTX. I selected Proton Experimental for the emulation layer. I also use DX11 as Vulcan crashed. If you haven’t already, check here for additional info on running the game on Linux:

https://www.protondb.com/app/1086940

hello, an update, following the advice on the framework community forum, i went into the computer BIOS and enabled a setting called UMA_GAME_OPTIMIZED, which MOSTLY fixed the problem. The same glitches are still happening, but a lot less frequently. After testing through many hours of gaming, I triggered the same glitch in the following two circumstances:

  1. after gaming for a while (an hour or so in) I accidentally hit the super key, which opens the Activities Overview, the exact same glitch happens and I have to force reset the computer – sometimes it’s not possible to exit the game, and even if I do, the video glitch is still happening. I have caused this glitch multiple times.

  2. only once, when the low battery notification popped up, I plugged the charger into the port, and the exact same flashing white glitches showed up. I had to hard reset the computer. I have only triggered this glitch once. I haven’t tried to do it on purpose after that first time.

At this point I consider the problem mostly fixed, since I can take measures to avoid triggering the glitch again in the above two ways.

But if people have more insight, it would be nice to completely address this problem. So below I have included the output of inxi -Fzxx .

And the steam client I am using is downloaded from the “software” application that comes with Fedora. “Software” calls it the “Launcher for the Steam software distribution service,” version 1.0.0.78 .

System:
  Kernel: 6.6.6-200.fc39.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.40-13.fc39 Desktop: GNOME v: 45.2 tk: GTK v: 3.24.38 wm: gnome-shell
    dm: GDM Distro: Fedora release 39 (Thirty Nine)
Machine:
  Type: Laptop System: Framework product: Laptop 13 (AMD Ryzen 7040Series)
    v: A5 serial: <superuser required>
  Mobo: Framework model: FRANMDCP05 v: A5 serial: <superuser required>
    UEFI: INSYDE v: 03.03 date: 10/17/2023
Battery:
  ID-1: BAT1 charge: 37.1 Wh (67.7%) condition: 54.8/55.0 Wh (99.7%)
    volts: 15.9 min: 15.4 model: N/A serial: <filter> status: discharging
CPU:
  Info: 6-core model: AMD Ryzen 5 7640U w/ Radeon 760M Graphics bits: 64
    type: MT MCP arch: Zen 4 rev: 1 cache: L1: 384 KiB L2: 6 MiB L3: 16 MiB
  Speed (MHz): avg: 810 high: 1766 min/max: 400/4971:5121:5275:5579:5425
    cores: 1: 400 2: 400 3: 400 4: 1395 5: 1764 6: 400 7: 1766 8: 400 9: 400
    10: 400 11: 1597 12: 400 bogomips: 83838
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: AMD Phoenix1 vendor: Framework driver: amdgpu v: kernel
    arch: RDNA-3 pcie: speed: 16 GT/s lanes: 16 ports: active: eDP-1 empty: DP-1,
    DP-2, DP-3, DP-4, DP-5, DP-6, DP-7, DP-8 bus-ID: c1:00.0
    chip-ID: 1002:15bf temp: 40.0 C
  Device-2: Realtek [] driver: uvcvideo type: USB rev: 2.0 speed: 480 Mb/s
    lanes: 1 bus-ID: 3-1:2 chip-ID: 0bda:5634
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 23.2.2
    compositor: gnome-shell driver: X: loaded: amdgpu
    unloaded: fbdev,modesetting,vesa dri: radeonsi gpu: amdgpu display-ID: 0
  Monitor-1: eDP-1 model: BOE Display 0x0bca res: 2256x1504 dpi: 201
    diag: 343mm (13.5")
  API: OpenGL v: 4.6 vendor: amd mesa v: 23.2.1 glx-v: 1.4 es-v: 3.2
    direct-render: yes renderer: AMD Radeon Graphics (gfx1103_r1 LLVM 16.0.6
    DRM 3.54 6.6.6-200.fc39.x86_64) device-ID: 1002:15bf display-ID: :0.0
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: AMD Rembrandt Radeon High Definition Audio vendor: Framework
    driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16
    bus-ID: c1:00.1 chip-ID: 1002:1640
  Device-2: AMD ACP/ACP3X/ACP6x Audio Coprocessor vendor: Framework
    driver: snd_pci_ps v: kernel pcie: speed: 16 GT/s lanes: 16 bus-ID: c1:00.5
    chip-ID: 1022:15e2
  Device-3: AMD Family 17h/19h HD Audio vendor: Framework
    driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16
    bus-ID: c1:00.6 chip-ID: 1022:15e3
  API: ALSA v: k6.6.6-200.fc39.x86_64 status: kernel-api
  Server-1: JACK v: 1.9.22 status: off
  Server-2: PipeWire v: 1.0.0 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
Network:
  Device-1: MEDIATEK MT7922 802.11ax PCI Express Wireless Network Adapter
    driver: mt7921e v: kernel pcie: speed: 5 GT/s lanes: 1 bus-ID: 01:00.0
    chip-ID: 14c3:0616
  IF: wlp1s0 state: up mac: <filter>
Bluetooth:
  Device-1: MediaTek [] driver: btusb v: 0.8 type: USB rev: 2.1
    speed: 480 Mb/s lanes: 1 bus-ID: 1-5:4 chip-ID: 0e8d:e616
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
    lmp-v: 11
Drives:
  Local Storage: total: 931.51 GiB used: 145.02 GiB (15.6%)
  ID-1: /dev/nvme0n1 vendor: Western Digital model: WD BLACK SN770 1TB
    size: 931.51 GiB speed: 63.2 Gb/s lanes: 4 serial: <filter> temp: 35.9 C
Partition:
  ID-1: / size: 929.93 GiB used: 144.66 GiB (15.6%) fs: btrfs
    dev: /dev/nvme0n1p3
  ID-2: /boot size: 973.4 MiB used: 350.5 MiB (36.0%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 598.8 MiB used: 17.4 MiB (2.9%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-4: /home size: 929.93 GiB used: 144.66 GiB (15.6%) fs: btrfs
    dev: /dev/nvme0n1p3
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) priority: 100
    dev: /dev/zram0
Sensors:
  System Temperatures: cpu: N/A mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Processes: 580 Uptime: 19m Memory: total: 28 GiB available: 27.09 GiB
  used: 3.2 GiB (11.8%) Init: systemd v: 254 target: graphical (5)
  default: graphical Compilers: N/A Packages: pm: rpm pkgs: N/A
  note: see --rpm pm: flatpak pkgs: 6 Shell: Bash v: 5.2.21
  running-in: gnome-terminal inxi: 3.3.31

In some cases (maybe most) the use of steam is much better when using the xorg desktop instead of wayland. Have you tried with logging in using xorg to see of there is a difference?

Your inxi output shows you are using wayland.

This is reported in AMD’s bug tracker as well: https://gitlab.freedesktop.org/drm/amd/-/issues/3187
There are reports that 6.8-rc6 helps the issue and hopefully you can drop the two workarounds for it.