Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GPU-less install #56

Closed
ChrisRackauckas opened this issue Jan 26, 2018 · 11 comments
Closed

GPU-less install #56

ChrisRackauckas opened this issue Jan 26, 2018 · 11 comments

Comments

@ChrisRackauckas
Copy link
Contributor

One of the great things about Plots.jl's setup is it can install pretty much anywhere because the extra functionality is all provided by backends. I can't see getting Makie.jl to work on my friendly neighborhood cluster, while GR works fine. And then there are cases where there's no access to OpenGL (without VirtualGL), but other options like Plotly works.

Will there be a nice way to be able to install Makie in those setups? I like the GLVisualize-first approach and think it makes a lot of sense to ensure that there's a fully complete and fully Julia backend, but at the same time it limits the usefulness if it has to be directly required.

@SimonDanisch
Copy link
Member

@jpsamaroo wanted to help me get a backend without a gpu running :) So that might work in the near future!

@jpsamaroo
Copy link
Contributor

Indeed, I'm planning on setting up a Cairo+Gtk backend for Makie (Gtk windowing stuff should be optional, to support headless systems). That way we can at least support 2D plotting, and then later on consider adding support for OpenGL for 3D plots (which could be provided by VirtualGL or llvmpipe on systems without proper graphics hardware).

@gdkrmr
Copy link

gdkrmr commented Feb 7, 2019

Could this work with a software renderer? https://stackoverflow.com/questions/7310885/opengl-without-a-graphics-card

Or maybe virtualgl?

@mkborregaard
Copy link
Contributor

There is CairoMakie now.

@gdkrmr
Copy link

gdkrmr commented Feb 11, 2019

On a headless system without graphics card I installed software rendering and glxgears works fine.
I also installed Makie and it works fine if I use ssh -Y server.

Using xpra you can launch a virtual x server on the headless system and use that (https://help.ubuntu.com/community/Xpra) so you don't need to use ssh -Y

There was one warning:

Warning: GLFW.GLFWError(PLATFORM_ERROR::ErrorCode = 65544, "X11: RandR gamma ramp support seems broken")

You can even use a local xpra and open the display on the remote server, but mouse interaction will produce tons of error messages on the remote julia console.

Next step is to get it working inside Jupyter notebooks... I will let you know if I manage to do that.

@SimonDanisch
Copy link
Member

Pretty cool you got that running - and it doesn't even sound that complicated ;)

@gdkrmr
Copy link

gdkrmr commented Feb 11, 2019

It was not that complicated. How do I resize the window opened by Makie from within Julia? My current issue is that the window opened in xpra is tiny and therefore it is saved as a tiny png.

@asinghvi17
Copy link
Member

You could try passing a resolution to the Scene? For example, sc = Scene(resolution = (1920, 1080))

@gdkrmr
Copy link

gdkrmr commented Feb 11, 2019

p = Scene(resolution = (1920, 1080))
volume!(p, rand(32, 32, 32))
save("make_test.png", p)

works on my machine, but the png is still tiny on the headless machine.

@SimonDanisch
Copy link
Member

Hm, the only reason it would ignore this, if it somehow thinks that Juno is there!
https://github.com/JuliaPlots/AbstractPlotting.jl/blob/master/src/display.jl#L59
If you use remote Atom, try disabling the plotpane!

@gdkrmr
Copy link

gdkrmr commented Feb 12, 2019

I am trying to make it work with jupyter notebooks, I am not using Atom. I also tried resize! and it does not work. Maybe it has something to do with the display size (the monitor is 0mm x 0mm):

me@server:~$ xrandr -d :7 -q
xrandr:Failed to get size of gamma for output default
Screen 0: minimum 320 x 175, current 5280 x 1920, maximum 8192 x 4096
default connected 5280x1920+0+0 0mm x 0mm

... a list with all possible resolutions

I tried changing the resolution with xrandr but without success.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants