qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Stefan Weil <sw@weilnetz.de>
To: TeLeMan <geleman@gmail.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH] w32: QEMU applications with SDL are always GUI applications
Date: Mon, 19 Dec 2011 09:15:21 +0100	[thread overview]
Message-ID: <4EEEF299.2040506@weilnetz.de> (raw)
In-Reply-To: <CAETRQWka_BgVOC8b5D25cUyrYswpBbtqVtGpqfTZ93B+bS_wMA@mail.gmail.com>

Am 19.12.2011 03:12, schrieb TeLeMan:
> On Sat, Dec 17, 2011 at 07:12, Stefan Weil <sw@weilnetz.de> wrote:
>> Am 16.12.2011 04:24, schrieb TeLeMan:
>>
>>> On Sun, Dec 4, 2011 at 05:32, Stefan Weil <sw@weilnetz.de> wrote:
>>>>
>>>> Since commit 1d14ffa97eacd3cb722271eaf6f093038396eac4 (in 2005),
>>>> QEMU applications on W32 don't use the default SDL compiler flags:
>>>>
>>>> Instead of a GUI application, a console application is created.
>>>>
>>>> This has disadvantages (there is always an empty console window) and
>>>> no obvious reason, so this patch removes the strange flag modification.
>>>>
>>>> The SDL GUI applications still can be run from a console window
>>>> and even send stdout and stderr to that console by setting environment
>>>> variable SDL_STDIO_REDIRECT=no.
>>>
>>> Did you test it? Windows GUI applications can not send stdout to the
>>> startup console window unless they create their own console window.
>>
>>
>> I did, but obviously not good enough:
>>
>> in an msys rxvt console the QEMU executables work as I wrote
>> in the commit message. So msys-rxvt and some other applications
>> (SciTE for example) allow running GUI applications with
>> stdio channels.
>>
>> The Windows command prompt (cmd.exe) is different, and so is
>> the normal MSYS console. Here console output does not work,
>> and I also noticed problems when running an emulation with
>> latest QEMU (application hangs).
>>
>> It seems to be difficult to get a solution which works for
>> several scenarios:
>>
>> * It should be possible to create a link which starts
>>  an emulation with parameters and only one window (SDL,
>>  no extra console window). This needs a GUI application
>>  (or is it possible for a console application to suppress
>>  or close the console window?).
>>
>> * It must be possible to see stdout and stderr output.
>>  Default today: both are written to files in the program
>>  directory. This is bad because normally users have no
>>  write access there. It also does not allow running
>>  more than one emulation with separated output.
>>
>> * It should be possible to get stdout and stderr directly
>>  to the console. This is needed for running with curses,
>>  and it is useful when asking for -help.
>>
>> * It must be possible to run QEMU executables from cmd.exe.
>>
>> * It should be possible to run QEMU executables from other
>>  shells (msys command line, msys rxvt, cygwin command line,
>>  ...).
>>
>> What would you suggest?
> Add a configure option and let users decide which one is better.

Then you get executables with same name but different behavior,
so it's always necessary to specify which configure options were used.
It makes documentation and support more difficult.

My favorite solution would be executables which work for all
(or at least most) typical use cases.

If that is impossible, maybe pairs of executables (a windows gui
and a console version for each system emulation) would also be
a reasonable choice. This only needs an additional objcopy (which
makes a copy and changes the subsystem) to get qemu-system-i386c.exe
from qemu-system-i386.exe.

There still remains the problem with stdout.txt and stderr.txt
which are used by default for any console output. This is
unusual for console applications, and it does not work when
QEMU was installed because of missing write access.

  reply	other threads:[~2011-12-19  8:16 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-03 21:32 [Qemu-devel] [PATCH] w32: QEMU applications with SDL are always GUI applications Stefan Weil
2011-12-11 16:50 ` Blue Swirl
2011-12-16  3:24 ` TeLeMan
2011-12-16 23:12   ` Stefan Weil
2011-12-19  2:12     ` TeLeMan
2011-12-19  8:15       ` Stefan Weil [this message]
2011-12-19  9:31         ` TeLeMan
2011-12-19 10:17         ` Andreas Färber
2011-12-22  1:50         ` TeLeMan
2011-12-22  6:45           ` Stefan Weil
2011-12-22  7:26             ` TeLeMan
2011-12-22  8:03               ` [Qemu-devel] [PATCH] w32: Build windows and console executables Stefan Weil
2011-12-22  9:22                 ` TeLeMan

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4EEEF299.2040506@weilnetz.de \
    --to=sw@weilnetz.de \
    --cc=geleman@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).