hilbert / hilbert-docker-images

Application with a dynamic choice of docker containers to run
Apache License 2.0
22 stars 8 forks source link

electron kiosk seems to have problems with 4k textures #16

Closed porst17 closed 8 years ago

porst17 commented 8 years ago

Many WebGL demos work on the host but not inside the kiosk container if big textures (like 4k: 4096xsomething) are used. Not sure what causes this problem, but it seems to be the overall cause for the white-outs we have seen recently.

malex984 commented 8 years ago

Could you please specify some (one would suffice for now) of the failing WebGL applications and their inconsistent behavior under Kiosk/Chromium/Google Chrome(/Opera?) when running from inside our docker containers vs. via host-native browsers?

porst17 commented 8 years ago

I think, I have to be a little more precise. The Habitable Zone WebGL app works in Chromium within the chrome image (I didn't test Google Chrome and Opera) regardless of the size of the texture (the actual texture size limit on my NVidia card is 16384). However, the app fails to run in the kiosk browser within docker. The application shows up for a couple of frames while the large 4k image of the milky way is still loading in the background. Then, suddenly, the app stops working (aka white-out). It looks like this happens exactly when the texture is fully loaded and transfered to WebGL/to the GPU. The is also a 2k image of the milky way in the same folders as the 4k image and it is trivial to modify the javascript code to make use of it instead of the 4k image. Once changed to 2k, the app works fine in kiosk.

Strangely, I tested the same web app last week with Chromium installed into the kiosk image and it showed the same strange behavior as electron. Inside the chrome image, however, Chromium also works with 4k.

Can you test all the following combinations on your side: (kiosk image,chrome image)×(Google chrome, Chromium, Electron)? Maybe there is just something wrong with the kiosk image?

porst17 commented 8 years ago

I just rebuilt the kiosk image with electron 0.34.3 just to see if the issue is maybe just solved with a newer version, but it isn't. No need for you to test that.

malex984 commented 8 years ago

Sorry but i cannot reproduce your issue: both Chromium and :kiosk handle that WebGL app. correctly (4k & 2k)...

Just to be sure that we are on the common ground:

  1. we are talking about WebGL_Habitable_Mini/gravity_habitable_33b.html, right?
  2. how do you get that WebGL application into browser? I use www.sh & open http://localhost:8080
  3. how do launch :kiosk? I do : cd kiosk && make pull && make check
  4. my NVidia diver: 352.41 (tested in "Additional Drivers")
  5. OS: latest Gnome Ubuntu 15.10 (with all updates)

ps: WebGL_Test/test_03_4k.html (and 1k) is also fine here...

porst17 commented 8 years ago

Strange. About the common ground:

  1. yes
  2. yes
  3. yes
  4. no, I didn't do make pull, instead I just used a version from last (?) week or so. But I also tried make build on the recent git HEAD (see above) and had the same error.
  5. yes

But surprisingly today, the 4k version works on my machine as well. Unfortunately, I just tried make pull instead of testing with make check beforehand. But I also tried make build && make check today and it also works. The error kind of disappeared while it was 100% reproducible yesterday. But also Dorotea reported the 4k issue, didn't she?

I think it is important to find out what caused this issue.

malex984 commented 8 years ago

make build can be used only after updating the parent image (same way). Therefore i recommend to make pull before use just to be sure.

ps: i suspect you had some outdated :kiosk...

porst17 commented 8 years ago

This is all not very reproducible. This is why I recommended version tags for the images. What has been changed in the parent image? Have you done anything on purpose or does it only work by chance?

I know that the discussion about the 4k problem came up during our discussion at the MFO. But I cant't remember how/if it has been fixed.

malex984 commented 8 years ago

Well, due to apt-get update at the beginning of each package installation - each new subsequent build will very lickely get a new unique ID. It gets even worse due to the tree dependency structure of our images. Moreover my tree dependency structure via tags seems to be ignored by docker hub automatic builds - there may be wrong builds in case of chnages to several dependent images.

Note that each time git repo is changed - docker hub rebuilds all our images and due to above. Therefore i recommend to pull all the recent images together if you plan to rebuild any of them locally.

Do you want to start now the rearrangement from the current state into separate docker hub repositories for each of our images in order to introduce version tags?

ps: as you can see from the git log - i did not do anything related to :kiosk since 2015-11-03 all the recent changes are due to ubuntu update/upgrade...

porst17 commented 8 years ago

The reproducibility discussion should be continued in #17.

I don't have any idea how to reproduce the error. Maybe it's just gone. Maybe not. If you don't have any idea how to proceed, you can also close this issue.

porst17 commented 8 years ago

Will be reopened if the 4k issue shows up again.