batocera-linux / batocera.linux

batocera.linux
https://batocera.org
Other
1.97k stars 514 forks source link

Screen tearing on 1195G7 #5016

Open 31337-4554551n opened 2 years ago

31337-4554551n commented 2 years ago

When playing on the win max 2021 intel 1195G7 really bad tearing happens on the laptop, however it seems to go away when used with an external monitor.

This is not the case for other operating systems, including windows, ubuntu, and pop. So the issue seems to be with the driver in batocera.

dmanlfc commented 2 years ago

The SNA acceleration method causes tearing on some machines. To fix this, enable the TearFree option in the driver by adding the following line to your configuration file:

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
  Identifier "Intel Graphics"
  Driver "intel"
  Option "TearFree" "true"
EndSection

See here - https://wiki.archlinux.org/title/intel_graphics#Tearing

31337-4554551n commented 2 years ago

The SNA acceleration method causes tearing on some machines. To fix this, enable the TearFree option in the driver by adding the following line to your configuration file:

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
  Identifier "Intel Graphics"
  Driver "intel"
  Option "TearFree" "true"
EndSection

See here - https://wiki.archlinux.org/title/intel_graphics#Tearing

Do I then need to batocera-save-overlay so they don't dissapear on restart? Then do this again every time there is an update? I tried

Section "Device" Identifier "Intel Graphics" Driver "i915" Option "TearFree" "true" EndSection

Earlier and it just lead to everything being black. I had to load the batocera squashfs from the boot partition delete /boot/boot/overlay from there to get things working again, but I am pretty sure there is important stuff there now?

31337-4554551n commented 2 years ago

The SNA acceleration method causes tearing on some machines. To fix this, enable the TearFree option in the driver by adding the following line to your configuration file:

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
  Identifier "Intel Graphics"
  Driver "intel"
  Option "TearFree" "true"
EndSection

See here - https://wiki.archlinux.org/title/intel_graphics#Tearing

Tried this, can confirm it just gives a black screen. (though lit black, not off black)

ssh's in, deleted /etc/X11/xorg.conf.d/20-intel.conf and saved overlay again and it's back to normal, tearing and all.

SYSTEM SETTINGS → INFORMATION → OpenGL "4.6 (Core Profile) Mesa 21.1.8"

it's the winmax 2021, with the 1195G7 CPU Iris Xe iGPU 96

Please advise?

dmanlfc commented 2 years ago

Two suggestions

  1. Try v33 beta which has an updated kernel & mesa drivers
  2. Try additional options as suggested here - https://www.dedoimedo.com/computers/linux-intel-graphics-video-tearing.html
31337-4554551n commented 2 years ago

Two suggestions

1. Try v33 beta which has an updated kernel & mesa drivers

2. Try additional options as suggested here - https://www.dedoimedo.com/computers/linux-intel-graphics-video-tearing.html

Unfortunately all of that results in a black screen

dmanlfc commented 2 years ago

The issue is 11th & 12th Gen Intel chipsets currently don't support variable refresh rate in Linux. You'll have to wait until Linux Kernel 5.17 which is likely to be in v34 of Batocera next year.

31337-4554551n commented 2 years ago

I am running pop OS on the same machine, with the tearfree config (driver intel) and that runs perfectly fine. Running kernel 5.13, and no screen tearing.

Could it be something to do with

SYSTEM SETTINGS → INFORMATION → OpenGL
"4.6 (Core Profile) Mesa 21.1.8"

The fact that batocera is not actually running the intel driver?

dmanlfc commented 2 years ago

Nope it's running the Intel driver. That's just showing you the Mesa 3D stack. In particular the supported OpenGL. Pop OS is using a different display manager than us. Hence a different result.

31337-4554551n commented 2 years ago

So the pop os display manager is what is allowing the .conf to work? I don't understand this well enough, but ok. Thank you. Will wait till v34.

But then why does it work fine on external screens?

prog-amateur2 commented 1 year ago

The SNA acceleration method causes tearing on some machines. To fix this, enable the TearFree option in the driver by adding the following line to your configuration file:

/etc/X11/xorg.conf.d/20-intel.conf
Section "Device"
  Identifier "Intel Graphics"
  Driver "intel"
  Option "TearFree" "true"
EndSection

See here - https://wiki.archlinux.org/title/intel_graphics#Tearing

Hello, I feedback my experience on a GPD Win 3 with Batocera 35 after doing a screen rotation (SYSTEM SETTINGS > SCREEN ROTATION > 90 DEGREES) :

  1. the screen rotation generates a screen tearing
  2. before any manipulation, the /etc/X11/xorg.conf.d/ folder contains only 20-amdgpu.conf and 20-radeon.conf BUT NO 20-intel.conf file.
  3. making a 20-intel.conf file as mentioned above prevent the handheld to reboot on batocera.

Is there any progress since last message 2021 ? (not a complain, just a follow up, and hopefully a workaround). Thank you very much for your kind help !