linux: Better GPU debugging (#14706)
Release Notes: - linux: Added GPU information to `editor: Copy System Specs to Clipboard` - linux: Show a prominant warning before running under llvmpipe and similar.
This commit is contained in:
parent
c262c81e52
commit
bdf1d4edea
16 changed files with 136 additions and 48 deletions
|
@ -139,6 +139,30 @@ pub fn initialize_workspace(app_state: Arc<AppState>, cx: &mut AppContext) {
|
|||
})
|
||||
.detach();
|
||||
|
||||
if let Some(specs) = cx.gpu_specs() {
|
||||
log::info!("Using GPU: {:?}", specs);
|
||||
if specs.is_software_emulated && std::env::var("ZED_ALLOW_EMULATED_GPU").is_err() {
|
||||
let message = format!(db::indoc!{r#"
|
||||
Zed uses Vulkan for rendering and requires a compatible GPU.
|
||||
|
||||
Currently you are using a software emulated GPU ({}) which
|
||||
will result in awful performance.
|
||||
|
||||
For troubleshooting see: https://zed.dev/docs/linux
|
||||
"#}, specs.device_name);
|
||||
let prompt = cx.prompt(PromptLevel::Critical, "Unsupported GPU", Some(&message),
|
||||
&["Troubleshoot and Quit"]);
|
||||
cx.spawn(|_, mut cx| async move {
|
||||
if prompt.await == Ok(0) {
|
||||
cx.update(|cx| {
|
||||
cx.open_url("https://zed.dev/docs/linux#zed-fails-to-open-windows");
|
||||
cx.quit();
|
||||
}).ok();
|
||||
}
|
||||
}).detach()
|
||||
}
|
||||
}
|
||||
|
||||
let inline_completion_button = cx.new_view(|cx| {
|
||||
inline_completion_button::InlineCompletionButton::new(app_state.fs.clone(), cx)
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue