Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
uvesafb broke on new install, worked on old install
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
dman777
l33t
l33t


Joined: 10 Jan 2007
Posts: 914

PostPosted: Thu Jul 07, 2016 6:49 am    Post subject: uvesafb broke on new install, worked on old install Reply with quote

I added a second hard drive to my system and on that second hard drive I am installing a new Gentoo system.

With my other hard drive, which has a working Gentoo with kernel 3.14.14-gentoo, I have uvesafb which works great. Here is the info when it boots up:

[
Code:
    0.000000] Command line: BOOT_IMAGE=/kernel1 root=/dev/sdd3 rootfstype=ext4 video=uvesafb:mtrr:3,ywrap,1024x768-32
[    0.000000] Kernel command line: BOOT_IMAGE=/kernel1 root=/dev/sdd3 rootfstype=ext4 video=uvesafb:mtrr:3,ywrap,1024x768-32
[    1.149438] uvesafb: NVIDIA Corporation, GK104 Board - 20040010, Chip Rev   , OEM: NVIDIA, VBE v3.0
[    1.213998] uvesafb: VBIOS/hardware doesn't support DDC transfers
[    1.214097] uvesafb: no monitor limits have been set, default refresh rate will be used
[    1.214510] uvesafb: scrolling: redraw
[    1.404850] uvesafb: framebuffer at 0xdf000000, mapped to 0xffffc90010e80000, using 14336k, total 14336k
[    1.404897] fb0: VESA VGA frame buffer device


Code:
[IP-] [  ] dev-libs/klibc-1.5.25:0
[IP-] [  ] sys-apps/v86d-0.1.10:0


Here is the kernel .config for 3.14.14: http://dpaste.com/3M5JNXC



However, on my second hard drive where I am install my new Gentoo system on the exact same PC, I can not get uvesafb to work. I am using the new kernel linux-4.4.6-gentoo with the same options enabled for uvesafb as the previous mentioned kernel above.

Code:
[    0.000000] Command line: BOOT_IMAGE=/kernel1 root=/dev/sdc2 rootfstype=ext4 video=uvesafb:mtrr:3,ywrap,1024x768-32
[    0.000000] Kernel command line: BOOT_IMAGE=/kernel1 root=/dev/sdc2 rootfstype=ext4 video=uvesafb:mtrr:3,ywrap,1024x768-32
[    0.946502] uvesafb: failed to execute /sbin/v86d
[    0.946661] uvesafb: make sure that the v86d helper is installed and executable
[    0.946935] uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)
[    0.947096] uvesafb: vbe_init() failed with -22
[    0.947274] uvesafb: probe of uvesafb.0 failed with error -22


Code:
[IP-] [  ] dev-libs/klibc-1.5.25:0
[IP-] [  ] sys-apps/v86d-0.1.10:0


Here is the kernel .config for 4.4.6: http://dpaste.com/1YT8W2N

Any ideas what is going on? Oh also, I do not use a initramfs. Never had to for uveasfb, not sure why the docs imply you have to.
_________________
<h5>Checkout <em>#grandmasboy</em> on <em>freenode</em>...chat with jayP bot from the movie!</h5>
Back to top
View user's profile Send private message
chithanh
Developer
Developer


Joined: 05 Aug 2006
Posts: 2152
Location: Berlin, Germany

PostPosted: Thu Jul 07, 2016 2:49 pm    Post subject: Reply with quote

Code:
 [    0.946502] uvesafb: failed to execute /sbin/v86d
There is your problem. uvesafb needs to access v86d, either in initramfs or otherwise built into your kernel, or uvesafb must be a module.
Back to top
View user's profile Send private message
dman777
l33t
l33t


Joined: 10 Jan 2007
Posts: 914

PostPosted: Thu Jul 07, 2016 3:03 pm    Post subject: Reply with quote

It shows as built into the kernel:

Code:
 Symbol: FB_UVESA [=y]                                                                                                                                    │ 
  │ Type  : tristate                                                                                                                                         │ 
  │ Prompt: Userspace VESA VGA graphics support                                                                                                              │ 
  │   Location:                                                                                                                                              │ 
  │     -> Device Drivers                                                                                                                                    │ 
  │       -> Graphics support                                                                                                                                │ 
  │ (1)     -> Frame buffer Devices                                                                                                                          │ 
  │   Defined at drivers/video/fbdev/Kconfig:727                                                                                                             │ 
  │   Depends on: HAS_IOMEM [=y] && FB [=y] && CONNECTOR [=y]                                                                                                │ 
  │   Selects: FB_CFB_FILLRECT [=y] && FB_CFB_COPYAREA [=y] && FB_CFB_IMAGEBLIT [=y] && FB_MODE_HELPERS [=y]             


and

Code:
CONFIG_FB_VGA16=y
CONFIG_FB_UVESA=y
CONFIG_FB_VESA=y

_________________
<h5>Checkout <em>#grandmasboy</em> on <em>freenode</em>...chat with jayP bot from the movie!</h5>
Back to top
View user's profile Send private message
chithanh
Developer
Developer


Joined: 05 Aug 2006
Posts: 2152
Location: Berlin, Germany

PostPosted: Thu Jul 07, 2016 3:07 pm    Post subject: Reply with quote

You built uvesafb into the kernel.
This means you need to build v86d into the kernel too, or specify an initramfs which contains v86d.

It is all explained in the wiki.
Back to top
View user's profile Send private message
dman777
l33t
l33t


Joined: 10 Jan 2007
Posts: 914

PostPosted: Thu Jul 07, 2016 3:45 pm    Post subject: Reply with quote

https://wiki.gentoo.org/wiki/Uvesafb

All I see from the wiki is the below, nothing about the v86d being built into the kernel:

Device Drivers --->
<*> Connector - unified userspace <-> kernelspace linker --->
Graphics support --->
Frame buffer Devices --->
[*] Support for frame buffer devices --->
[*] Enable firmware EDID
<*> Userspace VESA VGA graphics support

I have 'Userspace VESA VGA graphics support' enabled.

I do not have 'Enable firmware EDID' enabled. I didn't have that enabled in 3.14.14-gentoo and uvesafb worked without a initramfs. In addition, for troubleshooting purposes I enabled 'Enable firmware EDID' and it did not make a difference.
_________________
<h5>Checkout <em>#grandmasboy</em> on <em>freenode</em>...chat with jayP bot from the movie!</h5>
Back to top
View user's profile Send private message
chithanh
Developer
Developer


Joined: 05 Aug 2006
Posts: 2152
Location: Berlin, Germany

PostPosted: Thu Jul 07, 2016 3:50 pm    Post subject: Reply with quote

I mean this part:
Initramfs inclusion

Once the installation is finished, you need to activate the following kernel options and then rebuild the initramfs:
KERNEL:
General setup  --->
    [*] Initial RAM filesystem and RAM disk (initramfs/initrd) support
    (/usr/share/v86d/initramfs) Initramfs source file(s)
(contrary to what the wiki suggests, you don't need a separate initramfs generator)
Also:
/usr/src/linux/Documentation/fb/uvesafb.txt:
Note that the v86d userspace helper has to be available at all times in
order for uvesafb to work properly.  If you want to use uvesafb during
early boot, you will have to include v86d into an initramfs image, and
either compile it into the kernel or use it as an initrd.
Back to top
View user's profile Send private message
dman777
l33t
l33t


Joined: 10 Jan 2007
Posts: 914

PostPosted: Thu Jul 07, 2016 4:31 pm    Post subject: Reply with quote

With my old root partition that has 3.14.14-gentoo there is no initramfs image:

Code:

menuentry "Vector Drive" --class gentoo --class gnu-linux --class gnu --class os {
        insmod ext2
        set root='(hd0,1)'
        echo    Loading Gentoo system...
        linux   /kernel1 root=/dev/sdd3 rootfstype=ext4 video=uvesafb:mtrr:3,ywrap,1024x768-32
}


Code:
localhost four # dmesg | grep -i uvesa
[    0.000000] Command line: BOOT_IMAGE=/kernel1 root=/dev/sdd3 rootfstype=ext4 video=uvesafb:mtrr:3,ywrap,1024x768-32
[    0.000000] Kernel command line: BOOT_IMAGE=/kernel1 root=/dev/sdd3 rootfstype=ext4 video=uvesafb:mtrr:3,ywrap,1024x768-32
[    1.151484] uvesafb: NVIDIA Corporation, GK104 Board - 20040010, Chip Rev   , OEM: NVIDIA, VBE v3.0
[    1.216296] uvesafb: VBIOS/hardware doesn't support DDC transfers
[    1.216395] uvesafb: no monitor limits have been set, default refresh rate will be used
[    1.216801] uvesafb: scrolling: redraw
[    1.404472] uvesafb: framebuffer at 0xdf000000, mapped to 0xffffc90010e80000, using 14336k, total 14336k
localhost four #


Are you saying that I need the initrd enabled in the kernel but do not need to use any images?
_________________
<h5>Checkout <em>#grandmasboy</em> on <em>freenode</em>...chat with jayP bot from the movie!</h5>


Last edited by dman777 on Thu Jul 07, 2016 4:41 pm; edited 1 time in total
Back to top
View user's profile Send private message
chithanh
Developer
Developer


Joined: 05 Aug 2006
Posts: 2152
Location: Berlin, Germany

PostPosted: Thu Jul 07, 2016 4:36 pm    Post subject: Reply with quote

Whatever the reason why it works on your old kernel, the solution to
Code:
[    0.946502] uvesafb: failed to execute /sbin/v86d
is
Code:
CONFIG_BLK_DEV_INITRD=y
CONFIG_INITRAMFS_SOURCE="/usr/share/v86d/initramfs"

The initramfs already comes with sys-apps/v86d, no need to build an extra one.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum