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

Graphics artifacts with i3-wm on amdgpu #3577

Closed
diegoviola opened this issue Jan 4, 2019 · 7 comments · Fixed by #4577
Closed

Graphics artifacts with i3-wm on amdgpu #3577

diegoviola opened this issue Jan 4, 2019 · 7 comments · Fixed by #4577
Labels
4.16 bug missing-log Read the CONTRIBUTING.md file for instructions

Comments

@diegoviola
Copy link

diegoviola commented Jan 4, 2019

I'm submitting a…

[x] Bug
[ ] Feature Request
[ ] Documentation Request
[ ] Other (Please describe in detail)

Current Behavior

I am currently experiencing graphics artifacts/corruption when opening windows on i3-wm. I've asked for help on #radeon thinking this was a driver issue but MrCooper suggested this to be a bug in i3.

https://bugs.freedesktop.org/show_bug.cgi?id=105910#c10

Here's some of our conversation from today:

https://people.freedesktop.org/~cbrill/dri-log/?channel=radeon&date=2019-01-04

I am running i3wm on a Ryzen 5 2400G desktop using the integrated vega graphics. I am also using the modesetting xorg driver.

The artifacts occur when I run a program and when the program hasn't drawn anything yet, the artifacts then are gone after the program finished loading. I've seen this bug mostly with Qt applications.

My system details:

  • Arch Linux
  • mesa 18.3.1-1
  • Linux 4.20.0-arch1-1-ARCH

Expected Behavior

No image corruption/artifacts when opening new windows.

Reproduction Instructions

Start an application on i3wm and observe corruption when the application hasn't drawn anything yet.

Environment

Output of i3 --moreversion 2>&-:

i3 version: 
Binary i3 version:  4.16 (2018-11-04) © 2009 Michael Stapelberg and contributors
Running i3 version: 4.16 (2018-11-04) (pid 536)to abort…)
Loaded i3 config: /home/diego/.config/i3/config (Last modified: Mon 24 Dec 2018 02:33:19 AM -02, 999901 seconds ago)

The i3 binary you just called: /usr/bin/i3
The i3 binary you are running: i3

https://github.com/diegoviola/dotfiles/blob/master/.config/i3/config

- Linux Distribution & Version: Arch Linux
- Are you using a compositor (e.g., xcompmgr or compton): No.
@i3bot
Copy link

i3bot commented Jan 4, 2019

I don’t see a link to logs.i3wm.org. Did you follow https://i3wm.org/docs/debugging.html? (In case you actually provided a link to a logfile, please ignore me.)

@i3bot i3bot added bug missing-log Read the CONTRIBUTING.md file for instructions 4.16 labels Jan 4, 2019
@diegoviola
Copy link
Author

MrCooper | dviola: AFAICT i3 seems to copy from a pixmap to its parent window; my guess would be it never initializes the contents of that
         | pixmap
MrCooper | so its contents are undefined
MrCooper | that indeed seems to be the case, if I interpret the code in i3-wm/src/x.c:x_push_node() correctly
MrCooper | according to /usr/include/cairo/cairo.h, cairo doesn't initialize the contents of a surface created with
         | cairo_xcb_surface_create
MrCooper | I'd file an i3 bug about this

@Airblader
Copy link
Member

Thanks for the report. I haven't looked yet, but this sounds pretty reasonable and likely. Related, but for a different codepath I think is #3481.

@cdaringe
Copy link

cdaringe commented Apr 21, 2019

i'm observing this as well

$ i3 --moreversion 2>&- | pbcopy
Binary i3 version:  4.16.1-1-g341fcf99 (2019-01-27, branch "gaps") © 2009 Michael Stapelberg and contributors
(Getting version from running i3, press ctrl-c to abort…)
Running i3 version: 4.16.1-1-g341fcf99 (2019-01-27, branch "gaps") (pid 1350)
Loaded i3 config: /home/cdaringe/.i3/config (Last modified: Sat 20 Apr 2019 09:07:34 PM PDT, 1732 seconds ago)

The i3 binary you just called: /usr/bin/i3
The i3 binary you are running: i3

config: https://github.com/cdaringe/dotfiles/blob/master/env/.i3/config

in the event that @diegoviola's datas don't provide sufficient debuggins info, i am also willing to start collecting logs later

artifacts

@shiro
Copy link

shiro commented Nov 6, 2019

Also experiencing this on an AMD GPU

$ i3 --moreversion 2>&-
Binary i3 version:  4.17.1 (2019-08-30) © 2009 Michael Stapelberg and contributors
Running i3 version: 4.17.1 (2019-08-30) (pid 4637)abort…)
Loaded i3 config: /home/shiro/.config/i3/config (Last modified: Wed 06 Nov 2019 01:11:42 AM CET, 384 seconds ago)

The i3 binary you just called: /usr/bin/i3
The i3 binary you are running: /usr/bin/i3

Corruption is definitely the same as the post above, is apparent and causes serious eye pain.

Same result on the latest git version of i3-gaps also.

@vladimirardelean
Copy link

I have the same problem on Debian and as far as i see on the net is very present in all amd apu's with vega graphics, the artifacts are very bad when accelerated graphics is needed, this is clearly a amdgpu open source driver issue. I wonder why there is not a clear fix as this happened from ryzen 2nd generation apu's.

@Alexey104
Copy link

this is clearly a amdgpu open source driver issue

I use Nvidia, and I have always had this issue in i3 with both free/proprietary drivers and with/without any compositors. Similar artifacts also appear when resizing windows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
4.16 bug missing-log Read the CONTRIBUTING.md file for instructions
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants