From fccfc05f672cf746ea309d0b220ea9ceeac1f758 Mon Sep 17 00:00:00 2001 From: David Riley Date: Mon, 28 Jan 2019 16:59:18 -0800 Subject: devices: gpu: dup stdout to stderr to allow virglrenderer logging By default virglrenderer logs to stderr with VREND_DEBUG. dup stdout which is logged via logger to stderr so that virglrenderer logs can be seen. BUG=chromium:925590 TEST=cat /var/log/messages Change-Id: I3e1a5056dab9cfd895867b1835b421b144ee536b Reviewed-on: https://chromium-review.googlesource.com/1441352 Commit-Ready: David Riley Tested-by: David Riley Tested-by: kokoro Reviewed-by: Zach Reizner --- devices/src/virtio/gpu/mod.rs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'devices/src/virtio') diff --git a/devices/src/virtio/gpu/mod.rs b/devices/src/virtio/gpu/mod.rs index 16a9bc3..8da15f5 100644 --- a/devices/src/virtio/gpu/mod.rs +++ b/devices/src/virtio/gpu/mod.rs @@ -23,7 +23,7 @@ use std::time::Duration; use data_model::*; -use sys_util::{EventFd, GuestAddress, GuestMemory, PollContext, PollToken}; +use sys_util::{Error, EventFd, GuestAddress, GuestMemory, PollContext, PollToken}; use self::gpu_buffer::Device; use self::gpu_display::*; @@ -772,6 +772,13 @@ impl VirtioDevice for Gpu { } }; + if cfg!(debug_assertions) { + let ret = unsafe { libc::dup2(libc::STDOUT_FILENO, libc::STDERR_FILENO) }; + if ret == -1 { + warn!("unable to dup2 stdout to stderr: {}", Error::last()); + } + } + let renderer = match Renderer::init() { Ok(r) => r, Err(e) => { -- cgit 1.4.1