Security

Token

There is no security token.

Firewall

main Name
Security enabled
Stateless

Configuration

Key Value
provider security.user.provider.concrete.app_user_provider
context main
entry_point App\Security\KbinAuthenticator
user_checker App\Security\UserChecker
access_denied_handler (none)
access_denied_url (none)
authenticators
[
  "two_factor"
  "remember_me"
  "App\Security\KbinAuthenticator"
  "App\Security\FacebookAuthenticator"
  "App\Security\GoogleAuthenticator"
  "App\Security\GithubAuthenticator"
  "App\Security\KeycloakAuthenticator"
]

Listeners

Listener Duration Response
Symfony\Component\Security\Http\Firewall\ChannelListener {#723
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
  -logger: Monolog\Logger {#783 …}
  -httpPort: 80
  -httpsPort: 443
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\ContextListener {#706
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\TokenStorage {#1017 …}
  -sessionKey: "_security_main"
  -logger: Monolog\Logger {#783 …}
  -userProviders: Symfony\Component\DependencyInjection\Argument\RewindableGenerator {#705 …}
  -dispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
  -registered: false
  -trustResolver: Scheb\TwoFactorBundle\Security\Authentication\AuthenticationTrustResolver {#780 …}
  -sessionTrackerEnabler: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage::enableUsageTracking(): void {#703 …}
}
0.91 ms (none)
Symfony\Component\Security\Http\Firewall\AuthenticatorManagerListener {#584
  -authenticatorManager: Symfony\Component\Security\Http\Authentication\AuthenticatorManager {#595 …}
}
0.00 ms (none)
Scheb\TwoFactorBundle\Security\Http\Firewall\TwoFactorAccessListener {#582
  -twoFactorFirewallConfig: Scheb\TwoFactorBundle\Security\TwoFactor\TwoFactorFirewallConfig {#842 …}
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -twoFactorAccessDecider: Scheb\TwoFactorBundle\Security\Authorization\TwoFactorAccessDecider {#581 …}
}
0.06 ms (none)
Symfony\Component\Security\Http\Firewall\AccessListener {#579
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -accessDecisionManager: Symfony\Component\Security\Core\Authorization\TraceableAccessDecisionManager {#937 …}
  -map: Symfony\Component\Security\Http\AccessMap {#722 …}
}
0.00 ms (none)
Symfony\Component\Security\Http\Firewall\LogoutListener {#786
  -tokenStorage: Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage {#1018 …}
  -options: [
    "csrf_parameter" => "_csrf_token"
    "csrf_token_id" => "logout"
    "logout_path" => "app_logout"
  ]
  -httpUtils: Symfony\Component\Security\Http\HttpUtils {#841 …}
  -csrfTokenManager: Symfony\Component\Security\Csrf\CsrfTokenManager {#1015 …}
  -eventDispatcher: Symfony\Component\EventDispatcher\Debug\TraceableEventDispatcher {#747 …}
}
0.00 ms (none)

Authenticators

No authenticators have been recorded. Check previous profiles on your authentication endpoint.

Access Decision

affirmative Strategy
# Voter class
1
"Symfony\Component\Security\Core\Authorization\Voter\AuthenticatedVoter"
2
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
3
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
4
"Symfony\Component\Security\Core\Authorization\Voter\ExpressionVoter"
5
"App\Security\Voter\EntryCommentVoter"
6
"App\Security\Voter\EntryVoter"
7
"App\Security\Voter\MagazineVoter"
8
"App\Security\Voter\MessageThreadVoter"
9
"App\Security\Voter\MessageVoter"
10
"App\Security\Voter\NotificationVoter"
11
"App\Security\Voter\OAuth2UserConsentVoter"
12
"App\Security\Voter\PostCommentVoter"
13
"App\Security\Voter\PostVoter"
14
"App\Security\Voter\UserVoter"

Access decision log

# Result Attributes Object
1 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
2 DENIED moderate
App\Entity\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1943 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "Louvre-C-library-for-building-Wayland-compositors"
  +title: "Louvre: C++ library for building Wayland compositors."
  +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
  +body: """
    Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
    \n
    It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
    \n
    The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
    \n
    You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
    \n
    I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
    \n
    Greetings!
    """
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 34
  +favouriteCount: 219
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1700324159 {#2414
    date: 2023-11-18 17:15:59.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 13052
  -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
  -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1700075572
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/8258740"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699989172 {#1793
    date: 2023-11-14 20:12:52.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
3 DENIED edit
App\Entity\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1943 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "Louvre-C-library-for-building-Wayland-compositors"
  +title: "Louvre: C++ library for building Wayland compositors."
  +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
  +body: """
    Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
    \n
    It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
    \n
    The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
    \n
    You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
    \n
    I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
    \n
    Greetings!
    """
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 34
  +favouriteCount: 219
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1700324159 {#2414
    date: 2023-11-18 17:15:59.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 13052
  -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
  -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1700075572
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/8258740"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699989172 {#1793
    date: 2023-11-14 20:12:52.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
4 DENIED moderate
App\Entity\Entry {#2419
  +user: Proxies\__CG__\App\Entity\User {#1970 …}
  +magazine: App\Entity\Magazine {#265
    +icon: Proxies\__CG__\App\Entity\Image {#246 …}
    +name: "linux@lemmy.ml"
    +title: "linux"
    +description: """
      From Wikipedia, the free encyclopedia\n
      \n
      Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
      \n
      Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
      \n
      ### Rules\n
      \n
      - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
      - No misinformation\n
      - No NSFW content\n
      - No hate speech, bigotry, etc\n
      \n
      ### Related Communities\n
      \n
      - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
      - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
      - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
      - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
      \n
      Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
      """
    +rules: null
    +subscriptionsCount: 1
    +entryCount: 1406
    +entryCommentCount: 28632
    +postCount: 6
    +postCommentCount: 214
    +isAdult: false
    +customCss: null
    +lastActive: DateTime @1729583542 {#275
      date: 2024-10-22 09:52:22.0 +02:00
    }
    +markedForDeletionAt: null
    +tags: null
    +moderators: Doctrine\ORM\PersistentCollection {#237 …}
    +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
    +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
    +entries: Doctrine\ORM\PersistentCollection {#180 …}
    +posts: Doctrine\ORM\PersistentCollection {#138 …}
    +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
    +bans: Doctrine\ORM\PersistentCollection {#117 …}
    +reports: Doctrine\ORM\PersistentCollection {#103 …}
    +badges: Doctrine\ORM\PersistentCollection {#81 …}
    +logs: Doctrine\ORM\PersistentCollection {#71 …}
    +awards: Doctrine\ORM\PersistentCollection {#1346 …}
    +categories: Doctrine\ORM\PersistentCollection {#1823 …}
    -id: 73
    +apId: "linux@lemmy.ml"
    +apProfileId: "https://lemmy.ml/c/linux"
    +apPublicUrl: "https://lemmy.ml/c/linux"
    +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
    +apInboxUrl: "https://lemmy.ml/inbox"
    +apDomain: "lemmy.ml"
    +apPreferredUsername: "linux"
    +apDiscoverable: true
    +apManuallyApprovesFollowers: null
    +privateKey: null
    +publicKey: null
    +apFetchedAt: DateTime @1729583596 {#269
      date: 2024-10-22 09:53:16.0 +02:00
    }
    +apDeletedAt: null
    +apTimeoutAt: null
    +visibility: "visible             "
    +createdAt: DateTimeImmutable @1698929468 {#271
      date: 2023-11-02 13:51:08.0 +01:00
    }
  }
  +image: Proxies\__CG__\App\Entity\Image {#1943 …}
  +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
  +slug: "Louvre-C-library-for-building-Wayland-compositors"
  +title: "Louvre: C++ library for building Wayland compositors."
  +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
  +body: """
    Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
    \n
    It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
    \n
    The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
    \n
    You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
    \n
    I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
    \n
    Greetings!
    """
  +type: "image"
  +lang: "en"
  +isOc: false
  +hasEmbed: true
  +commentCount: 34
  +favouriteCount: 219
  +score: 0
  +isAdult: false
  +sticky: false
  +lastActive: DateTime @1700324159 {#2414
    date: 2023-11-18 17:15:59.0 +01:00
  }
  +ip: null
  +adaAmount: 0
  +tags: null
  +mentions: null
  +comments: Doctrine\ORM\PersistentCollection {#1866 …}
  +votes: Doctrine\ORM\PersistentCollection {#1966 …}
  +reports: Doctrine\ORM\PersistentCollection {#1946 …}
  +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
  +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
  +badges: Doctrine\ORM\PersistentCollection {#2439 …}
  +children: []
  -id: 13052
  -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
  -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
  +cross: false
  +upVotes: 0
  +downVotes: 0
  +ranking: 1700075572
  +visibility: "visible             "
  +apId: "https://lemmy.world/post/8258740"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699989172 {#1793
    date: 2023-11-14 20:12:52.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS DENIED
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
5 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
6 DENIED moderate
App\Entity\EntryComment {#4028
  +user: App\Entity\User {#3977 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: """
    Many people have predicted the death of the small, independent window manager with the coming of Wayland. I have heard multiple times that only large projects like GNOME and KDE would be able to take on the burden of making a compositor.\n
    \n
    Now, I do think that lots of no longer actively developed window managers could get left behind. But the idea that it will be too complicated to create a window manager now is turning out to be wrong.\n
    \n
    First, fewer desktop environments are getting left behind than feared. XFCE, Cinnamon, and MATE all seem to have Wayland plans now.\n
    \n
    The big change is the appearance of not one but multiple compositor libraries designed to make it easier to create a window manager for Wayland. Some of them look like they might make it easier than it was under X. The approach taken by this one makes the idea of hacking around with it very inviting.\n
    \n
    Although having to create a compositor has made things difficultly until now, I think the idea of decoupling the compositor for Wayland is going to look smart in the long run.\n
    \n
    Being separate from Wayland, compositor devs are free to experiment and window manager authors can select the one that best maps to their goals.\n
    \n
    I was reading up on Oasis Linux yesterday. It comes with a Wayland compositor ( SWC ) and tiling window manager ( Velox ) that are less than 20,000 lines of code combined!\n
    \n
    It would not be practical for a light-weight distro to trim down Xorg like that. But I the compositor is separate, it can be either smaller or feature rich. SWC is XWayland compatible but obviously that is going to add more size if you need it.\n
    \n
    Looking forward to the window manager innovation that projects like Louvre enable.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 16
  +score: 0
  +lastActive: DateTime @1706009502 {#4037
    date: 2024-01-23 12:31:42.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4026 …}
  +nested: Doctrine\ORM\PersistentCollection {#4024 …}
  +votes: Doctrine\ORM\PersistentCollection {#4022 …}
  +reports: Doctrine\ORM\PersistentCollection {#4020 …}
  +favourites: Doctrine\ORM\PersistentCollection {#3988 …}
  +notifications: Doctrine\ORM\PersistentCollection {#3992 …}
  -id: 126228
  -bodyTs: "'000':238 '20':237 'abl':33 'activ':52 'add':284 'although':158 'appear':107 'approach':143 'around':153 'author':202 'behind':59,88 'best':208 'big':103 'burden':38 'chang':104 'cinnamon':92 'code':241 'combin':242 'come':15,222 'compat':277 'complic':68 'compositor':42,113,163,177,193,226,263 'could':56 'creat':70,121,161 'death':6 'decoupl':175 'design':115 'desktop':83 'dev':194 'develop':53 'difficult':167 'distro':253 'easier':119,136 'either':269 'enabl':302 'environ':84 'experi':198 'fear':90 'featur':272 'fewer':82 'first':81 'forward':292 'free':196 'get':57,86 'gnome':28 'go':181,282 'goal':212 'hack':152 'heard':20 'idea':62,150,173 'independ':10 'innov':297 'invit':157 'kde':30 'larg':25 'left':58,87 'less':235 'librari':114 'light':251 'light-weight':250 'like':27,131,258,300 'line':239 'linux':219 'long':187 'longer':51 'look':130,183,291 'lot':48 'louvr':301 'made':165 'make':40,117,134,148 'manag':12,55,73,124,201,231,296 'mani':1 'map':209 'mate':94 'might':133 'multipl':21,112 'need':289 'oasi':218 'obvious':279 'one':110,147,206 'peopl':2 'plan':100 'practic':247 'predict':4 'project':26,299 'read':215 'rich':273 'run':188 'seem':96 'select':204 'separ':190,265 'size':286 'small':9 'smaller':270 'smart':184 'swc':227,274 'take':35 'taken':144 'thing':166 'think':46,171 'tile':229 'time':22 'trim':255 'turn':76 'velox':232 'wayland':17,99,126,179,192,225 'weight':252 'window':11,54,72,123,200,230,295 'would':31,244 'wrong':80 'x':141 'xfce':91 'xorg':257 'xwayland':276 'yesterday':220"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/4837543"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700027677 {#3969
    date: 2023-11-15 06:54:37.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
7 DENIED edit
App\Entity\EntryComment {#4028
  +user: App\Entity\User {#3977 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: """
    Many people have predicted the death of the small, independent window manager with the coming of Wayland. I have heard multiple times that only large projects like GNOME and KDE would be able to take on the burden of making a compositor.\n
    \n
    Now, I do think that lots of no longer actively developed window managers could get left behind. But the idea that it will be too complicated to create a window manager now is turning out to be wrong.\n
    \n
    First, fewer desktop environments are getting left behind than feared. XFCE, Cinnamon, and MATE all seem to have Wayland plans now.\n
    \n
    The big change is the appearance of not one but multiple compositor libraries designed to make it easier to create a window manager for Wayland. Some of them look like they might make it easier than it was under X. The approach taken by this one makes the idea of hacking around with it very inviting.\n
    \n
    Although having to create a compositor has made things difficultly until now, I think the idea of decoupling the compositor for Wayland is going to look smart in the long run.\n
    \n
    Being separate from Wayland, compositor devs are free to experiment and window manager authors can select the one that best maps to their goals.\n
    \n
    I was reading up on Oasis Linux yesterday. It comes with a Wayland compositor ( SWC ) and tiling window manager ( Velox ) that are less than 20,000 lines of code combined!\n
    \n
    It would not be practical for a light-weight distro to trim down Xorg like that. But I the compositor is separate, it can be either smaller or feature rich. SWC is XWayland compatible but obviously that is going to add more size if you need it.\n
    \n
    Looking forward to the window manager innovation that projects like Louvre enable.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 16
  +score: 0
  +lastActive: DateTime @1706009502 {#4037
    date: 2024-01-23 12:31:42.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4026 …}
  +nested: Doctrine\ORM\PersistentCollection {#4024 …}
  +votes: Doctrine\ORM\PersistentCollection {#4022 …}
  +reports: Doctrine\ORM\PersistentCollection {#4020 …}
  +favourites: Doctrine\ORM\PersistentCollection {#3988 …}
  +notifications: Doctrine\ORM\PersistentCollection {#3992 …}
  -id: 126228
  -bodyTs: "'000':238 '20':237 'abl':33 'activ':52 'add':284 'although':158 'appear':107 'approach':143 'around':153 'author':202 'behind':59,88 'best':208 'big':103 'burden':38 'chang':104 'cinnamon':92 'code':241 'combin':242 'come':15,222 'compat':277 'complic':68 'compositor':42,113,163,177,193,226,263 'could':56 'creat':70,121,161 'death':6 'decoupl':175 'design':115 'desktop':83 'dev':194 'develop':53 'difficult':167 'distro':253 'easier':119,136 'either':269 'enabl':302 'environ':84 'experi':198 'fear':90 'featur':272 'fewer':82 'first':81 'forward':292 'free':196 'get':57,86 'gnome':28 'go':181,282 'goal':212 'hack':152 'heard':20 'idea':62,150,173 'independ':10 'innov':297 'invit':157 'kde':30 'larg':25 'left':58,87 'less':235 'librari':114 'light':251 'light-weight':250 'like':27,131,258,300 'line':239 'linux':219 'long':187 'longer':51 'look':130,183,291 'lot':48 'louvr':301 'made':165 'make':40,117,134,148 'manag':12,55,73,124,201,231,296 'mani':1 'map':209 'mate':94 'might':133 'multipl':21,112 'need':289 'oasi':218 'obvious':279 'one':110,147,206 'peopl':2 'plan':100 'practic':247 'predict':4 'project':26,299 'read':215 'rich':273 'run':188 'seem':96 'select':204 'separ':190,265 'size':286 'small':9 'smaller':270 'smart':184 'swc':227,274 'take':35 'taken':144 'thing':166 'think':46,171 'tile':229 'time':22 'trim':255 'turn':76 'velox':232 'wayland':17,99,126,179,192,225 'weight':252 'window':11,54,72,123,200,230,295 'would':31,244 'wrong':80 'x':141 'xfce':91 'xorg':257 'xwayland':276 'yesterday':220"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/4837543"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700027677 {#3969
    date: 2023-11-15 06:54:37.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
8 DENIED moderate
App\Entity\EntryComment {#4028
  +user: App\Entity\User {#3977 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: """
    Many people have predicted the death of the small, independent window manager with the coming of Wayland. I have heard multiple times that only large projects like GNOME and KDE would be able to take on the burden of making a compositor.\n
    \n
    Now, I do think that lots of no longer actively developed window managers could get left behind. But the idea that it will be too complicated to create a window manager now is turning out to be wrong.\n
    \n
    First, fewer desktop environments are getting left behind than feared. XFCE, Cinnamon, and MATE all seem to have Wayland plans now.\n
    \n
    The big change is the appearance of not one but multiple compositor libraries designed to make it easier to create a window manager for Wayland. Some of them look like they might make it easier than it was under X. The approach taken by this one makes the idea of hacking around with it very inviting.\n
    \n
    Although having to create a compositor has made things difficultly until now, I think the idea of decoupling the compositor for Wayland is going to look smart in the long run.\n
    \n
    Being separate from Wayland, compositor devs are free to experiment and window manager authors can select the one that best maps to their goals.\n
    \n
    I was reading up on Oasis Linux yesterday. It comes with a Wayland compositor ( SWC ) and tiling window manager ( Velox ) that are less than 20,000 lines of code combined!\n
    \n
    It would not be practical for a light-weight distro to trim down Xorg like that. But I the compositor is separate, it can be either smaller or feature rich. SWC is XWayland compatible but obviously that is going to add more size if you need it.\n
    \n
    Looking forward to the window manager innovation that projects like Louvre enable.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 16
  +score: 0
  +lastActive: DateTime @1706009502 {#4037
    date: 2024-01-23 12:31:42.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4026 …}
  +nested: Doctrine\ORM\PersistentCollection {#4024 …}
  +votes: Doctrine\ORM\PersistentCollection {#4022 …}
  +reports: Doctrine\ORM\PersistentCollection {#4020 …}
  +favourites: Doctrine\ORM\PersistentCollection {#3988 …}
  +notifications: Doctrine\ORM\PersistentCollection {#3992 …}
  -id: 126228
  -bodyTs: "'000':238 '20':237 'abl':33 'activ':52 'add':284 'although':158 'appear':107 'approach':143 'around':153 'author':202 'behind':59,88 'best':208 'big':103 'burden':38 'chang':104 'cinnamon':92 'code':241 'combin':242 'come':15,222 'compat':277 'complic':68 'compositor':42,113,163,177,193,226,263 'could':56 'creat':70,121,161 'death':6 'decoupl':175 'design':115 'desktop':83 'dev':194 'develop':53 'difficult':167 'distro':253 'easier':119,136 'either':269 'enabl':302 'environ':84 'experi':198 'fear':90 'featur':272 'fewer':82 'first':81 'forward':292 'free':196 'get':57,86 'gnome':28 'go':181,282 'goal':212 'hack':152 'heard':20 'idea':62,150,173 'independ':10 'innov':297 'invit':157 'kde':30 'larg':25 'left':58,87 'less':235 'librari':114 'light':251 'light-weight':250 'like':27,131,258,300 'line':239 'linux':219 'long':187 'longer':51 'look':130,183,291 'lot':48 'louvr':301 'made':165 'make':40,117,134,148 'manag':12,55,73,124,201,231,296 'mani':1 'map':209 'mate':94 'might':133 'multipl':21,112 'need':289 'oasi':218 'obvious':279 'one':110,147,206 'peopl':2 'plan':100 'practic':247 'predict':4 'project':26,299 'read':215 'rich':273 'run':188 'seem':96 'select':204 'separ':190,265 'size':286 'small':9 'smaller':270 'smart':184 'swc':227,274 'take':35 'taken':144 'thing':166 'think':46,171 'tile':229 'time':22 'trim':255 'turn':76 'velox':232 'wayland':17,99,126,179,192,225 'weight':252 'window':11,54,72,123,200,230,295 'would':31,244 'wrong':80 'x':141 'xfce':91 'xorg':257 'xwayland':276 'yesterday':220"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://programming.dev/comment/4837543"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700027677 {#3969
    date: 2023-11-15 06:54:37.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
9 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
10 DENIED moderate
App\Entity\EntryComment {#4066
  +user: App\Entity\User {#4056 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "ngl Im more interested in the dock and what protocols it uses. I’ve been missing latte dock since I migrated to wayland"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 12
  +score: 0
  +lastActive: DateTime @1700252842 {#4080
    date: 2023-11-17 21:27:22.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4071 …}
  +nested: Doctrine\ORM\PersistentCollection {#4070 …}
  +votes: Doctrine\ORM\PersistentCollection {#4060 …}
  +reports: Doctrine\ORM\PersistentCollection {#4063 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4061 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4059 …}
  -id: 124817
  -bodyTs: "'dock':7,18 'im':2 'interest':4 'latt':17 'migrat':21 'miss':16 'ngl':1 'protocol':10 'sinc':19 'use':12 've':14 'wayland':23"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/5094973"
  +editedAt: DateTimeImmutable @1700239722 {#4078
    date: 2023-11-17 17:48:42.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699992719 {#4079
    date: 2023-11-14 21:11:59.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
11 DENIED edit
App\Entity\EntryComment {#4066
  +user: App\Entity\User {#4056 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "ngl Im more interested in the dock and what protocols it uses. I’ve been missing latte dock since I migrated to wayland"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 12
  +score: 0
  +lastActive: DateTime @1700252842 {#4080
    date: 2023-11-17 21:27:22.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4071 …}
  +nested: Doctrine\ORM\PersistentCollection {#4070 …}
  +votes: Doctrine\ORM\PersistentCollection {#4060 …}
  +reports: Doctrine\ORM\PersistentCollection {#4063 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4061 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4059 …}
  -id: 124817
  -bodyTs: "'dock':7,18 'im':2 'interest':4 'latt':17 'migrat':21 'miss':16 'ngl':1 'protocol':10 'sinc':19 'use':12 've':14 'wayland':23"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/5094973"
  +editedAt: DateTimeImmutable @1700239722 {#4078
    date: 2023-11-17 17:48:42.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699992719 {#4079
    date: 2023-11-14 21:11:59.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
12 DENIED moderate
App\Entity\EntryComment {#4066
  +user: App\Entity\User {#4056 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "ngl Im more interested in the dock and what protocols it uses. I’ve been missing latte dock since I migrated to wayland"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 12
  +score: 0
  +lastActive: DateTime @1700252842 {#4080
    date: 2023-11-17 21:27:22.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4071 …}
  +nested: Doctrine\ORM\PersistentCollection {#4070 …}
  +votes: Doctrine\ORM\PersistentCollection {#4060 …}
  +reports: Doctrine\ORM\PersistentCollection {#4063 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4061 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4059 …}
  -id: 124817
  -bodyTs: "'dock':7,18 'im':2 'interest':4 'latt':17 'migrat':21 'miss':16 'ngl':1 'protocol':10 'sinc':19 'use':12 've':14 'wayland':23"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.dbzer0.com/comment/5094973"
  +editedAt: DateTimeImmutable @1700239722 {#4078
    date: 2023-11-17 17:48:42.0 +01:00
  }
  +createdAt: DateTimeImmutable @1699992719 {#4079
    date: 2023-11-14 21:11:59.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
13 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
14 DENIED moderate
App\Entity\EntryComment {#4142
  +user: App\Entity\User {#4155 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "There’s desperate need to a library that’s simpler to use than wlroots or smithay - but unless it supports more protocols (later shell, gamma control, session lock), I don’t think this is a real a alternative yet."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 10
  +score: 0
  +lastActive: DateTime @1700280470 {#4137
    date: 2023-11-18 05:07:50.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4143 …}
  +nested: Doctrine\ORM\PersistentCollection {#4145 …}
  +votes: Doctrine\ORM\PersistentCollection {#4147 …}
  +reports: Doctrine\ORM\PersistentCollection {#4149 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4151 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4153 …}
  -id: 124949
  -bodyTs: "'altern':38 'control':26 'desper':3 'gamma':25 'later':23 'librari':7 'lock':28 'need':4 'protocol':22 'real':36 'session':27 'shell':24 'simpler':10 'smithay':16 'support':20 'think':32 'unless':18 'use':12 'wlroot':14 'yet':39"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/6130695"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699994997 {#4138
    date: 2023-11-14 21:49:57.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
15 DENIED edit
App\Entity\EntryComment {#4142
  +user: App\Entity\User {#4155 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "There’s desperate need to a library that’s simpler to use than wlroots or smithay - but unless it supports more protocols (later shell, gamma control, session lock), I don’t think this is a real a alternative yet."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 10
  +score: 0
  +lastActive: DateTime @1700280470 {#4137
    date: 2023-11-18 05:07:50.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4143 …}
  +nested: Doctrine\ORM\PersistentCollection {#4145 …}
  +votes: Doctrine\ORM\PersistentCollection {#4147 …}
  +reports: Doctrine\ORM\PersistentCollection {#4149 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4151 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4153 …}
  -id: 124949
  -bodyTs: "'altern':38 'control':26 'desper':3 'gamma':25 'later':23 'librari':7 'lock':28 'need':4 'protocol':22 'real':36 'session':27 'shell':24 'simpler':10 'smithay':16 'support':20 'think':32 'unless':18 'use':12 'wlroot':14 'yet':39"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/6130695"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699994997 {#4138
    date: 2023-11-14 21:49:57.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
16 DENIED moderate
App\Entity\EntryComment {#4142
  +user: App\Entity\User {#4155 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "There’s desperate need to a library that’s simpler to use than wlroots or smithay - but unless it supports more protocols (later shell, gamma control, session lock), I don’t think this is a real a alternative yet."
  +lang: "en"
  +isAdult: false
  +favouriteCount: 10
  +score: 0
  +lastActive: DateTime @1700280470 {#4137
    date: 2023-11-18 05:07:50.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4143 …}
  +nested: Doctrine\ORM\PersistentCollection {#4145 …}
  +votes: Doctrine\ORM\PersistentCollection {#4147 …}
  +reports: Doctrine\ORM\PersistentCollection {#4149 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4151 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4153 …}
  -id: 124949
  -bodyTs: "'altern':38 'control':26 'desper':3 'gamma':25 'later':23 'librari':7 'lock':28 'need':4 'protocol':22 'real':36 'session':27 'shell':24 'simpler':10 'smithay':16 'support':20 'think':32 'unless':18 'use':12 'wlroot':14 'yet':39"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/6130695"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699994997 {#4138
    date: 2023-11-14 21:49:57.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
17 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
18 DENIED moderate
App\Entity\EntryComment {#4215
  +user: App\Entity\User {#4228 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Is that desktop environment an apple UI clone?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1700238774 {#4210
    date: 2023-11-17 17:32:54.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4216 …}
  +nested: Doctrine\ORM\PersistentCollection {#4218 …}
  +votes: Doctrine\ORM\PersistentCollection {#4220 …}
  +reports: Doctrine\ORM\PersistentCollection {#4222 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4224 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4226 …}
  -id: 124634
  -bodyTs: "'appl':6 'clone':8 'desktop':3 'environ':4 'ui':7"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/6127674"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699989824 {#4211
    date: 2023-11-14 20:23:44.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
19 DENIED edit
App\Entity\EntryComment {#4215
  +user: App\Entity\User {#4228 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Is that desktop environment an apple UI clone?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1700238774 {#4210
    date: 2023-11-17 17:32:54.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4216 …}
  +nested: Doctrine\ORM\PersistentCollection {#4218 …}
  +votes: Doctrine\ORM\PersistentCollection {#4220 …}
  +reports: Doctrine\ORM\PersistentCollection {#4222 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4224 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4226 …}
  -id: 124634
  -bodyTs: "'appl':6 'clone':8 'desktop':3 'environ':4 'ui':7"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/6127674"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699989824 {#4211
    date: 2023-11-14 20:23:44.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
20 DENIED moderate
App\Entity\EntryComment {#4215
  +user: App\Entity\User {#4228 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Is that desktop environment an apple UI clone?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 5
  +score: 0
  +lastActive: DateTime @1700238774 {#4210
    date: 2023-11-17 17:32:54.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4216 …}
  +nested: Doctrine\ORM\PersistentCollection {#4218 …}
  +votes: Doctrine\ORM\PersistentCollection {#4220 …}
  +reports: Doctrine\ORM\PersistentCollection {#4222 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4224 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4226 …}
  -id: 124634
  -bodyTs: "'appl':6 'clone':8 'desktop':3 'environ':4 'ui':7"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemm.ee/comment/6127674"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699989824 {#4211
    date: 2023-11-14 20:23:44.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
21 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
22 DENIED moderate
App\Entity\EntryComment {#4289
  +user: App\Entity\User {#4302 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: """
    Lets see if I got this right, you (the OP), the creator of Louvre, managed to create an example compositor that looks like a better desktop experience than the entire KDE and GNOME teams could ever develop with their infinite wisdom and funding? Fucking amazing. :)\n
    \n
    I know this is an example, but seriously following the “copy apple down to the last pixel” approach you should consider creating a DE for Linux that doesn’t have themes or any user tweaks, just a simple and pixel-perfect copy of macOS. The problem with GNOME and KDE is that they both fail in simple design principals such as proportions, item spacing and whatnot while Apple, and you by extension, excels in that aspect.\n
    \n
    Furthermore my personal opinion is that GNOME tries to reinvent everything and ends up fucking things up and creating situations like the lack of desktop icons going into the activities view by default etc. KDE however does some other stuff right but they fail really badly in terms of proportions and item spacing. Their taskbar is also a shame, for a group that says they want to copy Windows’ style they aren’t doing that well.\n
    \n
    Desktop experiences when it comes to design peaked with macOS Monterey (after that Apple did changes to the settings that are still not polished) and in terms of usability they peaked with the release of Exposé, Spaces and later their integration on Mission Control (initially bad but now they seem better).\n
    \n
    If you do create a 1:1 copy of macOS desktop experience (and keep it updates) as a new DE you’ll most likely become very popular in no time. It doesn’t need themes, customization and all the personalization that would make it really hard to create, just a simply pixel perfect copy of macOS.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1700263915 {#4283
    date: 2023-11-18 00:31:55.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4290 …}
  +nested: Doctrine\ORM\PersistentCollection {#4292 …}
  +votes: Doctrine\ORM\PersistentCollection {#4294 …}
  +reports: Doctrine\ORM\PersistentCollection {#4296 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4298 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4300 …}
  -id: 125250
  -bodyTs: "'1':255,256 'activ':152 'also':179 'amaz':45 'appl':57,114,212 'approach':63 'aren':194 'aspect':122 'bad':168,244 'becom':274 'better':25,249 'chang':214 'come':203 'compositor':20 'consid':66 'control':242 'copi':56,88,190,257,303 'could':35 'creat':17,67,141,253,297 'creator':12 'custom':285 'de':69,269 'default':155 'design':104,205 'desktop':26,147,199,260 'develop':37 'doesn':73,281 'end':135 'entir':30 'etc':156 'ever':36 'everyth':133 'exampl':19,51 'excel':119 'experi':27,200,261 'exposé':234 'extens':118 'fail':101,166 'follow':54 'fuck':44,137 'fund':43 'furthermor':123 'gnome':33,94,129 'go':149 'got':5 'group':184 'hard':295 'howev':158 'icon':148 'infinit':40 'initi':243 'integr':239 'item':109,174 'kde':31,96,157 'keep':263 'know':47 'lack':145 'last':61 'later':237 'let':1 'like':23,143,273 'linux':71 'll':271 'look':22 'louvr':14 'maco':90,208,259,305 'make':292 'manag':15 'mission':241 'monterey':209 'need':283 'new':268 'op':10 'opinion':126 'peak':206,229 'perfect':87,302 'person':125,289 'pixel':62,86,301 'pixel-perfect':85 'polish':222 'popular':276 'princip':105 'problem':92 'proport':108,172 'realli':167,294 'reinvent':132 'releas':232 'right':7,163 'say':186 'see':2 'seem':248 'serious':53 'set':217 'shame':181 'simpl':83,103 'simpli':300 'situat':142 'space':110,175,235 'still':220 'stuff':162 'style':192 'taskbar':177 'team':34 'term':170,225 'theme':76,284 'thing':138 'time':279 'tri':130 'tweak':80 'updat':265 'usabl':227 'user':79 'view':153 'want':188 'well':198 'whatnot':112 'window':191 'wisdom':41 'would':291"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5315293"
  +editedAt: DateTimeImmutable @1700250907 {#4284
    date: 2023-11-17 20:55:07.0 +01:00
  }
  +createdAt: DateTimeImmutable @1700000189 {#4285
    date: 2023-11-14 23:16:29.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
23 DENIED edit
App\Entity\EntryComment {#4289
  +user: App\Entity\User {#4302 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: """
    Lets see if I got this right, you (the OP), the creator of Louvre, managed to create an example compositor that looks like a better desktop experience than the entire KDE and GNOME teams could ever develop with their infinite wisdom and funding? Fucking amazing. :)\n
    \n
    I know this is an example, but seriously following the “copy apple down to the last pixel” approach you should consider creating a DE for Linux that doesn’t have themes or any user tweaks, just a simple and pixel-perfect copy of macOS. The problem with GNOME and KDE is that they both fail in simple design principals such as proportions, item spacing and whatnot while Apple, and you by extension, excels in that aspect.\n
    \n
    Furthermore my personal opinion is that GNOME tries to reinvent everything and ends up fucking things up and creating situations like the lack of desktop icons going into the activities view by default etc. KDE however does some other stuff right but they fail really badly in terms of proportions and item spacing. Their taskbar is also a shame, for a group that says they want to copy Windows’ style they aren’t doing that well.\n
    \n
    Desktop experiences when it comes to design peaked with macOS Monterey (after that Apple did changes to the settings that are still not polished) and in terms of usability they peaked with the release of Exposé, Spaces and later their integration on Mission Control (initially bad but now they seem better).\n
    \n
    If you do create a 1:1 copy of macOS desktop experience (and keep it updates) as a new DE you’ll most likely become very popular in no time. It doesn’t need themes, customization and all the personalization that would make it really hard to create, just a simply pixel perfect copy of macOS.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1700263915 {#4283
    date: 2023-11-18 00:31:55.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4290 …}
  +nested: Doctrine\ORM\PersistentCollection {#4292 …}
  +votes: Doctrine\ORM\PersistentCollection {#4294 …}
  +reports: Doctrine\ORM\PersistentCollection {#4296 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4298 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4300 …}
  -id: 125250
  -bodyTs: "'1':255,256 'activ':152 'also':179 'amaz':45 'appl':57,114,212 'approach':63 'aren':194 'aspect':122 'bad':168,244 'becom':274 'better':25,249 'chang':214 'come':203 'compositor':20 'consid':66 'control':242 'copi':56,88,190,257,303 'could':35 'creat':17,67,141,253,297 'creator':12 'custom':285 'de':69,269 'default':155 'design':104,205 'desktop':26,147,199,260 'develop':37 'doesn':73,281 'end':135 'entir':30 'etc':156 'ever':36 'everyth':133 'exampl':19,51 'excel':119 'experi':27,200,261 'exposé':234 'extens':118 'fail':101,166 'follow':54 'fuck':44,137 'fund':43 'furthermor':123 'gnome':33,94,129 'go':149 'got':5 'group':184 'hard':295 'howev':158 'icon':148 'infinit':40 'initi':243 'integr':239 'item':109,174 'kde':31,96,157 'keep':263 'know':47 'lack':145 'last':61 'later':237 'let':1 'like':23,143,273 'linux':71 'll':271 'look':22 'louvr':14 'maco':90,208,259,305 'make':292 'manag':15 'mission':241 'monterey':209 'need':283 'new':268 'op':10 'opinion':126 'peak':206,229 'perfect':87,302 'person':125,289 'pixel':62,86,301 'pixel-perfect':85 'polish':222 'popular':276 'princip':105 'problem':92 'proport':108,172 'realli':167,294 'reinvent':132 'releas':232 'right':7,163 'say':186 'see':2 'seem':248 'serious':53 'set':217 'shame':181 'simpl':83,103 'simpli':300 'situat':142 'space':110,175,235 'still':220 'stuff':162 'style':192 'taskbar':177 'team':34 'term':170,225 'theme':76,284 'thing':138 'time':279 'tri':130 'tweak':80 'updat':265 'usabl':227 'user':79 'view':153 'want':188 'well':198 'whatnot':112 'window':191 'wisdom':41 'would':291"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5315293"
  +editedAt: DateTimeImmutable @1700250907 {#4284
    date: 2023-11-17 20:55:07.0 +01:00
  }
  +createdAt: DateTimeImmutable @1700000189 {#4285
    date: 2023-11-14 23:16:29.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
24 DENIED moderate
App\Entity\EntryComment {#4289
  +user: App\Entity\User {#4302 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: """
    Lets see if I got this right, you (the OP), the creator of Louvre, managed to create an example compositor that looks like a better desktop experience than the entire KDE and GNOME teams could ever develop with their infinite wisdom and funding? Fucking amazing. :)\n
    \n
    I know this is an example, but seriously following the “copy apple down to the last pixel” approach you should consider creating a DE for Linux that doesn’t have themes or any user tweaks, just a simple and pixel-perfect copy of macOS. The problem with GNOME and KDE is that they both fail in simple design principals such as proportions, item spacing and whatnot while Apple, and you by extension, excels in that aspect.\n
    \n
    Furthermore my personal opinion is that GNOME tries to reinvent everything and ends up fucking things up and creating situations like the lack of desktop icons going into the activities view by default etc. KDE however does some other stuff right but they fail really badly in terms of proportions and item spacing. Their taskbar is also a shame, for a group that says they want to copy Windows’ style they aren’t doing that well.\n
    \n
    Desktop experiences when it comes to design peaked with macOS Monterey (after that Apple did changes to the settings that are still not polished) and in terms of usability they peaked with the release of Exposé, Spaces and later their integration on Mission Control (initially bad but now they seem better).\n
    \n
    If you do create a 1:1 copy of macOS desktop experience (and keep it updates) as a new DE you’ll most likely become very popular in no time. It doesn’t need themes, customization and all the personalization that would make it really hard to create, just a simply pixel perfect copy of macOS.
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 4
  +score: 0
  +lastActive: DateTime @1700263915 {#4283
    date: 2023-11-18 00:31:55.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4290 …}
  +nested: Doctrine\ORM\PersistentCollection {#4292 …}
  +votes: Doctrine\ORM\PersistentCollection {#4294 …}
  +reports: Doctrine\ORM\PersistentCollection {#4296 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4298 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4300 …}
  -id: 125250
  -bodyTs: "'1':255,256 'activ':152 'also':179 'amaz':45 'appl':57,114,212 'approach':63 'aren':194 'aspect':122 'bad':168,244 'becom':274 'better':25,249 'chang':214 'come':203 'compositor':20 'consid':66 'control':242 'copi':56,88,190,257,303 'could':35 'creat':17,67,141,253,297 'creator':12 'custom':285 'de':69,269 'default':155 'design':104,205 'desktop':26,147,199,260 'develop':37 'doesn':73,281 'end':135 'entir':30 'etc':156 'ever':36 'everyth':133 'exampl':19,51 'excel':119 'experi':27,200,261 'exposé':234 'extens':118 'fail':101,166 'follow':54 'fuck':44,137 'fund':43 'furthermor':123 'gnome':33,94,129 'go':149 'got':5 'group':184 'hard':295 'howev':158 'icon':148 'infinit':40 'initi':243 'integr':239 'item':109,174 'kde':31,96,157 'keep':263 'know':47 'lack':145 'last':61 'later':237 'let':1 'like':23,143,273 'linux':71 'll':271 'look':22 'louvr':14 'maco':90,208,259,305 'make':292 'manag':15 'mission':241 'monterey':209 'need':283 'new':268 'op':10 'opinion':126 'peak':206,229 'perfect':87,302 'person':125,289 'pixel':62,86,301 'pixel-perfect':85 'polish':222 'popular':276 'princip':105 'problem':92 'proport':108,172 'realli':167,294 'reinvent':132 'releas':232 'right':7,163 'say':186 'see':2 'seem':248 'serious':53 'set':217 'shame':181 'simpl':83,103 'simpli':300 'situat':142 'space':110,175,235 'still':220 'stuff':162 'style':192 'taskbar':177 'team':34 'term':170,225 'theme':76,284 'thing':138 'time':279 'tri':130 'tweak':80 'updat':265 'usabl':227 'user':79 'view':153 'want':188 'well':198 'whatnot':112 'window':191 'wisdom':41 'would':291"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.world/comment/5315293"
  +editedAt: DateTimeImmutable @1700250907 {#4284
    date: 2023-11-17 20:55:07.0 +01:00
  }
  +createdAt: DateTimeImmutable @1700000189 {#4285
    date: 2023-11-14 23:16:29.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
25 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
26 DENIED moderate
App\Entity\EntryComment {#4364
  +user: App\Entity\User {#4377 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "You mentioned it being easier then wlroots, but [wayfire](https://wayfire.org/) and [phoc](https://gitlab.gnome.org/World/Phosh/phoc) reportedly act as high level abstractions on top of wlroots that could be used to make it easier to create window managers (wayfire author explicitly mentioned it), Maybe it will be good to create a comparison with these projects? or even divert your future efforts to one of them?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1700330280 {#4359
    date: 2023-11-18 18:58:00.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4365 …}
  +nested: Doctrine\ORM\PersistentCollection {#4367 …}
  +votes: Doctrine\ORM\PersistentCollection {#4369 …}
  +reports: Doctrine\ORM\PersistentCollection {#4371 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4373 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4375 …}
  -id: 127198
  -bodyTs: "'/)':12 '/world/phosh/phoc)':17 'abstract':23 'act':19 'author':41 'comparison':53 'could':29 'creat':37,51 'divert':59 'easier':5,35 'effort':62 'even':58 'explicit':42 'futur':61 'gitlab.gnome.org':16 'gitlab.gnome.org/world/phosh/phoc)':15 'good':49 'high':21 'level':22 'make':33 'manag':39 'mayb':45 'mention':2,43 'one':64 'phoc':14 'project':56 'report':18 'top':25 'use':31 'wayfir':9,40 'wayfire.org':11 'wayfire.org/)':10 'window':38 'wlroot':7,27"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/5823831"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700061193 {#4360
    date: 2023-11-15 16:13:13.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
27 DENIED edit
App\Entity\EntryComment {#4364
  +user: App\Entity\User {#4377 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "You mentioned it being easier then wlroots, but [wayfire](https://wayfire.org/) and [phoc](https://gitlab.gnome.org/World/Phosh/phoc) reportedly act as high level abstractions on top of wlroots that could be used to make it easier to create window managers (wayfire author explicitly mentioned it), Maybe it will be good to create a comparison with these projects? or even divert your future efforts to one of them?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1700330280 {#4359
    date: 2023-11-18 18:58:00.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4365 …}
  +nested: Doctrine\ORM\PersistentCollection {#4367 …}
  +votes: Doctrine\ORM\PersistentCollection {#4369 …}
  +reports: Doctrine\ORM\PersistentCollection {#4371 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4373 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4375 …}
  -id: 127198
  -bodyTs: "'/)':12 '/world/phosh/phoc)':17 'abstract':23 'act':19 'author':41 'comparison':53 'could':29 'creat':37,51 'divert':59 'easier':5,35 'effort':62 'even':58 'explicit':42 'futur':61 'gitlab.gnome.org':16 'gitlab.gnome.org/world/phosh/phoc)':15 'good':49 'high':21 'level':22 'make':33 'manag':39 'mayb':45 'mention':2,43 'one':64 'phoc':14 'project':56 'report':18 'top':25 'use':31 'wayfir':9,40 'wayfire.org':11 'wayfire.org/)':10 'window':38 'wlroot':7,27"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/5823831"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700061193 {#4360
    date: 2023-11-15 16:13:13.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
28 DENIED moderate
App\Entity\EntryComment {#4364
  +user: App\Entity\User {#4377 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "You mentioned it being easier then wlroots, but [wayfire](https://wayfire.org/) and [phoc](https://gitlab.gnome.org/World/Phosh/phoc) reportedly act as high level abstractions on top of wlroots that could be used to make it easier to create window managers (wayfire author explicitly mentioned it), Maybe it will be good to create a comparison with these projects? or even divert your future efforts to one of them?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1700330280 {#4359
    date: 2023-11-18 18:58:00.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4365 …}
  +nested: Doctrine\ORM\PersistentCollection {#4367 …}
  +votes: Doctrine\ORM\PersistentCollection {#4369 …}
  +reports: Doctrine\ORM\PersistentCollection {#4371 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4373 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4375 …}
  -id: 127198
  -bodyTs: "'/)':12 '/world/phosh/phoc)':17 'abstract':23 'act':19 'author':41 'comparison':53 'could':29 'creat':37,51 'divert':59 'easier':5,35 'effort':62 'even':58 'explicit':42 'futur':61 'gitlab.gnome.org':16 'gitlab.gnome.org/world/phosh/phoc)':15 'good':49 'high':21 'level':22 'make':33 'manag':39 'mayb':45 'mention':2,43 'one':64 'phoc':14 'project':56 'report':18 'top':25 'use':31 'wayfir':9,40 'wayfire.org':11 'wayfire.org/)':10 'window':38 'wlroot':7,27"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/5823831"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700061193 {#4360
    date: 2023-11-15 16:13:13.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
29 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
30 DENIED moderate
App\Entity\EntryComment {#4438
  +user: App\Entity\User {#4451 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Wow, that looks stunning! I am no where near skilled enough to be able to even begin wrapping my head around making a compositor, even with a library - but I *do* know that like the other commenter mentioned we certainly need more libraries aside from the two that we currently have (but I understand why that’s a very tall order) so major props to you!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1700330888 {#4432
    date: 2023-11-18 19:08:08.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4439 …}
  +nested: Doctrine\ORM\PersistentCollection {#4441 …}
  +votes: Doctrine\ORM\PersistentCollection {#4443 …}
  +reports: Doctrine\ORM\PersistentCollection {#4445 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4447 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4449 …}
  -id: 126001
  -bodyTs: "'abl':14 'around':21 'asid':44 'begin':17 'certain':40 'comment':37 'compositor':24 'current':50 'enough':11 'even':16,25 'head':20 'know':32 'librari':28,43 'like':34 'look':3 'major':63 'make':22 'mention':38 'near':9 'need':41 'order':61 'prop':64 'skill':10 'stun':4 'tall':60 'two':47 'understand':54 'wow':1 'wrap':18"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://outpost.zeuslink.net/comment/3139968"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700017917 {#4433
    date: 2023-11-15 04:11:57.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
31 DENIED edit
App\Entity\EntryComment {#4438
  +user: App\Entity\User {#4451 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Wow, that looks stunning! I am no where near skilled enough to be able to even begin wrapping my head around making a compositor, even with a library - but I *do* know that like the other commenter mentioned we certainly need more libraries aside from the two that we currently have (but I understand why that’s a very tall order) so major props to you!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1700330888 {#4432
    date: 2023-11-18 19:08:08.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4439 …}
  +nested: Doctrine\ORM\PersistentCollection {#4441 …}
  +votes: Doctrine\ORM\PersistentCollection {#4443 …}
  +reports: Doctrine\ORM\PersistentCollection {#4445 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4447 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4449 …}
  -id: 126001
  -bodyTs: "'abl':14 'around':21 'asid':44 'begin':17 'certain':40 'comment':37 'compositor':24 'current':50 'enough':11 'even':16,25 'head':20 'know':32 'librari':28,43 'like':34 'look':3 'major':63 'make':22 'mention':38 'near':9 'need':41 'order':61 'prop':64 'skill':10 'stun':4 'tall':60 'two':47 'understand':54 'wow':1 'wrap':18"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://outpost.zeuslink.net/comment/3139968"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700017917 {#4433
    date: 2023-11-15 04:11:57.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
32 DENIED moderate
App\Entity\EntryComment {#4438
  +user: App\Entity\User {#4451 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Wow, that looks stunning! I am no where near skilled enough to be able to even begin wrapping my head around making a compositor, even with a library - but I *do* know that like the other commenter mentioned we certainly need more libraries aside from the two that we currently have (but I understand why that’s a very tall order) so major props to you!"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 3
  +score: 0
  +lastActive: DateTime @1700330888 {#4432
    date: 2023-11-18 19:08:08.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4439 …}
  +nested: Doctrine\ORM\PersistentCollection {#4441 …}
  +votes: Doctrine\ORM\PersistentCollection {#4443 …}
  +reports: Doctrine\ORM\PersistentCollection {#4445 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4447 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4449 …}
  -id: 126001
  -bodyTs: "'abl':14 'around':21 'asid':44 'begin':17 'certain':40 'comment':37 'compositor':24 'current':50 'enough':11 'even':16,25 'head':20 'know':32 'librari':28,43 'like':34 'look':3 'major':63 'make':22 'mention':38 'near':9 'need':41 'order':61 'prop':64 'skill':10 'stun':4 'tall':60 'two':47 'understand':54 'wow':1 'wrap':18"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://outpost.zeuslink.net/comment/3139968"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700017917 {#4433
    date: 2023-11-15 04:11:57.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
33 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
34 DENIED moderate
App\Entity\EntryComment {#4512
  +user: App\Entity\User {#4525 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "What does “Single, Double or Triple Buffering” mean?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1700253440 {#4507
    date: 2023-11-17 21:37:20.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4513 …}
  +nested: Doctrine\ORM\PersistentCollection {#4515 …}
  +votes: Doctrine\ORM\PersistentCollection {#4517 …}
  +reports: Doctrine\ORM\PersistentCollection {#4519 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4521 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4523 …}
  -id: 125331
  -bodyTs: "'buffer':7 'doubl':4 'mean':8 'singl':3 'tripl':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/5803290"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700001174 {#4508
    date: 2023-11-14 23:32:54.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
35 DENIED edit
App\Entity\EntryComment {#4512
  +user: App\Entity\User {#4525 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "What does “Single, Double or Triple Buffering” mean?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1700253440 {#4507
    date: 2023-11-17 21:37:20.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4513 …}
  +nested: Doctrine\ORM\PersistentCollection {#4515 …}
  +votes: Doctrine\ORM\PersistentCollection {#4517 …}
  +reports: Doctrine\ORM\PersistentCollection {#4519 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4521 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4523 …}
  -id: 125331
  -bodyTs: "'buffer':7 'doubl':4 'mean':8 'singl':3 'tripl':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/5803290"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700001174 {#4508
    date: 2023-11-14 23:32:54.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
36 DENIED moderate
App\Entity\EntryComment {#4512
  +user: App\Entity\User {#4525 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "What does “Single, Double or Triple Buffering” mean?"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1700253440 {#4507
    date: 2023-11-17 21:37:20.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4513 …}
  +nested: Doctrine\ORM\PersistentCollection {#4515 …}
  +votes: Doctrine\ORM\PersistentCollection {#4517 …}
  +reports: Doctrine\ORM\PersistentCollection {#4519 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4521 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4523 …}
  -id: 125331
  -bodyTs: "'buffer':7 'doubl':4 'mean':8 'singl':3 'tripl':6"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/5803290"
  +editedAt: null
  +createdAt: DateTimeImmutable @1700001174 {#4508
    date: 2023-11-14 23:32:54.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
37 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
38 DENIED moderate
App\Entity\EntryComment {#4585
  +user: App\Entity\User {#4598 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: """
    Do you plan to use vulkan wmi in any way?\n
    \n
    Can xwayland be excluded?
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1700255001 {#4580
    date: 2023-11-17 22:03:21.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4586 …}
  +nested: Doctrine\ORM\PersistentCollection {#4588 …}
  +votes: Doctrine\ORM\PersistentCollection {#4590 …}
  +reports: Doctrine\ORM\PersistentCollection {#4592 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4594 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4596 …}
  -id: 125040
  -bodyTs: "'exclud':14 'plan':3 'use':5 'vulkan':6 'way':10 'wmi':7 'xwayland':12"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/5801141"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699996291 {#4581
    date: 2023-11-14 22:11:31.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
39 DENIED edit
App\Entity\EntryComment {#4585
  +user: App\Entity\User {#4598 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: """
    Do you plan to use vulkan wmi in any way?\n
    \n
    Can xwayland be excluded?
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1700255001 {#4580
    date: 2023-11-17 22:03:21.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4586 …}
  +nested: Doctrine\ORM\PersistentCollection {#4588 …}
  +votes: Doctrine\ORM\PersistentCollection {#4590 …}
  +reports: Doctrine\ORM\PersistentCollection {#4592 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4594 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4596 …}
  -id: 125040
  -bodyTs: "'exclud':14 'plan':3 'use':5 'vulkan':6 'way':10 'wmi':7 'xwayland':12"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/5801141"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699996291 {#4581
    date: 2023-11-14 22:11:31.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
40 DENIED moderate
App\Entity\EntryComment {#4585
  +user: App\Entity\User {#4598 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: """
    Do you plan to use vulkan wmi in any way?\n
    \n
    Can xwayland be excluded?
    """
  +lang: "en"
  +isAdult: false
  +favouriteCount: 2
  +score: 0
  +lastActive: DateTime @1700255001 {#4580
    date: 2023-11-17 22:03:21.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4586 …}
  +nested: Doctrine\ORM\PersistentCollection {#4588 …}
  +votes: Doctrine\ORM\PersistentCollection {#4590 …}
  +reports: Doctrine\ORM\PersistentCollection {#4592 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4594 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4596 …}
  -id: 125040
  -bodyTs: "'exclud':14 'plan':3 'use':5 'vulkan':6 'way':10 'wmi':7 'xwayland':12"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/5801141"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699996291 {#4581
    date: 2023-11-14 22:11:31.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
41 DENIED ROLE_USER
null
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"Symfony\Component\Security\Core\Authorization\Voter\RoleHierarchyVoter"
ACCESS DENIED
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
42 DENIED moderate
App\Entity\EntryComment {#4658
  +user: App\Entity\User {#4671 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Neat"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699993763 {#4653
    date: 2023-11-14 21:29:23.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4659 …}
  +nested: Doctrine\ORM\PersistentCollection {#4661 …}
  +votes: Doctrine\ORM\PersistentCollection {#4663 …}
  +reports: Doctrine\ORM\PersistentCollection {#4665 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4667 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4669 …}
  -id: 124871
  -bodyTs: "'neat':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/5800036"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699993763 {#4654
    date: 2023-11-14 21:29:23.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
43 DENIED edit
App\Entity\EntryComment {#4658
  +user: App\Entity\User {#4671 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Neat"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699993763 {#4653
    date: 2023-11-14 21:29:23.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4659 …}
  +nested: Doctrine\ORM\PersistentCollection {#4661 …}
  +votes: Doctrine\ORM\PersistentCollection {#4663 …}
  +reports: Doctrine\ORM\PersistentCollection {#4665 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4667 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4669 …}
  -id: 124871
  -bodyTs: "'neat':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/5800036"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699993763 {#4654
    date: 2023-11-14 21:29:23.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
44 DENIED moderate
App\Entity\EntryComment {#4658
  +user: App\Entity\User {#4671 …}
  +entry: App\Entity\Entry {#2419
    +user: Proxies\__CG__\App\Entity\User {#1970 …}
    +magazine: App\Entity\Magazine {#265
      +icon: Proxies\__CG__\App\Entity\Image {#246 …}
      +name: "linux@lemmy.ml"
      +title: "linux"
      +description: """
        From Wikipedia, the free encyclopedia\n
        \n
        Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
        \n
        Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
        \n
        ### Rules\n
        \n
        - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
        - No misinformation\n
        - No NSFW content\n
        - No hate speech, bigotry, etc\n
        \n
        ### Related Communities\n
        \n
        - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
        - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
        - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
        - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
        \n
        Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
        """
      +rules: null
      +subscriptionsCount: 1
      +entryCount: 1406
      +entryCommentCount: 28632
      +postCount: 6
      +postCommentCount: 214
      +isAdult: false
      +customCss: null
      +lastActive: DateTime @1729583542 {#275
        date: 2024-10-22 09:52:22.0 +02:00
      }
      +markedForDeletionAt: null
      +tags: null
      +moderators: Doctrine\ORM\PersistentCollection {#237 …}
      +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
      +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
      +entries: Doctrine\ORM\PersistentCollection {#180 …}
      +posts: Doctrine\ORM\PersistentCollection {#138 …}
      +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
      +bans: Doctrine\ORM\PersistentCollection {#117 …}
      +reports: Doctrine\ORM\PersistentCollection {#103 …}
      +badges: Doctrine\ORM\PersistentCollection {#81 …}
      +logs: Doctrine\ORM\PersistentCollection {#71 …}
      +awards: Doctrine\ORM\PersistentCollection {#1346 …}
      +categories: Doctrine\ORM\PersistentCollection {#1823 …}
      -id: 73
      +apId: "linux@lemmy.ml"
      +apProfileId: "https://lemmy.ml/c/linux"
      +apPublicUrl: "https://lemmy.ml/c/linux"
      +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
      +apInboxUrl: "https://lemmy.ml/inbox"
      +apDomain: "lemmy.ml"
      +apPreferredUsername: "linux"
      +apDiscoverable: true
      +apManuallyApprovesFollowers: null
      +privateKey: null
      +publicKey: null
      +apFetchedAt: DateTime @1729583596 {#269
        date: 2024-10-22 09:53:16.0 +02:00
      }
      +apDeletedAt: null
      +apTimeoutAt: null
      +visibility: "visible             "
      +createdAt: DateTimeImmutable @1698929468 {#271
        date: 2023-11-02 13:51:08.0 +01:00
      }
    }
    +image: Proxies\__CG__\App\Entity\Image {#1943 …}
    +domain: Proxies\__CG__\App\Entity\Domain {#1912 …}
    +slug: "Louvre-C-library-for-building-Wayland-compositors"
    +title: "Louvre: C++ library for building Wayland compositors."
    +url: "https://lemmy.world/pictrs/image/712727df-59a9-4c0c-a7cf-e55bccdab252.png"
    +body: """
      Hello, yesterday I officially released Louvre v1.0.0, a C++ library designed for building Wayland compositors with a primary focus on ease of development. It provides a default method for handling protocols, input events, and rendering, which you can selectively and progressively override as required, allowing you to see a functional compositor from day 1.\n
      \n
      It supports multi-GPU setups, multi-session (TTY switching), and offers various rendering options, including a scene and view system that automatically repaints only the damaged (changing) regions during a frame. Because it uses multiple threads, it can maintain a high FPS rate with v-sync enabled when rendering complex scenarios. In contrast, single-threaded compositors often experience a rapid drop in FPS, for example, from 60 to 30 fps, due to “dead times” while waiting for a screen vblank, leading to the skipping of frames.\n
      \n
      The library is freely available, open source, thoroughly documented, includes examples, and features a detailed tutorial.\n
      \n
      You can find it here: [github.com/CuarzoSoftware/Louvre](https://github.com/CuarzoSoftware/Louvre)\n
      \n
      I hope it proves useful for you. If you decide to use it and encounter any doubts or wish to contribute to its development, please don’t hesitate to reach out.\n
      \n
      Greetings!
      """
    +type: "image"
    +lang: "en"
    +isOc: false
    +hasEmbed: true
    +commentCount: 34
    +favouriteCount: 219
    +score: 0
    +isAdult: false
    +sticky: false
    +lastActive: DateTime @1700324159 {#2414
      date: 2023-11-18 17:15:59.0 +01:00
    }
    +ip: null
    +adaAmount: 0
    +tags: null
    +mentions: null
    +comments: Doctrine\ORM\PersistentCollection {#1866 …}
    +votes: Doctrine\ORM\PersistentCollection {#1966 …}
    +reports: Doctrine\ORM\PersistentCollection {#1946 …}
    +favourites: Doctrine\ORM\PersistentCollection {#1368 …}
    +notifications: Doctrine\ORM\PersistentCollection {#2426 …}
    +badges: Doctrine\ORM\PersistentCollection {#2439 …}
    +children: []
    -id: 13052
    -titleTs: "'build':5 'c':2 'compositor':7 'librari':3 'louvr':1 'wayland':6"
    -bodyTs: "'/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':168 '1':54 '30':127 '60':125 'allow':45 'automat':78 'avail':149 'build':13 'c':9 'chang':83 'complex':107 'compositor':15,51,114 'contrast':110 'contribut':189 'damag':82 'day':53 'dead':131 'decid':178 'default':27 'design':11 'detail':159 'develop':23,192 'document':153 'doubt':185 'drop':119 'due':129 'eas':21 'enabl':104 'encount':183 'event':33 'exampl':123,155 'experi':116 'featur':157 'find':163 'focus':19 'fps':98,121,128 'frame':87,144 'freeli':148 'function':50 'github.com':167 'github.com/cuarzosoftware/louvre](https://github.com/cuarzosoftware/louvre)':166 'gpu':59 'greet':200 'handl':30 'hello':1 'hesit':196 'high':97 'hope':170 'includ':71,154 'input':32 'lead':139 'librari':10,146 'louvr':6 'maintain':95 'method':28 'multi':58,62 'multi-gpu':57 'multi-sess':61 'multipl':91 'offer':67 'offici':4 'often':115 'open':150 'option':70 'overrid':42 'pleas':193 'primari':18 'progress':41 'protocol':31 'prove':172 'provid':25 'rapid':118 'rate':99 'reach':198 'region':84 'releas':5 'render':35,69,106 'repaint':79 'requir':44 'scenario':108 'scene':73 'screen':137 'see':48 'select':39 'session':63 'setup':60 'singl':112 'single-thread':111 'skip':142 'sourc':151 'support':56 'switch':65 'sync':103 'system':76 'thorough':152 'thread':92,113 'time':132 'tti':64 'tutori':160 'use':90,173,180 'v':102 'v-sync':101 'v1.0.0':7 'various':68 'vblank':138 'view':75 'wait':134 'wayland':14 'wish':187 'yesterday':2"
    +cross: false
    +upVotes: 0
    +downVotes: 0
    +ranking: 1700075572
    +visibility: "visible             "
    +apId: "https://lemmy.world/post/8258740"
    +editedAt: null
    +createdAt: DateTimeImmutable @1699989172 {#1793
      date: 2023-11-14 20:12:52.0 +01:00
    }
  }
  +magazine: App\Entity\Magazine {#265}
  +image: null
  +parent: null
  +root: null
  +body: "Neat"
  +lang: "en"
  +isAdult: false
  +favouriteCount: 1
  +score: 0
  +lastActive: DateTime @1699993763 {#4653
    date: 2023-11-14 21:29:23.0 +01:00
  }
  +ip: null
  +tags: null
  +mentions: [
    "@ehopperdietzel@lemmy.world"
  ]
  +children: Doctrine\ORM\PersistentCollection {#4659 …}
  +nested: Doctrine\ORM\PersistentCollection {#4661 …}
  +votes: Doctrine\ORM\PersistentCollection {#4663 …}
  +reports: Doctrine\ORM\PersistentCollection {#4665 …}
  +favourites: Doctrine\ORM\PersistentCollection {#4667 …}
  +notifications: Doctrine\ORM\PersistentCollection {#4669 …}
  -id: 124871
  -bodyTs: "'neat':1"
  +ranking: 0
  +commentCount: 0
  +upVotes: 0
  +downVotes: 0
  +visibility: "visible             "
  +apId: "https://lemmy.ml/comment/5800036"
  +editedAt: null
  +createdAt: DateTimeImmutable @1699993763 {#4654
    date: 2023-11-14 21:29:23.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS DENIED
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details
45 DENIED edit
App\Entity\Magazine {#265
  +icon: Proxies\__CG__\App\Entity\Image {#246 …}
  +name: "linux@lemmy.ml"
  +title: "linux"
  +description: """
    From Wikipedia, the free encyclopedia\n
    \n
    Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).\n
    \n
    Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word “Linux” in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.\n
    \n
    ### Rules\n
    \n
    - Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.\n
    - No misinformation\n
    - No NSFW content\n
    - No hate speech, bigotry, etc\n
    \n
    ### Related Communities\n
    \n
    - [!opensource@lemmy.ml](https://lemmy.ml/c/opensource)\n
    - [!libre_culture@lemmy.ml](https://lemmy.ml/c/libre_culture)\n
    - [!technology@lemmy.ml](https://lemmy.ml/c/technology)\n
    - [!libre_hardware@lemmy.ml](https://lemmy.ml/c/libre_hardware)\n
    \n
    Community icon by [Alpár-Etele Méder](https://www.iconfinder.com/pocike), licensed under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0/)
    """
  +rules: null
  +subscriptionsCount: 1
  +entryCount: 1406
  +entryCommentCount: 28632
  +postCount: 6
  +postCommentCount: 214
  +isAdult: false
  +customCss: null
  +lastActive: DateTime @1729583542 {#275
    date: 2024-10-22 09:52:22.0 +02:00
  }
  +markedForDeletionAt: null
  +tags: null
  +moderators: Doctrine\ORM\PersistentCollection {#237 …}
  +ownershipRequests: Doctrine\ORM\PersistentCollection {#233 …}
  +moderatorRequests: Doctrine\ORM\PersistentCollection {#222 …}
  +entries: Doctrine\ORM\PersistentCollection {#180 …}
  +posts: Doctrine\ORM\PersistentCollection {#138 …}
  +subscriptions: Doctrine\ORM\PersistentCollection {#200 …}
  +bans: Doctrine\ORM\PersistentCollection {#117 …}
  +reports: Doctrine\ORM\PersistentCollection {#103 …}
  +badges: Doctrine\ORM\PersistentCollection {#81 …}
  +logs: Doctrine\ORM\PersistentCollection {#71 …}
  +awards: Doctrine\ORM\PersistentCollection {#1346 …}
  +categories: Doctrine\ORM\PersistentCollection {#1823 …}
  -id: 73
  +apId: "linux@lemmy.ml"
  +apProfileId: "https://lemmy.ml/c/linux"
  +apPublicUrl: "https://lemmy.ml/c/linux"
  +apFollowersUrl: "https://lemmy.ml/c/linux/followers"
  +apInboxUrl: "https://lemmy.ml/inbox"
  +apDomain: "lemmy.ml"
  +apPreferredUsername: "linux"
  +apDiscoverable: true
  +apManuallyApprovesFollowers: null
  +privateKey: null
  +publicKey: null
  +apFetchedAt: DateTime @1729583596 {#269
    date: 2024-10-22 09:53:16.0 +02:00
  }
  +apDeletedAt: null
  +apTimeoutAt: null
  +visibility: "visible             "
  +createdAt: DateTimeImmutable @1698929468 {#271
    date: 2023-11-02 13:51:08.0 +01:00
  }
}
"Scheb\TwoFactorBundle\Security\Authorization\Voter\TwoFactorInProgressVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\EntryVoter"
ACCESS ABSTAIN
"App\Security\Voter\MagazineVoter"
ACCESS DENIED
"App\Security\Voter\MessageThreadVoter"
ACCESS ABSTAIN
"App\Security\Voter\MessageVoter"
ACCESS ABSTAIN
"App\Security\Voter\NotificationVoter"
ACCESS ABSTAIN
"App\Security\Voter\OAuth2UserConsentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostCommentVoter"
ACCESS ABSTAIN
"App\Security\Voter\PostVoter"
ACCESS ABSTAIN
"App\Security\Voter\UserVoter"
ACCESS ABSTAIN
Show voter details