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

i3 softbricked if xrandr with "scale" above 1x1 option is invoked #3392

Open
Kreyren opened this Issue Sep 8, 2018 · 10 comments

Comments

Projects
None yet
3 participants
@Kreyren

Kreyren commented Sep 8, 2018

DISCLAIMER
Coudn't find any solution searching google, asking on IRC and spamming gentoo devs.

ISSUE
I'm submitting a bug that results in softbrick system-wide.

DESCRIPTION (+ Steps to reproduce)
If xrandr --output <any> --scale 1.1x1.1 (or above) is invoked system "is stuck in both modes which are refreshed by moving a cursor or by typing on a keyboard in theory any action that forces the WM to refresh".

EXPECTED
if xrandr --output HDMI-0 --fb 3840x2160 --panning 3840x2160 --scale 2x2 --rate 60 is invoked i expect it to emulate virtual super resolution without glitches as it works on XFCE4, GNOME and partially on KDE (KDE has issues with scaling it's GUI).

INFO

uname -r == 4.18.5-gentoo

uname -a == Linux localhost 4.18.5-gentoo #3 SMP Sun Sep 2 17:06:23 -00 2018 x86_64 Intel(R) Core(TM) i7-2600K CPU @ 3.40GHz GenuineIntel GNU/Linux

emerge --info == https://paste.pound-python.org/show/pXNPT5PCJ1VrBQt6UUFG/

Gentoo with testing builds == ACCEPT_KEYWORDS="~amd64" in make.conf

x11-misc/i3blocks version 1.4-r1 is emerged

x11-misc/i3status version 2.12 is emerged

x11-wm/i3 version 9999 is emerged (same issue on testing build). 9999 means emerged from source.

i3 --moreversion 2>&-
Binary i3 version:  4.15-241-g9dc4df81 (2018-09-06, branch "git-r3/x11-wm/i3/0/__main__") © 2009 Michael Stapelberg and contributors
(Getting version from running i3, press ctrl-c to abort…)
Running i3 version: 4.15-241-g9dc4df81 (2018-09-06, branch "git-r3/x11-wm/i3/0/__main__") (pid 2297)
Loaded i3 config: /home/kreyren/.config/i3/config (Last modified: So 8. září 2018, 17:44:23 -00, 1134 seconds ago)

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

~/.config/i3/config == https://paste.pound-python.org/show/CPx514RoYAp7hpc7Qymj/

x11-misc/xcompmgr is NOT emerged.

x11-misc/compton is NOT emerged.

DISPLAY=:0 i3-dump-log | bzip2 -c | curl --data-binary @- https://logs.i3wm.org == https://logs.i3wm.org/logs/5725332334182400.bz2

OTHER INFO

  1. Verified working on XFCE4 and GNOME.
    1.1 KDE works too, but has issues with scaling it's GUI.
  2. Fresh emergement of i3 with changes for shortcut in ~/.config/i3/config and i3status + i3blocks.
  3. Used to replicate Virtual Super Resolution feature.
  4. Using 1080p TV monitor, expecting to replicate 4K resolution to fit more thing into one display.
  5. Not sure if it's possible to use with multiple monitors since xrandr doesn't seem to recognize multiple outputs.

Let me know if i can provide any other usefull info.

  • DK
@Kreyren

This comment has been minimized.

Show comment
Hide comment
@Kreyren

Kreyren Sep 8, 2018

missing-version
x11-wm/i3 version is 9999 meaning compiled from source, log is provided version 4.15-241-g9dc4df81 atm

missing-log

  1. i3 --moreversion 2>&- == https://paste.pound-python.org/show/M4UJtyJO3HX6btZfgjcS/
  2. ~/.config/i3/config == https://paste.pound-python.org/show/CPx514RoYAp7hpc7Qymj/
  3. emerge --info == https://paste.pound-python.org/show/pXNPT5PCJ1VrBQt6UUFG/

Kreyren commented Sep 8, 2018

missing-version
x11-wm/i3 version is 9999 meaning compiled from source, log is provided version 4.15-241-g9dc4df81 atm

missing-log

  1. i3 --moreversion 2>&- == https://paste.pound-python.org/show/M4UJtyJO3HX6btZfgjcS/
  2. ~/.config/i3/config == https://paste.pound-python.org/show/CPx514RoYAp7hpc7Qymj/
  3. emerge --info == https://paste.pound-python.org/show/pXNPT5PCJ1VrBQt6UUFG/
@Kreyren

This comment has been minimized.

Show comment
Hide comment
@Kreyren

Kreyren Sep 8, 2018

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.)

Based on https://i3wm.org/docs/debugging.html "If you are using a development version (see previous section), you don’t need to do anything — skip to section 3."

  1. Reproducing the problem >> is described

debug logfile added to original post.

I understand that nothing else is required. correct me if i'm wrong.

Kreyren commented Sep 8, 2018

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.)

Based on https://i3wm.org/docs/debugging.html "If you are using a development version (see previous section), you don’t need to do anything — skip to section 3."

  1. Reproducing the problem >> is described

debug logfile added to original post.

I understand that nothing else is required. correct me if i'm wrong.

@i3 i3 deleted a comment from i3bot Sep 8, 2018

@i3 i3 deleted a comment from i3bot Sep 8, 2018

@i3 i3 deleted a comment from Kreyren Sep 8, 2018

@orestisf1993

This comment has been minimized.

Show comment
Hide comment
@orestisf1993

orestisf1993 Sep 8, 2018

Member

It works fine on my system which means it could be an issue elsewhere.

is stuck in both modes which are refreshed by moving a cursor or by typing on a keyboard in theory any action that forces the WM to refresh

i3 doesn't always "refresh" in these scenarios. For example if you move the cursor inside a child window it will do nothing:

i3/src/handlers.c

Lines 198 to 201 in 9dc4df8

/* Skip events where the pointer was over a child window, we are only
* interested in events on the root window. */
if (event->child != XCB_NONE)
return;

debug logfile added to original post.

Can you attach a logfile where you reproduce the problem and then exit the session in order to reduce the logfile's size?

Member

orestisf1993 commented Sep 8, 2018

It works fine on my system which means it could be an issue elsewhere.

is stuck in both modes which are refreshed by moving a cursor or by typing on a keyboard in theory any action that forces the WM to refresh

i3 doesn't always "refresh" in these scenarios. For example if you move the cursor inside a child window it will do nothing:

i3/src/handlers.c

Lines 198 to 201 in 9dc4df8

/* Skip events where the pointer was over a child window, we are only
* interested in events on the root window. */
if (event->child != XCB_NONE)
return;

debug logfile added to original post.

Can you attach a logfile where you reproduce the problem and then exit the session in order to reduce the logfile's size?

@Kreyren

This comment has been minimized.

Show comment
Hide comment
@Kreyren

Kreyren Sep 9, 2018

PROBLEM SOLVED?
I tried it today in order to generate new debug logfile as orestisf1993 requested and it seems to be working on one output (which didn't before) without any issues and (Afaik) on same configuration?

i3 --moreversion 2>&-
Binary i3 version:  4.15-241-g9dc4df81 (2018-09-06, branch "git-r3/x11-wm/i3/0/__main__") © 2009 Michael Stapelberg and contributors
Running i3 version: 4.15-241-g9dc4df81 (2018-09-06, branch "git-r3/x11-wm/i3/0/__main__") (pid 2306)
Loaded i3 config: /home/kreyren/.config/i3/config (Last modified: Sat 08 Sep 2018 06:27:29 PM -00, 50049 seconds ago)

Logfile here:
https://logs.i3wm.org/logs/5672628723384320.bz2

(i'm not experienced with i3, i hope that i perform it as you requested if not provide me more informations and i try it again.)

Note that it still has issues when --scale is used on more then one output, but that seems to be the issue with xrandr itself. Has issues meaning result in softbrick and GPU glitches.

i3 doesn't always "refresh" in these scenarios.

Noted,

Kreyren commented Sep 9, 2018

PROBLEM SOLVED?
I tried it today in order to generate new debug logfile as orestisf1993 requested and it seems to be working on one output (which didn't before) without any issues and (Afaik) on same configuration?

i3 --moreversion 2>&-
Binary i3 version:  4.15-241-g9dc4df81 (2018-09-06, branch "git-r3/x11-wm/i3/0/__main__") © 2009 Michael Stapelberg and contributors
Running i3 version: 4.15-241-g9dc4df81 (2018-09-06, branch "git-r3/x11-wm/i3/0/__main__") (pid 2306)
Loaded i3 config: /home/kreyren/.config/i3/config (Last modified: Sat 08 Sep 2018 06:27:29 PM -00, 50049 seconds ago)

Logfile here:
https://logs.i3wm.org/logs/5672628723384320.bz2

(i'm not experienced with i3, i hope that i perform it as you requested if not provide me more informations and i try it again.)

Note that it still has issues when --scale is used on more then one output, but that seems to be the issue with xrandr itself. Has issues meaning result in softbrick and GPU glitches.

i3 doesn't always "refresh" in these scenarios.

Noted,

@Kreyren

This comment has been minimized.

Show comment
Hide comment
@Kreyren

Kreyren Sep 12, 2018

Problem appeared again once xrandr --output HDMI-0 --scale 2x2 is invoked in i3 session.

log== https://logs.i3wm.org/logs/5765785288966144.bz2

i3 --moreversion 2>&- == https://paste.pound-python.org/show/HTgYqoWtXDWQZm2xNMkk/

emerge --info == https://paste.pound-python.org/show/Pn5LlNDqMZycokrbsPCH/

Kreyren commented Sep 12, 2018

Problem appeared again once xrandr --output HDMI-0 --scale 2x2 is invoked in i3 session.

log== https://logs.i3wm.org/logs/5765785288966144.bz2

i3 --moreversion 2>&- == https://paste.pound-python.org/show/HTgYqoWtXDWQZm2xNMkk/

emerge --info == https://paste.pound-python.org/show/Pn5LlNDqMZycokrbsPCH/

@orestisf1993

This comment has been minimized.

Show comment
Hide comment
@orestisf1993

orestisf1993 Sep 12, 2018

Member

What I see is that i3 receives RRScreenChangeNotify and then immediately afterwards a ConfigureNotify for the root window which means that the outputs need to be reconfigured once again.

How do you get out of this situation?

Member

orestisf1993 commented Sep 12, 2018

What I see is that i3 receives RRScreenChangeNotify and then immediately afterwards a ConfigureNotify for the root window which means that the outputs need to be reconfigured once again.

How do you get out of this situation?

@Kreyren

This comment has been minimized.

Show comment
Hide comment
@Kreyren

Kreyren Sep 13, 2018

@orestisf1993 I had terminal in focus and so i pressed Arrow_UP + 3x backspace and wrote 1x1, but it seems to not work everytime. If i try to write xrandr --output HDMI-0 --scale 2x2 it softbricks before i can finish.

Kreyren commented Sep 13, 2018

@orestisf1993 I had terminal in focus and so i pressed Arrow_UP + 3x backspace and wrote 1x1, but it seems to not work everytime. If i try to write xrandr --output HDMI-0 --scale 2x2 it softbricks before i can finish.

@orestisf1993

This comment has been minimized.

Show comment
Hide comment
@orestisf1993

orestisf1993 Sep 13, 2018

Member

Can you reproduce this with a vanilla session? Use the default i3 config (the config that you used in the logs seems simple enough, no need to change anything) and don't launch any third party software in ~/.xinitrc or after i3 starts, run the command and see if the problem appears.

Member

orestisf1993 commented Sep 13, 2018

Can you reproduce this with a vanilla session? Use the default i3 config (the config that you used in the logs seems simple enough, no need to change anything) and don't launch any third party software in ~/.xinitrc or after i3 starts, run the command and see if the problem appears.

@Kreyren

This comment has been minimized.

Show comment
Hide comment
@Kreyren

Kreyren Sep 13, 2018

@orestisf1993

  1. commented all excluding exec i3 in .xinitrc
  2. rebooted
  3. invoked xrandr --output HDMI-0 --scale 2x2, same issue.

log == https://logs.i3wm.org/logs/5686230951919616.bz2

note that mouse wasn't detected after reboot, not sure if its relevant to this issue, i fixed this issue by re-pluging it in USB-A.

Kreyren commented Sep 13, 2018

@orestisf1993

  1. commented all excluding exec i3 in .xinitrc
  2. rebooted
  3. invoked xrandr --output HDMI-0 --scale 2x2, same issue.

log == https://logs.i3wm.org/logs/5686230951919616.bz2

note that mouse wasn't detected after reboot, not sure if its relevant to this issue, i fixed this issue by re-pluging it in USB-A.

@orestisf1993

This comment has been minimized.

Show comment
Hide comment
@orestisf1993

orestisf1993 Sep 13, 2018

Member

Thanks for providing all these information but unfortunately I don't know what's wrong here. Hopefully someone else can help with your issue.

Can you also try reproducing with openbox/awesomewm? Just replace exec i3 with exec openbox in .xinitrc.

Member

orestisf1993 commented Sep 13, 2018

Thanks for providing all these information but unfortunately I don't know what's wrong here. Hopefully someone else can help with your issue.

Can you also try reproducing with openbox/awesomewm? Just replace exec i3 with exec openbox in .xinitrc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment