JDK-6509038 : Beryl support in AWT/Swing as a NonReparenting WM
  • Type: Enhancement
  • Component: client-libs
  • Sub-Component: java.awt
  • Affected Version: 6
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: linux
  • CPU: x86
  • Submitted: 2007-01-03
  • Updated: 2011-01-19
  • Resolved: 2009-05-06
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
FULL PRODUCT VERSION :
java version "1.6.0-internal"
Java(TM) SE Runtime Environment (build 1.6.0-internal-brad_30_dec_2006_20_53-b00)
Java HotSpot(TM) 64-Bit Server VM (build 1.6.0-internal-brad_30_dec_2006_19_05-b00, mixed mode)


ADDITIONAL OS VERSION INFORMATION :
Linux the-uberbeast 2.6.19-gentoo-r2 #1 SMP Thu Dec 21 20:16:21 UTC 2006 x86_64 Dual Core AMD Opteron(tm) Processor 285 AuthenticAMD GNU/Linux


EXTRA RELEVANT SYSTEM CONFIGURATION :
nvidia-drivers-1.0.9631, AIGLX, Beryl-0.1.3

A DESCRIPTION OF THE PROBLEM :
Similar to bug report 6429775, grey windows when using Swing applications (MatLAB 2006b's Desktop) while running Beryl Window Manager.  Verified that previous example code:

import javax.swing.*;

public class WmTest extends JFrame {

public WmTest () {
    JLabel l = new JLabel ("WM Test");

    this.getContentPane().add(l);
    this.setSize(256, 256);

    //this.pack();
    this.setVisible (true);
}

public static void
main (String args[]) {
    WmTest r = new WmTest ();
}

}

still fails on jdk6u1 binary snapshot.  Likely due to only "compiz" being detected in AWT as Non-reparenting.

STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Run above test code under Beryl WM.  Judging by what I've found online, underlying 3d support (AIGLX vs. XGL) should not matter.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Application window showing "WmTest" text inside
ACTUAL -
Application window is all grey

REPRODUCIBILITY :
This bug can be reproduced always.

---------- BEGIN SOURCE ----------
import javax.swing.*;

public class WmTest extends JFrame {

public WmTest () {
    JLabel l = new JLabel ("WM Test");

    this.getContentPane().add(l);
    this.setSize(256, 256);

    //this.pack();
    this.setVisible (true);
}

public static void
main (String args[]) {
    WmTest r = new WmTest ();
}

}
---------- END SOURCE ----------

Comments
EVALUATION Since the Beryl window manager is no longer actively being developed, there's no need to keep this CR open. However, some problems still exist when running on Compiz window manager. These are going to be addressed with 6632124 in JDK 7 (the fix is present in 6 since 6u10).
2009-05-06

EVALUATION Just noticed today: http://lists.freedesktop.org/archives/compiz/2007-April/001809.html It looks like it is good to be a little bit lazy :) Perhpas this letter also means that I should close this CR (not sure, perhaps it is better to postpone this a little ;)
2007-04-06

EVALUATION I think that after adding support for Compiz (7.0 and 6u1) it should be rather easy to add support for Beryl. But this WM is unsupported for now and so the priority of this bug is very low. So, I'll keep it opened but will not work on it until some sunny day I'll have to spend on a beach :) or someone will submit fix for the problem.
2007-01-08

EVALUATION I think that after adding su
2007-01-08

EVALUATION Unfortunately, AWT can't support every window manager separately - there are a lot of them.
2007-01-06