Keeping the Screen Turned off While Getting Inputs

2023-08-26 Thread Ahmad Nouralizadeh
Hi, I need to run a set of (graphical) benchmarks with the screen disabled. The following command did not work: xset dpms force off Because any keyboard/mouse input would re-enable the screen. The other option was the following: xrandr --output eDP-1 --off This turns off the screen for a secon

Re: Keeping the Screen Turned off While Getting Inputs

2023-08-26 Thread Ahmad Nouralizadeh
originated from the iGPU. On Saturday, August 26, 2023, 08:10:15 PM GMT+4:30, Dave Howorth wrote: On Sat, 26 Aug 2023 15:28:52 + (UTC) Ahmad Nouralizadeh wrote: > I need to run a set of (graphical) benchmarks with the screen > disabled. Can I ask why? What is you'r

Re: Keeping the Screen Turned off While Getting Inputs

2023-08-26 Thread Ahmad Nouralizadeh
>> Those accesses might not stop with just the display off - some >> applications may keep redrawing. Will these accesses cause iGPU or dedicated GPU accesses to the DRAM? I think that those redrawings originate from the processor. >I'm not sure a graphical benchmark will run without a graphical

Re: Keeping the Screen Turned off While Getting Inputs

2023-08-26 Thread Ahmad Nouralizadeh
> > However, I would have expected that VLC would produce a lot > > GPU/iGPU accesses even without drawing anything, because it would > > try to use GPU decoder. For the discrete GPU, the turned off screen requires much smaller bandwidth in any benchmark (reduces from 2GB/s to several KB/s). The

Re: Keeping the Screen Turned off While Getting Inputs

2023-08-26 Thread Ahmad Nouralizadeh
> In order to display anything on the screen the video card needs an array >of data given color of each pixel. This is usually called "framebuffer" >because it buffers data for one frame of video. Thank you for the enlightening explanation! An unrelated question: IIUC the framebuffer is a share

Re: Keeping the Screen Turned off While Getting Inputs

2023-08-26 Thread Ahmad Nouralizadeh
> The framebuffer that is displayed on the monitor is always in video card > memory. There is a piece of hardware (CRTC) that continuously pulls data > from the framebuffer and transmits it to the monitor. So the framebuffer memory should normally be in the kernel (Perhaps in special cases coul

Re: Keeping the Screen Turned off While Getting Inputs

2023-08-27 Thread Ahmad Nouralizadeh
Thanks (also Dave and Carsten)! Full of useful information not easily found (if even found) on the Internet! So, in summary, the communication is done through a series of memory mapped regions in the address space of the graphics library (e.g., OpenGL).The image data is transferred 1) from the X

Re: Keeping the Screen Turned off While Getting Inputs

2023-08-27 Thread Ahmad Nouralizadeh
Perhaps I didn't express my question precisely. I understand that you are talking about the mmap function in the kernel which is usually a function pointer in vm_operations... My question is about the userspace structure of X11. IIUC, we have X11 clients, which are GUI apps.They have a portion

Re: Keeping the Screen Turned off While Getting Inputs

2023-08-27 Thread Ahmad Nouralizadeh
Thanks Alan and Vladimir!These are very effective clues to help me understand the whole architecture, but I will need some experiments! :D I may continue with this thread later to ask questions about the main problem discussed here (i.e., turning off the screen), if I find my approach feasible!

Re: Keeping the Screen Turned off While Getting Inputs

2023-08-28 Thread Ahmad Nouralizadeh
Is it possible to prevent the Xserver from using the iGPU and only use the discrete GPU. I found no BIOS options for this. Why should the two GPUs work simultaneously?

Re: Keeping the Screen Turned off While Getting Inputs

2023-08-28 Thread Ahmad Nouralizadeh
The laptop model is `Asus N501JW` running `Ubuntu 18.04`. The discrete GPU is `GeForce GTX 960M`. The link below says that by default the system uses `Intel HD graphics` (the iGPU) and using the discrete GPU requires a proprietary driver! Does this mean that having `nouveau` is not enough? https