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

testing wayland #242

Open
257 opened this issue Aug 16, 2023 · 115 comments
Open

testing wayland #242

257 opened this issue Aug 16, 2023 · 115 comments

Comments

@257
Copy link

257 commented Aug 16, 2023

hi @mkartashev,

i have managed to run android-studio on top of jbr21 branch (by editing ~/.config/Google/AndroidStudioPreview2023.1/options/other.xml and pointing installDir of installed-jdk to jbr21).

i did that in hopes being able to run android-studio purely under wayland but it still take the xwayland route; passing -Dawt.toolkit.name=WLToolkit to /opt/android-studio/jbr/bin/java doesn't seem to have any effect.

any idea?

@mkartashev
Copy link
Collaborator

The Wayland toolkit is not really ready for this kind of testing. When it is, we will certainly make an announcement here: https://youtrack.jetbrains.com/issue/JBR-3206

If you would like to join the effort of supporting Wayland in Java, please check the work breakdown at the Wakefield project wiki, join the mailing list, and we can discuss things further there.

@257
Copy link
Author

257 commented Aug 17, 2023

sure. FYI i got it working by passing this (not the path to java):

Environment=JAVA_HOME=%h/src/java/JetBrainsRuntime/build/linux-x86_64-server-release/jdk/bin
Environment=CLASSPATH=/opt/android-studio/lib/app.jar:/opt/android-studio/lib/3rd-party-rt.jar:/opt/android-studio/lib/util.jar:/opt/android-studio/lib/util_rt.jar:/opt/android-studio/lib/util-8.jar:/opt/android-studio/lib/jps-model.jar:/opt/android-studio/lib/stats.jar:/opt/android-studio/lib/protobuf.jar:/opt/android-studio/lib/external-system-rt.jar:/opt/android-studio/lib/intellij-test-discovery.jar:/opt/android-studio/lib/forms_rt.jar:/opt/android-studio/lib/rd.jar:/opt/android-studio/lib/externalProcess-rt.jar:/opt/android-studio/lib/3rd-party-native.jar:/opt/android-studio/lib/annotations-java5.jar:/opt/android-studio/lib/annotations.jar:/opt/android-studio/lib/byte-buddy-agent.jar:/opt/android-studio/lib/error-prone-annotations.jar:/opt/android-studio/lib/groovy.jar:/opt/android-studio/lib/idea_rt.jar:/opt/android-studio/lib/intellij-coverage-agent-1.0.706.jar:/opt/android-studio/lib/junit.jar:/opt/android-studio/lib/junit4.jar:/opt/android-studio/lib/resources.jar:/opt/android-studio/lib/ant/lib/ant.jar
ExecStart=%h/src/java/JetBrainsRuntime/build/linux-x86_64-server-release/jdk/bin/java \
	-XX:ErrorFile=/tmp/java_error_in_studio_%p.log \
	-XX:HeapDumpPath=/tmp/java_error_in_studio_.hprof \
	-Xms256m \
	-Xmx2048m \
	-XX:ReservedCodeCacheSize=512m \
	-XX:+UseG1GC \
	-XX:SoftRefLRUPolicyMSPerMB=50 \
	-XX:CICompilerCount=2 \
	-XX:+HeapDumpOnOutOfMemoryError \
	-XX:-OmitStackTraceInFastThrow \
	-XX:+IgnoreUnrecognizedVMOptions \
	-XX:CompileCommand=exclude,com/intellij/openapi/vfs/impl/FilePartNodeRoot,trieDescend \
	-XX:MaxJavaStackTraceDepth=10000 \
	-ea \
	-Dawt.toolkit.name=WLToolkit \
	-Dsun.io.useCanonCaches=false \
	-Dsun.java2d.metal=true \
	-Djbr.catch.SIGABRT=true \
	-Djdk.http.auth.tunneling.disabledSchemes="" \
	-Djdk.attach.allowAttachSelf=true \
	-Djdk.module.illegalAccess.silent=true \
	-Dkotlinx.coroutines.debug=off \
	-Dsun.tools.attach.tmp.only=true \
	-Djb.vmOptionsFile=/opt/android-studio/bin/studio64.vmoptions \
	-Djava.system.class.loader=com.intellij.util.lang.PathClassLoader \
	-Didea.vendor.name=Google \
	-Didea.paths.selector=AndroidStudioPreview2023.1 \
	-Djna.boot.library.path=/opt/android-studio/lib/jna/amd64 \
	-Dpty4j.preferred.native.folder=/opt/android-studio/lib/pty4j \
	-Djna.nosys=true \
	-Djna.noclasspath=true \
	-Didea.platform.prefix=AndroidStudio \
	-XX:FlightRecorderOptions=stackdepth=256 \
	-Dsplash=true \
	--add-opens=java.base/java.io=ALL-UNNAMED \
	--add-opens=java.base/java.lang=ALL-UNNAMED \
	--add-opens=java.base/java.lang.ref=ALL-UNNAMED \
	--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
	--add-opens=java.base/java.net=ALL-UNNAMED \
	--add-opens=java.base/java.nio=ALL-UNNAMED \
	--add-opens=java.base/java.nio.charset=ALL-UNNAMED \
	--add-opens=java.base/java.text=ALL-UNNAMED \
	--add-opens=java.base/java.time=ALL-UNNAMED \
	--add-opens=java.base/java.util=ALL-UNNAMED \
	--add-opens=java.base/java.util.concurrent=ALL-UNNAMED \
	--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED \
	--add-opens=java.base/jdk.internal.vm=ALL-UNNAMED \
	--add-opens=java.base/sun.nio.ch=ALL-UNNAMED \
	--add-opens=java.base/sun.nio.fs=ALL-UNNAMED \
	--add-opens=java.base/sun.security.ssl=ALL-UNNAMED \
	--add-opens=java.base/sun.security.util=ALL-UNNAMED \
	--add-opens=java.base/sun.net.dns=ALL-UNNAMED \
	--add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED \
	--add-opens=java.desktop/java.awt=ALL-UNNAMED \
	--add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED \
	--add-opens=java.desktop/java.awt.event=ALL-UNNAMED \
	--add-opens=java.desktop/java.awt.image=ALL-UNNAMED \
	--add-opens=java.desktop/java.awt.peer=ALL-UNNAMED \
	--add-opens=java.desktop/java.awt.font=ALL-UNNAMED \
	--add-opens=java.desktop/javax.swing=ALL-UNNAMED \
	--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED \
	--add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED \
	--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED \
	--add-opens=java.desktop/sun.awt.wl=ALL-UNNAMED \
	--add-opens=java.desktop/sun.awt.datatransfer=ALL-UNNAMED \
	--add-opens=java.desktop/sun.awt.image=ALL-UNNAMED \
	--add-opens=java.desktop/sun.awt=ALL-UNNAMED \
	--add-opens=java.desktop/sun.font=ALL-UNNAMED \
	--add-opens=java.desktop/sun.java2d=ALL-UNNAMED \
	--add-opens=java.desktop/sun.swing=ALL-UNNAMED \
	--add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED \
	--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
	--add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \
	--add-opens=jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED com.intellij.idea.Main

@257
Copy link
Author

257 commented Aug 18, 2023

looks great and runs smooth, most of the time :)

for any one daring to try out, making a list of things that don't work, and things that cause crashes.
. intercting with the window before Gradle is finished at the startup crashes android-studio, so be patient :) [make sure project gradle is also poiting jbr21]
. 'CTRL+Shift+f' (Search in Files), libinput?
. clipboard, wl-{copy,paste}, yes i have set clipboard=unnamedplus in ~/.ideavimrc
. oversized cursor (known issue? i'm using hyprland, wlroot-based with latest Intel driver, no nvidia here)
. popup menus are not in focus

@cies
Copy link

cies commented Aug 18, 2023

Thanks! No time for me to test this this weekend, but IntelliJ is the only app that hold me from going Wayland. It kinda works in XWayland but there is some serious annoyances with that (flickering borders, copy-paste, ...).

@257
Copy link
Author

257 commented Aug 19, 2023

UPDATE: Environment=JAVA_HOME=%h/src/java/JetBrainsRuntime/build/linux-x86_64-server-release/images/jdk/bin

@igor-ramazanov
Copy link

Thanks! No time for me to test this this weekend, but IntelliJ is the only app that hold me from going Wayland. It kinda works in XWayland but there is some serious annoyances with that (flickering borders, copy-paste, ...).

Yeah, absolutely the same. I dream the day where I could finally move on to Wayland completely and ditch out XWayland to make life simpler. The IntelliJ is the only program that holds me from the migration.

@mkurz
Copy link

mkurz commented Aug 20, 2023

I am using IntelliJ since month on Wayland, daily, many hours, I don't really have problems, sometimes a popup windows is misplaced and sometimes I see some magenta artifacts, but I think that is because of the experimental GPU driver I am using (I am on Asahi Linux on a MacBook Pro M1 and things are still under development there).

@Kakadus
Copy link

Kakadus commented Aug 25, 2023

I just added -Dawt.toolkit.name=WLToolkit to the vmoptions (located at $XDG_CONFIG_HOME/{{PRODUCT}}/{{PRODUCT}}.vmoptions) and switched via the Chosse Boot Runtime for the IDE to the manually build Runtime of branch jbr21.

I'm using this for pycharm and it is usable in general under wayland:

  • no splash popup is shown
  • pycharm and some popups such as the settings got a rather ugly menu-bar
  • Ctrl+Shift+F does not work at all, no popup is opening
  • the Find popup (double Shift) is opened but does not gain keyboard focus
  • other popups (such as context menu) work (keyboard navigation possible)
  • when switching between UI Elements, I see several
    SEVERE - sun.awt.wl.focus.WLKeyboardFocusManagerPeer - Unexpected focus owner set in a Window: null
    in the logs, but cannot map it to a specific bug
  • Clipboard works without any problems

I'm on arch linux with sway (wlroots-based). Adding some start options from @257's comment above showed no effects

@mkartashev
Copy link
Collaborator

Clipboard works without any problems

Try pasting something you copied in PyCharm in another app. At this point, the clipboard is confined to just its own Java process.

@gilvbp
Copy link

gilvbp commented Aug 31, 2023

Thanks! No time for me to test this this weekend, but IntelliJ is the only app that hold me from going Wayland. It kinda works in XWayland but there is some serious annoyances with that (flickering borders, copy-paste, ...).

Yeah, absolutely the same. I dream the day where I could finally move on to Wayland completely and ditch out XWayland to make life simpler. The IntelliJ is the only program that holds me from the migration.

+2 Me too!

@gilvbp
Copy link

gilvbp commented Aug 31, 2023

image
Nice!! @mkartashev awesome work!

@offeex
Copy link

offeex commented Nov 2, 2023

how did you guys managed to achieve this?

  1. i built binary jbr
  2. Set these props to idea64.vmoptions:
-Xmx2048m
--add-opens=java.base/java.io=ALL-UNNAMED \
-ea \
-Dawt.toolkit.name=WLToolkit \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.lang.ref=ALL-UNNAMED \
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens=java.base/java.net=ALL-UNNAMED \
--add-opens=java.base/java.nio=ALL-UNNAMED \
--add-opens=java.base/java.nio.charset=ALL-UNNAMED \
--add-opens=java.base/java.text=ALL-UNNAMED \
--add-opens=java.base/java.time=ALL-UNNAMED \
--add-opens=java.base/java.util=ALL-UNNAMED \
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED \
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED \
--add-opens=java.base/jdk.internal.vm=ALL-UNNAMED \
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED \
--add-opens=java.base/sun.nio.fs=ALL-UNNAMED \
--add-opens=java.base/sun.security.ssl=ALL-UNNAMED \
--add-opens=java.base/sun.security.util=ALL-UNNAMED \
--add-opens=java.base/sun.net.dns=ALL-UNNAMED \
--add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED \
--add-opens=java.desktop/java.awt=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.event=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.image=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.peer=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED \
--add-opens=java.desktop/javax.swing=ALL-UNNAMED \
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED \
--add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.wl=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.datatransfer=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.image=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt=ALL-UNNAMED \
--add-opens=java.desktop/sun.font=ALL-UNNAMED \
--add-opens=java.desktop/sun.java2d=ALL-UNNAMED \
--add-opens=java.desktop/sun.swing=ALL-UNNAMED \
--add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
--add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \
--add-opens=jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED com.intellij.idea.Main
  1. restarted idea and checked with xlsclients, idea still runs under xwayland (alongside with spotify)

@offeex
Copy link

offeex commented Nov 2, 2023

oh, nevermind. running it from console with Environnment set to $JAVA_HOME helped

@Lucaber
Copy link

Lucaber commented Nov 13, 2023

Im currently testing goland with wayland. My first issue was the not working forward and back buttons on a mouse. Here is a quick fix, i have no idea what im doing: Lucaber@9766bd1

@hughesjs
Copy link

I just added -Dawt.toolkit.name=WLToolkit to the vmoptions (located at $XDG_CONFIG_HOME/{{PRODUCT}}/{{PRODUCT}}.vmoptions) and switched via the Chosse Boot Runtime for the IDE to the manually build Runtime of branch jbr21.

I'm using this for pycharm and it is usable in general under wayland:

* no splash popup is shown

* pycharm and some popups such as the settings got a rather ugly menu-bar

* `Ctrl+Shift+F` does not work at all, no popup is opening

* the Find popup (double `Shift`) is opened but does not gain keyboard focus

* other popups (such as context menu) work (keyboard navigation possible)

* when switching between UI Elements, I see several
  ` SEVERE - sun.awt.wl.focus.WLKeyboardFocusManagerPeer - Unexpected focus owner set in a Window: null`
  in the logs, but cannot map it to a specific bug

* Clipboard works without any problems

I'm on arch linux with sway (wlroots-based). Adding some start options from @257's comment above showed no effects

Did you do anything else at all? I've built the latest jbr, set it as the runtime, confirmed that it's the runtime, and added the -Dawt.toolkit.name=WLToolkit to the bottom of ~/.config/Jetbrains/Rider2023.2/rider64.vmoptions. However, it still launches under xwayland for some reason, have I missed something?

My about page:

JetBrains Rider 2023.2.3
Build #RD-232.10203.29, built on November 1, 2023
xxx
xxx
xxx
Runtime version: 22-internal-adhoc.james.JetBrainsRuntime amd64
VM: OpenJDK 64-Bit Server VM by N/A
Linux 6.6.1-arch1-1
.NET Core v7.0.7 x64
GC: G1 Young Generation, G1 Concurrent GC, G1 Old Generation
Memory: 4096M
Cores: 32
Registry:
    ide.experimental.ui=true
    vcs.empty.toolwindow.show=false
    http.client.file.variables.available=true
    ide.new.project.model.index.case.sensitivity=true
    database.show.search.tab=false

Non-Bundled Plugins:
    com.intellij.resharper.HeapAllocationsViewer (2023.2.0)

Current Desktop: Hyprland

My vmoptions:

-Xmx4096m
-Dide.managed.by.toolbox=/home/james/.local/share/JetBrains/Toolbox/bin/jetbrains-toolbox
-Dtoolbox.notification.token=xxx
-Dtoolbox.notification.portFile=/home/james/.local/share/JetBrains/Toolbox/cache/ports/2059400218.port
-Dawt.toolkit.name=WLToolkit

@257
Copy link
Author

257 commented Nov 20, 2023

pass -D* args in commandline; see my ExecStart=. ignore options/other.xml, apparently just a cached state.

for best experiece move to nightly builds i.e. 2023.3. things run are smooth there :)

@257
Copy link
Author

257 commented Nov 20, 2023

UPDATE2: Environment=JAVA_HOME=path/to/JetBrainsRuntime/build/linux-x86_64-server-release/images/jdk/bin

@hughesjs
Copy link

UPDATE2: Environment=JAVA_HOME=path/to/JetBrainsRuntime/build/linux-x86_64-server-release/images/jdk/bin

So to be clear (since I can't test right now), if I run: Environment=JAVA_HOME=$JBRPATH rider.sh -Dawt.toolkit.name=WLToolkit that should do the job?

@wilecoyote2015
Copy link

wilecoyote2015 commented Dec 8, 2023

It runs surprisingly well for me!
One Problem: I am using a tiling compositor (Hyprland).
Here, PyCharm always shows a titlebar/window decoration. However, with a tiling compositor, window decorations are not desired and consume space.
Using XWayland, no window decoration is visible.
There doesn't seem to be a way to disable the window decoration? (At least with the new UI)

@257
Copy link
Author

257 commented Dec 8, 2023 via email

@romanstingler
Copy link

romanstingler commented Dec 10, 2023

for me the latest 2023.3 (haven't tested any older version)
the suggestion pop-up is way off (dual monitor configuration)

there is no menu where I can click on the File, ...., About

The top bar is white and not according to the theme.
2023-12-10-17:59:04

21b316.4 is way better, I hope 316 jcef will be the next official build
2023-12-22-09:20:04

@izeroo
Copy link

izeroo commented Jan 18, 2024

how did you guys managed to achieve this?

  1. i built binary jbr
  2. Set these props to idea64.vmoptions:
-Xmx2048m
--add-opens=java.base/java.io=ALL-UNNAMED \
-ea \
-Dawt.toolkit.name=WLToolkit \
--add-opens=java.base/java.lang=ALL-UNNAMED \
--add-opens=java.base/java.lang.ref=ALL-UNNAMED \
--add-opens=java.base/java.lang.reflect=ALL-UNNAMED \
--add-opens=java.base/java.net=ALL-UNNAMED \
--add-opens=java.base/java.nio=ALL-UNNAMED \
--add-opens=java.base/java.nio.charset=ALL-UNNAMED \
--add-opens=java.base/java.text=ALL-UNNAMED \
--add-opens=java.base/java.time=ALL-UNNAMED \
--add-opens=java.base/java.util=ALL-UNNAMED \
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED \
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED \
--add-opens=java.base/jdk.internal.vm=ALL-UNNAMED \
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED \
--add-opens=java.base/sun.nio.fs=ALL-UNNAMED \
--add-opens=java.base/sun.security.ssl=ALL-UNNAMED \
--add-opens=java.base/sun.security.util=ALL-UNNAMED \
--add-opens=java.base/sun.net.dns=ALL-UNNAMED \
--add-opens=java.desktop/com.sun.java.swing.plaf.gtk=ALL-UNNAMED \
--add-opens=java.desktop/java.awt=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.dnd.peer=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.event=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.image=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.peer=ALL-UNNAMED \
--add-opens=java.desktop/java.awt.font=ALL-UNNAMED \
--add-opens=java.desktop/javax.swing=ALL-UNNAMED \
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED \
--add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.X11=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.wl=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.datatransfer=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt.image=ALL-UNNAMED \
--add-opens=java.desktop/sun.awt=ALL-UNNAMED \
--add-opens=java.desktop/sun.font=ALL-UNNAMED \
--add-opens=java.desktop/sun.java2d=ALL-UNNAMED \
--add-opens=java.desktop/sun.swing=ALL-UNNAMED \
--add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED \
--add-opens=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED \
--add-opens=jdk.internal.jvmstat/sun.jvmstat.monitor=ALL-UNNAMED \
--add-opens=jdk.jdi/com.sun.tools.jdi=ALL-UNNAMED com.intellij.idea.Main
  1. restarted idea and checked with xlsclients, idea still runs under xwayland (alongside with spotify)

Added your vmoptions and switched to the manually build Runtime of branch jbr21 via IDE settings(search for vmoptions and runtime option). Seems to be working fine. xlsclinets did not show Android Studio. Ctrl+Shift+F works fine too.

I'm using this for Android Studio and it seems pretty usable in general under wayland:

Splash popup is shown, but at the left-top corner.
Ctrl+Shift+F works, popup is normal
the Find popup (double Shift) is opened and does gain keyboard focus
Clipboard works without any problems
Input-Method not working(fcitx5)

Ubuntu 22.04.3 LTS and jbr21 commit 25d6e5c.
Great work for JetBrains!

@jcdickinson
Copy link

jcdickinson commented Jan 24, 2024

Everything seems to work, same as the above comment, with some minor issues:

  • New UI: interacts very poorly with pop-shell:
    • window size easily desyncs from what the WM believes it to be.
    • window can't be resized with Super+Mouse Right.
  • Quick action appears at top left of screen and is very small. Behaves erratically when being moved. Cannot be resized.
    • Edit for Build #RD-241.8102.132. Still always opens at the top left, but can be moved and resized. Size information is lost across restarts of Rider.
  • main menu never renders "merge main menu with window title" is enabled
  • No splash.

@romanstingler
Copy link

PhpStorm 2024.1EAP with runtime 21.336
https://www.youtube.com/watch?v=Wub2XwGqUkc

@mimi89999
Copy link

It works great mostly, but I can't stop a process running in the terminal by sending Ctrl+C and that's very annoying.

@Memoraike
Copy link

@romanstingler , what kind of environment do you have?

@romanstingler
Copy link

romanstingler commented Jan 29, 2024

@Memoraike
It is Hyprland https://hyprland.org/ (Wayland)

If you want to use it I have to tell you that you have to keep some things in mind.

  • It is no install and use WM(Window manager)
  • you have to go through its wiki https://wiki.hyprland.org/Getting-Started/Master-Tutorial/
  • there is active development (multiple commits daily), but there is a stable version as well
  • there are some login managers that don't play well (I don't use login managers, just boot and execute hyprland)

If you want to give it a try you can use my config (you have to carefully go through the config),
or there are a lot of configs around
https://github.com/romanstingler/dotfiles/tree/main/.config
You will need to install
Hyprland(or hyprland-git), xdg-desktop-portal-hyprland, waybar, wlogout, foot (as terminal, but you can change that in the config)

The IDE has Nord Theme installed

@hughesjs
Copy link

@Memoraike It is Hyprland https://hyprland.org/ (Wayland)

If you want to use it I have to tell you that you have to keep some things in mind.

* It is no install and use WM(Window manager)

* you have to go through its wiki https://wiki.hyprland.org/Getting-Started/Master-Tutorial/

* there is active development (multiple commits daily), but there is a stable version as well

* there are some login managers that don't play well (I don't use login managers, just boot and execute hyprland)

If you want to give it a try you can use my config (you have to carefully go through the config), or there are a lot of configs around https://github.com/romanstingler/dotfiles/tree/main/.config You will need to install Hyprland(or hyprland-git), xdg-desktop-portal-hyprland, waybar, wlogout, foot (as terminal, but you can change that in the config)

The IDE has Nord Theme installed

Can we keep this discussion on-topic please?

@igorrizhyi
Copy link

pycharm running basically fine except some minor things:

  • title bar is always shown regardless of settings and always white (tested on sway, the same goes for a fullscreen mode)
  • popups appear without focus (especially small ones with input element inside, like branch switching, etc)
  • crashes regularly with 'new ui' enabled

@romanstingler
Copy link

@igorrizhyi have you tried 2024.1 EAP and Java 21.336 ? There have been a few improvements

@andreaippo
Copy link

Hi,

I am still experiencing the bad font rendering issue when the window opens initially.

image

Once I do a restore/maximize window cycle, it goes back to smooth again:

image

I seem to remember there was an issue (fixed) about this, but I guess it should be reopened?

I'm on the latest EAP build and pulled JBR21 just a few hours ago.

Thanks!

@mkartashev
Copy link
Collaborator

Tab ain't working in the terminal

Can you be more specific, please? Creation of new Terminal tabs seems to work for me.

@andreaippo
Copy link

andreaippo commented Apr 2, 2024

Tab ain't working in the terminal

Can you be more specific, please? Creation of new Terminal tabs seems to work for me.

I think (and I can confirm), they meant Tab for completion.

I just tried to cd then hitting Tab for completing/showing path suggestions, and it wouldn't do anything.

N.B. I'm using the OLD terminal

@mkartashev
Copy link
Collaborator

Filed IDEA-350509 Wayland: tab completion doesn't work in the terminal

@mkartashev
Copy link
Collaborator

Hi,

I am still experiencing the bad font rendering issue when the window opens initially.

Please, create a separate issue for that. Symptoms are different (changing scale at run time vs. first window appearance); the underlying cause will also be different, I'm sure.

@andreaippo
Copy link

Hi,
I am still experiencing the bad font rendering issue when the window opens initially.

Please, create a separate issue for that. Symptoms are different (changing scale at run time vs. first window appearance); the underlying cause will also be different, I'm sure.

Thanks, reported here

https://youtrack.jetbrains.com/issue/JBR-6926/Wayland-fonts-are-aliased-grainy-on-first-start

@BananchickPasha
Copy link

Screencast.from.2024-04-03.15-19-42.webm

Is it bug or a feature? If my cursor is on place were ctrl-tab menu would oppen, then this menu switches between current file and explorer instead of latest opened files. Really annoys as I need to constantly monitor where my cursor currently is

@mkartashev
Copy link
Collaborator

Is it bug or a feature? If my cursor is on place were ctrl-tab menu would oppen, then this menu switches between current file and explorer instead of latest opened files. Really annoys as I need to constantly monitor where my cursor currently is

Looks like a bug to me. Although I cannot reproduce it myself.

@BananchickPasha
Copy link

Is it bug or a feature? If my cursor is on place were ctrl-tab menu would oppen, then this menu switches between current file and explorer instead of latest opened files. Really annoys as I need to constantly monitor where my cursor currently is

Cannot reproduce on xorg, so it's definitelly wayland issue.

@andreaippo
Copy link

Question: now that EAP is closed because the new version has been released, where can we get the most recent dev builds to keep testing Wayland and benefiting from the fixes that Maxim and the others are providing?

(ideally, without the need to compile them ourselves)

Thanks! :)

@andreaippo
Copy link

andreaippo commented Apr 5, 2024

I dunno if it's just me, but I can't launch junits in any of my Java projects.
Context menu is broken and keyboard shortcut is also not effective. Nothing happens.

Notice that my tool windows are set to docked + auto-hide (and I cannot set them back to NOT auto-hide). I thought the context menu entry being ineffective could be a consequence of this. But then the keyboard shortcut should work, instead that one is also ineffective, so...

Screencast_20240405_110133.webm

EDIT: mentioned here:
https://youtrack.jetbrains.com/issue/JBR-7072

since I suspect they are related (i.e. clicks on context menu items are ignored)

@imwints
Copy link

imwints commented Apr 5, 2024

Since AStudio based on 2024.1, I can get a wayland welcome screen, indicated by the white window bar, but when launching a project, it falls back to the old (probably xwayland) alternative, indicated by the visible top bar from intellij, which doesn't work on wayland. This didn't happen in the previous version, where the wayland welcome screen always launched a wayland project.

@hdm9527
Copy link

hdm9527 commented Apr 9, 2024

Idea cannot copy files, copying text works. idea version: 2024.1, jbr: 21.0.2b375.1

@avu
Copy link
Collaborator

avu commented Apr 9, 2024

Idea cannot copy files, copying text works. idea version: 2024.1, jbr: 21.0.2b375.1

Thanks for reporting, here is an issue: https://youtrack.jetbrains.com/issue/JBR-6894/Wayland-Not-able-to-copy-paste-files-gets-stuck-with-refactor-copy-file

@avu
Copy link
Collaborator

avu commented Apr 9, 2024

Question: now that EAP is closed because the new version has been released, where can we get the most recent dev builds to keep testing Wayland and benefiting from the fixes that Maxim and the others are providing?

(ideally, without the need to compile them ourselves)

Thanks! :)

We're going to bundle JBR21 runtime within 2024.2 releases of our products, so you'll get Wayland support (not by default of course) without any additional effort.

@avu
Copy link
Collaborator

avu commented Apr 9, 2024

Since AStudio based on 2024.1, I can get a wayland welcome screen, indicated by the white window bar, but when launching a project, it falls back to the old (probably xwayland) alternative, indicated by the visible top bar from intellij, which doesn't work on wayland. This didn't happen in the previous version, where the wayland welcome screen always launched a wayland project.

AStudio team builds Java Runtime by themselves using JBR sources, so when they migrate to JBR21 you'll get native wayland support.

@mkurz
Copy link

mkurz commented Apr 9, 2024

We're going to bundle JBR21 runtime within 2024.2 releases of our products, so you'll get Wayland support (not by default of course) without any additional effort.

@avu Do you expect "Wayland support" in 2024.2 to be stable and also, by then, will be the Vulkan work be done so we can use GPU acceleration when using Wayland?

@avu
Copy link
Collaborator

avu commented Apr 9, 2024

We're going to bundle JBR21 runtime within 2024.2 releases of our products, so you'll get Wayland support (not by default of course) without any additional effort.

@avu Do you expect "Wayland support" in 2024.2 to be stable and also, by then, will be the Vulkan work be done so we can use GPU acceleration when using Wayland?

@mkurz I suppose Wayland support will be stable enough to use it in most common configurations. However, we have limited resources so I wouldn't expect HW acceleration sooner than 2024.3

@andreaippo
Copy link

Question: now that EAP is closed because the new version has been released, where can we get the most recent dev builds to keep testing Wayland and benefiting from the fixes that Maxim and the others are providing?
(ideally, without the need to compile them ourselves)
Thanks! :)

We're going to bundle JBR21 runtime within 2024.2 releases of our products, so you'll get Wayland support (not by default of course) without any additional effort.

Thanks @avu !

Do you have any idea/can you anticipate when the next EAP program will start for 2024.2?

With many Wayland-related things still being worked on, I want to stay on the bleeding edge and install 2024.2 as soon as it becomes available (plus keep pulling from jbr21 on a regular basis to get your latest fixes).

Thanks :)

@hdm9527
Copy link

hdm9527 commented Apr 9, 2024

Idea cannot copy files, copying text works. idea version: 2024.1, jbr: 21.0.2b375.1

Thanks for reporting, here is an issue: https://youtrack.jetbrains.com/issue/JBR-6894/Wayland-Not-able-to-copy-paste-files-gets-stuck-with-refactor-copy-file

Thanks

@avu
Copy link
Collaborator

avu commented Apr 9, 2024

Question: now that EAP is closed because the new version has been released, where can we get the most recent dev builds to keep testing Wayland and benefiting from the fixes that Maxim and the others are providing?
(ideally, without the need to compile them ourselves)
Thanks! :)

We're going to bundle JBR21 runtime within 2024.2 releases of our products, so you'll get Wayland support (not by default of course) without any additional effort.

Thanks @avu !

Do you have any idea/can you anticipate when the next EAP program will start for 2024.2?

With many Wayland-related things still being worked on, I want to stay on the bleeding edge and install 2024.2 as soon as it becomes available (plus keep pulling from jbr21 on a regular basis to get your latest fixes).

Thanks :)

We'll have more frequent updates of JBR21 builds on github, but some features require changes in the IJ Platform itself, so please follow our blog for fresh EAP releases

@imwints
Copy link

imwints commented Apr 9, 2024

@avu

AStudio team builds Java Runtime by themselves using JBR sources, so when they migrate to JBR21 you'll get native wayland support.

Im using the jbr21 branch of this repository, and as the issue states, for testing. I was not expecting an IDEA upgrade to change any behavior of a custom build runtime (or I forgot to force the Runtime JDK somewhere)

@mkartashev
Copy link
Collaborator

I was not expecting an IDEA upgrade to change any behavior of a custom build runtime (or I forgot to force the Runtime JDK somewhere)

Please, note that for IDEA to work on Wayland well, almost as many things need updating on the IDEA side as on the JetBrains Runtime side. So if you want to stay "on the bleeding edge", you're going to need to update both and frequently.

@thequux
Copy link

thequux commented Apr 22, 2024

IntelliJ IDEA (2024.1.1 RC) started up with the latest commit on the jbr21 branch (43d0454), however the content of the window was unscaled and attempting to open the settings window resulted in the following crash:

[0.004s][warning][cds] Archived non-system classes are disabled because the java.system.class.loader property is specified (value = "com.intellij.util.lang.PathClassLoader"). To use archived non-system classes, this property must not be set
CompileCommand: exclude com/intellij/openapi/vfs/impl/FilePartNodeRoot.trieDescend bool exclude = true
2024-04-22 23:55:53,027 [    217]   WARN - #c.i.i.p.PluginManager - Problems found loading plugins:
  The gRPC (id=com.intellij.grpc, path=~/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate/plugins/grpc) plugin Requires plugin 'com.jetbrains.restClient' to be enabled
  The OpenAPI Specifications (id=com.intellij.swagger, path=~/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate/plugins/swagger) plugin Requires plugin 'com.jetbrains.restClient' to be enabled
  The [Deprecated] Rust (id=org.rust.lang, path=~/.local/share/JetBrains/IntelliJIdea2024.1/intellij-rust, version=233.15445) plugin Plugin '[Deprecated] Rust' (version '233.15445') is not compatible with the current version of the IDE, because it requires build 233.* or older but the current build is IU-241.15989.69
WARNING: A Java agent has been loaded dynamically (/tmp/byteBuddyAgent5760786902757174481.jar)
WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning
WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information
WARNING: Dynamic loading of agents will be disallowed by default in a future release
2024-04-22 23:55:55,075 [   2265]   WARN - #c.i.i.u.l.LafManagerImpl - VersionControl.Log.Commit.rowHeight = null in LookAndFeelThemeAdapter; it may lead to performance degradation
2024-04-22 23:55:55,226 [   2416]   WARN - #c.i.s.ComponentManagerImpl - com.intellij.platform.ide.menu.GlobalMenuLinux <clinit> requests com.intellij.openapi.application.Experiments instance. Class initialization must not depend on services. Consider using instance of the service on-demand instead.
2024-04-22 23:55:55,668 [   2858]   WARN - #c.i.e.t.TargetBasedSdks - SDK target configuration data is absent
2024-04-22 23:55:55,676 [   2866]   WARN - #c.i.e.t.TargetBasedSdks - SDK target configuration data is absent
2024-04-22 23:55:55,740 [   2930]   WARN - #c.i.s.ComponentManagerImpl - org.jetbrains.kotlin.idea.gradleJava.scripting.roots.GradleBuildRootDataSerializer <clinit> requests com.intellij.util.gist.storage.GistStorage instance. Class initialization must not depend on services. Consider using instance of the service on-demand instead.
2024-04-22 23:55:56,524 [   3714]   WARN - #c.i.u.j.JBCefApp - JCefAppConfig.class is not from a JBR module, url: jar:file:/home/thequux/.local/share/JetBrains/Toolbox/apps/intellij-idea-ultimate/lib/lib-client.jar!/com/jetbrains/cef/JCefAppConfig.class (Use JBR bundled with the IDE)
wl_surface@34: error 2: Buffer size (967x730) is not divisible by scale (2)
2024-04-22 23:56:17,811 [  25001] SEVERE - sun.awt.wl.WLToolkit - Wayland protocol I/O error
2024-04-22 23:56:17,817 [  25007] SEVERE - #c.i.o.a.i.FlushQueue - Wayland display error flushing data out to the server
java.awt.AWTError: Wayland display error flushing data out to the server
	at java.desktop/sun.awt.wl.WLComponentPeer.nativeSetCursor(Native Method)
	at java.desktop/sun.awt.wl.WLComponentPeer.lambda$setCursor$12(WLComponentPeer.java:869)
	at java.desktop/sun.awt.wl.WLComponentPeer.performLockedGlobal(WLComponentPeer.java:1356)
	at java.desktop/sun.awt.wl.WLComponentPeer.setCursor(WLComponentPeer.java:851)
	at java.desktop/sun.awt.wl.WLComponentPeer.updateCursorImmediately(WLComponentPeer.java:830)
	at java.desktop/sun.awt.wl.WLComponentPeer.updateCursorImmediately(WLComponentPeer.java:823)
	at java.desktop/java.awt.Component.updateCursorImmediately(Component.java:3259)
	at java.desktop/java.awt.Container.removeAll(Container.java:1348)
	at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.actionsUpdated(ActionToolbarImpl.java:1077)
	at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.updateActionsImpl(ActionToolbarImpl.java:1013)
	at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl$1.updateActionsImpl(ActionToolbarImpl.java:205)
	at com.intellij.openapi.actionSystem.impl.ToolbarUpdater$MyUpdateRunnable.run(ToolbarUpdater.java:178)
	at com.intellij.openapi.actionSystem.impl.ToolbarUpdater.updateActions(ToolbarUpdater.java:81)
	at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.updateActionsWithoutLoadingIcon(ActionToolbarImpl.java:985)
	at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.updateActionsImmediately(ActionToolbarImpl.java:979)
	at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.updateActionsImmediately(ActionToolbarImpl.java:958)
	at com.intellij.openapi.actionSystem.impl.ActionToolbarImpl.lambda$updateActionsOnAdd$3(ActionToolbarImpl.java:351)
	at com.intellij.util.ui.update.UiNotifyConnector$1.showNotify(UiNotifyConnector.java:232)
	at com.intellij.util.ui.update.UiNotifyConnector.showNotify(UiNotifyConnector.java:139)
	at com.intellij.util.ui.update.UiNotifyConnector$2.showNotify(UiNotifyConnector.java:241)
	at com.intellij.util.ui.update.UiNotifyConnector.lambda$hierarchyChanged$0(UiNotifyConnector.java:113)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:22)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
	at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:204)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830)
	at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:419)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:138)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:129)
	at com.intellij.openapi.application.impl.ApplicationImpl.runWithImplicitRead(ApplicationImpl.java:1152)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:81)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:123)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:43)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:781)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:728)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:750)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:699)
	at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$12(IdeEventQueue.kt:593)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithoutImplicitRead(RwLockHolder.kt:105)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:593)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:77)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:362)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:361)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:843)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:361)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:356)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1022)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:114)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1022)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:356)
	at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:204)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:398)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:121)
	at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:191)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:236)
	at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:234)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:319)
	at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:234)
	at java.desktop/java.awt.Dialog.show(Dialog.java:1079)
	at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:898)
	at com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:474)
	at com.intellij.openapi.ui.DialogWrapper.doShow(DialogWrapper.java:1754)
	at com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1703)
	at com.intellij.ide.actions.ShowSettingsUtilImpl.showSettingsDialog(ShowSettingsUtilImpl.kt:104)
	at com.intellij.ide.actions.ShowSettingsAction.perform(ShowSettingsAction.java:61)
	at com.intellij.ide.actions.ShowSettingsAction.actionPerformed(ShowSettingsAction.java:48)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.doPerformActionOrShowPopup(ActionUtil.kt:304)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks$lambda$4(ActionUtil.kt:275)
	at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.performWithActionCallbacks(ActionManagerImpl.kt:1161)
	at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAwareWithCallbacks(ActionUtil.kt:274)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.performAction$lambda$5(ActionMenuItem.kt:269)
	at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:227)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.performAction(ActionMenuItem.kt:260)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem._init_$lambda$0(ActionMenuItem.kt:71)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed$lambda$4(ActionMenuItem.kt:102)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:106)
	at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:95)
	at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.kt:101)
	at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:525)
	at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:558)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6662)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3394)
	at java.desktop/java.awt.Component.processEvent(Component.java:6427)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5032)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4860)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4963)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4577)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4518)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2811)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4860)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:783)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:728)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:98)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:755)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:753)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:752)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:699)
	at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:638)
	at com.intellij.ide.IdeEventQueue._dispatchEvent$lambda$10(IdeEventQueue.kt:584)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithEnabledImplicitRead(RwLockHolder.kt:138)
	at com.intellij.openapi.application.impl.RwLockHolder.runWithImplicitRead(RwLockHolder.kt:129)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:584)
	at com.intellij.ide.IdeEventQueue.access$_dispatchEvent(IdeEventQueue.kt:77)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:362)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1$1.compute(IdeEventQueue.kt:361)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:843)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:361)
	at com.intellij.ide.IdeEventQueue$dispatchEvent$processEventRunnable$1$1.invoke(IdeEventQueue.kt:356)
	at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:1022)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:114)
	at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1022)
	at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$7(IdeEventQueue.kt:356)
	at com.intellij.openapi.application.impl.RwLockHolder.runIntendedWriteActionOnCurrentThread(RwLockHolder.kt:209)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:830)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:398)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

This was followed by a number of stack traces reporting similar errors. The only one that is slightly concerning is 2024-04-22 23:56:18,049 [ 25239] SEVERE - #c.i.u.i.i.MapReduceIndex - ProcessCanceledException is not expected here!, but I suspect this is also a direct result of the windowing system falling apart. I've attached the full output for your perusal
full-stacktrace-2024-04-23.log

@andreaippo
Copy link

andreaippo commented Apr 23, 2024

Mouse pointer does not change when hovered over Gutter Icons.

E.g. from a Junit test:

image

Whereas on X11 it becomes a "hand" cursor as when you're hovering a link:

image

EDIT: reported here https://youtrack.jetbrains.com/issue/JBR-7071/

@quangIO
Copy link

quangIO commented May 4, 2024

There are some issues for me on RustRover using JBR-21.0.2+13-375.1-jcef on KDE Wayland:

  • UI hang sometime when creating new file from code action: mod foobar; create new file ...; the program hangs with infinite loading spinner
    image
  • Terminal doesn't take input like Ctrl + C (SIGTERM), Ctrl + D (EOF), Tab (completion)

@andreaippo
Copy link

There are some issues for me on RustRover using JBR-21.0.2+13-375.1-jcef on KDE Wayland:

  • UI hang sometime when creating new file from code action: mod foobar; create new file ...; the program hangs with infinite loading spinner
    image
  • Terminal doesn't take input like Ctrl + C (SIGTERM), Ctrl + D (EOF), Tab (completion)

Hi,
The second issue had been fixed on jbr21 8 days ago via https://youtrack.jetbrains.com/issue/JBR-7063/Wayland-tab-completion-doesnt-work-in-the-terminal

Just pull again 😉

@quangIO
Copy link

quangIO commented May 4, 2024

Thanks! I downloaded the binary and it fixed the second problem. The first problem is still there. Although I don't know how to reliably trigger it.

FYI For all people like me who is too lazy to recompile JBR, you can download the new binary even before it is listed on the release page. For example:
https://cache-redirector.jetbrains.com/intellij-jbr/jbr_jcef-21.0.3-linux-x64-b446.1.tar.gz

@andreaippo
Copy link

Thanks! I downloaded the binary and it fixed the second problem. The first problem is still there. Although I don't know how to reliably trigger it.

FYI For all people like me who is too lazy to recompile JBR, you can download the new binary even before it is listed on the release page. For example:
https://cache-redirector.jetbrains.com/intellij-jbr/jbr_jcef-21.0.3-linux-x64-b442.1.tar.gz

Glad to hear that!

I didn't know about the binary, but I guess I got used to pulling and making with a single bash command, it's much more automatable than having to browse for release files on the web, unzip etc

Also, compiling doesn't take much time if you got a somewhat recent machine (and by downloading you have to account for the longer download time when compared to just pulling the changes via git)

@mkartashev
Copy link
Collaborator

There are some issues for me on RustRover using JBR-21.0.2+13-375.1-jcef on KDE Wayland:

* UI hang sometime when creating new file from code action: mod foobar; create new file ...; the program hangs with infinite loading spinner

This might be JBR-7047 Deadlock on git fetch on Wayland
The fix is currently in the works, so expect an update soon.

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