sane default option values for Linux
Philip Race
philip.race at oracle.com
Wed Mar 18 19:36:33 UTC 2020
Some of the latest Linuxes don't even include GTK2 by default !
Its only a step away from them not being even available as an optional
download.
> ...although I honestly don't think this was a regression introduced
in JavaFX...
> literally every graphical application segfaults now, including games
like Minecraft..
Since Minecraft does not use Swing, Java2D, AWT or JavaFx *at all* - not
even loading them - it
definitely there can't be anything in the Java client stack that is
causing it.
So if switching to GTK2 miraculously cures it, then that seems like a
coincidence
and not anything we are doing. It could be a change elsewhere in the
JDK, if it
reproduces today with 12+ but not 11, but bringing it up on this list,
or requesting
this workaround, both seem to be pointing in the wrong direction.
And Kevin's suggestion of a driver bug seems possible + worth looking into.
-phl
On 3/18/20, 5:04 AM, Kevin Rushforth wrote:
>
> > Regardless, the other issues are still valid. Can we please have
> GTK2 set as default along with force painter uploading?
>
> No, we are not going to do this. GTK 2 is on its way out. GTK 3 has
> been the default for both AWT and JavaFX since JDK 11 / JavaFX 11. I'd
> much rather see energy going into fixing any remaining GTK 3 issues
> than take a step backwards.
>
> The other issues you are seeing relating to the need for
> "forceUploadingPainter" and the crash in libnvidia-glcore are
> indicative of a possible graphics driver bug. We do plenty of testing
> on Linux and haven't see reports of the problems you are having. The
> likely solution would be to blacklist that driver and fall back to the
> software pipeline. You might consider "-Dprism.order=sw" rather than
> using forceUploadingPainter (the latter is only intended for testing
> and not recommended for production).
>
> -- Kevin
>
>
> On 3/18/2020 12:48 AM, Ty Young wrote:
>> After going through varies JDK versions from OpenJDK from 8 to
>> present, it seems like the segfault issues was introduced elsewhere
>> at about JDK12/13.
>>
>>
>> Regardless, the other issues are still valid. Can we please have GTK2
>> set as default along with force painter uploading?
>>
>>
>> On 3/17/20 6:54 AM, Ty Young wrote:
>>> Hi all,
>>>
>>>
>>> After many months of being unable to run my JavaFX application due
>>> to transitioning to the new Project Panama MemoryAccess API(for
>>> native C calling, of course), I've finally gotten things to
>>> semi-working order and able to tryout JavaFX 14... only to find out
>>> that JavaFX on Linux is still buggy without specifying runtime args.
>>>
>>>
>>> To recap for those who don't develop JavaFX on Linux or use it, if
>>> you don't have -Dprism.forceUploadingPainter=true set, JavaFX
>>> applications will suffer from buffer zeroing when resizing an
>>> application. This affects *ALL* JavaFX applications. There are still
>>> GTK3 bugs and regressions that, since it was enabled by default back
>>> in JavaFX 11(IIRC) still haven't been fixed. If you try to use GTK3
>>> right now with JavaFX 14 you get a GDK warning:
>>>
>>>
>>> (java:64002): Gdk-WARNING **: 06:23:04.022: Native Windows wider or
>>> taller than 32767 pixels are not supported
>>>
>>>
>>> This is not so if GTK 2 is specified by doing: -Djdk.gtk.version=2.
>>> No application code requests a window that tall or wide.
>>>
>>>
>>> As a bonus, something new that was introduced in Java 13(12?) and
>>> later is that exiting a JavaFX application will cause a segfault:
>>>
>>>
>>> # A fatal error has been detected by the Java Runtime Environment:
>>> #
>>> # SIGSEGV (0xb) at pc=0x00007fbfbad22d9d, pid=68034, tid=68044
>>> #
>>> # JRE version: OpenJDK Runtime Environment (15.0) (build
>>> 15-internal+0-adhoc.ty.panama-foreign-foreign-jextractnew)
>>> # Java VM: OpenJDK 64-Bit Server VM
>>> (15-internal+0-adhoc.ty.panama-foreign-foreign-jextractnew, mixed
>>> mode, sharing, tiered, compressed oops, g1 gc, linux-amd64)
>>> # Problematic frame:
>>> # C [libnvidia-glcore.so.440.64+0xa95d9d]
>>>
>>>
>>> ...although I honestly don't think this was a regression introduced
>>> in JavaFX... literally every graphical application segfaults now,
>>> including games like Minecraft... but regardless it happens when
>>> exiting a JavaFX application too. Originally I thought it was a bug
>>> caused by the Project Panama builds but it's been persistent for
>>> over a year now. I'm guessing something broke in JDK proper.
>>>
>>>
>>> Anyway, point of this email isn't to complain that no one is testing
>>> JavaFX on Linux(clearly no one is, by the by), but to ask why sane
>>> defaults aren't being used. Anyone developing a JavaFX application
>>> on and/or for Linux(god help them) is not going to know how to fix
>>> problems caused by GTK3 or by not forcing painter uploading, so, if
>>> no one is going to fix these issues(which is fine, I guess), why not
>>> use config options that are known to work properly?
>>>
>
More information about the openjfx-dev
mailing list