Welcome to the Linux Foundation Forum!
problems with framebuffer and graphics driver
dariusduesentrieb
Posts: 3
Hello,
i have a problem with the linux-framebuffer and this code:
#include <sys/types.h> #include <sys/stat.h> #include <sys/mman.h> #include <sys/ioctl.h> #include <fcntl.h> #include <linux/fb.h> #include <unistd.h> #include <stdio.h> int main(int argc, char **argv) { int row, col, width, height, bitspp, bytespp; unsigned int *data; int fd = open("/dev/fb0", O_RDWR); struct fb_var_screeninfo screeninfo; ioctl(fd, FBIOGET_VSCREENINFO, &screeninfo); bitspp = screeninfo.bits_per_pixel; if(bitspp != 32) { printf("Farbaufloesung = %i Bits pro Pixel\n", bitspp); printf("Bitte aendern Sie die Farbtiefe auf 32 Bits pro Pixel\n"); close(fd); return 1; } width = screeninfo.xres; height = screeninfo.yres; bytespp = bitspp/8; if(sizeof(unsigned int) != bytespp) { close(fd); return 1; } data = (unsigned int*) mmap(0, width * height * bytespp, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0); int x=0; int i=1; while(1){ for(row = 0; row < height; row++){ for(col = 0; col < width; col++){ data[row * width + col] = 0xFFFFFF; if(col == x){ data[row * width + col] = 0x0; } } } x+=i; if(x==width || x == 0){ i*=-1; } } munmap(data, width * height * bytespp); close(fd); return 0; }
if i am running this program with the NVIDIA binary driver version 367.57 it looks like this:

but if i am running the code with the xorg nouveaudriver it looks like this:

the "framerate" of the NVIDIA driver is really bad worse than the xorg-driver.
i ran this program a time ago with another driver that i dont know and there it ran faster (like the xorg-driver).
why runs the program different with different drivers and how can i solve this?
my system looks like this:
System: Host: S5520 Kernel: 4.8.0-26-generic x86_64 (64 bit) Desktop: Unity 7.5.0 Distro: Ubuntu 16.10 Machine: System: Intel product: TERRA Server v: .................... Mobo: Intel model: S5520HC v: E26045-454 BIOS: Intel v: S5500.86B.01.00.0064.050520141428 date: 05/05/2014 CPU(s): 2 Hexa core Intel Xeon X5650s (-HT-MCP-SMP-) cache: 24576 KB clock speeds: max: 2661 MHz 1: 1596 MHz 2: 1596 MHz 3: 1596 MHz 4: 1596 MHz 5: 1596 MHz 6: 1596 MHz 7: 1596 MHz 8: 1596 MHz 9: 1596 MHz 10: 1596 MHz 11: 1596 MHz 12: 1596 MHz 13: 1596 MHz 14: 1596 MHz 15: 1596 MHz 16: 1596 MHz 17: 1596 MHz 18: 1596 MHz 19: 1596 MHz 20: 1596 MHz 21: 1596 MHz 22: 1596 MHz 23: 1596 MHz 24: 1596 MHz Graphics: Card: NVIDIA GK106 [GeForce GTX 650 Ti] Display Server: X.Org 1.18.4 drivers: nouveau (unloaded: fbdev,vesa) Resolution: 1440x900@59.89hz GLX Renderer: Gallium 0.4 on NVE6 GLX Version: 3.0 Mesa 12.0.3
0
Categories
- All Categories
- 177 LFX Mentorship
- 177 LFX Mentorship: Linux Kernel
- 769 Linux Foundation IT Professional Programs
- 379 Cloud Engineer IT Professional Program
- 175 Advanced Cloud Engineer IT Professional Program
- 75 DevOps IT Professional Program - Discontinued
- 7 DevOps & GitOps IT Professional Program
- 102 Cloud Native Developer IT Professional Program
- 7.6K Training Courses & Learning Paths
- 5 AI & ML Training
- 1 Blockchain & Decentralized Identity Training
- 13 Cloud & Containers Training
- 1 Cybersecurity Training
- 2 DevOps & Site-Reliability Training
- 1 Linux Kernel Development Training
- 1 Networking Training
- 2 Open Source Best Practice Training
- 3 System Administration Training
- 1 System Engineering Training
- 1 Web & Application Development Training
- 796 Hardware
- 202 Drivers
- 68 I/O Devices
- 37 Monitors
- 95 Multimedia
- 173 Networking
- 91 Printers & Scanners
- 91 Storage
- 771 Linux Distributions
- 81 Debian
- 68 Fedora
- 23 Linux Mint
- 13 Mageia
- 24 openSUSE
- 151 Red Hat Enterprise
- 31 Slackware
- 13 SUSE Enterprise
- 356 Ubuntu
- 465 Linux System Administration
- 31 Cloud Computing
- 73 Command Line/Scripting
- Github systems admin projects
- 98 Linux Security
- 78 Network Management
- 101 System Management
- 46 Web Management
- 122 Mobile Computing
- 20 Android
- 87 Development
- 1.2K New to Linux
- 1K Getting Started with Linux
- 396 Off Topic
- 121 Introductions
- 31 Study Material
- 1K Programming and Development
- 310 Kernel Development
- 699 Software Development
- 1K Software
- 403 Applications
- 182 Command Line
- 5 Compiling/Installing
- 69 Games
- 318 Installation
- Archived
- 183 Small Talk
- 2 LFD140 Class Forum
- 1.4K LFS258 Class Forum
Upcoming Training
-
August 20, 2018
Kubernetes Administration (LFS458)
-
August 20, 2018
Linux System Administration (LFS301)
-
August 27, 2018
Open Source Virtualization (LFS462)
-
August 27, 2018
Linux Kernel Debugging and Security (LFD440)