[R] rgl.snapshot only captures a small portion what's visible in the RGL device window on CentOS 7

Wittner, Ben, Ph.D. Wittner.Ben at mgh.harvard.edu
Mon Jan 11 23:39:59 CET 2016


The problem discussed below was fixed on my computer with much help from Tom Callaway, of RedHat.
My computer has an NVIDIA graphics card and CentOS 7 comes with an open-source driver for NVIDIA graphic cards called nouveau. When I replaced the nouveau driver with a driver from NVIDIA, the problem went away.

To see whether your machine has an NVIDIA graphics card, execute the command
lspci -v
and search in the output for VGA. The top of that block of output will tell you what graphics card you have and the last line of the block will tell you what driver is in use.
In my case the top of that block of output was the following:

07:00.0 VGA compatible controller: NVIDIA Corporation G84GL [Quadro FX 370] (rev a1)

So I knew I had an NVIDIA graphics card and that the model was Quadro FX 370, which was important when trying to determine which driver to download from http://www.nvidia.com/object/unix.html .

After downloading the driver, I was not able to get it installed just using the instructions from the NVIDIA download page. The key for me was to follow the instructions in http://www.dedoimedo.com/computers/centos-7-nvidia.html .

Good luck!

-Ben

-----Original Message-----
From: R-help [mailto:r-help-bounces at r-project.org] On Behalf Of Wittner, Ben, Ph.D.
Sent: Friday, January 08, 2016 4:13 PM
To: r-help at r-project.org
Subject: [R] rgl.snapshot only captures a small portion what's visible in the RGL device window on CentOS 7

Hello,

As an example, I ran the following code:

library("rgl")                                                                  
example(plot3d)                                                                 
rgl.snapshot("test.png")                                                        

The full plot is visible in the window titled RGL device 1 [Focus], but only a small portion of the upper left part of the plot is visible in test.png (see attached test.png, if the list server attaches it. Otherwise, email me if you like and I'll send it directly to you.)

The output of sessionInfo() is as follows:

R version 3.2.3 (2015-12-10)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS Linux 7 (Core)

locale:
 [1] LC_CTYPE=en_US.utf8       LC_NUMERIC=C             
 [3] LC_TIME=en_US.utf8        LC_COLLATE=en_US.utf8    
 [5] LC_MONETARY=en_US.utf8    LC_MESSAGES=en_US.utf8   
 [7] LC_PAPER=en_US.utf8       LC_NAME=C                
 [9] LC_ADDRESS=C              LC_TELEPHONE=C           
[11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C      

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] rgl_0.95.1441

loaded via a namespace (and not attached):
[1] tools_3.2.3

In addition to the CentOS 7 machine, I have a CentOS 5.3 machine, which has R 3.0.2 and rgl 0.93.996. I tried the code above on it and it captured the full window in the output of rgl.snapshot (i.e., it worked properly).

To see whether the difference could be attributed to the CentOS version or the R/rgl version, I put R 3.0.2 with rgl 0.93.996 on the CentOS 7 machine and ran the code above. As with the earlier CentOS 7 run, only a small portion of the plot was visible in the output of rgl.snapshot. So it seems the difference is due to a difference in the CentOS versions and not the R/rgl versions.

Thanks in advance for any help.

-Ben



The information in this e-mail is intended only for the ...{{dropped:11}}



More information about the R-help mailing list