diff --git a/docs.it4i/general/accessing-the-clusters/graphical-user-interface/x-window-system.md b/docs.it4i/general/accessing-the-clusters/graphical-user-interface/x-window-system.md index b915d4c0822aba0c9e173ae2ec335e9ffee05129..cc041f9ffa14072fb306ee883e89a951167218ed 100644 --- a/docs.it4i/general/accessing-the-clusters/graphical-user-interface/x-window-system.md +++ b/docs.it4i/general/accessing-the-clusters/graphical-user-interface/x-window-system.md @@ -23,6 +23,29 @@ On Windows, use the PuTTY client to enable X11 forwarding. In PuTTY menu, go to ### WSL (Bash on Windows) +To enable the X display forwarding, log in using the `-X` option in the SSH client: + +```console + local $ ssh -X username@cluster-name.it4i.cz +``` + +!!! tip + If you are getting the "cannot open display" error message, try to export the DISPLAY variable, before attempting to log in: + +```console + local $ export DISPLAY=localhost:0.0 +``` + +## X Server + +In order to display the GUI of various software tools, you need a running X server on your desktop computer. For Linux users, no action is required as the X server is the default GUI environment on most Linux distributions. Mac and Windows users need to install and run the X server on their workstations. + +### X Server on OS X + +Mac OS users need to install [XQuartz server][d]. + +### WSL (Bash on Windows) + To run Linux GuI on WSL, download, for example, [VcXsrv][a]. 1. After installation, run XLaunch and during the initial setup, check the `Disable access control`. @@ -48,27 +71,6 @@ To run Linux GuI on WSL, download, for example, [VcXsrv][a]. 172.26.240.1:0 ``` -To enable the X display forwarding, log in using the `-X` option in the SSH client: - -```console - local $ ssh -X username@cluster-name.it4i.cz -``` - -!!! tip - If you are getting the "cannot open display" error message, try to export the DISPLAY variable, before attempting to log in: - -```console - local $ export DISPLAY=localhost:0.0 -``` - -## X Server - -In order to display the GUI of various software tools, you need a running X server on your desktop computer. For Linux users, no action is required as the X server is the default GUI environment on most Linux distributions. Mac and Windows users need to install and run the X server on their workstations. - -### X Server on OS X - -Mac OS users need to install [XQuartz server][d]. - ### X Server on Windows There is a variety of X servers available for the Windows environment. The commercial Xwin32 is very stable and feature-rich. The Cygwin environment provides fully featured open-source XWin X server. For simplicity, we recommend the open-source X server by the [Xming project][e]. For stability and full features, we recommend the [XWin][f] X server by Cygwin diff --git a/docs.it4i/general/accessing-the-clusters/graphical-user-interface/xorg.md b/docs.it4i/general/accessing-the-clusters/graphical-user-interface/xorg.md new file mode 100644 index 0000000000000000000000000000000000000000..d44fb1ff9e8f651d8b92c2b550b524cb4328d3b8 --- /dev/null +++ b/docs.it4i/general/accessing-the-clusters/graphical-user-interface/xorg.md @@ -0,0 +1,90 @@ +# Xorg + +## Introduction + +!!! note + Available only for Karolina accelerated nodes Acn[01-72] + +Some applications (e.g. Paraview, Ensight, Blender, Ovito) require not only visualization but also computational resources such as multiple cores or multiple graphics accelerators. For the processing of demanding tasks, more operating memory and more memory on the graphics card are also required. These requirements are met by all ACN nodes on the Karolina cluster, which are equipped with eight graphics cards with 40GB GPU memory and 1TB CPU memory. To run properly, it is required to have the Xorg server running and the VirtualGL environment installed. + +## Xorg + +[Xorg][a] is a free and open source implementation of the X Window System imaging server maintained by the X.Org Foundation. Client-side implementations of the protocol are available, for example, in the form of Xlib and XCB. While Xorg usually supports 2D hardware acceleration, 3D hardware acceleration is often missing. With hardware 3D acceleration, 3D rendering uses the graphics processor on the graphics card instead of taking up valuable CPU resources when rendering 3D images. It is also referred to as hardware acceleration instead of software acceleration because without this 3D acceleration, the processor is forced to draw everything itself using the Mesa software rendering libraries, which takes up quite a bit of computing power. There is a VirtualGL package that solves these problems. + +## VirtualGL + +[VirtualGL][b] is an open source software package that redirects 3D rendering commands from Linux OpenGL applications to 3D accelerator hardware in a dedicated server and sends the rendered output to a client located elsewhere on the network. On the server side, VirtualGL consists of a library that handles the redirection and a wrapper that instructs applications to use the library. Clients can either connect to the server using a remote X11 connection, such as a VNC server. In the case of an X11 connection, some VirtualGL software is also required on the client side to receive the rendered graphical output separately from the X11 stream. In the case of VNC connections, no specific client-side software is needed other than the VNC client itself. VirtualGL works seamlessly with headless NVidia GPUs (Amper, Tesla). + +## Running Paraview With GUI and Interactive Job on Karolina + +1. Run VNC environment: + + [https://docs.it4i.cz/general/accessing-the-clusters/graphical-user-interface/vnc/][1] + +1. Run terminal in VNC session: + + ```console + [loginX.karolina]$ gnome-terminal + ``` + +1. Run interactive job in gnome terminal + + ```console + [loginX.karolina]$ qsub -q qnvidia -l select=1 -IX -A OPEN-XX-XX -l xorg=True + ``` + +1. Run Xorg server + + ```console + [acnX.karolina]$ Xorg :0 & + ``` + +1. Load VirtualGL: + + ```console + [acnX.karolina]$ ml VirtualGL + ``` + +1. Find number of DISPLAY: + + ```console + [acnX.karolina]$ echo $DISPLAY + localhost:XX.0 (for ex. localhost:50.0) + ``` + +1. Load ParaView: + + ```console + [acnX.karolina]$ ml ParaView + ``` + +1. Run ParaView: + + ```console + [acnX.karolina]$ DISPLAY=:XX vglrun paraview + ``` + +## Running Blender (Eevee) on the Background Without GUI and Without Interactive Job on Karolina + +1. Download and extract Blender and Eevee scene: + + ```console + [loginX.karolina]$ wget https://ftp.nluug.nl/pub/graphics/blender/release/Blender2.93/blender-2.93.6-linux-x64. tar.xz ; tar -xvf blender-2.93.6-linux-x64.tar.xz ; wget https://download.blender.org/demo/eevee/mr_elephant/mr_elephant.blend + ``` + +1. Create a running script: + + ```console + [loginX.karolina]$ echo 'Xorg :0 &' > run_eevee.sh ; echo 'cd' $PWD >> run_eevee.sh ; echo 'DISPLAY=:0 ./blender-2.93.6-linux-x64/blender --factory-startup --enable-autoexec -noaudio --background ./mr_elephant.blend --render-output ./#### --render-frame 0' >> run_eevee.sh ; chmod +x run_eevee.sh + ``` + +1. Run job from terminal: + + ```console + [loginX.karolina]$ qsub -q qnvidia -l select=1 -A OPEN-XX-XX -l xorg=True ./run_eevee.sh + ``` + +[1]: https://docs.it4i.cz/general/accessing-the-clusters/graphical-user-interface/vnc/ + +[a]: https://www.x.org/wiki/ +[b]: https://virtualgl.org/ diff --git a/docs.it4i/job-features.md b/docs.it4i/job-features.md index 6291a3e7a6d205c54c31b2404973de01c2e87337..357560bd520f59985876da274ac0b6aeb1111c1d 100644 --- a/docs.it4i/job-features.md +++ b/docs.it4i/job-features.md @@ -6,6 +6,14 @@ Special features installed/configured on the fly on allocated nodes, features ar $ qsub... -l feature=req ``` +## Xorg + +[Xorg][2] is a free and open source implementation of the X Window System imaging server maintained by the X.Org Foundation. Xorg is vailable only for Karolina accelerated nodes Acn[01-72]. + +```console +$ qsub ... -l xorg=True +``` + ## VTune Support Load the VTune kernel modules. @@ -212,3 +220,4 @@ $ source /lscratch/$PBS_JOBID/sbb.sh Available on Barbora nodes only. [1]: software/tools/virtualization.md#tap-interconnect +[2]: general/accessing-the-clusters/graphical-user-interface/xorg.md diff --git a/mkdocs.yml b/mkdocs.yml index 508c03372bcb63b0ae0899bec8d85acd29be2b6e..f0eafb1a4166f96cffb41e9549f3642d791cffe6 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -64,6 +64,7 @@ nav: - OpenSSH Keys (UNIX): general/accessing-the-clusters/shell-access-and-data-transfer/ssh-keys.md - PuTTY (Windows): general/accessing-the-clusters/shell-access-and-data-transfer/putty.md - X Window System: general/accessing-the-clusters/graphical-user-interface/x-window-system.md + - Xorg: general/accessing-the-clusters/graphical-user-interface/xorg.md - VNC: general/accessing-the-clusters/graphical-user-interface/vnc.md - VPN Access: general/accessing-the-clusters/vpn-access.md - Satisfaction and Feedback: general/feedback.md