mirror of
https://github.com/obsproject/obs-studio.git
synced 2024-09-19 20:32:15 +02:00
UI: Hide OpenGL and D3D adapter on Windows
OpenGL on Windows is rather unstable and can result in graphical corruption or the complete inability to start OBS since some GPUs do not support the minimum requirements after switching to OpenGL. The UI option is now hidden unless --allow-opengl is passed on the command line. The D3D adapter is currently unused and we often find users are concerned when their GPU does not appear in the list.
This commit is contained in:
parent
bda50fb439
commit
fdc9c47875
@ -69,6 +69,7 @@ bool opt_start_recording = false;
|
||||
bool opt_studio_mode = false;
|
||||
bool opt_start_replaybuffer = false;
|
||||
bool opt_minimize_tray = false;
|
||||
bool opt_allow_opengl = false;
|
||||
string opt_starting_collection;
|
||||
string opt_starting_profile;
|
||||
string opt_starting_scene;
|
||||
@ -1783,6 +1784,9 @@ int main(int argc, char *argv[])
|
||||
} else if (arg_is(argv[i], "--studio-mode", nullptr)) {
|
||||
opt_studio_mode = true;
|
||||
|
||||
} else if (arg_is(argv[i], "--allow-opengl", nullptr)) {
|
||||
opt_allow_opengl = true;
|
||||
|
||||
} else if (arg_is(argv[i], "--help", "-h")) {
|
||||
std::cout <<
|
||||
"--help, -h: Get list of available commands.\n\n" <<
|
||||
@ -1798,6 +1802,7 @@ int main(int argc, char *argv[])
|
||||
"--portable, -p: Use portable mode.\n\n" <<
|
||||
"--verbose: Make log more verbose.\n" <<
|
||||
"--unfiltered_log: Make log unfiltered.\n\n" <<
|
||||
"--allow-opengl: Allow OpenGL on Windows.\n\n" <<
|
||||
"--version, -V: Get current version.\n";
|
||||
|
||||
exit(0);
|
||||
|
@ -181,4 +181,5 @@ extern bool opt_start_recording;
|
||||
extern bool opt_start_replaybuffer;
|
||||
extern bool opt_minimize_tray;
|
||||
extern bool opt_studio_mode;
|
||||
extern bool opt_allow_opengl;
|
||||
extern std::string opt_starting_scene;
|
||||
|
@ -1041,18 +1041,20 @@ void OBSBasicSettings::LoadRendererList()
|
||||
"Renderer");
|
||||
|
||||
ui->renderer->addItem(QT_UTF8("Direct3D 11"));
|
||||
ui->renderer->addItem(QT_UTF8("OpenGL"));
|
||||
if (opt_allow_opengl)
|
||||
ui->renderer->addItem(QT_UTF8("OpenGL"));
|
||||
|
||||
int idx = ui->renderer->findText(QT_UTF8(renderer));
|
||||
if (idx == -1)
|
||||
idx = 0;
|
||||
|
||||
if (strcmp(renderer, "OpenGL") == 0) {
|
||||
delete ui->adapter;
|
||||
delete ui->adapterLabel;
|
||||
ui->adapter = nullptr;
|
||||
ui->adapterLabel = nullptr;
|
||||
}
|
||||
// the video adapter selection is not currently implemented, hide for now
|
||||
// to avoid user confusion. was previously protected by
|
||||
// if (strcmp(renderer, "OpenGL") == 0)
|
||||
delete ui->adapter;
|
||||
delete ui->adapterLabel;
|
||||
ui->adapter = nullptr;
|
||||
ui->adapterLabel = nullptr;
|
||||
|
||||
ui->renderer->setCurrentIndex(idx);
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user