问题标签 [vesa]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
500 浏览

video - Vesa 问题:0xA0000 或 0xB0000

在处理 Vesa(第 2 版)时,我可以检测它是否可用,获取所有可用的分辨率,但是在设置分辨率时……我可以更改为 1024x768(32bpp),但屏幕只是空白。 ..正在VirtualBox上测试它...

设置模式后,还有什么要做的吗?

0 投票
1 回答
1526 浏览

video - 在内核 ASM(NASM 汇编器)中将视频模式设置为 1920x1080 (HD) 或更高

我想将我正在处理的 ASM 内核中的视频模式设置为 1920x1080 或更高的视频模式(或至少高于 VESA 中的通常限制)。有没有办法做到这一点,如果有,提供示例代码?

我正在使用 NASM 对内核进行编码。

0 投票
1 回答
1090 浏览

resolution - 如何阅读 VESA/VideoBIOS“模式移除表”?

许多关于让宽屏显示器以原始分辨率在笔记本电脑上工作的网站和文章都提到了视频 BIOS 中称为“模式移除表”的东西,它专门阻止了某些视频模式:

这样的事情真的存在吗?该修复对我有用,但我想知道我是否可以阅读、修改或解决此表。但是,我在各种 VESA 标准中找不到任何提及。也许它实际上还有其他更神秘的名字?

0 投票
0 回答
1197 浏览

video - VESA BIOS 扩展:如何更改分辨率?

我刚刚完成了一个小型引导加载程序和内核,它切换到保护模式并设置了一个基本的物理和虚拟内存管理器:

目前,我通过写入0xB8000内存中的视频地址在屏幕上显示文本。但是,我想像 GRUB 那样增加 TTY 分辨率(我认为是通过GRUB_GFXMODE标志)。

如何在保护模式下提高屏幕分辨率?

我试过查看 GRUB 源代码(关于与 VBE 和 相关的部分vbeinfo);但是,我不明白它实际上是如何工作的。网上有没有关于如何做到这一点的指南?(我在 OSDev.org 上的搜索结果并不多,但我可能错过了。)

0 投票
1 回答
113 浏览

architecture - X.org 通用图形驱动程序?

我正在尝试用最小的 x.org 构建一个最小的实时发行版。我找到了http://privatebox.org/?doc/Xorg-Minimal-HOWTO - 这表明我只包含一个图形驱动程序(显然是预期笔记本电脑/台式机的图形驱动程序),无论如何.. 有这样的事情作为通用图形驱动程序?我不是在寻找清晰的线条或 3D 性能,只是相当标准且适用于大多数硬件的东西?

我还希望构建一个单一的发行版(不是 x86-64 的单独发行版)。如果我尝试在 x86-64 机器上运行发行版,我是否认为 Vesa 将无法工作?

0 投票
1 回答
3030 浏览

linux - 更改 Linux 帧缓冲区背景颜色

我的问题是关于linux内核的。当 framebuffer 设备初始化时(我猜是vesafb),屏幕充满了黑色。我怎样才能改变这种颜色?我应该编辑什么文件?我猜它是在drivers/video/中的东西。

我只知道更改控制台背景(drivers/tty/vt/vt.c),但这不是我需要的。VGA 控制台已关闭。

如果我的描述不清楚,我有一个视频显示我的系统在虚拟机中启动。内核加载后,QEMU 窗口的大小变为 640x480 并变为全黑 (0:03-0:04)。这是我要修改的。之后,我的 init 开始了。它将文本输出到帧缓冲区然后死掉,导致内核恐慌并在 1 秒内重新启动。然后一切重新开始。

0 投票
2 回答
1800 浏览

assembly - MS-DOS - 是否可以对 24 位图形进行编程?

是否可以在 DOS 机器上以 24 位的颜色深度进行编程?我知道 VGA 支持 8 位颜色深度,但有没有办法解决 24 位?对谷歌的研究一无所获。如果这会影响答案,我正在使用 FreeDOS 而不是 MS-DOS 进行编程。

0 投票
0 回答
1009 浏览

framebuffer - GRUB2 + VESA BIOS 扩展/VBE 坏了?

虽然我之前确实解决了构建正确引导映像的问题,但在一天的大部分时间里,我一直在努力解决另一个与 GRUB2 相关的问题。

问题是,即使我多重引导标头中设置了视频信息请求位,GRUB2 也不会返回正确的 VESA BIOS 扩展 (VBE) 信息。

内核是我自己的工作,值得注意的是它曾经与一些早期版本的 GRUB2 一起工作(TM)(我可以用白色像素填充屏幕,没问题)。

这是我当前的 grub.cfg:

这是我用来构建启动映像的脚本:

0 投票
1 回答
574 浏览

io - 通过 IO/端口的 VESA

如何通过 x86 CPU 的 IO/端口访问 vesa 模式?我已经尝试过仅适用于博世的代码

0 投票
1 回答
726 浏览

c - 如何在 DirectFB 中使用鼠标

我正在使用 DirectFB(不带 X,使用 fbcon 驱动程序(带 vesafb)写入屏幕缓冲区)。我可以做键盘输入,但我想用我的鼠标。(获取光标坐标/显示光标/单击事件)

有人可以给出示例代码或告诉我它是如何完成的吗?我还需要GPM吗?我尝试了基于 directfb 的 mplayer,鼠标在没有启动 GPM 守护程序的情况下可以正常工作。

我应该改用 SDL 还是 DirectFB 可以做我想做的事?