Fork me on GitHub

树莓派3B-打开硬件加速OpenGL

2017-09-23 初成文
2017-10-05 添加图片

目前系统(2016-02之后的raspbian with desktop)已经内置OpenGL driver,但默认是关闭的而使用较慢的软件渲染。

注意:Lite版系统是不支持的,因为opengl离不开桌面。一般来说该选项仅支持pi2及以后的版本,当然也可以找一下Pi 1/0开启opengl的方法(https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=166495)

打开方法:

1
2
sudo raspi-config
//打开Advanced Options→GL Driver,选择第一GL (Full KMS) Desktop Drivers或第二选项GL (Fake KMS) Desktop Driver

或者直接在/boot/config.txt里添加一行dtoverlay=vc4-kms-v3ddtoverlay=vc4-fkms-v3d,分别对应上面两项。
KMS是指Kernel Mode-Setting,理论上该模式会更有效率,因为是通过内核输出的,而Fake KMS则有更好的兼容性,比如打开Full KMS后使用realvnc远程会黑屏等。
需要注意的是,打开该选项可能会导致标准摄像头或者基于OpenGL ES(OpenGL的子集)的视频渲染软件失效(比如kodi),不支持DSI接口的官方显示屏。

测试是否已正确配置

在终端打开

1
2
sudo aptitude install mesa-utils
glxgears

如果使用的是标准的软件渲染模式,可见三个齿轮运转大概30帧/s并伴有闪烁卡顿,颜色显示也不正常。如果使用的是opengl硬件加速模式,则有60帧/s,不会伴有闪烁,颜色也显示正常。

glxgears显示正确,并有60帧/s

1
sudo aptitude install neverball

这个游戏在软件渲染模式之下几乎是不能打开的,即使打开了也非非常卡顿。
其他opengl应用或游戏(建议GPU mem设置不低于256MB):

1
2
3
4
5
6
7
8
9
10
They Need To Be Fed
Super Crate Box
Maldita Castilla —— an atmospheric action arcade game
Stellarium —— an Astronomy program
NeverBall —— a puzzle game
NeverPutt —— mini Golf game
glTron —— Tron style Cycle game
OpenArea —— first person shooter game
Super Tux Kart —— a Mario Kart style game
Frets on Fire —— a Guitar Hero style game

主要参考文章:
OpenGL Drivers on Raspberry Pi B/B+/Zero
THREE GREAT GAMEMAKER GAMES FOR RASPBERRY PI
New experimental GL driver configuration

相关文章:
-------------本文结束感谢您的阅读-------------
0%