Hi,
onlyonemac wrote:Brendan wrote:Your "some" is zero monitors, plus a 2 TVs where one would get the native resolution and one won't and all of them will be 20 years old before the OS is released.
Lie. I don't care how old it is, but I have such a monitor in good working order and in regular use until I couldn't see it anymore sitting approximately one and a half meters away at my 10 o'clock.
No, you don't.
You might have a monitor that gives incorrect video mode timings from its EDID (which can be trivially worked around via. my "monitor description" files); and you have a monitor that gives correct video mode timings but incorrect PnP ID (which can be trivially worked around by not having a "monitor description" file to force the OS to use the EDID); and you might have a monitor where the EDID is perfectly correct (but Linux was broken and you felt like blaming the monitor).
onlyonemac wrote:Brendan wrote:Nowhere did I say font sizes would be restricted.
Then what was that other post all about where you listed all sorts of seemingly random character sizes (sounding very "text mode"-ish) and equally random-sounding monitor resolutions (where I believe you were implying that those are the only monitor resolutions that will be in existence in ten years' time or something like that)?
In that post I measured (with a ruler) the physical font size (in millimetres) that I do use (from the text editor I use for programming) as a typical/representative font size; and then calculated/estimated the resolution and/or monitor size that would be needed to avoid "too blurry to read" text (and for "nice clear text") for that one specific representative font size, to show (using mathematics based on factual evidence as opposed to your "incessant barrage of unfounded whining") that your "too blurry to read" myth is nonsense for everything that will matter; including the 2 most common resolution that are in use today (based on Steam's latest hardware survey) and the resolutions that are likely to be in use (based on extrapolating statistical data from Steam's surveys) when the OS is released.
onlyonemac wrote:Brendan wrote:Before I explained how wrong you are last time you said this, "one little configuration file" could be forgiven as an honest mistake. After I explained how wrong you are last time, "one little configuration file" is a lie and you know it.
You still haven't (justifiably) explained what makes it more than "one little configuration file".
I have at least twice now; including in the post you are replying to. You are literally claiming that something doesn't exist while including it (as a quote) in the same post as your claim, and arguing about the details within the explanation that you're attempting to pretend didn't exist.
onlyonemac wrote:Brendan wrote:It's hacks in every single video driver, more hacks in the "session manager" to give the right settings for each monitor to its video driver, a dialog box to change settings, crippling the video drivers ability to change resolution on the fly (to meet frame rate guarantees when renderer consistently fails to keep up), and documenting all of that (in the user manual, help system and device driver guide; possibly in multiple different languages), and maintaining all of it "forever".
The fact that you have to hack the video drivers makes me think that your driver architecture has no way to pass parameters to drivers when they are loaded, which sounds very short-sighted to me.
The device manager provides information obtained via. auto-detection from PCI (IRQ, BARs) when starting the device driver. Device drivers may store and track information for maintenance purposes (e.g. hours in service, mean time between failures, etc) and report this information to a maintenance utility framework. Video drivers report information back to "session manager" (or "station manager" or "user interface manager" or whatever I decide to call it - I really haven't found a good name for it yet) about monitor details it auto-detected (so that "session manager" can coordinate things, like handling user login when a monitor comes online); plus feedback (from video driver to "session manager") from every frame rendered to allow multi-monitor HDR and multi-monitor focus to work. Then there's "accessibility" information from user's profiles (colour blindness for hue shifting/compensation purposes, photosensitive epilepsy for flash limiting purposes, etc) sent from "session manager" to all video cards/monitors being used by that user as part of user login. Of course on top of that is the graphics data itself going to the video driver describing what frame/s should contain.
Basically there's plenty of information going in all directions; but nothing originating from any user (including admin) to any specific video driver.
onlyonemac wrote:You don't need a dialog box; the rest of the world with our "outdated" 2D operating systems uses a text editor to edit a configuration *file*, which is like a string of bytes representing text characters which in turn represent various parameters for whatever is being configured, and which can be reconfigured with any application capable of editing such an arcane format, such as the venerable text editor, which if you're not supplying with your OS then I can tell you the IT department will be smashing the virtual disks on which it is supplied out of frustration.
For all things (including programming) you only ever need a text editor for cases where the designer/programmer was too lazy to do their job and provide a solution that isn't crap. If I allowed antiquated plain text puss (and quite frankly, I can't see a reason for a text editor to exist at all on my OS) then it'd mean implementing a parser and dealing with parsing errors (typos, etc) while trying to configure video (and not when user is entering the information); and it would end up being at least as complicated as a dialog box (if not worse).
If the IT department get annoyed, it'll be because I made their jobs too easy (so easy that half will be redundant and the other half will be reclassified as "unskilled labour" and will be working for minimum wage).
onlyonemac wrote:And you don't have to cripple anything with the video drivers; it's up to them what they do with the information, but quite frankly changing the resolution "on the fly" to meet frame rate limitations is the stupidest thing ever because even today monitors take a few milliseconds to sync with a new resolution and during that time their output is undefined (and may consist of a frozen frame, a black screen, or flicker). If you're seriously planning on changing the monitor resolution on such an ad-hoc basis, then quite frankly you can forget about anyone ever using your OS for more than a few minutes because they will get very frustrated (and by the way the correct way to handle frame rate guarantees is to either drop frames or lower the *renderer* resolution, not the *video output* resolution).
Like I already explained, it would only reduce the renderer resolution for brief periods of "too much overhead", and would only reduce the video output resolution for prolonged "too much overhead" (and only if/when there's no user activity for 5+ minutes). For brief periods of "too much overhead" it wouldn't change output resolution (and would adjust renderer resolution, impostor detail, rendering distance, lighting quality, etc).
Like I already explained, lowering the renderer resolution (when rendering overhead is too high) means that the renderer now has the additional overhead of scaling the resulting image up (when rendering overhead is too high), and has to lower the renderer resolution even more to compensate for the additional overhead of scaling, where "even lower renderer resolution" is worse. By making the monitor do the scaling "for free" there's less total overhead for the video driver/renderer, so the rendering resolution doesn't need to be reduced as much, so the resulting graphics are better.
Note that for existing software (mostly games because real-time 3D has only been around since last century and is therefore too new for "modern" GUIs) the user is given settings that are impossible to set correctly because they're static and can't cope with dynamically changing conditions. They end up being forced to compromise between "poor frame rate for complex scenes" and "poor frame quality for simple scenes". It's incredibly stupid and it's caused by "variable frame rate, fixed quality". The point of "fixed frame rate, variable quality" is to avoid the need to force users to make the compromise, and let them have "best quality achievable for each individual frame despite dynamically changing conditions".
Note: "fixed frame rate, variable quality" isn't quite the right name for it any more. It was the right name when displays had a fixed frame rate; but recently there's been attempts to change that (Nvidia's proprietary "G-Sync", and AMD's "FreeSync" that was adopted by VESA). With these technologies it's more appropriate to call it "fixed minimum frame rate, variable quality".
onlyonemac wrote:Finally, I've told you I don't know how many times that the documentation can be (and should be) as simple as "The 'resolution' parameter specifies the default monitor resolution" and if people can't read English they can run that through Google translate.
Which, as I've said, is inadequate because there's an almost infinite number of video mode timings that match any specific resolution, with at least 4 "common" timings (at various refresh rates, with and without "reduced blanking") to choose from; and this is important if you want it to be reliable (rather than merely "works by accident if you're lucky").
Your "if people can't read English" statement is pure arrogance. If anything, the OS should default to Mandarin (as there's over twice as many people using Mandarin than the second most common language, where the second most common language is Spanish and not English). English is only preferred by a minority (5.52% of the world's population).
Note: This is all based on Wikipedia's page.
onlyonemac wrote:Brendan wrote:My prediction is that (when your OS is finished) the OS won't work at all on 25% of computers (where UEFI doesn't support text mode), won't support graphics modes for 75% of computers (because BIOS will be long dead and you can't change video modes without a native video driver after boot on UEFI systems, and there won't be enough native video drivers), 33% of people won't be able to start a graphics session (because it needs a key-combination, and they're using a tablet with an "on touch screen" keyboard that doesn't work without graphics), and 50% of people will delete the OS without ever finding out there's a graphical session because they can't read English and can't understand anything on your "ASCII only" screen.
Perhaps I actually care about making something that works *now* and that can be developed *now* (try developing a hobby OS on one of those "closed" touchscreen devices that are available today and you'll see what I mean) rather than something that's designed to work on any computer available in 20 years time but which I can't enjoy hacking around with on my old PC now (and wasting time implementing all sorts of UEFI and video driver crap when I could rather be working on the core concepts that make up my OS and writing the code to implement them). For me, OSdev is not about "let me try to make something that's better than the rest of the world and will work on computers for the next 50 years" but rather a project to explore new ideas in operating system design and a framework for further experimentation.
Yes; our goals are different - you're trying to write something that will be obsolete before it's finished, while I'm not. That's fine in general; until you try to convince me that your "designed to be obsolete before it's finished" ideas are appropriate for my OS.
onlyonemac wrote:In your case, stop trying to run monitors at resolutions that they only implement to avoid "mode not supported" errors when some idiot sets the wrong resolution, and claiming that these resolutions are acceptable for everyday use. As far as I know there's no standard that even says how monitors should handle non-native resolutions and even if there is manufacturers are probably less likely to follow it than they are to follow EDID standards and if they don't follow EDID standards then don't expect them to follow any other standards, so GIVE USERS/ADMINISTRATORS A FUCKING CONFIGURATION OPTION.
If I spent 2 entire weeks trying to convince you to ram a whole pineapple up your butt for no good reason at all; do you think if I typed in capital letters you'd suddenly change your mind and decide it's a good idea? I will only ever provide a configuration option if I'm convinced it's a good idea for my OS. You have consistently failed to provide any evidence that suggests it might be a good idea. Your personal opinion and/or insistence is not evidence.
Cheers,
Brendan