microsoft / terminal

The new Windows Terminal and the original Windows console host, all in the same place!
MIT License
94.86k stars 8.21k forks source link

Acrylic opacity doesn't always work on Windows 10 20.04/19041 #7047

Closed uom0 closed 2 years ago

uom0 commented 4 years ago

Dear all, I previosly had my terminal working fine with the acrylic opacity "true". From today, it just doesn't take effect. What I did:

DHowett commented 4 years ago

You seem to have removed the bug template asking about your windows version and terminal version.

bonzibudd commented 4 years ago

You say you have set the Acrylic Opacity. Have you set the useAcrylic flag as well?

JonathanGun commented 4 years ago

have the same problem, but only when using custom background

uom0 commented 4 years ago

You say you have set the Acrylic Opacity. Have you set the useAcrylic flag as well?

You seem to have removed the bug template asking about your windows version and terminal version.

  • Did you update Terminal recently?
  • Are you on the Preview channel?
  • Are you using a dev build?
  • Can you share a copy of your settings file?

My WT version is: 1.1.2021.0 My defaults profile has of course ""useAcrylic" : true". I have tried with and without a custom background. None of them works. More importantly, it was working fine before. I can share it, anyways (attached at the end).

The only thing I did recently is the update of my video card drivers, versions that I shared with my original post. I, however, did not notice if it had an effect inmediatly. Another possible thing, is that I did recently a Get-AppXPackage -AllUsers |Where-Object {$_.InstallLocation -like "*SystemApps*"} | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register "$($_.InstallLocation)\AppXManifest.xml"} But I ignore if this could delete something in the WT. I have tried uninstall and install again, but nothing.

Any clues? Cheers.

My JSON file,

{
    "$schema": "https://aka.ms/terminal-profiles-schema",

    "defaultProfile": "{xxx-xxx-xxx-xxx}",

    "copyOnSelect": false,

    "copyFormatting": false,

    "profiles":
    {
        "defaults":
        {
            "acrylicOpacity": 0.5,
            "fontFace": "Consolas",
            "fontSize": 10,
            "foreground" : "#0C0C0C",
            "background" : "#0C0C0C",
            "cursorColor": "#FFFFFF",
            //"startingDirectory": "%USERPROFILE",
            "startingDirectory": ".",
            "backgroundImage":"C:/Users/userprofile/pictures/myawesomeimage
            *9.jpg",
            "backgroundImageOpacity":0.8,
            "useAcrylic" : true

        },
        "list":
        [
            {
                "guid": "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}",
                "name": "Windows PowerShell",
                "commandline": "powershell.exe",
                "hidden": false
            },
            {
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "name": "Command Prompt",
                "commandline": "cmd.exe",
                "hidden": false
            },
            {
                "guid": "{c6eaf9f4-32a7-5fdc-b5cf-066e8a4b1e40}",
                "hidden": false,
                "name": "Ubuntu-18.04",
                "foreground" : "#FFFFFF",
                "source": "Windows.Terminal.Wsl",                
                "backgroundImageOpacity":0.8,
                "acrylicOpacity": 0.5
            },
            {
                "guid": "{58ad8b0c-3ef8-5f4d-bc6f-13e4c00f2530}",
                "hidden": false,
                "name": "Debian",
                "foreground" : "#FFFFFF",
                "backgroundImageOpacity":0.5,                
                "source": "Windows.Terminal.Wsl"
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": false,
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            }
        ]
    },

    "schemes": [],

    "keybindings":
    [

        { "command": {"action": "copy", "singleLine": false }, "keys": "ctrl+c" },
        { "command": "paste", "keys": "ctrl+v" },

        { "command": "find", "keys": "ctrl+shift+f" },

        { "command": { "action": "splitPane", "split": "auto", "splitMode": "duplicate" }, "keys": "alt+shift+d" }
    ]
}
zadjii-msft commented 4 years ago

I'm just copy-pasting this from #1414:

ghost commented 4 years ago

This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for 4 days. It will be closed if no further activity occurs within 3 days of this comment.

uom0 commented 4 years ago

I'm just copy-pasting this from #1414:

  • Acrylic doesn't work if there's not the GPU hardware for it. A Surface Studio probably has the hardware, but it won't work if you're running the app in a VM or over remote desktop (for example).
  • As a sanity check, is there Acrylic in the Start Menu?
  • If you wanted to help investigate, could you run dxdiag (instructions here), and send the output to the email in @DHowett's profile? He'll be able to share that with the Composition team so they can investigate exactly why it's not working.

Thanks for your reply, Zadji. As I said before, it used to work! So I am quite sure there is a hardware for it. Acrylic works in the start menu? Yes! I will send the dxdiag info to your mail. Thanks!.

DHowett commented 4 years ago

Thanks for all the info, everyone! We have a possible cause now, and it looks like it's fixed in insider builds of Windows. I'm going to mark this bug as "Tracking-External". We'll work to see whether we can get the fix brought back to the 20.04 update.

DHowett commented 4 years ago

Linking for internal folks: MSFT-27752291

iam-Shashank commented 3 years ago

@DHowett just to confirm what you mentioned here in #1414

Windows has some policies about when it will turn on blurred transparency—it prefers to save battery, to not overly tax the GPU, etc. Unfortunately, since we are trying to be good citizens we aren’t trying to override that ... and I don’t think it’s possible, anyway :)

This still holds true right? because I have a GPU and I noticed that when I shifted my Power mode from Battery Saver (extreme left in the slider in image) to Better Battery, it works (when not charging). When charging it works in all situations. I am fine with this, just want to confirm that what you mentioned still holds true (about Windows saving battery) image

zadjii-msft commented 3 years ago

To be totally fair, we're not experts on when the OS decides it can enable acrylic or not. We know that those are common things that can cause the OS to disable acrylic, but I'm sure it's more complicated than we know for sure. It's certainly possible that acrylic is only disabled for "Best Battery" and not for "Better Battery"

ngvgi commented 3 years ago

@DHowett

I have just noticed the same on my laptop. The acrylic stopped working and I was very confused. I then plugged in the laptop to charge as it was running very low on battery.

Immediately I plugged it in, the Acrylic started working.

I think it is safe to assume that the battery saving mode on Windows 10 affects the acrylic on Windows Terminal.

DHowett commented 3 years ago

That’s more than an assumption, that’s a codified system policy. Acrylic is disabled when the system is in battery saver mode. 😄

vadimkantorov commented 3 years ago

Still I experience this problem with Terminal background color randomly becoming more opaque by itself without any action on my part (this affects only some tabs) on 1.4.23.0, not on battery saving mode

riskycase commented 3 years ago

Came here from Google due to having the same problem. What I observed is that when Terminal is started with acrylic effects (laptop plugged in to charger), the effects are controlled by the charger being connected or not (Acrylic when connected, opaque when on battery). However starting Terminal on battery, basically without acrylic effects enabled, the background does seem to change between black and grey but it doesn't render transparency.

This is on terminal version 1.6.10571.0, Windows 20H2 Build 19042

Davikar commented 3 years ago

Here's another possible solution if nothing above is working. If you are using Winaero Tweaker, there is an option to increase taskbar transparency level. Ironically, it seems to turn all other transparency in Windows off...

vadimkantorov commented 3 years ago

This often happens once Windows enters Low-Battery / Battery Saving mode. Also, different tabs would have acrylic enabled/disabled differently set without clear cause

zadjii-msft commented 2 years ago

Hey so, the original bug theat OP was hitting was fixed internally and should have shipped in 20200.1000.rs_prerelease.200821-1345. Since that was resolved, I'm going to close this bug out, for housekeeping.

There are, of course, a multitude of reasons why acrylic may choose to enable or disable itself, mostly outside the purview of the Terminal itself. If you're still hitting this, check out the FAQs, and search for other open issues before filing.

(We can of course, continue the discussion here)

vadimkantorov commented 2 years ago

Is it possible to disable acrylic for Terminal tabs in Terminal options? i.e. to have stable appearance regardless of what windows decides to do with acrylic. it can also look strange when you have a youtube video playing in the browser in background and the acrylic blurry blobs are moving around the foreground terminal, this doesn't add any coolness at least in my opinion and is only distracting

should i file a separate issue for this feature request?

zadjii-msft commented 2 years ago

You can always use the useAcrylic setting to enable/disable acrylic.

vadimkantorov commented 2 years ago

It mentions that useAcrylic is false by default, so it's quite strange it seems enabled on my machine...

AthsaraFernando commented 5 months ago

instead of this line "acrylicOpacity": 0.5 use this "opacity": 50,

Andrew-devcoder commented 4 months ago

instead of this line "acrylicOpacity": 0.5 use this "opacity": 50,

it`s work! ty)