Changeset 43661


Ignore:
Timestamp:
03/06/19 18:37:42 (5 years ago)
Author:
gost
Message:

[titan] add new function.. setframebuffer

Location:
titan/titan
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • titan/titan/fb.h

    r43650 r43661  
    640640}
    641641
    642 #endif
     642int setframebuffer(int width, int height, int vwidth, int vheight, int bits)
     643{
     644        struct fb_var_screeninfo var_screeninfo;
     645        int fd = -1;
     646        char *fbdev = getconfig("fbdev", NULL);
     647       
     648        if(fbdev == NULL)
     649        {
     650                err("failed to find fbdev in config file");
     651                return -1;
     652        }
     653
     654        fd = open(fbdev, O_RDWR);
     655        if(fd == -1)
     656        {
     657                perr("failed to open %s", fbdev);
     658                return -1;
     659        }
     660       
     661        if(ioctl(fd, FBIOGET_VSCREENINFO, &var_screeninfo) < 0)
     662        {
     663                err("failed to read VSCREENINFO");
     664                close(fd);
     665                return -1;
     666        }
     667
     668        var_screeninfo.xres = width;
     669        var_screeninfo.yres = height;
     670        var_screeninfo.xres_virtual = vwidth;
     671        var_screeninfo.yres_virtual = vheight;
     672        var_screeninfo.bits_per_pixel  = bits;
     673
     674        if(ioctl(fd, FBIOPUT_VSCREENINFO, &var_screeninfo) < 0)
     675        {
     676                err("failed to put VSCREENINFO");
     677                close(fd);
     678                return -1;
     679        }
     680
     681        close(fd);
     682        return 0;       
     683}
     684
     685#endif
  • titan/titan/titan.c

    r43658 r43661  
    626626        initvfd();
    627627
    628         //Workaround für Framebuffer, es muss noch eine Funktion gebaut werden die fbset ersetzt.
    629         if(checkchipset("BCM7424") == 1 || checkchipset("BCM7358") == 1 || checkchipset("BCM7362") == 1) //inihdp
    630                 system("fbset -g 1280 720 1280 1440 32");
     628        //setze groesse Framebuffer
     629        if(checkchipset("BCM7424") == 1 || checkchipset("BCM7358") == 1 || checkchipset("BCM7362") == 1)
     630                setframebuffer(1280, 720, 1280, 1440, 32);
    631631
    632632        if(checkbox("UFS922") == 1)
Note: See TracChangeset for help on using the changeset viewer.