framebuffer 输出尺寸和实际尺寸不一只

各位高手,小弟头一次提问,见谅了,问题如下:
本人pc显示分辨率是1366*768,32位色,装的是ubuntu 12.04 内核版本是3.2.0的,实体机
在按Ctlr+Alt+f1 进入命令行终端,利用framebuffer输出时不能满屏,比如以下代码:

k=0;
for(i=0; i<768; i++)
{
for(j=0; j<1366; j++)
{
*(fp+k+0)=颜色值;
...............

*(fp+k+3)=0(这个是通道透明);
}
k+=4;
}

大概的代码就是以上这样的逻辑,这样可以看到整个屏幕清一色效果,但是输出是不满屏的,

就算我指定输出某一行也是没有1366个点,指定输出一行时,那个点数改成1377时,可以正常输出一行,
但是我在for循环时,改成j<1377; 程序运行时提示段错误,fb指向了不该指的地址,造成的,
各位高手有遇到这样的问题吗,

我也是这个问题,我在尝试时发现,我让宽度打印6个像素点,高度打印6个像素点。但结果是宽度打印正常,高度上只打印4个。  弄了好长时间都不知道是什么原因?
    我的环境是:vm  ubuntu14.04