Announcement

Collapse
No announcement yet.

Wayland 1.19 Is Set To Come Soon As First Update In Nearly One Year

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Originally posted by oiaohm View Post

    Yes then you repeat.



    So common and well known that all the mainline Linux kernel graphics drivers have decided on a universal way to replace EDID with a file from the /dev/firmware directory.

    Buggy EDID should really be fixed by replacing the EDID information not userspace hacking around.

    There is something you have missed as well.

    https://git.kernel.org/pub/scm/linux...rm_edid_load.c

    "Do not probe monitor, use specified EDID blob " "from built-in data or /lib/firmware instead. "

    There is very important reason why this is written the way it is particularly the "Do not probe monitor". Badly bugged EDIDs on monitors is worse than you think. Some are that bad that you probe the monitor to acquire the EDID you have now locked the device into black screen of death mode requiring a power cycle to fix. Yes those have the requirement you must never ever prob the monitor for the EDID information because as soon as you do its screwed.

    EDID problems need to be handled as early as possible waiting until Wayland compositor/X11 server has started can be past the point of failure already. Correct fix to a EDID problem is fixed at kernel start and possible even earlier.

    Yes it one of the weaknesses of EFI firmware as well no means to override monitor EDID to over come the worst monitors. Yes EFI fast start mode completely skipping graphical is EFI solution to badly bugged monitors. Ok leaves you screwed if you want to reconfigure firmware with the buggy monitor connected as the only monitor.

    duby229 this is the problem xrandr is no help with the worst monitor EDID issues. The correct fix is override the EDID every single time. Nvidia binary driver does have the weakness that you cannot provide EDID early so it always probes the monitor so it always bricks the monitors with the worse EDID issues.

    There is a absolute requirement to deal with this problem very early. Nvidia binary drivers are broken in this department. Yes you can do EDID override inside the x.org configure file with Nvidia binary drivers for monitors that did not brick because Nvidia binary driver stupidly probed them.

    This is happening over and over again where the open source mainline drivers have fixed particular problems fully and the Nvidia binary driver only has a part fix.
    I have no intention of ever responding to your walls of total nonsense ever again, but...

    Here you are blaming -everyone and everything- else besides the -ONE- thing that blame actually belongs on.... Geez...

    EDIT: Classic blame shifting... When you won't assign blame to where it belongs so literally everything else and anything else is blamed...
    Last edited by duby229; 18 December 2020, 09:46 PM.

    Comment


    • Originally posted by duby229 View Post
      I have no intention of ever responding to your walls of total nonsense ever again, but...

      Here you are blaming -everyone and everything- else besides the -ONE- thing that blame actually belongs on.... Geez...

      EDIT: Classic blame shifting... When you won't assign blame to where it belongs so literally everything else and anything else is blamed...
      This is not classic blame shifting there is mechanic side to this problem. Really you did not read it did you.

      Comment


      • Originally posted by verude View Post
        plenty of buggy hardware exists which doesn't expose resolutions and refresh rates it can handle in the edid, xrandr can be used to add those values, and most DEs don't have this option neither on wayland nor xorg (but will recognize options added by xrandr if running on xorg). At this point I think the only wayland environment that allows to add custom resolution is sway. So no, gnome doesn't accomplish what that user wanted.
        The reality here is that xrandr does not work everywhere for custom modes any more with X11. There are quite a few gpus used in arm soc chips that if you attempt to add a mode by xrandr that is not in the EDID that it will completely fail. Of course there is no need to add a mode that is in the EDID if you have not deleted it with those chips either. Yes if you have overridden the EDID everything good. Sway ability to set values not the EDID also fall over dead on these platforms as well. GPU under linux is not required to accept a mode change so this is not a break to user space having a GPU refusing a mode change either.

        https://www.kernel.org/doc/html/late...uide/edid.html This has how to load a custom EDID. Custom EDID is the recommend way to fix these problems.
        1) it there while in early boot so that a kernel issue can be displayed.
        2) it works around monitors that go stupid when EDID is probed.
        3) It works with almost all GPUs that Linux supports. Nvidia DRM driver interface for their closed source driver is promised at some point to support this EDID replacement method as well.

        Basically one day hopefully in near future the universal solution to fix a EDID issue with Linux would be replace the EDID of the monitor using exactly the same instructions no matter the GPU. Nvidia closed source binary driver is the only one not at this point but you can still use EDID files with it.

        Xrandr for adding custom modes is already GPU dependant if you can. Verude I can understand you not notice Xrandr ability to create custom modes going away because you would not be playing with embedded boards with their GPUs. Going forwards fixing bad EDID has a single 100 percent all the time functional path under Linux and FreeBSD.

        Comment


        • Originally posted by oiaohm View Post

          This is not true that none of them have opted to support Nvidia GPUs with proprietary drivers. KDE with plasma has one of Nvidia own developer working on Wayland support with their binary drivers. One problem Nvidia own developer who has complete internal Nvidia access cannot get it to work properly. So what chance does anyone else implementing a Wayland compositor stand when Nvidia own developers cannot do it and they are saying they are going to need to get the Nvidia binary blobs modified so it can work.

          This is basically the nightmare is even wayland compositors who opt to support the Nvidia binary drivers run into major nightmares that the features you need to a wayland compositor to work right don't exist in eglstreams. This is only compounded by the fact Nvidia does not support Xwayland either.

          The reality those with Nvidia cards are basically screwed and its not that all the of the wayland compositors opting not to support Nvidia GPUs with proprietary drivers its the fact that even if they opt to support Nvidia GPUs with binary drivers at this stage it cannot be made work because the Nvidia drivers is missing the need functionality.
          Right you are. Again though, the end result is the same, and the fact is that a significant chunk of PC usrs have Nvidia GPUs, in fact among dGPUs even if AMD has finally mostly caught up to Nvidia, most gamers do still have nvidia gpus.

          Now back when I bought my laptop about 2 years ago, I would have bought a full on AMD cpu/gpu laptop; but it just wasn't on the table, I had one store, that one store only had intel/nvidia laptops with my performance requirements; in other words it was pretty much out of my hands, I needed a laptop immediately, and getting an AMD one was not a given option, no matter how much I would have preferred it.

          Similar cases no doubt happen all the time among linux users... Now it's true that Nvidia dropped the ball on this, but how many years has the open source community had to do what it does best? (Work it's way around stupid problems like this...)

          And the closest we've come is the swvkc project, with 2 developers that sadly haven't made much progress over the past year or so (truly interesting project tho). And even if they had; it still relies on GBM right now.
          Last edited by rabcor; 19 December 2020, 06:25 AM.

          Comment


          • Originally posted by rabcor View Post

            Right you are. Again though, the end result is the same, and the fact is that a significant chunk of PC usrs have Nvidia GPUs, in fact among dGPUs even if AMD has finally mostly caught up to Nvidia, most gamers do still have nvidia gpus.

            Now back when I bought my laptop about 2 years ago, I would have bought a full on AMD cpu/gpu laptop; but it just wasn't on the table, I had one store, that one store only had intel/nvidia laptops with my performance requirements; in other words it was pretty much out of my hands, I needed a laptop immediately, and getting an AMD one was not a given option, no matter how much I would have preferred it.

            Similar cases no doubt happen all the time among linux users... Now it's true that Nvidia dropped the ball on this, but how many years has the open source community had to do what it does best? (Work it's way around stupid problems like this...)

            And the closest we've come is the swvkc project, with 2 developers that sadly haven't made much progress over the past year or so (truly interesting project tho). And even if they had; it still relies on GBM right now.
            swvkc limitation is something else.

            https://www.khronos.org/registry/vul...leTypeFlagBits

            This is a good read. There is FD and there DMA BUF where the format eglstreams pass between applications thing that right its not there at all.

            There is no eglstreams equal to VK_EXT_image_drm_format_modifier for vulkan either. Basically direct usage of Vulkan is supported by the open source drivers for Linux but in reality not supported by Nvidia binary blob.

            The levels of Nvidia broken are just insane. This also kind of explains as well why open source developers were saying to Nvidia just support GBM we have that in the khronos standard for opengl/EGL/Vulkan..... The reality is Nvidia did the submit of eglstreams to khronos then non of the submits to the other parts at khronos to link it in properly.

            Open source developers have been attempting to make a fall back with a open source driver for Nvidia cards of course Nvidia has not been playing ball with firmware so that stuff can work well.

            rabcor its one thing to point at the open source community but these problems that Nvidia has made the open source developers have tried to work around. There is only so much you can do with a totally not cooperative party. I guess you were not thinking that this problem starts in khronos standard where Nvidia has not done the right things. Then is made worse by Nvidia threatening to DCMA firmware blobs to make open source drivers work. Then Nvidia added signed firmware to their cards so only firmware Nvidia has sign will their cards accept.

            Its really simple to say this is just a stupid problem. The problem is this is a problem caused by a jackass company who has basically done everything to make sure its not going to work.

            Really like it or not this Nvidia created mess in a lot of ways is out of the open source developers hands.

            Rabcor nvidia was told this change was coming a decade ago and in a decade all Nvidia has managed to-do is make a non functional item. Nvidia has totally been ignoring advice and what the khronos group have written into standards as well.

            At some point sorry for people like you who bought Nvidia rabcor but there is just no choice to move forwards with the horrible move of just having to declare Nvidia cards defective due to Vendor being a jackass and not providing suitable firmware or drivers. Heck you can techically claim Nvidia drivers are not conforming to Khronos group approved standards and be 100 percent correct.

            Comment


            • Originally posted by verude View Post

              plenty of buggy hardware exists which doesn't expose resolutions and refresh rates it can handle in the edid, xrandr can be used to add those values, and most DEs don't have this option neither on wayland nor xorg (but will recognize options added by xrandr if running on xorg). At this point I think the only wayland environment that allows to add custom resolution is sway. So no, gnome doesn't accomplish what that user wanted.
              I replied on the specifics a few posts above:

              Since the introduction of KMS -- Kernel Mode Settings -- creating modes that are not in the EDID is done differently. See:
              https://www.kernel.org/doc/html/late...uide/edid.html

              It seems to me that all boils down to the use of the nvidia blob.
              If this is the case, complain with your vendor -- not with the community driven efforts of improving the overall stack.

              If the above is not the case, in the link provided you find info on how to create your EDID and get the kernel to load it
              Last edited by Grinness; 19 December 2020, 08:38 AM.

              Comment


              • Originally posted by 144Hz View Post
                Moving to meson-only is also a no-brainer.
                At this point any open-source project should no longer be using autotools for compilation, due to its extreme complexity and slow setup.

                People say "just do configure, make, make install", but things aren't like this for the developer.

                Autotools:
                - Write a configure.ac file, which is at the end pretty much like a make script and nothing helps. Often you end up with a 1000 line script here.
                - Write a Makefile.am. This ends up being big as well.
                - Write an aclocal.m4. I don't even know what is this for but my head is blowing up at this point.
                - Learn about 100 more tools, and integrate your project with them.
                - Optionally, but usually, write an autogen.sh script. This contains the autoreconf program, because some people will be confused if they don't see the configure file.
                - Run autogen.sh. This only creates 100 more files for the build to start.
                - Run configure.
                - Watch as the thing checks for least important stuff, like if a header nobody uses exists, or if it can add 1+1. It takes like 20 seconds.
                - Again, you end up with even more files.
                - Type make. Finally, it's building.

                CMake or Meson:
                - Write a CMakeLists.txt/meson.build file. Often people end up with a long file, but not so long.
                - Make a build directory and go to it.
                - Do cmake .. or meson ..
                - A few files are created. Then do make or ninja. Zero complications.

                Comment


                • Originally posted by Grinness View Post

                  I used to generate video modes when I was using XFree86 -- on CRT monitors to be precise.
                  Back in the days some vendors provided video modes files for windows (XP and pre era) as an update to set "non-standard" resolutions/refresh

                  I understand the issue and I feel the pain of ppl still in that situation.
                  I would assume though that with modern LCD flat-pannels the issue is long gone (at least for the large majority).
                  Note that messing with modelines/video modes was and is a dangerous thing -- a lot of CRT went into the waste ...

                  Also a lot of work has gone into Xorg to automatically set the monitor preferred/standard refresh and resolution
                  Even Xfree86 version 4 was already providing some automatic detection of modes:
                  https://en.wikipedia.org/wiki/XFree86_Modeline
                  Just because you don't care, doesn't mean people don't use nonstandard modes. For example, my monitor won't tell you it is perfectly capable of running at 24Hz, but if you set the mode it works fine.

                  I think you are operating under an incorrect assumption that monitors expose all of their valid modes.

                  Comment


                  • Originally posted by microcode View Post
                    Just because you don't care, doesn't mean people don't use nonstandard modes. For example, my monitor won't tell you it is perfectly capable of running at 24Hz, but if you set the mode it works fine.

                    I think you are operating under an incorrect assumption that monitors expose all of their valid modes.
                    The thing you are missing is every custom mode you can create in a Xrandr you can create in a custom EDID file for a monitor that the OS loads instead of the one the monitor provides be this Windows/Linux/Freebsd or OS X. In fact you can create custom modes in EDID that Xrandr cannot create.

                    Remember this is not that people cannot use non standard modes just the method is different.

                    https://sourceforge.net/projects/wxedid/ We are starting to see people provide editors for EDID files.

                    I am not operating under the idea that monitors expore all of their valid modes. Just try doing a Variable refresh rate mode in Xrandr you will find out you cannot add a variable refresh rate mode by Xrandr but you can add one with a custom EDID and the list just goes on and on and on. Yes you can alter the range of variable refresh rate in custom EDID. Top that off you have GPUs on arm that if you try to set a mode in Xrandr that is not in the EDID it will be rejected.

                    Also remember the custom EDID does not just fix missing video modes it also is used to fix a monitor with a audio out that is missing or wrongly done in the EDID. Yes I have had to do a EDID for a monitor not because of modes but because the audio out was highly crackly this turned out to be bad EDID as well. Problem monitors will require you to make a custom EDID for audio and screen modes.

                    microcode the catch here the world has changed Xrandr solution is from a time gone by with a lot simpler monitors without all the features of modern day monitors. EDID standard is updated every time new features comes to monitors while support every feature that a monitor could possible have from day one.

                    This is really a case should wayland compositors in this department be reinventing the wheel of EDID or should users just tool up and get use to the EDID solution instead. Duplicating format to store the monitor modes is not exactly the wise move.

                    Changing modes there is a reason to request Wayland compositors do this. Custom modes with custom EDID loadable by kernel it makes sense that wayland compositors don't do this. Now a feature request to Linux kernel to be able to change the EDID on a active monitor might be a good thing.

                    Remember a EDID fix works for X11 automatic mode acquire and wayland compositor with open source drivers. So you do this change in 1 place and you do everything at once.

                    This is the big question why do we need two places for creating custom screen modes going forwards. Heck if wayland compositors have their own its why do we need to be able to create custom screen modes with like 30 different places in 30 different ways.

                    Reality asking for wayland to support custom modes is really asking to reinvent the wheel. The universal wheel for custom modes is custom EDID. Fun part here is when you have made a custom EDID file for a monitor you can go and reuse that in Windows, Mac OS... EDID is truly a universal wheel to this problem and being the universal wheel is more feature complete than the other options.

                    Comment


                    • Originally posted by oiaohm View Post

                      The thing you are missing is every custom mode you can create in a Xrandr you can create in a custom EDID file for a monitor that the OS loads instead of the one the monitor provides be this Windows/Linux/Freebsd or OS X. In fact you can create custom modes in EDID that Xrandr cannot create.

                      Remember this is not that people cannot use non standard modes just the method is different.

                      https://sourceforge.net/projects/wxedid/ We are starting to see people provide editors for EDID files.

                      I am not operating under the idea that monitors expore all of their valid modes. Just try doing a Variable refresh rate mode in Xrandr you will find out you cannot add a variable refresh rate mode by Xrandr but you can add one with a custom EDID and the list just goes on and on and on. Yes you can alter the range of variable refresh rate in custom EDID. Top that off you have GPUs on arm that if you try to set a mode in Xrandr that is not in the EDID it will be rejected.

                      Also remember the custom EDID does not just fix missing video modes it also is used to fix a monitor with a audio out that is missing or wrongly done in the EDID. Yes I have had to do a EDID for a monitor not because of modes but because the audio out was highly crackly this turned out to be bad EDID as well. Problem monitors will require you to make a custom EDID for audio and screen modes.

                      microcode the catch here the world has changed Xrandr solution is from a time gone by with a lot simpler monitors without all the features of modern day monitors. EDID standard is updated every time new features comes to monitors while support every feature that a monitor could possible have from day one.

                      This is really a case should wayland compositors in this department be reinventing the wheel of EDID or should users just tool up and get use to the EDID solution instead. Duplicating format to store the monitor modes is not exactly the wise move.

                      Changing modes there is a reason to request Wayland compositors do this. Custom modes with custom EDID loadable by kernel it makes sense that wayland compositors don't do this. Now a feature request to Linux kernel to be able to change the EDID on a active monitor might be a good thing.

                      Remember a EDID fix works for X11 automatic mode acquire and wayland compositor with open source drivers. So you do this change in 1 place and you do everything at once.

                      This is the big question why do we need two places for creating custom screen modes going forwards. Heck if wayland compositors have their own its why do we need to be able to create custom screen modes with like 30 different places in 30 different ways.

                      Reality asking for wayland to support custom modes is really asking to reinvent the wheel. The universal wheel for custom modes is custom EDID. Fun part here is when you have made a custom EDID file for a monitor you can go and reuse that in Windows, Mac OS... EDID is truly a universal wheel to this problem and being the universal wheel is more feature complete than the other options.
                      But what if instead of authoring a custom quirks file and figuring out how to load that, you just wanted to set a mode you know works, with the timing parameters that are used there anyway.

                      Comment

                      Working...
                      X