Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

when use multiple monitors picom make second monitor display black #1025

Closed
BingCoke opened this issue Feb 21, 2023 · 15 comments
Closed

when use multiple monitors picom make second monitor display black #1025

BingCoke opened this issue Feb 21, 2023 · 15 comments

Comments

@BingCoke
Copy link

platform archlinux

GPU, drivers, and screen setup

name of display: :0
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Intel (0x8086)
Device: Mesa Intel(R) Graphics (ADL GT2) (0x46a6)
Version: 22.3.4
Accelerated: yes
Video memory: 15702MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 22.3.4
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.3.4
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.3.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Environment

use dwm

detail

when i use second monitor picom make second screen black.I can see mouse only. But when I use obs to capture screen's display , obs can display the screen of the second monitor.
Everything going fine when i kill picom.

I tried use this when use startx

export LIBGL_DRI3_DISABLE=1

it can fix question but picom will use cpu too many(about 30%) .

@absolutelynothelix
Copy link
Collaborator

absolutelynothelix commented Feb 21, 2023

what picom's version you're on? and how multiple monitors are configured?

@BingCoke
Copy link
Author

what picom's version you're on? and how multiple monitors are configured?

version is vgit-b700a, I use this package https://archlinux.org/packages/community/x86_64/picom/

image

I use xrandr to set multiple monitors

 xrandr --output eDP-1 --primary --mode 2048x1152 --pos 1920x0 --rotate normal --output HDMI-1 --mode 1920x1080 --pos 0x0 --rotate normal --output DP-1 --off --output DP-2 --off --output DP-3 --off --output DP-4 --off

@BingCoke
Copy link
Author

i may find the problem.I use backend is glx. When I use xrender, everything is fine .except blur. So how can I use blur in 'xrender' or use glx and fix problem?

@absolutelynothelix
Copy link
Collaborator

absolutelynothelix commented Feb 22, 2023

that reminds me of the #1017... does this happen if you start picom as:

  1. picom --config=/dev/null --backend=glx;
  2. picom --config=/dev/null --backend=egl?

@BingCoke
Copy link
Author

that reminds me of the #1017... does this happen if you start picom as:

  1. picom --config=/dev/null --backend=glx;
  2. picom --config=/dev/null --backend=egl?

yes! One screen is fine, the other one is black(I can see mouse only),
Moreover,I killed picom and made screen freeze When i use glx and egl. Just xrender will make everything fine.

@absolutelynothelix
Copy link
Collaborator

unfortunately, i don't have a second monitor to test and i can't reproduce this playing with xrandr no matter how hard i try.

@tryone144
Copy link
Collaborator

Okay, so xrender works fine for you but the gl backends show one screen completely black, even if you've set a wallpaper and have windows on that screen? Which of your screens is the one affected? The external HDMI-1 one? Can you please post the complete output of xrandr? Does the same happen when you run picom with the --legacy-backends option?

@BingCoke
Copy link
Author

Okay, so xrender works fine for you but the gl backends show one screen completely black, even if you've set a wallpaper and have windows on that screen? Which of your screens is the one affected? The external HDMI-1 one? Can you please post the complete output of xrandr? Does the same happen when you run picom with the --legacy-backends option?

  1. yes.I can see mouse only.
  2. Only,the eDP-1 is fine.

there is something interesting.when i set monitor with this, HDMI-1 will show content.(superimpose them together)
image

> xrandr
Screen 0: minimum 320 x 200, current 3968 x 1152, maximum 16384 x 16384
eDP-1 connected 2048x1152+0+0 (normal left inverted right x axis y axis) 309mm x 174mm
   2560x1440     60.01 +  59.95    48.01  
   1920x1440     60.00  
   1856x1392     60.01  
   1792x1344     60.01  
   2048x1152     59.90*   59.91  
   1920x1200     59.88    59.95  
   1920x1080     59.96    59.93  
   1600x1200     60.00  
   1680x1050     59.95    59.88  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1280x800      59.99    59.97    59.81    59.91  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   640x400       59.88    59.98  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
HDMI-1 connected primary 1920x1080+2048+36 (normal left inverted right x axis y axis) 527mm x 293mm
   1920x1080     60.00*+  75.00    50.00    59.94  
   1920x1080i    60.00    50.00    59.94  
   1680x1050     59.88  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1440x900      74.98    59.90  
   1366x768      59.79  
   1280x800      59.91  
   1152x864      75.00  
   1280x768      59.87  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   800x600       72.19    75.00    60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)

5.The same happened when I run picom with the --legacy-backends option

@itsdawei
Copy link

itsdawei commented Mar 7, 2023

I had the same issue. It took me a very long time to figure out that Picom was causing this.

  • I want to add that changing the resolution and back on the second monitor will make the second monitor render while blacking out the built-in monitor.
  • Seems like WM dependent bug as I was able to reproduce this is both Qtile and Xmonad.
  • Killing picom also freezes up everything and I need to reboot.
  • Same problem occurs on both HDMI and DP connection.
  • I am also running Mesa Intel(R) Graphics.

@absolutelynothelix
Copy link
Collaborator

absolutelynothelix commented Mar 7, 2023

fortunately, i have a laptop with an intel's igpu and a hdmi port, an hdmi cable and a monitor to test. unfortunately, i can't test this configuration anytime soon due to relocation. but if this issue won't be fixed, i'll give it a try.

@tryone144
Copy link
Collaborator

tryone144 commented Mar 10, 2023

@BingCoke and @itsdawei do you have access to the Xserver, picom, and/or system logs after the crash? Do they contain any error messages?
This might be an intel specific (driver) bug. I am in a similar position right now as I can't test on intel integrated graphics as well. 😞
@itsdawei which version of the driver do you use?

Just to clarify further: This only blacks out a single monitor (seemingly the one with the most recent resolution change is shown). Does this also happen if both monitors partially overlap on the virtual screen and not only completely contain one in the other like in the screenshot above?

EDIT:
cannot reproduce this myself using vgit-cee12 with picom --config /dev/null --backend glx using the internal and external screen with my laptop and different combinations of screen resolution, positions (overlapping / non-overlapping), and refresh rates...

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel (0x8086)
    Device: Mesa Intel(R) HD Graphics 5500 (BDW GT2) (0x1616)
    Version: 22.3.6
    Accelerated: yes
    Video memory: 7845MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 5500 (BDW GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 22.3.6
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.3.6
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.3.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

@itsdawei
Copy link

I can no longer reproduce the error. Perhaps @BingCoke can try to reproduce it. Now when I run picom, the windows on my second monitor disappears, but when I hover my mouse over it it reappears. Everything seems to be working from there.

Output of picom --diagnostics:

**Version:** vgit-b700a

### Extensions:

* Shape: Yes
* XRandR: Yes
* Present: Present

### Misc:

* Use Overlay: Yes
* Config file used: /etc/xdg/picom.conf

### Drivers (inaccurate):

modesetting

### Backend: glx

* Driver vendors:
 * GLX: Mesa Project and SGI
 * GL: Intel
* GL renderer: Mesa Intel(R) Graphics (ADL GT2)
* Accelerated: 1

### Backend: egl

* Driver vendors:
 * EGL: Mesa Project
 * EGL driver: iris
 * GL: Intel
* GL renderer: Mesa Intel(R) Graphics (ADL GT2)

Output of glxinfo -B:

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel (0x8086)
    Device: Mesa Intel(R) Graphics (ADL GT2) (0x46a6)
    Version: 22.3.6
    Accelerated: yes
    Video memory: 15698MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) Graphics (ADL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 22.3.6
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.3.6
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.3.6
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

@Agh42
Copy link

Agh42 commented Jun 28, 2023

I had the same problem on my Dell XPS 13 9320 - the cursor would show on my 2nd and 3rd screen, but not any windows. Switching to tty1 and back (ctrl-alt-F1) made the windows appear - they disappear as soon as I move the mouse cursor.

I solved the problem by switching from backend=glx to backend=xrender in .config/picom.conf.

I'm on arch (i3-variant) 253.4-1 with picom version "vgit-b700a".

Output from lshw:

  *-display                 
       description: VGA compatible controller
       product: Raptor Lake-P [Iris Xe Graphics]
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 04
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 mode=1920x1200 visual=truecolor xres=1920 yres=1200
       resources: iomemory:600-5ff iomemory:400-3ff irq:185 memory:603d000000-603dffffff memory:4000000000-400fffffff ioport:3000(size=64) memory:c0000-dffff memory:4010000000-4016ffffff memory:4020000000-40ffffffff

Output from picom --diagnostics:

**Version:** vgit-b700a

### Extensions:

* Shape: Yes
* XRandR: Yes
* Present: Present

### Misc:

* Use Overlay: No
  (Another compositor is already running)
* Config file used: /home/user/.config/picom.conf

### Drivers (inaccurate):

modesetting

### Backend: glx

* Driver vendors:
 * GLX: Mesa Project and SGI
 * GL: Intel
* GL renderer: Mesa Intel(R) Graphics (RPL-P)
* Accelerated: 1

### Backend: egl

* Driver vendors:
 * EGL: Mesa Project
 * EGL driver: iris
 * GL: Intel
* GL renderer: Mesa Intel(R) Graphics (RPL-P)

@Kamyil
Copy link

Kamyil commented Nov 16, 2023

Can confirm that solution above ^ worked like a charm
Thank you so much!

@yshui
Copy link
Owner

yshui commented Dec 22, 2023

this should have been solved by #1002

ping me if the problem is still there.

@yshui yshui closed this as completed Dec 22, 2023
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants