我有一个新买的便宜的 8 英寸 TFT LCD 显示器,它的所有侧面都“切掉了边缘”(即不显示所有像素)。我了解到这是由于“过扫描”造成的,这似乎主要影响使用 HDMI 输入的电视。
我的内核首先启动到 efifb,然后切换到 inteldrmfb——两个帧缓冲区驱动程序都出现了这个问题。我不使用 X windows,也永远不想在这个小显示器上使用 X。我只想使用 Linux 文本控制台。所以任何使用“xrandr”的解决方案都已经过时了。
我已经尝试了有关驱动程序级(内核级)帧缓冲区设置的所有方法来解决此问题,包括使用“视频”内核启动参数调整分辨率设置以及使用 fbset 调整启动后的计时设置,但是无论我对 fbset 做什么,它似乎都会被忽略。
所以我的问题是:有没有一种方法,也许比帧缓冲区驱动程序级别更高,我可以在帧缓冲区控制台周围添加边距?
我知道我可以使用“stty”来缩短 Linux 将在控制台上使用的列数和行数,但这只能解决右侧和底部的问题,并且仍然会在左侧留下字符被切断,顶部。有没有办法使用“stty”向控制台添加“第一列”和“第一行”偏移量(即一些空白填充)?如果不使用 stty,使用其他一些轻量级工具(不是 X windows)?
从我之前的问题从实时持久性 USB 启动后的空屏幕来看,我能够在启动后访问所有文件和文件夹,但 X 服务器无法加载(所以我只能访问 tty1)。从上一个问题我可以找到/var/log/Xorg.0.log它并拍了一张照片:
现在我必须以某种方式指定“所有帧缓冲区设备的总线ID”(来自文件错误)。那么我该怎么做呢?我应该编辑什么配置文件?startx我从(无法运行帧缓冲区模式的致命错误)中得到了完全相同的错误。如何连接X-server?
我在我的嵌入式 Linux 设备上安装了一个新的 LCD,当我运行系统时,我发现它向右移动了。(显示从LCD中间开始)
我在Linux内核驱动程序下找到了2个帧缓冲驱动程序,并在以下方面进行了修改:
#ifdef CONFIG_TOPPOLY_TD035TTEA3_320X240
hsync_len : 64,
vsync_len : 6,
left_margin : 125,
upper_margin : 70,
right_margin: 115,
lower_margin : 36,
sync: 0,
cmap_static: 0,
#endif
Run Code Online (Sandbox Code Playgroud)
但问题仍然存在。我该怎么办?
我正在安装 Debian 10,但我无法startx也没有 GUI。我认为问题出在某些司机身上。
以下是我在 /var/log/Xorg.0.log 中遇到的错误:
如果有人可以提供帮助,我将非常感激。
内核、帧缓冲区或帧缓冲区驱动程序 (uvesafb) 是否可以选择指定要使用的视频卡输出?
内核只输出到一台监视器:
注意:我对 X-windows 配置没有问题(只有控制台)
内核选项(带 fb):
kernel /stable root=/dev/sda3 video=uvesafb:mtrr:3,ywrap,1920x1200-32@60
内核选项(无 fb):
kernel /stable root=/dev/sda3
系统信息:
启动 NetBSD 时,我拥有的旧 Tecra 720CDT 在 1024x768x15 模式下与 vesa fb 运行良好。
启动系统时,我总是必须激活 VESA:
> vesa on
> vesa 0x116
> boot netbsd
Run Code Online (Sandbox Code Playgroud)
现在,我可以通过编辑使这个过程在某种程度上自动化/boot.cfg:
menu=Boot normally:rndseed /var/db/entropy-file;vesa on;vesa 0x116;boot netbsd
Run Code Online (Sandbox Code Playgroud)
不知道这是否更可取。我实际上想在内核本身中设置这种行为。在 OpenBSD 上,我只是config用来更改内核设置。但是,这不适用于 NetBSD。我必须重新编译内核(这是我的理解)。
现在,在查看配置文件时,我找不到与 vesa 相关的内容或在启动时切换到帧缓冲模式。这甚至可能吗?如果是这样,我该怎么做?
我正在使用嵌入式平台,需要/dev/fb0清除供我自己使用(可通过串行控制台访问的设备,而屏幕用于显示信息,没有 X。)。
我已经default.target从图形用户更改为多用户,但现在它在帧缓冲设备上打开 getty 并显示登录提示,但我无法找到那是哪个服务。我不想偶然禁用串行控制台登录,并且lsof在/dev/fb0打开时不显示任何内容。
如果有帮助的话,发行版是 Yocto Linux。
我有一台运行 Gentoo 的 MSI WD-60 笔记本电脑。它有一个 3840x2160 的屏幕,所以我不得不设置 Gnome/Firefox/IntellJ 以将它们的 DPI 加倍以使其可读。除了启动期间的帧缓冲区外,一切正常。
我在内核中使用了 CONFIG_FB_EFI,所以我假设内核将它用于其帧缓冲驱动程序。我使用以下命令为 grub 提供了更大的字体和更低的分辨率:
GRUB_GFXMODE=1920x1080
GRUB_GFXPAYLOAD_LINUX=keep
GRUB_FONT="/boot/grub/fonts/DejaVuSans30.pcf"
Run Code Online (Sandbox Code Playgroud)
Grub2 看起来不错并且是 1920x1080,但是在我选择我的内核后,模式切换回原生模式并且我的帧缓冲区文本很小。我也尝试了旧的vga=795选项,但这似乎也不起作用。
这没什么大不了的,但我确实有 LUKS 加密,所以我的 initram 中的提示非常小。无论如何让我的启动顺序在启动期间使用更大的字体或更高的 DPI 或更低的分辨率?是否有我遗漏的内核选项或参数专门用于 EFI 帧缓冲区?
我的系统:
$lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.3 LTS
Release: 14.04
Codename: trusty
Run Code Online (Sandbox Code Playgroud)
Xvfb:
$ dpkg -s xvfb
Package: xvfb
Status: install ok installed
Priority: optional
Section: x11
Installed-Size: 2140
Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: foreign
Source: xorg-server
Version: 2:1.15.1-0ubuntu2.7
Provides: xserver
Run Code Online (Sandbox Code Playgroud)
当前问题:
Xvfb 不支持 RANDR 扩展,即使我添加了标志:
+extension RANDR
Run Code Online (Sandbox Code Playgroud)
如果我运行 xdpyinfo,RANDR 不在列表中。这是缺少的功能或错误。我在这里找到了一个带有补丁的参考:https : //bugzilla.novell.com/show_bug.cgi?id=823410
看起来像在 debian 等其他发行版中,已经有 Xvfb 的测试版本支持:在 Xvfb 中运行 Firefox:显示中缺少扩展名“RANDR”
我试图通过 Xvfb 运行一个程序,它返回以下错误:
Xlib: extension "RANDR" missing on …Run Code Online (Sandbox Code Playgroud) 我使用的是配备 Fedora 34 的 Lenovo Yoga C940 15"。它具有 4K 屏幕,配有 nvidia gtx1650 移动卡和集成英特尔显卡。我想更改 GRUB 菜单的分辨率,因为它在原生 4K 分辨率下很小,并且我尝试编辑/etc/default/grub并将其更改GRUB_GFXMODE为 1920x1080 之类的值,然后生成 grub 配置并更新 grub,但似乎没有任何效果。
我安装了 hwinfo 以便可以看到帧缓冲区支持的分辨率,但是当我运行时hwinfo --framebuffer,没有出现输出。--log使用with将其重定向到日志文件hwinfo会给出一个大文本文件,但绝对没有有关支持的显示分辨率的信息。这里发生了什么?我的笔记本电脑硬件是否由于某种原因不支持帧缓冲区?使用时dmesg | grep -i 'frame.*buffer',我得到以下输出:
[ 1.770472] efifb: framebuffer at 0x4000000000, using 32400k, total 32400k [ 1.770513] fb0: EFI VGA frame buffer device [ 3.880879] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device [ 5.260159] i915 0000:00:02.0: [drm] Reducing the compressed framebuffer size. …