Graphical quirks/glitches running over X forwarding
Graphical quirks/glitches running over X forwarding
I'm testing filebot running on my Debian Jessie server over ssh X forwarding to my mac desktop using Xquartz.
While the app is functional, there are several graphical glitches. I'm thinking this might be related to the widgets used in the app, but I don't have a lot of experience running apps this way, other than SpiderOak which works properly (no glitches, window resize works, etc.).
Bits of the interface indicated in the screenshots below are missing
http://imgur.com/5C5RVP9
http://imgur.com/4qH0eSI
In addition, when I'm using the rename function and it finds multiple matching films and asks me to select the correct one, each time I'm presented with that dialog, it gets bigger and bigger, until the submit button and the resize widget in the lower right are off screen. Attempting to drag the window so I can reach the buttons & resize leaves visual artifacts all over the place, until the app becomes unusable and I close and reopen it.
I've tested with the linux java options on this page but they haven't resolved the issue http://docs.oracle.com/javase/8/docs/te ... s.html#d3d
I'm running filebot 4.7.8, XQuartz 2.7.11 (xorg-server 1.18.4), Mac OS 10.12.4 and Java 8.
I suspect not many people are running the app this way, but if anyone can provide guidance on what else to explore, logs, etc. I'd appreciate it.
While the app is functional, there are several graphical glitches. I'm thinking this might be related to the widgets used in the app, but I don't have a lot of experience running apps this way, other than SpiderOak which works properly (no glitches, window resize works, etc.).
Bits of the interface indicated in the screenshots below are missing
http://imgur.com/5C5RVP9
http://imgur.com/4qH0eSI
In addition, when I'm using the rename function and it finds multiple matching films and asks me to select the correct one, each time I'm presented with that dialog, it gets bigger and bigger, until the submit button and the resize widget in the lower right are off screen. Attempting to drag the window so I can reach the buttons & resize leaves visual artifacts all over the place, until the app becomes unusable and I close and reopen it.
I've tested with the linux java options on this page but they haven't resolved the issue http://docs.oracle.com/javase/8/docs/te ... s.html#d3d
I'm running filebot 4.7.8, XQuartz 2.7.11 (xorg-server 1.18.4), Mac OS 10.12.4 and Java 8.
I suspect not many people are running the app this way, but if anyone can provide guidance on what else to explore, logs, etc. I'd appreciate it.
Re: Graphical quirks/glitches running over X forwarding

OpenGL and XRender could potentially make a differnce though:
http://docs.oracle.com/javase/8/docs/te ... tml#opengl
http://docs.oracle.com/javase/8/docs/te ... ml#xrender
Please run filebot -script fn:sysinfo and post the output.
Re: Graphical quirks/glitches running over X forwarding
I explored the opengl, xrender and pmoffscreen options without resolving the issue.
Here's the output with personal data redacted:
Here's the output with personal data redacted:
Code: Select all
FileBot 4.7.8 (r4846)
JNA Native: 5.1.0
MediaInfo: 0.7.92.1
7-Zip-JBinding: 9.20
Chromaprint: 1.4.2
Extended Attributes: OK
Unicode Filesystem: OK
GVFS: groovy.lang.MissingPropertyException: No such property: net for class: Script1
Possible solutions: now, log, _def
Script Bundle: 2017-04-03 (r494)
Groovy: 2.4.8
JRE: Java(TM) SE Runtime Environment 1.8.0_121
JVM: 64-bit Java HotSpot(TM) 64-Bit Server VM
CPU/MEM: 4 Core / 1 GB Max Memory / 24 MB Used Memory
OS: Linux (amd64)
Package: DEB
Data: /home/<username>/.filebot
uname: Linux <servername> 3.16.0-4-amd64 #1 SMP Debian 3.16.39-1+deb8u2 (2017-03-07) x86_64 GNU/Linux
------------------- UPDATE AVAILABLE: FileBot 4.7.9 (r4984) --------------------
Done ヾ(@⌒ー⌒@)ノ
Re: Graphical quirks/glitches running over X forwarding
Have you tried this?
And this?
And this?
You can use this script to verify that you're indeed passing along the options correctly:
Code: Select all
export JAVA_OPTS="-Dsun.java2d.xrender=False -Dsun.java2d.opengl=False"
Code: Select all
export JAVA_OPTS="-Dsun.java2d.xrender=True -Dsun.java2d.opengl=False"
Code: Select all
export JAVA_OPTS="-Dsun.java2d.xrender=False -Dsun.java2d.opengl=True"
You can use this script to verify that you're indeed passing along the options correctly:
Code: Select all
filebot -script fn:sysenv
Re: Graphical quirks/glitches running over X forwarding
Issue still present with any of those options
Code: Select all
export _JAVA_OPTIONS="-Dsun.java2d.xrender=False -Dsun.java2d.opengl=False"
filebot
Picked up _JAVA_OPTIONS: -Dsun.java2d.xrender=False -Dsun.java2d.opengl=False
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Failed in glXMakeCurrent
Code: Select all
export _JAVA_OPTIONS="-Dsun.java2d.xrender=True -Dsun.java2d.opengl=False"
filebot
Picked up _JAVA_OPTIONS: -Dsun.java2d.xrender=True -Dsun.java2d.opengl=False
WARNING: The version of libXrender.so cannot be detected.
,The pipe line will be enabled, but note that versions less than 0.9.3
may cause hangs and crashes
See the release notes for more details.
XRender pipeline enabled
Xrender: INFO: Jules library not installed.
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Failed in glXMakeCurrent
Code: Select all
export _JAVA_OPTIONS="-Dsun.java2d.xrender=False -Dsun.java2d.opengl=True"
filebot
Picked up _JAVA_OPTIONS: -Dsun.java2d.xrender=False -Dsun.java2d.opengl=True
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Could not enable OpenGL pipeline for default config on screen 0
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Failed in glXMakeCurrent
Re: Graphical quirks/glitches running over X forwarding
I see a lot of OpenGL errors in those logs. You have graphics glitches. Maybe there's a connection? Maybe not. But I'd try googling for some of these error messages and see if there's a way to fix them.
Re: Graphical quirks/glitches running over X forwarding
In my SSH session setting
export LIBGL_ALWAYS_INDIRECT=1
resolves
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
on the mac setting
defaults write org.macosforge.xquartz.X11 enable_iglx -bool true
resolves
Failed in glXMakeCurrent
but I have a new error
Prism-ES2 Error : GL_VERSION (major.minor) = 1.4
research suggests this is a warning only and will be fixed in java 9
Regarding FX8:
Prism-ES2 Error : GL_VERSION (major.minor) = 1.4 message is not an error but notification message. It will be removed in jdk8 release: https://javafx-jira.kenai.com/browse/RT-29273
https://bugs.openjdk.java.net/browse/JDK-8088421
Glitches are still there despite the above. When I have a moment, I'll try x forwarding from a Debian VM and post results.
export LIBGL_ALWAYS_INDIRECT=1
resolves
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
on the mac setting
defaults write org.macosforge.xquartz.X11 enable_iglx -bool true
resolves
Failed in glXMakeCurrent
but I have a new error
Prism-ES2 Error : GL_VERSION (major.minor) = 1.4
research suggests this is a warning only and will be fixed in java 9
Regarding FX8:
Prism-ES2 Error : GL_VERSION (major.minor) = 1.4 message is not an error but notification message. It will be removed in jdk8 release: https://javafx-jira.kenai.com/browse/RT-29273
https://bugs.openjdk.java.net/browse/JDK-8088421
Glitches are still there despite the above. When I have a moment, I'll try x forwarding from a Debian VM and post results.
Re: Graphical quirks/glitches running over X forwarding
Works fine from a Debian VM to a Debian server.
On the mac/xquartz, I see this output in my terminal whenever I click a button in the filebot interface:
http://stackoverflow.com/questions/3418 ... id-7172749
The fix suggested on stack (export _JAVA_OPTIONS="-Dsun.java2d.xrender=False) does not resolve the issue for me.
On the mac/xquartz, I see this output in my terminal whenever I click a button in the filebot interface:
Code: Select all
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: sun.awt.image.BufImgSurfaceData cannot be cast to sun.java2d.xr.XRSurfaceData
at sun.java2d.xr.XRPMBlitLoops.cacheToTmpSurface(XRPMBlitLoops.java:148)
at sun.java2d.xr.XrSwToPMScaledBlit.Scale(XRPMBlitLoops.java:381)
at sun.java2d.pipe.DrawImage.scaleSurfaceData(DrawImage.java:988)
at sun.java2d.pipe.DrawImage.renderImageScale(DrawImage.java:641)
at sun.java2d.pipe.DrawImage.scaleImage(DrawImage.java:724)
at sun.java2d.pipe.DrawImage.scaleImage(DrawImage.java:1068)
at sun.java2d.pipe.ValidatePipe.scaleImage(ValidatePipe.java:219)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3398)
at sun.java2d.SunGraphics2D.drawImage(SunGraphics2D.java:3342)
at javax.swing.plaf.nimbus.ImageScalingHelper.drawChunk(ImageScalingHelper.java:238)
at javax.swing.plaf.nimbus.ImageScalingHelper.paint(ImageScalingHelper.java:170)
at javax.swing.plaf.nimbus.LoweredBorder.doPaint(LoweredBorder.java:117)
at javax.swing.plaf.nimbus.AbstractRegionPainter.paint0(AbstractRegionPainter.java:731)
at javax.swing.plaf.nimbus.AbstractRegionPainter.paint(AbstractRegionPainter.java:155)
at javax.swing.plaf.nimbus.LoweredBorder.paintBorder(LoweredBorder.java:182)
at javax.swing.plaf.BorderUIResource.paintBorder(BorderUIResource.java:113)
at javax.swing.border.TitledBorder.paintBorder(TitledBorder.java:316)
at javax.swing.JComponent.paintBorder(JComponent.java:949)
at javax.swing.JComponent.paint(JComponent.java:1057)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at javax.swing.JComponent.paintChildren(JComponent.java:889)
at javax.swing.JComponent.paint(JComponent.java:1065)
at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210)
at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
at javax.swing.JComponent._paintImmediately(JComponent.java:5158)
at javax.swing.JComponent.paintImmediately(JComponent.java:4969)
at javax.swing.RepaintManager$4.run(RepaintManager.java:854)
at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Sounds similar to my issue.The effect of this exception is, that the whole window of jEdit or parts are not drawn and stay white.
The fix suggested on stack (export _JAVA_OPTIONS="-Dsun.java2d.xrender=False) does not resolve the issue for me.
Re: Graphical quirks/glitches running over X forwarding
If I understand this and the results of the rest of my searching correctly, this is a bug in Java 8. Not present in Java 7 and scheduled for fix in Java 9.
https://bugs.openjdk.java.net/browse/JDK-7172749
I'll use it from a VM in the meantime.
Thanks for your followup.
https://bugs.openjdk.java.net/browse/JDK-7172749
I'll use it from a VM in the meantime.
Thanks for your followup.
Re: Graphical quirks/glitches running over X forwarding
1.
Does _JAVA_OPTIONS work for all System Properties? I would not be 100% sure of that...
Check your assumptions:
2.
Presumably, sun.java2d.xr refers to the XRender pipeline, so I have reason to believe it's still using XRender, which would explain why it doesn't work, since XRender hasn't actually been disabled:
Does _JAVA_OPTIONS work for all System Properties? I would not be 100% sure of that...
Check your assumptions:
Code: Select all
export _JAVA_OPTS="-Dorg.example.test=true"
filebot -script fn:sysenv | grep "org.example.test"
2.
Presumably, sun.java2d.xr refers to the XRender pipeline, so I have reason to believe it's still using XRender, which would explain why it doesn't work, since XRender hasn't actually been disabled:
Code: Select all
at sun.java2d.xr.XRPMBlitLoops.cacheToTmpSurface(XRPMBlitLoops.java:148)
Re: Graphical quirks/glitches running over X forwarding
Here you go:
Code: Select all
# export _JAVA_OPTIONS="-Dorg.example.test=true"
# filebot -script fn:sysenv | grep "org.example.test"
Picked up _JAVA_OPTIONS: -Dorg.example.test=true
_JAVA_OPTIONS: -Dorg.example.test=true
org.example.test: true