Summary: | DRM/GBM Feezes on Raspberry Pi 3 Model B+ | ||
---|---|---|---|
Product: | [JogAmp] Jogl | Reporter: | Sven Gothel <sgothel> |
Component: | embedded | Assignee: | Sven Gothel <sgothel> |
Status: | RESOLVED FIXED | ||
Severity: | blocker | CC: | xerxes |
Priority: | P4 | ||
Version: | 2.4.0 | ||
Hardware: | embedded_arm | ||
OS: | linux | ||
Type: | DEFECT | SCM Refs: |
22ee0cfa7dc3f3a7ac5e30322537196dcab8b310
0094f906b423ea4ad21da5de34076e066b9122b9
43dd50a8545f8fde8198091b136aece6f062cb38
54d34cb749dd877fffcbb2d33cc3707763b94b7e
4665875ac4689885da3b4a4c45cde7c6886322e3
|
Workaround: | --- | ||
Bug Depends on: | 1156, 1408 | ||
Bug Blocks: | |||
Attachments: |
Log-02 (Inflated w/ Launcher0)
JStack-02 (Inflated w/ Launcher0) |
Description
Sven Gothel
2019-12-04 04:33:29 CET
22ee0cfa7dc3f3a7ac5e30322537196dcab8b310 Bug 1405: Provide stand alone demo launcher reducing complexity The launcher script also allows inflating classes and native libs to test impact on Raspberry Pi 3 Model B+. Created attachment 828 [details]
Log-02 (Inflated w/ Launcher0)
Created attachment 829 [details]
JStack-02 (Inflated w/ Launcher0)
Vanilla 2019-09-26-raspbian-buster-lite.img installation, see Bug 1406 comment 7 0094f906b423ea4ad21da5de34076e066b9122b9 Bug 1406: demos.Launcher0: More tests .. Misc: - Remove unused SysExit.. - showFPS=true default - allow setting 'useDoubleBuffer' via '-single' - demos.es2.GearsES2: Don't be verbose on display even w/o animator IF '-noanim', issue glWindow.display() from main thread instead of using the animator thread otherwise. This shall test the swap buffering code in single threaded mode! 43dd50a8545f8fde8198091b136aece6f062cb38 Bug 1406: demos.Launcher0: More code path reduction: useMultiplePointerIcon must be enabled via -pointerIcon 54d34cb749dd877fffcbb2d33cc3707763b94b7e Bug 1156, Bug 1406: NEWT DRM/GBM WindowDriver.surfaceSwap(): Pass swapInterval to optionally skip VSYNC if 0 (In reply to Sven Gothel from comment #5) The demos.Launcher0 can be kicked off: <--- cd projects/JogAmp/jogl/make bash scripts/test-demo-launcher0.sh `which java` ../build-linux-armv6hf -time 10000 --> Additional test arguments to reduce code path are: '- noanim' Disables Animator thread 'display()' calls, use main-thread instead '-vsync 0' Disable VSYNC, i.e. no DRM page flip and select wait loop '-mappedBuffers' Use a GPU storage mapped VBO, instead of host data to be copied to the VBO Notable: All fails, but adding '-mappedBuffers' to the test suddenly makes the wheel spin w/o immediate freeze! <--- cd projects/JogAmp/jogl/make bash scripts/test-demo-launcher0.sh `which java` ../build-linux-armv6hf -time 10000 -noanim -vsync 0 -mappedBuffers --> (In reply to Sven Gothel from comment #6) > Notable: All fails, but adding '-mappedBuffers' to the test > suddenly makes the wheel spin w/o immediate freeze! > > <--- > cd projects/JogAmp/jogl/make > bash scripts/test-demo-launcher0.sh `which java` ../build-linux-armv6hf > -time 10000 -noanim -vsync 0 -mappedBuffers > --> False alarm, it is more like every 1/3 tests launches w/o freeze :-( (In reply to Sven Gothel from comment #7) > (In reply to Sven Gothel from comment #6) > > Notable: All fails, but adding '-mappedBuffers' to the test > > suddenly makes the wheel spin w/o immediate freeze! > > > > <--- > > cd projects/JogAmp/jogl/make > > bash scripts/test-demo-launcher0.sh `which java` ../build-linux-armv6hf > > -time 10000 -noanim -vsync 0 -mappedBuffers > > --> > > False alarm, it is more like every 1/3 tests launches w/o freeze :-( Yeah, sometimes more often it goes through .. sometimes not. This even w/ '-vsync 1' and no '-mappedBuffers'. Tough freeze/instability issue .. 4665875ac4689885da3b4a4c45cde7c6886322e3 Bug 1406, Bug 1405: demos.Launcher0: No sleep w/o animator. VSYNC setting rules (launch script w/ key tracker) +++ Further testing including Raspi 4 (Bug 1406) shows that the earlier change of reducing the PointerIcon setup commit 43dd50a8545f8fde8198091b136aece6f062cb38 increased stability. On Raspi 4, we also see that modifying the pointer-icon using DRM via key press 'i' (visibility) may cause a freeze while rotation keys '<-' etc do not. Maybe we have found one more reliable culprit here.. (In reply to Sven Gothel from comment #9) > Further testing including Raspi 4 (Bug 1406) > shows that the earlier change of reducing the PointerIcon setup > commit 43dd50a8545f8fde8198091b136aece6f062cb38 > increased stability. > > On Raspi 4, we also see that modifying the pointer-icon > using DRM via key press 'i' (visibility) may cause a freeze > while rotation keys '<-' etc do not. > Maybe we have found one more reliable culprit here.. Reproduced the freeze on a GNU/Linux x86_64 Intel Broadwell device. See Bug 1408 comment 0. Fixed, see Bug 1408 comment 7 |