Comments (8)
To avoid the error uvesafb: Getting VBE info block failed
(-22) you must firstly build-in or load kernel module vga16fb
, which is used by uvesafb
in conjunction with helper /sbin/v86d
.
P.S.: Also if you use initramfs/initrd, maybe you need fix to modules order.
P.P.S.: On later linux versions, developers revert to vesafb support, but some functions of uvesafb may be missed.
from v86d.
Try https://forums.gentoo.org/viewtopic-t-1096832-start-0.html
and https://forums.gentoo.org/viewtopic-p-8336186.html#8336186
from v86d.
To avoid the error
uvesafb: Getting VBE info block failed
(-22) you must firstly build-in or load kernel modulevga16fb
, which is used byuvesafb
in conjunction with helper/sbin/v86d
.P.S.: Also if you use initramfs/initrd, maybe you need fix to modules order.
P.P.S.: On later linux versions, developers revert to vesafb support, but some functions of uvesafb may be missed.
Thank you. I will take a look. I may also take a run at 5.4.66 and see what they changed in the Framebuffer code that prevents backscrolling. I realize it may be a security risk, but in X scrolling back on a terminal is standard.
from v86d.
If /sbin/v86d
exists, then it just module load order problem. If system already inited and you start uvesafb via modprobe, all works fine.
On the links above you can find solutions to make it work from linux command line too (load order must be correct).
from v86d.
Thanks @proxy-m . Loading modules showed a similar error but with more detail.
[ 149.840277] process '/sbin/v86d' started with executable stack
[ 149.840666] v86d: EBDA too big (10800), truncating.
[ 149.840703] v86d: c000:7910: 01 ILLEGAL EXTENDED X86 OPCODE!
[ 149.840755] uvesafb: Getting VBE info block failed (eax=0xc78d2, err=0)
[ 149.840756] uvesafb: vbe_init() failed with -22
[ 149.840760] uvesafb: probe of uvesafb.0 failed with error -22
Thanks again.
PS: The successful examples above all used VESAFB not UVESAFB. Maybe it's something default in my Intel graphics.
from v86d.
- Did you read two links above? They about enabling uvesafb as "built-in" by initrd/initrafm?
- If you try something like this https://gitlab.com/mikb007/buildroot-dl-mini/-/blob/master/.linux-config_9p linux config , execpt must be CONFIG_FRAMEBUFFER_CONSOLE=y , uvesafb can start with modprobe/insmod.
- I saw your error
Getting VBE info block failed (eax=0xc78d2, err=0)
, and describe solution. - Error
v86d: EBDA too big (10800), truncating.
andand
v86d: c000:7910: 01 ILLEGAL EXTENDED X86 OPCODE!` is other error.
Is you kernel same arhitecture as v86d binary (i386 works fine, as I saw)?
Also it may be problem with your vga/vesa bios (video card support vga/vesa protocol, which uvesafb can not understand), but it is strange. Try to make all framebuffers not built-in (especially intel) and start uvesafb with modprobe after system scripts (system v or systemd) finished init.
from v86d.
I read the links. There was nothing new in them. I've used uvesafb before for years, since 2011. This is newer laptop with built in Intel graphics and nVidia as a second GPU that is unused (no nVidia, nouveau drivers used though, no Optimus). klibc compiled for current kernel, x86_64 only. All Intel modules are configured as [M].
I notice that with no VGA or video= command, my system boots natively in 1920x1080 mode.
Thanks anyway. Probably a problem with the graphics chipset and the dual GPU.
H/W path Device Class Description
=========================================================
/0/100/2 display Iris Plus Graphics G7
/0/100/1c.4/0 display GP108M [GeForce MX250]
I'm closing this issue. I appreciate your help. Cheers.
from v86d.
I read the links. There was nothing new in them. I've used uvesafb before for years, since 2011. This is newer laptop with built in Intel graphics and nVidia as a second GPU that is unused (no nVidia, nouveau drivers used though, no Optimus). klibc compiled for current kernel, x86_64 only. All Intel modules are configured as [M].
I notice that with no VGA or video= command, my system boots natively in 1920x1080 mode.
Thanks anyway. Probably a problem with the graphics chipset and the dual GPU.
H/W path Device Class Description ========================================================= /0/100/2 display Iris Plus Graphics G7 /0/100/1c.4/0 display GP108M [GeForce MX250]
I'm closing this issue. I appreciate your help. Cheers.
-
Interesting
Error v86d: EBDA too big (10800), truncating
andx1080 mode
. -
Yes, your intel Iris Plus Graphics G7 card (i915 family) has buggy vesa/vga bios.
To fix it, use 915resolution hook and 915resolution-static:
Uvesafb and 915resolution
In the following, we address a more complex scenario. Many intel video chipsets for widescreen laptops are known to have a buggy BIOS, which does not support the main, native resolution of the wide screen! For this reason, 915resolution was created to patch the BIOS at boot time and allow the X server to use the widescreen resolution. Nowadays, the X server is able to do this without the help of 915resolution. However, 915resolution can be combined with uvesafb in order to obtain a widescreen framebuffer, without any need to launch X at all. In this case, we need to load uvesafb after having run 915resolution, so that uvesafb can resort to the proper resolution.
915resolution-static
In this scenario, 915resolution needs to be compiled statically (since it is going to be in an initramfs, it can not be linked to external libraries). Thus you CAN NOT use the 915resolution package in the [community] repo. Look instead for 915resolution-staticAUR: archived in aur-mirror] in the AUR. It compiles 915 resolution statically and provides a 915 resolution hook, so you can run 915resolution before loading uvesafb and get the patched resolution. So install 915resolution-static via makepkg and pacman.
The resolution
You need to edit the 915resolution hook in order to define the BIOS mode you want to replace and and the resolution you want to get. You can get information about all the options for 915resolution with:
$ 915resolution -h
Edit /lib/initcpio/hooks/915resolution
and modify the options for 915resolution:
run_hook () {
msg -n ":: Patching the VBIOS..."
/usr/sbin/915resolution 5c 1280 800
msg "done."
}
As default 5c is the code of the BIOS mode to replace. You can get a list of the available BIOS video modes with the command 915resolution -l
.
1280 800
is the new desired resolution.The Hooks Array
Add the 915resolution hook and, after it, the v86d hook to HOOKS in /etc/mkinitcpio.conf
. Put them before the hooks for the keymap, the resume from suspension and the filesystems.
HOOKS="base udev 915resolution v86d ..."
Then you need to regenerate your initramfs with mkinitcpio (adjust the following command to your setup):
mkinitcpio -p linux
Source: https://web.archive.org/web/20190603210338/https://wiki.archlinux.org/index.php/Uvesafb
from v86d.
Related Issues (1)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from v86d.