Gnome 上的 Chrome 随机无法全屏显示

Gnome 上的 Chrome 随机无法全屏显示

我的 CentOS 7 在配备英特尔高清显卡 i915 的英特尔 NUC 上运行 4.7.1 内核 (elrepo-ml)。

我正在尝试以全屏模式运行 Chrome google-chrome --full-screen --kiosk http:192.168.2.20(只是一个具有默认 Apache2 页面的本地服务器),它在大部分时间都可以工作,但随机地(每隔第二到第五次)它不会完全显示页面,看起来像这:

屏幕截图

您可以看到,由于页面呈现的方式,chrome“认为”它是全屏的。

一个有趣的行为是,如果我Alt+Tab到另一个窗口(隐藏在屏幕截图中),则页面将在刚刚带到前面的窗口下呈现全屏。

X.org 日志中没有任何有趣的内容 – 在成功和不成功的全屏尝试中都会重复相同的行。 (当 gdm 处于调试模式时,相同的行会记录在 /var/log/gdm/ 中)。

[352467.250] GetModeLine - scrn: 0 clock: 148500
[352467.250] GetModeLine - hdsp: 1920 hbeg: 2008 hend: 2052 httl: 2200
[352467.250]               vdsp: 1080 vbeg: 1084 vend: 1089 vttl: 1125 flags: 5

我尝试使用 xrefresh 以编程方式强制刷新(可能是Alt+ Tab),但这没有任何区别。

是什么原因导致这种行为?我可以采取什么措施来始终获得全屏图像?

编辑以添加更多系统详细信息:

  • 硬件:英特尔 NUC NUC5CPYH 处理器
  • 配备英特尔高清显卡的英特尔赛扬 N3050

司机:

$ modinfo i915 | grep version
srcversion:     4F4A9108A6D94B8919E3154
vermagic:       4.7.1-1.el7.elrepo.x86_64 SMP mod_unload modversions

硬件:

$ dmesg | egrep "i915|[Gg]raphic"
[    0.000000] Reserving Intel graphics stolen memory at 0x7cf00000-0x7eefffff
[    2.356158] [drm] Memory usable by graphics device = 2048M
[    2.498705] [drm] Initialized i915 1.6.0 20160425 for 0000:00:02.0 on minor 0
[    3.284294] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    6.301736] snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

答案1

我在最大化/全屏 Chrome 窗口时遇到了这个问题,虽然我没有解决方案,但我确实有一些似乎对我有用的解决方法:

最简单:右键单击 Chrome 窗口的标题栏,然后选择“使用系统标题栏和边框”。这似乎对我有帮助,但确实以看起来不合适的奇怪装饰器的形式引入了一些丑陋。

如果这没有帮助,替代方案:

  1. 最大化/全屏窗口
  2. 使用 xrandr 将分辨率设置为较低设置(在我的例子中,运行xrandr -s '1280x720':)
  3. 将分辨率重置为您真正想要的设置(在我的例子中,运行xrandr -s '1920x1080':)

此时,我的最大化/全屏窗口可以正确渲染。我还可以使用最大化的窗口,并毫无问题地将其切换为全屏模式。但是,如果我取消最大化/“恢复”窗口到浮动模式,然后再次最大化/全屏显示,问题就会再次出现。

切换到另一个窗口管理器(例如 xfce 的 xfwm4)似乎也有帮助。考虑到这一点,我有时会切换到它(运行:)xfwm4 --replace,并在完成需要全屏模式的操作时切换回 gnome-shell(运行:)gnome-shell --replace

相关内容